Repository: incubator-griffin
Updated Branches:
  refs/heads/master 90f3b16d7 -> 2556a1427


http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/2556a142/service/src/test/java/org/apache/griffin/core/job/JobServiceImplTest.java
----------------------------------------------------------------------
diff --git 
a/service/src/test/java/org/apache/griffin/core/job/JobServiceImplTest.java 
b/service/src/test/java/org/apache/griffin/core/job/JobServiceImplTest.java
index cda4104..976a931 100644
--- a/service/src/test/java/org/apache/griffin/core/job/JobServiceImplTest.java
+++ b/service/src/test/java/org/apache/griffin/core/job/JobServiceImplTest.java
@@ -339,6 +339,21 @@ public class JobServiceImplTest {
         assertEquals(service.getHealthInfo().getHealthyJobCount(), 0);
     }
 
+    @Test
+    public void testGetJobDetailsGroupByMeasureId() throws SchedulerException {
+        Scheduler scheduler = Mockito.mock(Scheduler.class);
+        JobDetailImpl jobDetail = createJobDetail();
+        given(factory.getObject()).willReturn(scheduler);
+        HashSet<JobKey> set = new HashSet<>();
+        set.add(new JobKey("name", "group"));
+        given(scheduler.getJobKeys(GroupMatcher.anyGroup())).willReturn(set);
+        List<Trigger> triggers = Arrays.asList(newTriggerInstance("name", 
"group", 3000));
+        JobKey jobKey = set.iterator().next();
+        given((List<Trigger>) 
scheduler.getTriggersOfJob(jobKey)).willReturn(triggers);
+        given(scheduler.getJobDetail(jobKey)).willReturn(jobDetail);
+        assertTrue(service.getJobDetailsGroupByMeasureId().containsKey("1"));
+    }
+
     private void mockJsonDataMap(Scheduler scheduler,JobKey jobKey,Boolean 
deleted) throws SchedulerException {
         JobDataMap jobDataMap = mock(JobDataMap.class);
         JobDetailImpl jobDetail = new JobDetailImpl();

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/2556a142/service/src/test/java/org/apache/griffin/core/measure/MeasureOrgControllerTest.java
----------------------------------------------------------------------
diff --git 
a/service/src/test/java/org/apache/griffin/core/measure/MeasureOrgControllerTest.java
 
b/service/src/test/java/org/apache/griffin/core/measure/MeasureOrgControllerTest.java
index 372eac0..c9cb463 100644
--- 
a/service/src/test/java/org/apache/griffin/core/measure/MeasureOrgControllerTest.java
+++ 
b/service/src/test/java/org/apache/griffin/core/measure/MeasureOrgControllerTest.java
@@ -29,12 +29,17 @@ import org.springframework.boot.test.mock.mockito.MockBean;
 import org.springframework.test.context.junit4.SpringRunner;
 import org.springframework.test.web.servlet.MockMvc;
 
+import java.io.Serializable;
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import static 
org.apache.griffin.core.measure.MeasureTestHelper.createJobDetailMap;
 import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.notNullValue;
+import static org.hamcrest.Matchers.hasEntry;
+import static org.hamcrest.Matchers.hasKey;
 import static org.hamcrest.Matchers.hasSize;
 import static org.mockito.Mockito.when;
 import static 
org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
@@ -86,4 +91,24 @@ public class MeasureOrgControllerTest {
                 .andExpect(jsonPath("$.orgName", hasSize(1)));
     }
 
+    @Test
+    public void testGetMeasureWithJobsGroupByOrg() throws Exception {
+        Map<String, Serializable> jobDetail = createJobDetailMap();
+        List<Map<String, Serializable>> jobList = Arrays.asList(jobDetail);
+        Map<String, List<Map<String, Serializable>>> measuresById = new 
HashMap<>();
+        measuresById.put("1", jobList);
+        
when(jobService.getJobDetailsGroupByMeasureId()).thenReturn(measuresById);
+
+        Map<String, List<Map<String, Serializable>>> measuresByName = new 
HashMap<>();
+        Map<String, Map<String, List<Map<String, Serializable>>>> map = new 
HashMap<>();
+        measuresByName.put("measureName", jobList);
+        map.put("orgName", measuresByName);
+        
when(measureOrgService.getMeasureWithJobDetailsGroupByOrg(measuresById)).thenReturn(map);
+
+        mockMvc.perform(get(URLHelper.API_VERSION_PATH + "/org/measure/jobs"))
+                .andExpect(status().isOk())
+                .andExpect(jsonPath("$", notNullValue()))
+                .andExpect(jsonPath("$.orgName", hasKey("measureName")));
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/2556a142/service/src/test/java/org/apache/griffin/core/measure/MeasureOrgServiceImplTest.java
----------------------------------------------------------------------
diff --git 
a/service/src/test/java/org/apache/griffin/core/measure/MeasureOrgServiceImplTest.java
 
b/service/src/test/java/org/apache/griffin/core/measure/MeasureOrgServiceImplTest.java
index ad9520b..6ad9a6a 100644
--- 
a/service/src/test/java/org/apache/griffin/core/measure/MeasureOrgServiceImplTest.java
+++ 
b/service/src/test/java/org/apache/griffin/core/measure/MeasureOrgServiceImplTest.java
@@ -28,11 +28,11 @@ import org.mockito.InjectMocks;
 import org.mockito.Mock;
 import org.springframework.test.context.junit4.SpringRunner;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
+import java.io.Serializable;
+import java.util.*;
 
+import static 
org.apache.griffin.core.measure.MeasureTestHelper.createATestMeasure;
+import static 
org.apache.griffin.core.measure.MeasureTestHelper.createJobDetailMap;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.mockito.BDDMockito.given;
 import static org.mockito.Mockito.when;
@@ -78,4 +78,21 @@ public class MeasureOrgServiceImplTest {
 
     }
 
+    @Test
+    public void testMeasureWithJobDetailsGroupByOrg() throws Exception {
+        Measure measure = createATestMeasure("measure", "org");
+        measure.setId(1L);
+        
given(measureRepo.findByDeleted(false)).willReturn(Arrays.asList(measure));
+
+        Map<String, Serializable> jobDetail = createJobDetailMap();
+        List<Map<String, Serializable>> jobList = Arrays.asList(jobDetail);
+        Map<String, List<Map<String, Serializable>>> measuresById = new 
HashMap<>();
+        measuresById.put("1", jobList);
+
+        Map<String, Map<String, List<Map<String, Serializable>>>> map = 
service.getMeasureWithJobDetailsGroupByOrg(measuresById);
+        assertThat(map.size()).isEqualTo(1);
+        assertThat(map).containsKey("org");
+        assertThat(map.get("org").get("measure")).isEqualTo(jobList);
+    }
+
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/2556a142/service/src/test/java/org/apache/griffin/core/measure/MeasureTestHelper.java
----------------------------------------------------------------------
diff --git 
a/service/src/test/java/org/apache/griffin/core/measure/MeasureTestHelper.java 
b/service/src/test/java/org/apache/griffin/core/measure/MeasureTestHelper.java
index 563732c..c9f1c7b 100644
--- 
a/service/src/test/java/org/apache/griffin/core/measure/MeasureTestHelper.java
+++ 
b/service/src/test/java/org/apache/griffin/core/measure/MeasureTestHelper.java
@@ -26,10 +26,8 @@ import org.quartz.JobDataMap;
 import org.quartz.Trigger;
 import org.quartz.impl.JobDetailImpl;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
+import java.io.Serializable;
+import java.util.*;
 
 public class MeasureTestHelper {
     public static Measure createATestMeasure(String name, String org) throws 
Exception{
@@ -71,4 +69,19 @@ public class MeasureTestHelper {
         jobDetail.setJobDataMap(jobInfoMap);
         return jobDetail;
     }
+
+    public static Map<String, Serializable> createJobDetailMap() {
+        Map<String, Serializable> jobDetailMap = new HashMap<>();
+        jobDetailMap.put("jobName","jobName");
+        jobDetailMap.put("measureId", "1");
+        jobDetailMap.put("groupName","BA");
+        jobDetailMap.put("targetPattern", "YYYYMMdd-HH");
+        jobDetailMap.put("triggerState", Trigger.TriggerState.NORMAL);
+        jobDetailMap.put("nextFireTime", "1509613440000");
+        jobDetailMap.put("previousFireTime", "1509613410000");
+        jobDetailMap.put("interval", "3000");
+        jobDetailMap.put("sourcePattern", "YYYYMMdd-HH");
+        jobDetailMap.put("jobStartTime", "1506356105876");
+        return jobDetailMap;
+    }
 }

Reply via email to