From 31bb54fa69518d367f509c6b10bc1ce884483d38 Mon Sep 17 00:00:00 2001 From: Rivaldi Date: Sun, 1 Dec 2024 13:00:15 +0700 Subject: [PATCH 1/4] ci: upgrade image to version 27.1 --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 32d3daf..78551b3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: typesense: - image: typesense/typesense:0.24.1 + image: typesense/typesense:27.1 container_name: "typesense" ports: - "8108:8108" From f24b241f2b6b71b5a59ccacffed1f9b0b52fdbd0 Mon Sep 17 00:00:00 2001 From: Rivaldi Date: Sun, 1 Dec 2024 13:00:25 +0700 Subject: [PATCH 2/4] test: add assertions to the test --- .../org/typesense/api/CollectionsTest.java | 40 +++++++++++++++++-- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/src/test/java/org/typesense/api/CollectionsTest.java b/src/test/java/org/typesense/api/CollectionsTest.java index 24e7fed..a401cbd 100644 --- a/src/test/java/org/typesense/api/CollectionsTest.java +++ b/src/test/java/org/typesense/api/CollectionsTest.java @@ -6,6 +6,10 @@ import org.typesense.model.*; import java.util.ArrayList; +import java.util.stream.Stream; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; class CollectionsTest { @@ -32,18 +36,31 @@ void testRetrieveAllCollections() throws Exception { CollectionResponse[] collectionResponses = client.collections().retrieve(); for(CollectionResponse c:collectionResponses) System.out.println(c); + + assertNotNull(collectionResponses); + assertEquals(1, collectionResponses.length); } @Test void testRetrieveSingleCollection() throws Exception { helper.createTestCollection(); - System.out.println(client.collections("books").retrieve()); + CollectionResponse books = client.collections("books").retrieve(); + System.out.println(books); + + assertNotNull(books); + assertEquals("books", books.getName()); + assertEquals(0, books.getNumDocuments()); } @Test void testDeleteCollection() throws Exception { helper.createTestCollection(); - System.out.println(client.collections("books").delete()); + CollectionResponse books = client.collections("books").delete(); + System.out.println(books); + + assertNotNull(books); + assertEquals("books", books.getName()); + assertEquals(0, books.getNumDocuments()); } @Test @@ -59,6 +76,11 @@ void testCreateCollection() throws Exception { CollectionResponse cr = client.collections().create(collectionSchema); System.out.println(cr); + + assertNotNull(cr); + assertEquals("Countries", cr.getName()); + assertEquals(0, cr.getNumDocuments()); + assertEquals(3, cr.getFields().size()); } @Test @@ -76,7 +98,17 @@ void testCreateCollectionWithModel() throws Exception { CollectionSchema collectionSchema = new CollectionSchema(); collectionSchema.name("titles").fields(fields); - //CollectionResponse cr = client.collections().create(collectionSchema); - //System.out.println(cr); + CollectionResponse cr = client.collections().create(collectionSchema); + System.out.println(cr); + + assertNotNull(cr); + assertEquals("titles", cr.getName()); + assertEquals(0, cr.getNumDocuments()); + assertEquals(2, cr.getFields().size()); + FieldEmbed fieldEmbed = cr.getFields().stream().filter(f -> f.getName().equals("embedding")).map(Field::getEmbed) + .findFirst() + .orElse(null); + assertNotNull(fieldEmbed); + assertEquals("ts/e5-small", fieldEmbed.getModelConfig().getModelName()); } } \ No newline at end of file From 4f96e1bf2e514ad193058758af9b59230ba5bf61 Mon Sep 17 00:00:00 2001 From: Rivaldi Date: Sun, 1 Dec 2024 13:01:05 +0700 Subject: [PATCH 3/4] test: increase timeout for better test reliability --- src/test/java/org/typesense/api/Helper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/org/typesense/api/Helper.java b/src/test/java/org/typesense/api/Helper.java index de910e3..827dd3a 100644 --- a/src/test/java/org/typesense/api/Helper.java +++ b/src/test/java/org/typesense/api/Helper.java @@ -37,7 +37,7 @@ public class Helper { List nodes = new ArrayList<>(); nodes.add(new Node("http", "localhost", "8108")); - Configuration configuration = new Configuration(nodes, Duration.ofSeconds(3), "xyz"); + Configuration configuration = new Configuration(nodes, Duration.ofSeconds(5), "xyz"); this.client = new Client(configuration); } From 428b0088ecc90e744ac9249999d12ba47317d39b Mon Sep 17 00:00:00 2001 From: Rivaldi Date: Sun, 1 Dec 2024 13:01:30 +0700 Subject: [PATCH 4/4] refactor: clean up codes --- src/test/java/org/typesense/api/CollectionsTest.java | 1 - src/test/java/org/typesense/api/Helper.java | 12 ++++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/test/java/org/typesense/api/CollectionsTest.java b/src/test/java/org/typesense/api/CollectionsTest.java index a401cbd..4a4d82f 100644 --- a/src/test/java/org/typesense/api/CollectionsTest.java +++ b/src/test/java/org/typesense/api/CollectionsTest.java @@ -6,7 +6,6 @@ import org.typesense.model.*; import java.util.ArrayList; -import java.util.stream.Stream; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; diff --git a/src/test/java/org/typesense/api/Helper.java b/src/test/java/org/typesense/api/Helper.java index 827dd3a..aef471b 100644 --- a/src/test/java/org/typesense/api/Helper.java +++ b/src/test/java/org/typesense/api/Helper.java @@ -2,7 +2,7 @@ import java.time.Duration; import java.util.ArrayList; -import java.util.Arrays; +import java.util.Collections; import java.util.HashMap; import java.util.List; @@ -117,11 +117,11 @@ public void createTestAnalyticsRule() throws Exception { .type(AnalyticsRuleUpsertSchema.TypeEnum.NOHITS_QUERIES) .params(new AnalyticsRuleParameters() .source(new AnalyticsRuleParametersSource() - .collections(Arrays.asList("books")) - .events(Arrays.asList( - new AnalyticsRuleParametersSourceEvents() - .type("search") - .name("products_search_event")))) + .collections(Collections.singletonList("books")) + .events(Collections.singletonList( + new AnalyticsRuleParametersSourceEvents() + .type("search") + .name("products_search_event")))) .destination(new AnalyticsRuleParametersDestination() .collection("queries")));