Skip to content

Commit 4e269d6

Browse files
committed
Add unit test coverage
Sonar currently fails the PR when renovate bumps this version in java code because there's no coverage. This is a tactical fix to avoid merging over the top of sonar's failure. Signed-off-by: Robert Young <robertyoungnz@gmail.com>
1 parent 7e45550 commit 4e269d6

4 files changed

Lines changed: 57 additions & 2 deletions

File tree

kroxylicious-kms-providers/kroxylicious-kms-provider-azure-key-vault-kms-test-support/src/main/java/io/kroxylicious/kms/provider/azure/kms/AzureKeyVaultKmsTestKmsFacade.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import io.kroxylicious.proxy.config.secret.InlinePassword;
2626
import io.kroxylicious.proxy.config.tls.Tls;
2727
import io.kroxylicious.proxy.config.tls.TrustStore;
28+
import io.kroxylicious.proxy.tag.VisibleForTesting;
2829

2930
import edu.umd.cs.findbugs.annotations.Nullable;
3031

@@ -70,14 +71,20 @@ public void stopKms() {
7071
}
7172

7273
public static LowkeyVaultContainer startKeyVault() {
74+
final LowkeyVaultContainer lowkeyVaultContainer = createLowKeyContainer();
75+
lowkeyVaultContainer.start();
76+
return lowkeyVaultContainer;
77+
}
78+
79+
@VisibleForTesting
80+
static LowkeyVaultContainer createLowKeyContainer() {
7381
String image = "nagyesta/lowkey-vault:7.0.9";
7482
final DockerImageName imageName = DockerImageName.parse("mirror.gcr.io/" + image)
7583
.asCompatibleSubstituteFor(DockerImageName.parse(image));
7684
final LowkeyVaultContainer lowkeyVaultContainer = lowkeyVault(imageName)
7785
.vaultNames(Set.of(KEY_VAULT_NAME))
7886
.build()
7987
.withImagePullPolicy(PullPolicy.defaultPolicy());
80-
lowkeyVaultContainer.start();
8188
return lowkeyVaultContainer;
8289
}
8390

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
/*
2+
* Copyright Kroxylicious Authors.
3+
*
4+
* Licensed under the Apache Software License version 2.0, available at http://www.apache.org/licenses/LICENSE-2.0
5+
*/
6+
7+
package io.kroxylicious.kms.provider.azure.kms;
8+
9+
import org.junit.jupiter.api.Test;
10+
11+
import com.github.nagyesta.lowkeyvault.testcontainers.LowkeyVaultContainer;
12+
13+
import static org.assertj.core.api.Assertions.assertThat;
14+
15+
class AzureKeyVaultKmsTestKmsFacadeTest {
16+
17+
@Test
18+
void lowKeyContainer() {
19+
try (LowkeyVaultContainer lowKeyContainer = AzureKeyVaultKmsTestKmsFacade.createLowKeyContainer()) {
20+
assertThat(lowKeyContainer.getDockerImageName()).startsWith("mirror.gcr.io/nagyesta/lowkey-vault:");
21+
}
22+
}
23+
24+
}

kroxylicious-systemtests/src/main/java/io/kroxylicious/systemtests/installation/kms/azure/LowkeyVault.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import io.netty.pkitesting.X509Bundle;
1818

1919
import io.kroxylicious.kms.service.TestKmsFacadeException;
20+
import io.kroxylicious.proxy.tag.VisibleForTesting;
2021
import io.kroxylicious.systemtests.Constants;
2122
import io.kroxylicious.systemtests.Environment;
2223
import io.kroxylicious.systemtests.k8s.KubeClusterResource;
@@ -35,7 +36,8 @@
3536
public class LowkeyVault implements AzureKmsClient {
3637
private static final Logger LOGGER = LoggerFactory.getLogger(LowkeyVault.class);
3738
private static final String LOWKEY_VAULT_DEFAULT_NAMESPACE = "lowkey-vault";
38-
private static final String LOWKEY_VAULT_IMAGE = Constants.DOCKER_REGISTRY_GCR_MIRROR + "/nagyesta/lowkey-vault:7.0.9";
39+
@VisibleForTesting
40+
static final String LOWKEY_VAULT_IMAGE = Constants.DOCKER_REGISTRY_GCR_MIRROR + "/nagyesta/lowkey-vault:7.0.9";
3941
private final String deploymentNamespace;
4042

4143
/**
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/*
2+
* Copyright Kroxylicious Authors.
3+
*
4+
* Licensed under the Apache Software License version 2.0, available at http://www.apache.org/licenses/LICENSE-2.0
5+
*/
6+
7+
package io.kroxylicious.systemtests.installation.kms.azure;
8+
9+
import org.junit.jupiter.api.Test;
10+
11+
import static io.kroxylicious.systemtests.installation.kms.azure.LowkeyVault.LOWKEY_VAULT_IMAGE;
12+
import static org.assertj.core.api.Assertions.assertThat;
13+
14+
class LowkeyVaultTest {
15+
16+
// tactical test to prevent sonar failing the build for coverage reasons when renovate updates the image
17+
@Test
18+
void vaultImage() {
19+
assertThat(LOWKEY_VAULT_IMAGE).startsWith("mirror.gcr.io/nagyesta/lowkey-vault:");
20+
}
21+
22+
}

0 commit comments

Comments
 (0)