getLivenessCheckPortNumbers() {
- return Collections.singleton(getMappedPort(INFLUXDB_PORT));
- }
-
/**
* Disables authentication for this InfluxDB instance.
*
@@ -130,8 +125,8 @@ public Set getLivenessCheckPortNumbers() {
*
* @return this container instance for method chaining
*/
- public InfluxDBContainerV3 withDisableAuth() {
- isAuthDisable = true;
+ public InfluxDBContainer withAuthDisabled() {
+ this.isAuthDisable = true;
return this;
}
@@ -147,26 +142,10 @@ public String getUrl() {
return "http://" + getHost() + ":" + getMappedPort(INFLUXDB_PORT);
}
- /**
- * Gets the authentication token for this InfluxDB instance.
- *
- * The token is lazily initialized on first use and cached for subsequent calls.
- * This method is thread-safe.
- *
- *
- * @return the authentication token
- * @throws IllegalArgumentException if authentication is disabled or token creation fails
- */
- public String getToken() {
- String localToken = token;
- if (localToken == null) {
- synchronized (this) {
- localToken = token;
- if (localToken == null) {
- token = localToken = createToken();
- }
- }
+ @Override
+ protected void containerIsStarted(InspectContainerResponse containerInfo) {
+ if (!isAuthDisable) {
+ this.token = createToken();
}
- return localToken;
}
}
diff --git a/modules/influxdb/src/test/java/org/testcontainers/containers/InfluxDBContainerV3Test.java b/modules/influxdb/src/test/java/org/testcontainers/containers/InfluxDBContainerV3Test.java
index a085182216c..79175fe99b0 100644
--- a/modules/influxdb/src/test/java/org/testcontainers/containers/InfluxDBContainerV3Test.java
+++ b/modules/influxdb/src/test/java/org/testcontainers/containers/InfluxDBContainerV3Test.java
@@ -3,6 +3,7 @@
import com.influxdb.v3.client.InfluxDBClient;
import com.influxdb.v3.client.Point;
import org.junit.Test;
+import org.testcontainers.influxdb.InfluxDBContainer;
import java.math.BigInteger;
import java.time.Instant;
@@ -11,16 +12,15 @@
import java.util.stream.Stream;
import static org.assertj.core.api.Assertions.assertThat;
-import static org.assertj.core.api.Assertions.assertThatThrownBy;
import static org.assertj.core.api.Assertions.fail;
public class InfluxDBContainerV3Test {
@Test
public void createInfluxDBContainerV3WithAuthTokenTest() {
- try (InfluxDBContainerV3> container = new InfluxDBContainerV3<>(InfluxDBTestUtils.INFLUXDB_V3_TEST_IMAGE)) {
+ try (final InfluxDBContainer container = new InfluxDBContainer(InfluxDBTestUtils.INFLUXDB_V3_TEST_IMAGE)) {
container.start();
- try (InfluxDBClient client = InfluxDBClient.getInstance(container.getUrl(), container.getToken().toCharArray(), "test")) {
+ try (final InfluxDBClient client = InfluxDBClient.getInstance(container.getUrl(), container.getToken().toCharArray(), "test")) {
assertThat(client).isNotNull();
assertThat(client.getServerVersion()).isEqualTo("3.3.0");
} catch (Exception e) {
@@ -31,9 +31,9 @@ public void createInfluxDBContainerV3WithAuthTokenTest() {
@Test
public void createInfluxDBContainerV3WithDisableAuthTokenTest() {
- try (final InfluxDBContainerV3> container = new InfluxDBContainerV3<>(InfluxDBTestUtils.INFLUXDB_V3_TEST_IMAGE).withDisableAuth()) {
+ try (final InfluxDBContainer container = new InfluxDBContainer(InfluxDBTestUtils.INFLUXDB_V3_TEST_IMAGE).withAuthDisabled()) {
container.start();
- try (InfluxDBClient client = InfluxDBClient.getInstance(container.getUrl(), null, "test")) {
+ try (final InfluxDBClient client = InfluxDBClient.getInstance(container.getUrl(), null, "test")) {
assertThat(client).isNotNull();
assertThat(client.getServerVersion()).isEqualTo("3.3.0");
} catch (Exception e) {
@@ -43,18 +43,18 @@ public void createInfluxDBContainerV3WithDisableAuthTokenTest() {
}
@Test
- public void tryToGetTokenWithAuthDisableTest() {
- try (final InfluxDBContainerV3> container = new InfluxDBContainerV3<>(InfluxDBTestUtils.INFLUXDB_V3_TEST_IMAGE).withDisableAuth()) {
+ public void getTokenWithAuthDisableTest() {
+ try (final InfluxDBContainer container = new InfluxDBContainer(InfluxDBTestUtils.INFLUXDB_V3_TEST_IMAGE).withAuthDisabled()) {
container.start();
- assertThatThrownBy(container::getToken).isInstanceOf(IllegalArgumentException.class);
+ assertThat(container.getToken()).isNull();
}
}
@Test
public void writeAndReadResultTest() {
- try (InfluxDBContainerV3> container = new InfluxDBContainerV3<>(InfluxDBTestUtils.INFLUXDB_V3_TEST_IMAGE)) {
+ try (final InfluxDBContainer container = new InfluxDBContainer(InfluxDBTestUtils.INFLUXDB_V3_TEST_IMAGE)) {
container.start();
- try (InfluxDBClient client = InfluxDBClient.getInstance(container.getUrl(), container.getToken().toCharArray(), "test")) {
+ try (final InfluxDBClient client = InfluxDBClient.getInstance(container.getUrl(), container.getToken().toCharArray(), "test")) {
String location = "west";
Double value = 55.15;
Point point = Point.measurement("temperature")
@@ -63,7 +63,7 @@ public void writeAndReadResultTest() {
.setTimestamp(Instant.now());
client.writePoint(point);
String query = "select time,location,value from temperature";
- try (Stream
*/
public class InfluxDBContainer extends GenericContainer {
@@ -52,7 +35,6 @@ public class InfluxDBContainer extends GenericContainer {
/**
* The authentication token for InfluxDB 3.
*/
- @Getter
private String token;
private boolean isAuthDisable;
@@ -148,4 +130,8 @@ protected void containerIsStarted(InspectContainerResponse containerInfo) {
this.token = createToken();
}
}
+
+ public String getToken() {
+ return token;
+ }
}
diff --git a/modules/influxdb/src/test/java/org/testcontainers/containers/InfluxDBTestUtils.java b/modules/influxdb/src/test/java/org/testcontainers/containers/InfluxDBTestUtils.java
index e5c19fe949a..b35c103fd8a 100644
--- a/modules/influxdb/src/test/java/org/testcontainers/containers/InfluxDBTestUtils.java
+++ b/modules/influxdb/src/test/java/org/testcontainers/containers/InfluxDBTestUtils.java
@@ -8,5 +8,5 @@ public final class InfluxDBTestUtils {
static final DockerImageName INFLUXDB_V2_TEST_IMAGE = DockerImageName.parse("influxdb:2.0.7");
- static final DockerImageName INFLUXDB_V3_TEST_IMAGE = DockerImageName.parse("influxdb:3-core");
+ public static final DockerImageName INFLUXDB_V3_TEST_IMAGE = DockerImageName.parse("influxdb:3-core");
}
diff --git a/modules/influxdb/src/test/java/org/testcontainers/containers/InfluxDBContainerV3Test.java b/modules/influxdb/src/test/java/org/testcontainers/influxdb/InfluxDBV3ContainerTest.java
similarity index 96%
rename from modules/influxdb/src/test/java/org/testcontainers/containers/InfluxDBContainerV3Test.java
rename to modules/influxdb/src/test/java/org/testcontainers/influxdb/InfluxDBV3ContainerTest.java
index 79175fe99b0..1059e35cd21 100644
--- a/modules/influxdb/src/test/java/org/testcontainers/containers/InfluxDBContainerV3Test.java
+++ b/modules/influxdb/src/test/java/org/testcontainers/influxdb/InfluxDBV3ContainerTest.java
@@ -1,9 +1,9 @@
-package org.testcontainers.containers;
+package org.testcontainers.influxdb;
import com.influxdb.v3.client.InfluxDBClient;
import com.influxdb.v3.client.Point;
import org.junit.Test;
-import org.testcontainers.influxdb.InfluxDBContainer;
+import org.testcontainers.containers.InfluxDBTestUtils;
import java.math.BigInteger;
import java.time.Instant;
@@ -14,7 +14,7 @@
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.fail;
-public class InfluxDBContainerV3Test {
+public class InfluxDBV3ContainerTest {
@Test
public void createInfluxDBContainerV3WithAuthTokenTest() {
From f711917596c5be3f98e1a33e5dacfa3b35aae640 Mon Sep 17 00:00:00 2001
From: SBushmelev
Date: Fri, 10 Oct 2025 23:06:50 +0400
Subject: [PATCH 4/4] Change image version, fix tests
---
.../org/testcontainers/containers/InfluxDBTestUtils.java | 2 +-
.../testcontainers/influxdb/InfluxDBV3ContainerTest.java | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/modules/influxdb/src/test/java/org/testcontainers/containers/InfluxDBTestUtils.java b/modules/influxdb/src/test/java/org/testcontainers/containers/InfluxDBTestUtils.java
index b35c103fd8a..95c1b170736 100644
--- a/modules/influxdb/src/test/java/org/testcontainers/containers/InfluxDBTestUtils.java
+++ b/modules/influxdb/src/test/java/org/testcontainers/containers/InfluxDBTestUtils.java
@@ -8,5 +8,5 @@ public final class InfluxDBTestUtils {
static final DockerImageName INFLUXDB_V2_TEST_IMAGE = DockerImageName.parse("influxdb:2.0.7");
- public static final DockerImageName INFLUXDB_V3_TEST_IMAGE = DockerImageName.parse("influxdb:3-core");
+ public static final DockerImageName INFLUXDB_V3_TEST_IMAGE = DockerImageName.parse("influxdb:3.5.0-core");
}
diff --git a/modules/influxdb/src/test/java/org/testcontainers/influxdb/InfluxDBV3ContainerTest.java b/modules/influxdb/src/test/java/org/testcontainers/influxdb/InfluxDBV3ContainerTest.java
index 1059e35cd21..4ab9cb8e66a 100644
--- a/modules/influxdb/src/test/java/org/testcontainers/influxdb/InfluxDBV3ContainerTest.java
+++ b/modules/influxdb/src/test/java/org/testcontainers/influxdb/InfluxDBV3ContainerTest.java
@@ -2,7 +2,7 @@
import com.influxdb.v3.client.InfluxDBClient;
import com.influxdb.v3.client.Point;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import org.testcontainers.containers.InfluxDBTestUtils;
import java.math.BigInteger;
@@ -22,7 +22,7 @@ public void createInfluxDBContainerV3WithAuthTokenTest() {
container.start();
try (final InfluxDBClient client = InfluxDBClient.getInstance(container.getUrl(), container.getToken().toCharArray(), "test")) {
assertThat(client).isNotNull();
- assertThat(client.getServerVersion()).isEqualTo("3.3.0");
+ assertThat(client.getServerVersion()).isEqualTo("3.5.0");
} catch (Exception e) {
fail("Cannot get instance of influxdb v3", e);
}
@@ -35,7 +35,7 @@ public void createInfluxDBContainerV3WithDisableAuthTokenTest() {
container.start();
try (final InfluxDBClient client = InfluxDBClient.getInstance(container.getUrl(), null, "test")) {
assertThat(client).isNotNull();
- assertThat(client.getServerVersion()).isEqualTo("3.3.0");
+ assertThat(client.getServerVersion()).isEqualTo("3.5.0");
} catch (Exception e) {
fail("Cannot get instance of influxdb v3", e);
}