Skip to content

Commit f32c8ba

Browse files
authored
Parametrize integration tests (#21)
1 parent 651ac0e commit f32c8ba

40 files changed

+166
-2642
lines changed

.github/workflows/gradle.yml

Lines changed: 49 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,60 @@ name: CI
22

33
on:
44
push:
5-
branches: [ "master", "release-5.2.0" ]
5+
branches:
6+
- "master"
67
pull_request:
7-
branches: [ "master" ]
8+
branches:
9+
- "master"
810

911
jobs:
1012
build:
11-
name: Build on JDK ${{ matrix.java }} and ${{ matrix.os }}
13+
name: Build on JDK ${{ matrix.java }}, ${{ matrix.os }} and Vault ${{ matrix.vault }}
1214
runs-on: ${{ matrix.os }}
1315
strategy:
1416
matrix:
15-
java: [ 11 ]
16-
os: [ ubuntu-latest, windows-latest ]
17+
java:
18+
- 11
19+
vault:
20+
- 1.1.3
21+
- 1.9.0
22+
- 1.9.1
23+
- 1.9.2
24+
- 1.9.3
25+
- 1.9.4
26+
- 1.9.5
27+
- 1.9.6
28+
- 1.9.7
29+
- 1.9.8
30+
- 1.9.9
31+
- 1.9.10
32+
- 1.10.0
33+
- 1.10.1
34+
- 1.10.2
35+
- 1.10.3
36+
- 1.10.4
37+
- 1.10.5
38+
- 1.10.6
39+
- 1.10.7
40+
- 1.10.8
41+
- 1.10.9
42+
- 1.10.10
43+
- 1.11.0
44+
- 1.11.1
45+
- 1.11.2
46+
- 1.11.3
47+
- 1.11.4
48+
- 1.11.5
49+
- 1.11.6
50+
- 1.11.7
51+
- 1.12.0
52+
- 1.12.1
53+
- 1.12.2
54+
- 1.12.3
55+
- latest
56+
os:
57+
- ubuntu-latest
58+
- windows-latest
1759
include:
1860
# TODO(casz) remove once https://github.com/testcontainers/testcontainers-java/pull/1780 is available
1961
- os: 'ubuntu-latest'
@@ -33,6 +75,8 @@ jobs:
3375
${{ matrix.tasks }}
3476
-s
3577
--info
78+
env:
79+
VAULT_VERSION: ${{ matrix.vault }}
3680
- uses: actions/upload-artifact@v3 # upload test results
3781
if: success() || failure() # run this step even if previous step failed
3882
with:
Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,53 @@
1-
package io.github.jopenlibs.vault.v1_11_4.api;
1+
package io.github.jopenlibs.vault.api;
22

33
import io.github.jopenlibs.vault.Vault;
44
import io.github.jopenlibs.vault.VaultException;
5-
import io.github.jopenlibs.vault.v1_11_4.util.VaultContainer;
5+
import io.github.jopenlibs.vault.util.VaultContainer;
6+
import io.github.jopenlibs.vault.util.VaultVersion;
67
import java.io.IOException;
8+
import java.util.Optional;
79
import org.junit.BeforeClass;
810
import org.junit.ClassRule;
911
import org.junit.Test;
1012

1113
import static org.junit.Assert.assertNotNull;
1214
import static org.junit.Assert.assertNotSame;
15+
import static org.junit.Assume.assumeTrue;
1316

1417
/**
15-
* Integration tests for the AppId auth backend.
18+
* Integration tests for the AppId auth backend. According to the Vault documentation, this method
19+
* is deprecated. Also, from Vault 1.11.7 it fails the usage. For this reason, we skip this test if
20+
* Vault version is greater than 1.11.6
1621
*/
1722
public class AuthBackendAppIdTests {
1823

1924
@ClassRule
2025
public static final VaultContainer container = new VaultContainer();
2126

27+
private static boolean checkVersion() {
28+
VaultVersion accepted = new VaultVersion("1.11.6");
29+
try {
30+
VaultVersion current = new VaultVersion(
31+
Optional.ofNullable(System.getenv("VAULT_VERSION")).orElse("latest"));
32+
if (current.compareTo(accepted) > 0) {
33+
return false;
34+
}
35+
} catch (NumberFormatException ignored) {
36+
return false;
37+
}
38+
39+
return true;
40+
}
41+
2242
@BeforeClass
2343
public static void setupClass() throws IOException, InterruptedException {
44+
assumeTrue(checkVersion());
45+
2446
container.initAndUnsealVault();
2547
container.setupBackendAppId();
2648
}
2749

50+
2851
/**
2952
* Test Authentication with app-id auth backend
3053
*/
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
package io.github.jopenlibs.vault.v1_1_3.api;
1+
package io.github.jopenlibs.vault.api;
22

33
import io.github.jopenlibs.vault.Vault;
44
import io.github.jopenlibs.vault.VaultConfig;
55
import io.github.jopenlibs.vault.VaultException;
66
import io.github.jopenlibs.vault.response.LogicalResponse;
7-
import io.github.jopenlibs.vault.v1_1_3.util.VaultContainer;
7+
import io.github.jopenlibs.vault.util.VaultContainer;
88
import java.io.IOException;
99
import org.junit.BeforeClass;
1010
import org.junit.ClassRule;
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
package io.github.jopenlibs.vault.v1_1_3.api;
1+
package io.github.jopenlibs.vault.api;
22

33
import io.github.jopenlibs.vault.SslConfig;
44
import io.github.jopenlibs.vault.Vault;
55
import io.github.jopenlibs.vault.VaultConfig;
66
import io.github.jopenlibs.vault.VaultException;
7-
import io.github.jopenlibs.vault.v1_1_3.util.SSLUtils;
8-
import io.github.jopenlibs.vault.v1_1_3.util.TestConstants;
9-
import io.github.jopenlibs.vault.v1_1_3.util.VaultContainer;
7+
import io.github.jopenlibs.vault.util.SSLUtils;
8+
import io.github.jopenlibs.vault.util.TestConstants;
9+
import io.github.jopenlibs.vault.util.VaultContainer;
1010
import java.io.File;
1111
import java.io.IOException;
1212
import java.security.KeyStore;
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
package io.github.jopenlibs.vault.v1_1_3.api;
1+
package io.github.jopenlibs.vault.api;
22

33
import io.github.jopenlibs.vault.Vault;
44
import io.github.jopenlibs.vault.VaultException;
55
import io.github.jopenlibs.vault.api.database.DatabaseRoleOptions;
66
import io.github.jopenlibs.vault.response.DatabaseResponse;
7-
import io.github.jopenlibs.vault.v1_1_3.util.DbContainer;
8-
import io.github.jopenlibs.vault.v1_1_3.util.VaultContainer;
7+
import io.github.jopenlibs.vault.util.DbContainer;
8+
import io.github.jopenlibs.vault.util.VaultContainer;
99
import java.io.IOException;
1010
import java.util.ArrayList;
1111
import java.util.List;
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
package io.github.jopenlibs.vault.v1_11_4.api;
1+
package io.github.jopenlibs.vault.api;
22

33
import io.github.jopenlibs.vault.Vault;
44
import io.github.jopenlibs.vault.VaultException;
55
import io.github.jopenlibs.vault.api.pki.CredentialFormat;
66
import io.github.jopenlibs.vault.api.pki.RoleOptions;
77
import io.github.jopenlibs.vault.response.PkiResponse;
88
import io.github.jopenlibs.vault.rest.RestResponse;
9-
import io.github.jopenlibs.vault.v1_11_4.util.SSLUtils;
10-
import io.github.jopenlibs.vault.v1_11_4.util.VaultContainer;
9+
import io.github.jopenlibs.vault.util.SSLUtils;
10+
import io.github.jopenlibs.vault.util.VaultContainer;
1111
import java.io.IOException;
1212
import java.security.KeyPair;
1313
import java.security.KeyPairGenerator;
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
package io.github.jopenlibs.vault.v1_11_4.api;
1+
package io.github.jopenlibs.vault.api;
22

33
import io.github.jopenlibs.vault.Vault;
44
import io.github.jopenlibs.vault.VaultException;
55
import io.github.jopenlibs.vault.api.Auth.TokenRequest;
66
import io.github.jopenlibs.vault.json.Json;
77
import io.github.jopenlibs.vault.response.AuthResponse;
88
import io.github.jopenlibs.vault.response.LookupResponse;
9-
import io.github.jopenlibs.vault.v1_11_4.util.VaultContainer;
9+
import io.github.jopenlibs.vault.util.VaultContainer;
1010
import java.io.IOException;
1111
import java.nio.charset.StandardCharsets;
1212
import java.util.Arrays;
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
package io.github.jopenlibs.vault.v1_1_3.api;
1+
package io.github.jopenlibs.vault.api;
22

33
import io.github.jopenlibs.vault.Vault;
44
import io.github.jopenlibs.vault.VaultException;
55
import io.github.jopenlibs.vault.response.AuthResponse;
6-
import io.github.jopenlibs.vault.v1_1_3.util.VaultContainer;
6+
import io.github.jopenlibs.vault.util.VaultContainer;
77
import java.io.IOException;
88
import org.junit.BeforeClass;
99
import org.junit.ClassRule;

src/test-integration/java/io/github/jopenlibs/vault/v1_11_4/api/DebugTests.java renamed to src/test-integration/java/io/github/jopenlibs/vault/api/DebugTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
package io.github.jopenlibs.vault.v1_11_4.api;
1+
package io.github.jopenlibs.vault.api;
22

33
import io.github.jopenlibs.vault.Vault;
44
import io.github.jopenlibs.vault.VaultException;
55
import io.github.jopenlibs.vault.response.HealthResponse;
6-
import io.github.jopenlibs.vault.v1_11_4.util.VaultContainer;
6+
import io.github.jopenlibs.vault.util.VaultContainer;
77
import java.io.IOException;
88
import junit.framework.TestCase;
99
import org.junit.Before;
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
package io.github.jopenlibs.vault.v1_11_4.api;
1+
package io.github.jopenlibs.vault.api;
22

33
import io.github.jopenlibs.vault.Vault;
44
import io.github.jopenlibs.vault.VaultException;
55
import io.github.jopenlibs.vault.api.database.DatabaseRoleOptions;
66
import io.github.jopenlibs.vault.response.DatabaseResponse;
77
import io.github.jopenlibs.vault.response.VaultResponse;
8-
import io.github.jopenlibs.vault.v1_11_4.util.DbContainer;
9-
import io.github.jopenlibs.vault.v1_11_4.util.VaultContainer;
8+
import io.github.jopenlibs.vault.util.DbContainer;
9+
import io.github.jopenlibs.vault.util.VaultContainer;
1010
import java.io.IOException;
1111
import java.util.ArrayList;
1212
import java.util.Arrays;

0 commit comments

Comments
 (0)