Skip to content

Commit eadc9d6

Browse files
Add tests with Weaviate modules (#8481)
Co-authored-by: Eddú Meléndez <[email protected]>
1 parent 3b65171 commit eadc9d6

File tree

1 file changed

+40
-3
lines changed

1 file changed

+40
-3
lines changed

modules/weaviate/src/test/java/org/testcontainers/weaviate/WeaviateContainerTest.java

Lines changed: 40 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,61 @@
44
import io.weaviate.client.WeaviateClient;
55
import io.weaviate.client.base.Result;
66
import io.weaviate.client.v1.misc.model.Meta;
7+
import org.assertj.core.api.InstanceOfAssertFactories;
78
import org.junit.Test;
89

10+
import java.util.Arrays;
11+
import java.util.HashMap;
12+
import java.util.List;
13+
import java.util.Map;
14+
915
import static org.assertj.core.api.Assertions.assertThat;
1016

1117
public class WeaviateContainerTest {
1218

1319
@Test
14-
public void test() {
20+
public void testWeaviate() {
1521
try ( // container {
16-
WeaviateContainer weaviate = new WeaviateContainer("semitechnologies/weaviate:1.24.1")
22+
WeaviateContainer weaviate = new WeaviateContainer("semitechnologies/weaviate:1.24.5")
1723
// }
1824
) {
1925
weaviate.start();
2026
Config config = new Config("http", weaviate.getHttpHostAddress());
2127
config.setGRPCHost(weaviate.getGrpcHostAddress());
2228
WeaviateClient client = new WeaviateClient(config);
2329
Result<Meta> meta = client.misc().metaGetter().run();
24-
assertThat(meta.getResult().getVersion()).isEqualTo("1.24.1");
30+
assertThat(meta.getResult().getVersion()).isEqualTo("1.24.5");
31+
}
32+
}
33+
34+
@Test
35+
public void testWeaviateWithModules() {
36+
List<String> enableModules = Arrays.asList(
37+
"backup-filesystem",
38+
"text2vec-openai",
39+
"text2vec-cohere",
40+
"text2vec-huggingface",
41+
"generative-openai"
42+
);
43+
Map<String, String> env = new HashMap<>();
44+
env.put("ENABLE_MODULES", String.join(",", enableModules));
45+
env.put("BACKUP_FILESYSTEM_PATH", "/tmp/backups");
46+
try (WeaviateContainer weaviate = new WeaviateContainer("semitechnologies/weaviate:1.24.5").withEnv(env)) {
47+
weaviate.start();
48+
Config config = new Config("http", weaviate.getHttpHostAddress());
49+
config.setGRPCHost(weaviate.getGrpcHostAddress());
50+
WeaviateClient client = new WeaviateClient(config);
51+
Result<Meta> meta = client.misc().metaGetter().run();
52+
assertThat(meta.getResult().getVersion()).isEqualTo("1.24.5");
53+
Object modules = meta.getResult().getModules();
54+
assertThat(modules)
55+
.isNotNull()
56+
.asInstanceOf(InstanceOfAssertFactories.map(String.class, Object.class))
57+
.extracting(Map::keySet)
58+
.satisfies(keys -> {
59+
assertThat(keys.size()).isEqualTo(enableModules.size());
60+
keys.forEach(key -> assertThat(enableModules.contains(key)).isTrue());
61+
});
2562
}
2663
}
2764
}

0 commit comments

Comments
 (0)