Skip to content

Commit 57493d2

Browse files
committed
feat(test): add test helper methods for new analytics
1 parent 9979908 commit 57493d2

File tree

1 file changed

+47
-21
lines changed

1 file changed

+47
-21
lines changed

src/test/java/org/typesense/api/Helper.java

Lines changed: 47 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,6 @@
77
import java.util.List;
88
import java.util.Map;
99

10-
import org.typesense.model.AnalyticsRuleParameters;
11-
import org.typesense.model.AnalyticsRuleParametersDestination;
12-
import org.typesense.model.AnalyticsRuleParametersSource;
13-
import org.typesense.model.AnalyticsRuleParametersSourceEvents;
14-
import org.typesense.model.AnalyticsRuleSchema;
15-
import org.typesense.model.AnalyticsRuleUpsertSchema;
1610
import org.typesense.model.ApiKey;
1711
import org.typesense.model.ApiKeySchema;
1812
import org.typesense.model.ApiKeysResponse;
@@ -35,6 +29,10 @@
3529
import org.typesense.model.SynonymSetSchema;
3630
import org.typesense.model.SynonymSetsRetrieveSchema;
3731
import org.typesense.resources.Node;
32+
import org.typesense.model.AnalyticsRuleCreate;
33+
import org.typesense.model.AnalyticsRuleCreateParams;
34+
import org.typesense.model.AnalyticsRule;
35+
import org.typesense.api.AnalyticsRules;
3836

3937
public class Helper {
4038
private final Client client;
@@ -104,6 +102,15 @@ public void createTestQueryCollection() throws Exception {
104102
client.collections().create(collectionSchema);
105103
}
106104

105+
public void createTestQueryDocument() throws Exception {
106+
HashMap<String, Object> hmap = new HashMap<>();
107+
hmap.put("q", "running shoes");
108+
hmap.put("count", 42);
109+
hmap.put("id", "query1");
110+
111+
client.collections("queries").documents().create(hmap);
112+
}
113+
107114
public void createTestDocument() throws Exception {
108115
String[] authors = { "shakspeare", "william" };
109116
HashMap<String, Object> hmap = new HashMap<>();
@@ -153,20 +160,36 @@ public void createTestSynonym() throws Exception {
153160
client.collections("books").synonyms().upsert("coat-synonyms", synonym);
154161
}
155162

156-
public void createTestAnalyticsRule() throws Exception {
157-
AnalyticsRuleUpsertSchema analyticsRuleSchema = new AnalyticsRuleUpsertSchema()
158-
.type(AnalyticsRuleUpsertSchema.TypeEnum.NOHITS_QUERIES)
159-
.params(new AnalyticsRuleParameters()
160-
.source(new AnalyticsRuleParametersSource()
161-
.collections(Arrays.asList("books"))
162-
.events(Arrays.asList(
163-
new AnalyticsRuleParametersSourceEvents()
164-
.type("search")
165-
.name("products_search_event"))))
166-
.destination(new AnalyticsRuleParametersDestination()
167-
.collection("queries")));
163+
public void createTestAnalyticsCollection() throws Exception {
164+
List<Field> fields = new ArrayList<>();
165+
fields.add(new Field().name("rule_name").type(FieldTypes.STRING));
166+
fields.add(new Field().name("event_type").type(FieldTypes.STRING));
167+
fields.add(new Field().name("counter_value").type(FieldTypes.INT32));
168+
fields.add(new Field().name("timestamp").type(FieldTypes.INT64));
168169

169-
client.analytics().rules().upsert("analytics-rule", analyticsRuleSchema);
170+
CollectionSchema collectionSchema = new CollectionSchema();
171+
collectionSchema.name("analytics_data").fields(fields);
172+
173+
client.collections().create(collectionSchema);
174+
}
175+
176+
public String createTestAnalyticsRule() throws Exception {
177+
String ruleName = "analytics-rule-" + System.currentTimeMillis();
178+
179+
AnalyticsRuleCreate analyticsRule = new AnalyticsRuleCreate()
180+
.name(ruleName)
181+
.type(AnalyticsRuleCreate.TypeEnum.COUNTER)
182+
.collection("analytics_data")
183+
.eventType("click")
184+
.params(new AnalyticsRuleCreateParams()
185+
.counterField("num_employees")
186+
.weight(1));
187+
188+
List<AnalyticsRuleCreate> rules = new ArrayList<>();
189+
rules.add(analyticsRule);
190+
191+
client.analytics().rules().create(rules);
192+
return ruleName;
170193
}
171194

172195
public void createTestStopwordsSet() throws Exception {
@@ -213,8 +236,11 @@ public void teardown() throws Exception {
213236
}
214237

215238
AnalyticsRules analyticsRules = client.analytics().rules();
216-
for (AnalyticsRuleSchema r : analyticsRules.retrieve().getRules()) {
217-
client.analytics().rules(r.getName()).delete();
239+
List<AnalyticsRule> rules = analyticsRules.retrieve();
240+
if (rules != null) {
241+
for (AnalyticsRule r : rules) {
242+
client.analytics().rules(r.getName()).delete();
243+
}
218244
}
219245

220246
ApiKeysResponse apiKeysResponse = client.keys().retrieve();

0 commit comments

Comments
 (0)