Skip to content

Commit 4ac3ed1

Browse files
authored
jmx-scraper test config sources (#1750)
1 parent 99f80e4 commit 4ac3ed1

File tree

2 files changed

+221
-64
lines changed

2 files changed

+221
-64
lines changed

jmx-scraper/src/integrationTest/java/io/opentelemetry/contrib/jmxscraper/JmxConnectionTest.java

Lines changed: 36 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
import org.junit.jupiter.api.BeforeAll;
1616
import org.junit.jupiter.api.Test;
1717
import org.junit.jupiter.api.io.TempDir;
18+
import org.junit.jupiter.params.ParameterizedTest;
19+
import org.junit.jupiter.params.provider.EnumSource;
1820
import org.slf4j.Logger;
1921
import org.slf4j.LoggerFactory;
2022
import org.testcontainers.containers.GenericContainer;
@@ -44,6 +46,9 @@ public class JmxConnectionTest {
4446

4547
private static Network network;
4648

49+
// temporary folder for files that are copied to container
50+
@TempDir private Path tempDir;
51+
4752
@BeforeAll
4853
static void beforeAll() {
4954
network = Network.newNetwork();
@@ -63,32 +68,43 @@ void connectionError() {
6368
}
6469
}
6570

66-
@Test
67-
void connectNoAuth() {
71+
@ParameterizedTest
72+
@EnumSource
73+
void connectNoAuth(JmxScraperContainer.ConfigSource configSource) {
6874
connectionTest(
69-
app -> app.withJmxPort(JMX_PORT), scraper -> scraper.withRmiServiceUrl(APP_HOST, JMX_PORT));
75+
app -> app.withJmxPort(JMX_PORT),
76+
scraper -> scraper.withRmiServiceUrl(APP_HOST, JMX_PORT).withConfigSource(configSource));
7077
}
7178

72-
@Test
73-
void userPassword() {
79+
@ParameterizedTest
80+
@EnumSource
81+
void userPassword(JmxScraperContainer.ConfigSource configSource) {
7482
String login = "user";
7583
String pwd = "t0p!Secret";
7684
connectionTest(
7785
app -> app.withJmxPort(JMX_PORT).withUserAuth(login, pwd),
78-
scraper -> scraper.withRmiServiceUrl(APP_HOST, JMX_PORT).withUser(login).withPassword(pwd));
86+
scraper ->
87+
scraper
88+
.withRmiServiceUrl(APP_HOST, JMX_PORT)
89+
.withUser(login)
90+
.withPassword(pwd)
91+
.withConfigSource(configSource));
7992
}
8093

81-
@Test
82-
void serverSsl(@TempDir Path tempDir) {
83-
testServerSsl(tempDir, /* sslRmiRegistry= */ false);
94+
@ParameterizedTest
95+
@EnumSource
96+
void serverSsl(JmxScraperContainer.ConfigSource configSource) {
97+
testServerSsl(/* sslRmiRegistry= */ false, configSource);
8498
}
8599

86-
@Test
87-
void serverSslWithSslRmiRegistry(@TempDir Path tempDir) {
88-
testServerSsl(tempDir, /* sslRmiRegistry= */ true);
100+
@ParameterizedTest
101+
@EnumSource
102+
void serverSslWithSslRmiRegistry(JmxScraperContainer.ConfigSource configSource) {
103+
testServerSsl(/* sslRmiRegistry= */ true, configSource);
89104
}
90105

91-
private static void testServerSsl(Path tempDir, boolean sslRmiRegistry) {
106+
private void testServerSsl(
107+
boolean sslRmiRegistry, JmxScraperContainer.ConfigSource configSource) {
92108
// two keystores:
93109
// server keystore with public/private key pair
94110
// client trust store with certificate from server
@@ -110,11 +126,13 @@ private static void testServerSsl(Path tempDir, boolean sslRmiRegistry) {
110126
scraper ->
111127
(sslRmiRegistry ? scraper.withSslRmiRegistry() : scraper)
112128
.withRmiServiceUrl(APP_HOST, JMX_PORT)
113-
.withTrustStore(clientTrustStore));
129+
.withTrustStore(clientTrustStore)
130+
.withConfigSource(configSource));
114131
}
115132

116-
@Test
117-
void serverSslClientSsl(@TempDir Path tempDir) {
133+
@ParameterizedTest
134+
@EnumSource(value = JmxScraperContainer.ConfigSource.class)
135+
void serverSslClientSsl(JmxScraperContainer.ConfigSource configSource) {
118136
// Note: this could have been made simpler by relying on the fact that keystore could be used
119137
// as a trust store, but having clear split provides also some extra clarity
120138
//
@@ -153,7 +171,8 @@ void serverSslClientSsl(@TempDir Path tempDir) {
153171
scraper
154172
.withRmiServiceUrl(APP_HOST, JMX_PORT)
155173
.withKeyStore(clientKeyStore)
156-
.withTrustStore(clientTrustStore));
174+
.withTrustStore(clientTrustStore)
175+
.withConfigSource(configSource));
157176
}
158177

159178
private static void connectionTest(

0 commit comments

Comments
 (0)