diff --git a/modules/weaviate/build.gradle b/modules/weaviate/build.gradle
index fd61cd7e3f4..5392b585b71 100644
--- a/modules/weaviate/build.gradle
+++ b/modules/weaviate/build.gradle
@@ -3,5 +3,18 @@ description = "Testcontainers :: Weaviate"
dependencies {
api project(':testcontainers')
- testImplementation 'io.weaviate:client:5.5.0'
+ testImplementation 'io.weaviate:client6:6.1.0'
+}
+
+test {
+ javaLauncher = javaToolchains.launcherFor {
+ languageVersion = JavaLanguageVersion.of(17)
+ }
+}
+
+compileTestJava {
+ javaCompiler = javaToolchains.compilerFor {
+ languageVersion = JavaLanguageVersion.of(17)
+ }
+ options.release.set(17)
}
diff --git a/modules/weaviate/src/test/java/org/testcontainers/weaviate/WeaviateContainerTest.java b/modules/weaviate/src/test/java/org/testcontainers/weaviate/WeaviateContainerTest.java
index 9a1ad47d5af..d103970053c 100644
--- a/modules/weaviate/src/test/java/org/testcontainers/weaviate/WeaviateContainerTest.java
+++ b/modules/weaviate/src/test/java/org/testcontainers/weaviate/WeaviateContainerTest.java
@@ -1,9 +1,7 @@
package org.testcontainers.weaviate;
-import io.weaviate.client.Config;
-import io.weaviate.client.WeaviateClient;
-import io.weaviate.client.base.Result;
-import io.weaviate.client.v1.misc.model.Meta;
+import io.weaviate.client6.v1.api.InstanceMetadata;
+import io.weaviate.client6.v1.api.WeaviateClient;
import org.assertj.core.api.InstanceOfAssertFactories;
import org.junit.jupiter.api.Test;
@@ -17,22 +15,30 @@
class WeaviateContainerTest {
@Test
- void testWeaviate() {
+ void testWeaviate() throws Exception {
try ( // container {
- WeaviateContainer weaviate = new WeaviateContainer("cr.weaviate.io/semitechnologies/weaviate:1.29.0")
+ WeaviateContainer weaviate = new WeaviateContainer("cr.weaviate.io/semitechnologies/weaviate:1.32.0")
// }
) {
weaviate.start();
- Config config = new Config("http", weaviate.getHttpHostAddress());
- config.setGRPCHost(weaviate.getGrpcHostAddress());
- WeaviateClient client = new WeaviateClient(config);
- Result meta = client.misc().metaGetter().run();
- assertThat(meta.getResult().getVersion()).isEqualTo("1.29.0");
+ try (
+ WeaviateClient client = WeaviateClient.connectToCustom(conn -> {
+ return conn
+ .scheme("http")
+ .httpHost(weaviate.getHost())
+ .httpPort(weaviate.getMappedPort(8080))
+ .grpcHost(weaviate.getHost())
+ .grpcPort(weaviate.getMappedPort(50051));
+ })
+ ) {
+ InstanceMetadata meta = client.meta();
+ assertThat(meta.version()).isEqualTo("1.32.0");
+ }
}
}
@Test
- void testWeaviateWithModules() {
+ void testWeaviateWithModules() throws Exception {
List enableModules = Arrays.asList(
"backup-filesystem",
"text2vec-openai",
@@ -43,22 +49,30 @@ void testWeaviateWithModules() {
Map env = new HashMap<>();
env.put("ENABLE_MODULES", String.join(",", enableModules));
env.put("BACKUP_FILESYSTEM_PATH", "/tmp/backups");
- try (WeaviateContainer weaviate = new WeaviateContainer("semitechnologies/weaviate:1.29.0").withEnv(env)) {
+ try (WeaviateContainer weaviate = new WeaviateContainer("semitechnologies/weaviate:1.32.0").withEnv(env)) {
weaviate.start();
- Config config = new Config("http", weaviate.getHttpHostAddress());
- config.setGRPCHost(weaviate.getGrpcHostAddress());
- WeaviateClient client = new WeaviateClient(config);
- Result meta = client.misc().metaGetter().run();
- assertThat(meta.getResult().getVersion()).isEqualTo("1.29.0");
- Object modules = meta.getResult().getModules();
- assertThat(modules)
- .isNotNull()
- .asInstanceOf(InstanceOfAssertFactories.map(String.class, Object.class))
- .extracting(Map::keySet)
- .satisfies(keys -> {
- assertThat(keys.size()).isEqualTo(enableModules.size());
- keys.forEach(key -> assertThat(enableModules.contains(key)).isTrue());
- });
+ try (
+ WeaviateClient client = WeaviateClient.connectToCustom(conn -> {
+ return conn
+ .scheme("http")
+ .httpHost(weaviate.getHost())
+ .httpPort(weaviate.getMappedPort(8080))
+ .grpcHost(weaviate.getHost())
+ .grpcPort(weaviate.getMappedPort(50051));
+ })
+ ) {
+ InstanceMetadata meta = client.meta();
+ assertThat(meta.version()).isEqualTo("1.32.0");
+ Map modules = meta.modules();
+ assertThat(modules)
+ .isNotNull()
+ .asInstanceOf(InstanceOfAssertFactories.map(String.class, Object.class))
+ .extracting(Map::keySet)
+ .satisfies(keys -> {
+ assertThat(keys.size()).isEqualTo(enableModules.size());
+ keys.forEach(key -> assertThat(enableModules.contains(key)).isTrue());
+ });
+ }
}
}
}