Skip to content

Commit adf5523

Browse files
committed
Support Java 17 and 21
1 parent 0016351 commit adf5523

File tree

10 files changed

+64
-58
lines changed

10 files changed

+64
-58
lines changed

.github/workflows/run-tests.yml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,18 @@ jobs:
1616

1717
strategy:
1818
fail-fast: false
19+
max-parallel: 1
1920
matrix:
20-
jdk: ["11", "8"]
21+
jdk: ["8", "11", "17", "21"]
2122

2223
steps:
23-
- uses: actions/checkout@v2
24-
- name: Set up JDK 11
25-
uses: actions/setup-java@v2
24+
- uses: actions/checkout@v4
25+
- name: Set up JDK
26+
uses: actions/setup-java@v4
2627
with:
2728
java-version: ${{ matrix.jdk }}
28-
distribution: 'adopt'
29+
distribution: 'temurin'
30+
cache: 'maven'
2931
- name: MVN Install
3032
run: mvn install -DskipTests=true -Dmaven.javadoc.skip=true -Dgpg.skip -B -V
3133
- name: Build

.vscode/settings.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"java.compile.nullAnalysis.mode": "automatic",
3+
"java.configuration.updateBuildConfiguration": "automatic"
4+
}

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
[![Tests](https://github.com/cloudconvert/cloudconvert-java/actions/workflows/run-tests.yml/badge.svg)](https://github.com/cloudconvert/cloudconvert-java/actions/workflows/run-tests.yml)
44
![Maven Central](https://img.shields.io/maven-central/v/com.cloudconvert/cloudconvert-java)
55

6-
This is the official Java SDK v2 for the [CloudConvert](https://cloudconvert.com/api/v2) _API v2_.
6+
This is the official Java SDK v2 for the [CloudConvert](https://cloudconvert.com/api/v2) API.
77

88
## Installation
99
Add the following dependency to your pom.xml:

TODO.md

Lines changed: 0 additions & 29 deletions
This file was deleted.

pom.xml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -64,13 +64,13 @@
6464
<annotations.version>19.0.0</annotations.version>
6565
<guava.version>32.0.0-jre</guava.version>
6666

67-
<lombok.version>1.18.12</lombok.version>
67+
<lombok.version>1.18.30</lombok.version>
6868

6969
<junit.version>4.13.1</junit.version>
70-
<mockito.version>3.3.3</mockito.version>
70+
<mockito.version>4.11.0</mockito.version>
71+
<byte-buddy.version>1.14.17</byte-buddy.version>
7172
<assertj-core.version>3.15.0</assertj-core.version>
7273
<throwing-function.version>1.5.0</throwing-function.version>
73-
<system-rules.version>1.19.0</system-rules.version>
7474

7575
<maven-surefire-plugin.version>3.0.0-M3</maven-surefire-plugin.version>
7676
<nexus-staging-plugin.version>1.6.7</nexus-staging-plugin.version>
@@ -148,6 +148,12 @@
148148
<version>${mockito.version}</version>
149149
<scope>test</scope>
150150
</dependency>
151+
<dependency>
152+
<groupId>net.bytebuddy</groupId>
153+
<artifactId>byte-buddy</artifactId>
154+
<version>${byte-buddy.version}</version>
155+
<scope>compile</scope>
156+
</dependency>
151157
<dependency>
152158
<groupId>org.assertj</groupId>
153159
<artifactId>assertj-core</artifactId>
@@ -160,12 +166,6 @@
160166
<version>${throwing-function.version}</version>
161167
<scope>test</scope>
162168
</dependency>
163-
<dependency>
164-
<groupId>com.github.stefanbirkner</groupId>
165-
<artifactId>system-rules</artifactId>
166-
<version>${system-rules.version}</version>
167-
<scope>test</scope>
168-
</dependency>
169169
</dependencies>
170170

171171
<profiles>

src/main/java/com/cloudconvert/client/setttings/EnvironmentVariableSettingsProvider.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,14 @@
22

33
public class EnvironmentVariableSettingsProvider extends AbstractSettingsProvider {
44

5+
private final EnvironmentVariables environmentVariables;
6+
57
public EnvironmentVariableSettingsProvider() {
6-
super(System.getenv(API_KEY), System.getenv(WEBHOOK_SIGNING_SECRET), System.getenv(USE_SANDBOX));
8+
this(new SystemEnvironmentVariables());
9+
}
10+
11+
public EnvironmentVariableSettingsProvider(EnvironmentVariables environmentVariables) {
12+
super(environmentVariables.getenv(API_KEY), environmentVariables.getenv(WEBHOOK_SIGNING_SECRET), environmentVariables.getenv(USE_SANDBOX));
13+
this.environmentVariables = environmentVariables;
714
}
815
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package com.cloudconvert.client.setttings;
2+
3+
public interface EnvironmentVariables {
4+
String getenv(String name);
5+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package com.cloudconvert.client.setttings;
2+
3+
public class SystemEnvironmentVariables implements EnvironmentVariables {
4+
@Override
5+
public String getenv(String name) {
6+
return System.getenv(name);
7+
}
8+
}

src/test/java/com/cloudconvert/test/framework/AbstractTest.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package com.cloudconvert.test.framework;
22

33
import com.cloudconvert.resource.AbstractResource;
4+
import org.junit.Before;
5+
import org.mockito.MockitoAnnotations;
46

57
public abstract class AbstractTest {
68

@@ -11,4 +13,9 @@ public abstract class AbstractTest {
1113
public static final String VALUE_AUTHORIZATION = AbstractResource.BEARER + " " + API_KEY;
1214

1315
public static final long TIMEOUT = 300000L;
16+
17+
@Before
18+
public void initMocks() {
19+
MockitoAnnotations.openMocks(this);
20+
}
1421
}

src/test/java/com/cloudconvert/test/unit/settings/EnvironmentVariableSettingsProviderTest.java

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,17 @@
22

33
import com.cloudconvert.client.setttings.AbstractSettingsProvider;
44
import com.cloudconvert.client.setttings.EnvironmentVariableSettingsProvider;
5+
import com.cloudconvert.client.setttings.EnvironmentVariables;
56
import com.cloudconvert.test.framework.UnitTest;
6-
import org.junit.Rule;
77
import org.junit.Test;
8-
import org.junit.contrib.java.lang.system.EnvironmentVariables;
98
import org.junit.experimental.categories.Category;
109
import org.junit.runner.RunWith;
10+
import org.mockito.Mock;
1111
import org.mockito.junit.MockitoJUnitRunner;
1212

1313
import static org.assertj.core.api.Assertions.assertThat;
1414
import static org.assertj.core.api.Assertions.assertThatThrownBy;
15+
import static org.mockito.Mockito.when;
1516

1617
@Category(UnitTest.class)
1718
@RunWith(MockitoJUnitRunner.class)
@@ -20,35 +21,36 @@ public class EnvironmentVariableSettingsProviderTest {
2021
public static final String API_KEY = "api-key";
2122
public static final String WEBHOOK_SIGNING_SECRET = "webhook-signing-secret";
2223

23-
@Rule
24-
public EnvironmentVariables environmentVariables = new EnvironmentVariables();
24+
@Mock
25+
private EnvironmentVariables environmentVariables;
2526

2627
@Test
2728
public void success_useSandbox() {
28-
environmentVariables.set(AbstractSettingsProvider.API_KEY, API_KEY);
29-
environmentVariables.set(AbstractSettingsProvider.USE_SANDBOX, "true");
30-
environmentVariables.set(AbstractSettingsProvider.WEBHOOK_SIGNING_SECRET, WEBHOOK_SIGNING_SECRET);
29+
when(environmentVariables.getenv(AbstractSettingsProvider.API_KEY)).thenReturn(API_KEY);
30+
when(environmentVariables.getenv(AbstractSettingsProvider.USE_SANDBOX)).thenReturn("true");
31+
when(environmentVariables.getenv(AbstractSettingsProvider.WEBHOOK_SIGNING_SECRET)).thenReturn(WEBHOOK_SIGNING_SECRET);
3132

32-
final EnvironmentVariableSettingsProvider environmentVariableSettingsProvider = new EnvironmentVariableSettingsProvider();
33+
final EnvironmentVariableSettingsProvider environmentVariableSettingsProvider = new EnvironmentVariableSettingsProvider(environmentVariables);
3334
assertThat(environmentVariableSettingsProvider.getApiKey()).isEqualTo(API_KEY);
3435
assertThat(environmentVariableSettingsProvider.getWebhookSigningSecret()).isEqualTo(WEBHOOK_SIGNING_SECRET);
3536
assertThat(environmentVariableSettingsProvider.getApiUrl()).isEqualTo(AbstractSettingsProvider.API_URL_SANDBOX);
3637
}
3738

3839
@Test
3940
public void success_useLive() {
40-
environmentVariables.set(AbstractSettingsProvider.API_KEY, API_KEY);
41-
environmentVariables.set(AbstractSettingsProvider.USE_SANDBOX, "false");
42-
environmentVariables.set(AbstractSettingsProvider.WEBHOOK_SIGNING_SECRET, WEBHOOK_SIGNING_SECRET);
41+
when(environmentVariables.getenv(AbstractSettingsProvider.API_KEY)).thenReturn(API_KEY);
42+
when(environmentVariables.getenv(AbstractSettingsProvider.USE_SANDBOX)).thenReturn("false");
43+
when(environmentVariables.getenv(AbstractSettingsProvider.WEBHOOK_SIGNING_SECRET)).thenReturn(WEBHOOK_SIGNING_SECRET);
4344

44-
final EnvironmentVariableSettingsProvider environmentVariableSettingsProvider = new EnvironmentVariableSettingsProvider();
45+
final EnvironmentVariableSettingsProvider environmentVariableSettingsProvider = new EnvironmentVariableSettingsProvider(environmentVariables);
4546
assertThat(environmentVariableSettingsProvider.getApiKey()).isEqualTo(API_KEY);
4647
assertThat(environmentVariableSettingsProvider.getWebhookSigningSecret()).isEqualTo(WEBHOOK_SIGNING_SECRET);
4748
assertThat(environmentVariableSettingsProvider.getApiUrl()).isEqualTo(AbstractSettingsProvider.API_URL_LIVE);
4849
}
4950

5051
@Test
5152
public void failure() {
52-
assertThatThrownBy(EnvironmentVariableSettingsProvider::new).isInstanceOf(IllegalArgumentException.class);
53+
when(environmentVariables.getenv(AbstractSettingsProvider.API_KEY)).thenReturn(null);
54+
assertThatThrownBy(() -> new EnvironmentVariableSettingsProvider(environmentVariables)).isInstanceOf(IllegalArgumentException.class);
5355
}
5456
}

0 commit comments

Comments
 (0)