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()); + }); + } } } }