|
4 | 4 | import io.weaviate.client.WeaviateClient; |
5 | 5 | import io.weaviate.client.base.Result; |
6 | 6 | import io.weaviate.client.v1.misc.model.Meta; |
| 7 | +import org.assertj.core.api.InstanceOfAssertFactories; |
7 | 8 | import org.junit.Test; |
8 | 9 |
|
| 10 | +import java.util.Arrays; |
| 11 | +import java.util.HashMap; |
| 12 | +import java.util.List; |
| 13 | +import java.util.Map; |
| 14 | + |
9 | 15 | import static org.assertj.core.api.Assertions.assertThat; |
10 | 16 |
|
11 | 17 | public class WeaviateContainerTest { |
12 | 18 |
|
13 | 19 | @Test |
14 | | - public void test() { |
| 20 | + public void testWeaviate() { |
15 | 21 | try ( // container { |
16 | | - WeaviateContainer weaviate = new WeaviateContainer("semitechnologies/weaviate:1.24.1") |
| 22 | + WeaviateContainer weaviate = new WeaviateContainer("semitechnologies/weaviate:1.24.5") |
17 | 23 | // } |
18 | 24 | ) { |
19 | 25 | weaviate.start(); |
20 | 26 | Config config = new Config("http", weaviate.getHttpHostAddress()); |
21 | 27 | config.setGRPCHost(weaviate.getGrpcHostAddress()); |
22 | 28 | WeaviateClient client = new WeaviateClient(config); |
23 | 29 | 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 | + }); |
25 | 62 | } |
26 | 63 | } |
27 | 64 | } |
0 commit comments