You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by ji...@apache.org on 2020/07/29 23:52:58 UTC

[incubator-pinot] branch anomalies-pagination updated: unit tests

This is an automated email from the ASF dual-hosted git repository.

jihao pushed a commit to branch anomalies-pagination
in repository https://gitbox.apache.org/repos/asf/incubator-pinot.git


The following commit(s) were added to refs/heads/anomalies-pagination by this push:
     new 48e937f  unit tests
48e937f is described below

commit 48e937f7d24be7bd79ea4116d3cf9d40c2190108
Author: Jihao Zhang <ji...@linkedin.com>
AuthorDate: Wed Jul 29 16:52:39 2020 -0700

    unit tests
---
 .../v2/anomalies/AnomalySearchFilter.java          | 18 ++++++
 .../v2/anomalies/AnomalySearcherTest.java          | 68 ++++++++++++++++++++++
 2 files changed, 86 insertions(+)

diff --git a/thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/dashboard/resources/v2/anomalies/AnomalySearchFilter.java b/thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/dashboard/resources/v2/anomalies/AnomalySearchFilter.java
index e995e5a..533c554 100644
--- a/thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/dashboard/resources/v2/anomalies/AnomalySearchFilter.java
+++ b/thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/dashboard/resources/v2/anomalies/AnomalySearchFilter.java
@@ -1,5 +1,6 @@
 package org.apache.pinot.thirdeye.dashboard.resources.v2.anomalies;
 
+import java.util.Collections;
 import java.util.List;
 
 
@@ -21,6 +22,23 @@ public class AnomalySearchFilter {
    *
    * @param startTime the start time
    * @param endTime the end time
+   */
+  public AnomalySearchFilter(Long startTime, Long endTime) {
+    this.startTime = startTime;
+    this.endTime = endTime;
+    this.feedbacks = Collections.emptyList();
+    this.subscriptionGroups = Collections.emptyList();
+    this.detectionNames = Collections.emptyList();
+    this.metrics = Collections.emptyList();
+    this.datasets = Collections.emptyList();
+    this.anomalyIds = Collections.emptyList();
+  }
+
+  /**
+   * Instantiates a new Anomaly search filter.
+   *
+   * @param startTime the start time
+   * @param endTime the end time
    * @param feedbacks the feedbacks
    * @param subscriptionGroups the subscription groups
    * @param detectionNames the detection names
diff --git a/thirdeye/thirdeye-pinot/src/test/java/org/apache/pinot/thirdeye/dashboard/resources/v2/anomalies/AnomalySearcherTest.java b/thirdeye/thirdeye-pinot/src/test/java/org/apache/pinot/thirdeye/dashboard/resources/v2/anomalies/AnomalySearcherTest.java
new file mode 100644
index 0000000..d4faf3d
--- /dev/null
+++ b/thirdeye/thirdeye-pinot/src/test/java/org/apache/pinot/thirdeye/dashboard/resources/v2/anomalies/AnomalySearcherTest.java
@@ -0,0 +1,68 @@
+package org.apache.pinot.thirdeye.dashboard.resources.v2.anomalies;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import org.apache.pinot.thirdeye.datalayer.bao.DAOTestBase;
+import org.apache.pinot.thirdeye.datalayer.bao.MergedAnomalyResultManager;
+import org.apache.pinot.thirdeye.datalayer.dto.MergedAnomalyResultDTO;
+import org.apache.pinot.thirdeye.datasource.DAORegistry;
+import org.apache.pinot.thirdeye.detection.ConfigUtils;
+import org.testng.Assert;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+
+
+public class AnomalySearcherTest {
+  private DAOTestBase testDAOProvider;
+  private MergedAnomalyResultManager anomalyDAO;
+
+  @BeforeClass
+  public void beforeClass() {
+    testDAOProvider = DAOTestBase.getInstance();
+    anomalyDAO = DAORegistry.getInstance().getMergedAnomalyResultDAO();
+    MergedAnomalyResultDTO anomaly1 = new MergedAnomalyResultDTO();
+    MergedAnomalyResultDTO anomaly2 = new MergedAnomalyResultDTO();
+    MergedAnomalyResultDTO anomaly3 = new MergedAnomalyResultDTO();
+
+    anomaly1.setStartTime(1L);
+    anomaly1.setEndTime(2L);
+    anomaly1.setCollection("test_dataset_1");
+    anomaly2.setStartTime(2L);
+    anomaly2.setEndTime(3L);
+    anomaly2.setCollection("test_dataset_2");
+    anomaly3.setStartTime(5L);
+    anomaly3.setEndTime(6L);
+    anomalyDAO.save(anomaly1);
+    anomalyDAO.save(anomaly2);
+    anomalyDAO.save(anomaly3);
+  }
+
+  @Test
+  public void testSearch() {
+    AnomalySearcher anomalySearcher = new AnomalySearcher();
+    Map<String, Object> result = anomalySearcher.search(new AnomalySearchFilter(1L, 3L), 10, 0);
+    Assert.assertEquals(result.get("count"), 2L);
+    Assert.assertEquals(result.get("limit"), 10);
+    Assert.assertEquals(result.get("offset"), 0);
+    List<MergedAnomalyResultDTO> anomalies = ConfigUtils.getList(result.get("elements"));
+    Assert.assertEquals(anomalies.size(), 2);
+    Assert.assertEquals(anomalies.get(0), anomalyDAO.findById(1L));
+    Assert.assertEquals(anomalies.get(1), anomalyDAO.findById(2L));
+  }
+
+  @Test
+  public void testSearchWithFilters() {
+    AnomalySearcher anomalySearcher = new AnomalySearcher();
+    Map<String, Object> result = anomalySearcher.search(
+        new AnomalySearchFilter(1L, 3L, Collections.emptyList(), Collections.emptyList(), Collections.emptyList(),
+            Collections.emptyList(), Arrays.asList("test_dataset_1"), Collections.emptyList()), 10, 0);
+    Assert.assertEquals(result.get("count"), 1L);
+    Assert.assertEquals(result.get("limit"), 10);
+    Assert.assertEquals(result.get("offset"), 0);
+    List<MergedAnomalyResultDTO> anomalies = ConfigUtils.getList(result.get("elements"));
+    Assert.assertEquals(anomalies.size(), 1);
+    Assert.assertEquals(anomalies.get(0), anomalyDAO.findById(1L));
+  }
+}
\ No newline at end of file


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org