Skip to content

Commit c3d1751

Browse files
committed
test(it): do not stop static containers
1 parent 475811b commit c3d1751

5 files changed

Lines changed: 60 additions & 82 deletions

File tree

src/it/java/io/weaviate/containers/Container.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package io.weaviate.containers;
22

33
import java.util.Arrays;
4+
import java.util.Collection;
45
import java.util.List;
6+
import java.util.Set;
57

68
import org.junit.rules.TestRule;
79
import org.junit.runner.Description;
@@ -19,6 +21,7 @@ public class Container {
1921
public static final MinIo MINIO = MinIo.createDefault();
2022

2123
public static ContainerGroup compose(Weaviate weaviate, GenericContainer<?>... containers) {
24+
assert weaviate != WEAVIATE : "cannot compose with static WEAVIATE contaier";
2225
return new ContainerGroup(weaviate, containers);
2326
}
2427

@@ -50,7 +53,9 @@ public void start() {
5053
@Override
5154
public void stop() {
5255
weaviate.stop();
53-
containers.forEach(GenericContainer::stop);
56+
containers.stream()
57+
.dropWhile(c -> c == MODEL2VEC || c == IMG2VEC_NEURAL || c == MINIO)
58+
.forEach(GenericContainer::stop);
5459
}
5560

5661
private void setSharedNetwork() {

src/it/java/io/weaviate/containers/Weaviate.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,11 @@ public class Weaviate extends WeaviateContainer {
2828
public static final String DOCKER_IMAGE = "semitechnologies/weaviate";
2929
public static final String LATEST_VERSION = Version.latest().semver.toString();
3030
public static final String VERSION;
31+
private static final boolean DEBUG;
3132

3233
static {
3334
VERSION = System.getenv().getOrDefault("WEAVIATE_VERSION", LATEST_VERSION);
35+
DEBUG = System.getenv("DEBUG") != null;
3436
}
3537
public static String OIDC_ISSUER = "https://auth.wcs.api.weaviate.io/auth/realms/SeMI";
3638

@@ -93,6 +95,9 @@ public String getContainerName() {
9395
public WeaviateClient getClient() {
9496
if (!isRunning()) {
9597
start();
98+
if (DEBUG) {
99+
followOutput(frame -> System.out.println(frame.getUtf8String()));
100+
}
96101
}
97102
if (clientInstance != null) {
98103
return clientInstance;

src/it/java/io/weaviate/integration/ClusterITest.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,7 @@
44

55
import org.assertj.core.api.Assertions;
66
import org.junit.AfterClass;
7-
import org.junit.ClassRule;
87
import org.junit.Test;
9-
import org.junit.rules.TestRule;
108

119
import io.weaviate.ConcurrentTest;
1210
import io.weaviate.client6.v1.api.WeaviateClient;
@@ -16,7 +14,6 @@
1614
import io.weaviate.client6.v1.api.cluster.replication.Replication;
1715
import io.weaviate.client6.v1.api.cluster.replication.ReplicationState;
1816
import io.weaviate.client6.v1.api.cluster.replication.ReplicationType;
19-
import io.weaviate.containers.Container;
2017
import io.weaviate.containers.Weaviate;
2118
import io.weaviate.containers.Weaviate.Version;
2219

src/it/java/io/weaviate/integration/SearchITest.java

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import io.weaviate.client6.v1.api.collections.generate.GenerativeObject;
3333
import io.weaviate.client6.v1.api.collections.generate.TaskOutput;
3434
import io.weaviate.client6.v1.api.collections.generative.DummyGenerative;
35+
import io.weaviate.client6.v1.api.collections.query.FetchObjectById;
3536
import io.weaviate.client6.v1.api.collections.query.Filter;
3637
import io.weaviate.client6.v1.api.collections.query.GroupBy;
3738
import io.weaviate.client6.v1.api.collections.query.Metadata;
@@ -790,4 +791,52 @@ public void test_rerankQueries() throws IOException {
790791
// Assert: ranking not important really, just that the request was valid.
791792
Assertions.assertThat(got.objects()).hasSize(2);
792793
}
794+
795+
@Test
796+
public void testVectorizerModel2VecPropeties() throws IOException {
797+
var collectionName = ns("Books");
798+
client.collections.create(collectionName,
799+
col -> col
800+
.properties(Property.text("title"), Property.text("author"))
801+
.vectorConfig(
802+
VectorConfig.text2vecModel2Vec("title_vec", v -> v.sourceProperties("title")),
803+
VectorConfig.text2vecModel2Vec("author_vec", v -> v.sourceProperties("author"))));
804+
805+
var books = client.collections.use(collectionName);
806+
Assertions.assertThat(books).isNotNull();
807+
808+
WeaviateObject<Map<String, Object>> dune = WeaviateObject.of(
809+
o -> o.properties(Map.of(
810+
"title", "Dune",
811+
"author", "Frank Herbert")));
812+
WeaviateObject<Map<String, Object>> abc = WeaviateObject.of(
813+
o -> o.properties(Map.of(
814+
"title", "ABC",
815+
"author", "ABC")));
816+
817+
var resp = books.data.insertMany(dune, abc);
818+
Assertions.assertThat(resp).isNotNull().satisfies(s -> {
819+
Assertions.assertThat(s.errors()).isEmpty();
820+
});
821+
822+
// Assert that for Dune we have generated 2 different vectors
823+
var gotDune = books.query.fetchObjectById(dune.uuid(), FetchObjectById.Builder::includeVector);
824+
Assertions.assertThat(gotDune).get()
825+
.extracting(WeaviateObject::vectors)
826+
.satisfies(v -> {
827+
Assertions.assertThat(v.getSingle("title_vec")).isNotEmpty();
828+
Assertions.assertThat(v.getSingle("author_vec")).isNotEmpty();
829+
Assertions.assertThat(v.getSingle("title_vec")).isNotEqualTo(v.getSingle("author_vec"));
830+
});
831+
832+
// Assert that for ABC we have generated same vectors
833+
var gotAbc = books.query.fetchObjectById(abc.uuid(), FetchObjectById.Builder::includeVector);
834+
Assertions.assertThat(gotAbc).get()
835+
.extracting(WeaviateObject::vectors)
836+
.satisfies(v -> {
837+
Assertions.assertThat(v.getSingle("title_vec")).isNotEmpty();
838+
Assertions.assertThat(v.getSingle("author_vec")).isNotEmpty();
839+
Assertions.assertThat(v.getSingle("title_vec")).isEqualTo(v.getSingle("author_vec"));
840+
});
841+
}
793842
}

src/it/java/io/weaviate/integration/VectorizersITest.java

Lines changed: 0 additions & 78 deletions
This file was deleted.

0 commit comments

Comments
 (0)