Repository: incubator-griffin Updated Branches: refs/heads/master e16ce3c0e -> c0a387de6
Fixservicetests Author: William Guo <gu...@apache.org> Closes #453 from guoyuepeng/fixservicetests. Project: http://git-wip-us.apache.org/repos/asf/incubator-griffin/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-griffin/commit/c0a387de Tree: http://git-wip-us.apache.org/repos/asf/incubator-griffin/tree/c0a387de Diff: http://git-wip-us.apache.org/repos/asf/incubator-griffin/diff/c0a387de Branch: refs/heads/master Commit: c0a387de6b75e6e2df3166b551feb4367881e51f Parents: e16ce3c Author: William Guo <gu...@apache.org> Authored: Thu Nov 15 20:23:55 2018 +0800 Committer: William Guo <gu...@apache.org> Committed: Thu Nov 15 20:23:55 2018 +0800 ---------------------------------------------------------------------- .../griffin/core/job/EventServiceTest.java | 6 +- .../griffin/core/job/JobControllerTest.java | 2 +- .../griffin/core/job/JobInstanceTest.java | 8 +- .../griffin/core/job/SparkSubmitJobTest.java | 10 +- .../ExternalMeasureOperatorImplTest.java | 2 +- .../measure/GriffinMeasureOperatorImplTest.java | 4 +- .../core/measure/MeasureControllerTest.java | 2 +- .../core/measure/MeasureOrgServiceImplTest.java | 4 +- .../core/measure/MeasureServiceImplTest.java | 4 +- .../measure/repo/DataConnectorRepoTest.java | 2 +- .../core/measure/repo/MeasureRepoTest.java | 2 +- .../core/metric/MetricServiceImplTest.java | 4 +- .../apache/griffin/core/util/EntityHelper.java | 258 ------------------- .../griffin/core/util/EntityMocksHelper.java | 258 +++++++++++++++++++ 14 files changed, 283 insertions(+), 283 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/c0a387de/service/src/test/java/org/apache/griffin/core/job/EventServiceTest.java ---------------------------------------------------------------------- diff --git a/service/src/test/java/org/apache/griffin/core/job/EventServiceTest.java b/service/src/test/java/org/apache/griffin/core/job/EventServiceTest.java index 2cbbd84..bcd5356 100644 --- a/service/src/test/java/org/apache/griffin/core/job/EventServiceTest.java +++ b/service/src/test/java/org/apache/griffin/core/job/EventServiceTest.java @@ -19,7 +19,7 @@ under the License. package org.apache.griffin.core.job; -import static org.apache.griffin.core.util.EntityHelper.createGriffinMeasure; +import static org.apache.griffin.core.util.EntityMocksHelper.createGriffinMeasure; import java.util.ArrayList; import java.util.List; @@ -33,7 +33,7 @@ import org.apache.griffin.core.job.entity.BatchJob; import org.apache.griffin.core.job.entity.JobDataSegment; import org.apache.griffin.core.measure.entity.GriffinMeasure; import org.apache.griffin.core.measure.entity.Measure; -import org.apache.griffin.core.util.EntityHelper; +import org.apache.griffin.core.util.EntityMocksHelper; import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -68,7 +68,7 @@ public class EventServiceTest { @Test public void testAddJobEvent() throws Exception { - BatchJob batch_Job = EntityHelper.createGriffinJob(); + BatchJob batch_Job = EntityMocksHelper.createGriffinJob(); batch_Job.setCronExpression("0 0 12 * * ?"); batch_Job.setTimeZone("Asia/Shanghai"); JobDataSegment jds = new JobDataSegment(); http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/c0a387de/service/src/test/java/org/apache/griffin/core/job/JobControllerTest.java ---------------------------------------------------------------------- diff --git a/service/src/test/java/org/apache/griffin/core/job/JobControllerTest.java b/service/src/test/java/org/apache/griffin/core/job/JobControllerTest.java index 380c105..0bd74e6 100644 --- a/service/src/test/java/org/apache/griffin/core/job/JobControllerTest.java +++ b/service/src/test/java/org/apache/griffin/core/job/JobControllerTest.java @@ -21,7 +21,7 @@ package org.apache.griffin.core.job; import static org.apache.griffin.core.exception.GriffinExceptionMessage.JOB_ID_DOES_NOT_EXIST; import static org.apache.griffin.core.exception.GriffinExceptionMessage.JOB_NAME_DOES_NOT_EXIST; -import static org.apache.griffin.core.util.EntityHelper.createGriffinJob; +import static org.apache.griffin.core.util.EntityMocksHelper.createGriffinJob; import static org.hamcrest.CoreMatchers.is; import static org.mockito.BDDMockito.given; import static org.mockito.Mockito.doNothing; http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/c0a387de/service/src/test/java/org/apache/griffin/core/job/JobInstanceTest.java ---------------------------------------------------------------------- diff --git a/service/src/test/java/org/apache/griffin/core/job/JobInstanceTest.java b/service/src/test/java/org/apache/griffin/core/job/JobInstanceTest.java index d20cf3e..8e618de 100644 --- a/service/src/test/java/org/apache/griffin/core/job/JobInstanceTest.java +++ b/service/src/test/java/org/apache/griffin/core/job/JobInstanceTest.java @@ -19,10 +19,10 @@ under the License. package org.apache.griffin.core.job; -import static org.apache.griffin.core.util.EntityHelper.createFileExistPredicate; -import static org.apache.griffin.core.util.EntityHelper.createGriffinMeasure; -import static org.apache.griffin.core.util.EntityHelper.createJobDetail; -import static org.apache.griffin.core.util.EntityHelper.createSimpleTrigger; +import static org.apache.griffin.core.util.EntityMocksHelper.createFileExistPredicate; +import static org.apache.griffin.core.util.EntityMocksHelper.createGriffinMeasure; +import static org.apache.griffin.core.util.EntityMocksHelper.createJobDetail; +import static org.apache.griffin.core.util.EntityMocksHelper.createSimpleTrigger; import static org.junit.Assert.assertTrue; import static org.mockito.BDDMockito.given; import static org.mockito.Mockito.mock; http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/c0a387de/service/src/test/java/org/apache/griffin/core/job/SparkSubmitJobTest.java ---------------------------------------------------------------------- diff --git a/service/src/test/java/org/apache/griffin/core/job/SparkSubmitJobTest.java b/service/src/test/java/org/apache/griffin/core/job/SparkSubmitJobTest.java index 1a5c5a9..e9a481e 100644 --- a/service/src/test/java/org/apache/griffin/core/job/SparkSubmitJobTest.java +++ b/service/src/test/java/org/apache/griffin/core/job/SparkSubmitJobTest.java @@ -19,11 +19,11 @@ under the License. package org.apache.griffin.core.job; -import static org.apache.griffin.core.util.EntityHelper.createFileExistPredicate; -import static org.apache.griffin.core.util.EntityHelper.createGriffinMeasure; -import static org.apache.griffin.core.util.EntityHelper.createJobDetail; -import static org.apache.griffin.core.util.EntityHelper.createJobInstance; -import static org.apache.griffin.core.util.EntityHelper.createSimpleTrigger; +import static org.apache.griffin.core.util.EntityMocksHelper.createFileExistPredicate; +import static org.apache.griffin.core.util.EntityMocksHelper.createGriffinMeasure; +import static org.apache.griffin.core.util.EntityMocksHelper.createJobDetail; +import static org.apache.griffin.core.util.EntityMocksHelper.createJobInstance; +import static org.apache.griffin.core.util.EntityMocksHelper.createSimpleTrigger; import static org.mockito.BDDMockito.given; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/c0a387de/service/src/test/java/org/apache/griffin/core/measure/ExternalMeasureOperatorImplTest.java ---------------------------------------------------------------------- diff --git a/service/src/test/java/org/apache/griffin/core/measure/ExternalMeasureOperatorImplTest.java b/service/src/test/java/org/apache/griffin/core/measure/ExternalMeasureOperatorImplTest.java index be59ef0..cdf1bf1 100644 --- a/service/src/test/java/org/apache/griffin/core/measure/ExternalMeasureOperatorImplTest.java +++ b/service/src/test/java/org/apache/griffin/core/measure/ExternalMeasureOperatorImplTest.java @@ -19,7 +19,7 @@ under the License. package org.apache.griffin.core.measure; -import static org.apache.griffin.core.util.EntityHelper.createExternalMeasure; +import static org.apache.griffin.core.util.EntityMocksHelper.createExternalMeasure; import static org.mockito.BDDMockito.given; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/c0a387de/service/src/test/java/org/apache/griffin/core/measure/GriffinMeasureOperatorImplTest.java ---------------------------------------------------------------------- diff --git a/service/src/test/java/org/apache/griffin/core/measure/GriffinMeasureOperatorImplTest.java b/service/src/test/java/org/apache/griffin/core/measure/GriffinMeasureOperatorImplTest.java index 957ea01..7da4282 100644 --- a/service/src/test/java/org/apache/griffin/core/measure/GriffinMeasureOperatorImplTest.java +++ b/service/src/test/java/org/apache/griffin/core/measure/GriffinMeasureOperatorImplTest.java @@ -19,8 +19,8 @@ under the License. package org.apache.griffin.core.measure; -import static org.apache.griffin.core.util.EntityHelper.createDataConnector; -import static org.apache.griffin.core.util.EntityHelper.createGriffinMeasure; +import static org.apache.griffin.core.util.EntityMocksHelper.createDataConnector; +import static org.apache.griffin.core.util.EntityMocksHelper.createGriffinMeasure; import static org.junit.Assert.assertEquals; import static org.mockito.BDDMockito.given; import static org.mockito.Mockito.doNothing; http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/c0a387de/service/src/test/java/org/apache/griffin/core/measure/MeasureControllerTest.java ---------------------------------------------------------------------- diff --git a/service/src/test/java/org/apache/griffin/core/measure/MeasureControllerTest.java b/service/src/test/java/org/apache/griffin/core/measure/MeasureControllerTest.java index 54f2372..68892fb 100644 --- a/service/src/test/java/org/apache/griffin/core/measure/MeasureControllerTest.java +++ b/service/src/test/java/org/apache/griffin/core/measure/MeasureControllerTest.java @@ -19,7 +19,7 @@ under the License. package org.apache.griffin.core.measure; -import static org.apache.griffin.core.util.EntityHelper.createGriffinMeasure; +import static org.apache.griffin.core.util.EntityMocksHelper.createGriffinMeasure; import static org.hamcrest.CoreMatchers.is; import static org.mockito.BDDMockito.given; import static org.mockito.Mockito.doNothing; http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/c0a387de/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 ac3d7cf..6302c61 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 @@ -20,8 +20,8 @@ under the License. package org.apache.griffin.core.measure; -import static org.apache.griffin.core.util.EntityHelper.createGriffinMeasure; -import static org.apache.griffin.core.util.EntityHelper.createJobDetailMap; +import static org.apache.griffin.core.util.EntityMocksHelper.createGriffinMeasure; +import static org.apache.griffin.core.util.EntityMocksHelper.createJobDetailMap; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.BDDMockito.given; import static org.mockito.Mockito.when; http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/c0a387de/service/src/test/java/org/apache/griffin/core/measure/MeasureServiceImplTest.java ---------------------------------------------------------------------- diff --git a/service/src/test/java/org/apache/griffin/core/measure/MeasureServiceImplTest.java b/service/src/test/java/org/apache/griffin/core/measure/MeasureServiceImplTest.java index 47c857f..0bf7272 100644 --- a/service/src/test/java/org/apache/griffin/core/measure/MeasureServiceImplTest.java +++ b/service/src/test/java/org/apache/griffin/core/measure/MeasureServiceImplTest.java @@ -20,8 +20,8 @@ under the License. package org.apache.griffin.core.measure; -import static org.apache.griffin.core.util.EntityHelper.createExternalMeasure; -import static org.apache.griffin.core.util.EntityHelper.createGriffinMeasure; +import static org.apache.griffin.core.util.EntityMocksHelper.createExternalMeasure; +import static org.apache.griffin.core.util.EntityMocksHelper.createGriffinMeasure; import static org.junit.Assert.assertEquals; import static org.mockito.BDDMockito.given; import static org.mockito.Mockito.doNothing; http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/c0a387de/service/src/test/java/org/apache/griffin/core/measure/repo/DataConnectorRepoTest.java ---------------------------------------------------------------------- diff --git a/service/src/test/java/org/apache/griffin/core/measure/repo/DataConnectorRepoTest.java b/service/src/test/java/org/apache/griffin/core/measure/repo/DataConnectorRepoTest.java index 66eff16..59f6450 100644 --- a/service/src/test/java/org/apache/griffin/core/measure/repo/DataConnectorRepoTest.java +++ b/service/src/test/java/org/apache/griffin/core/measure/repo/DataConnectorRepoTest.java @@ -19,7 +19,7 @@ under the License. package org.apache.griffin.core.measure.repo; -import static org.apache.griffin.core.util.EntityHelper.createDataConnector; +import static org.apache.griffin.core.util.EntityMocksHelper.createDataConnector; import static org.junit.Assert.assertEquals; import java.util.ArrayList; http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/c0a387de/service/src/test/java/org/apache/griffin/core/measure/repo/MeasureRepoTest.java ---------------------------------------------------------------------- diff --git a/service/src/test/java/org/apache/griffin/core/measure/repo/MeasureRepoTest.java b/service/src/test/java/org/apache/griffin/core/measure/repo/MeasureRepoTest.java index 09e9479..84de12d 100644 --- a/service/src/test/java/org/apache/griffin/core/measure/repo/MeasureRepoTest.java +++ b/service/src/test/java/org/apache/griffin/core/measure/repo/MeasureRepoTest.java @@ -19,7 +19,7 @@ under the License. package org.apache.griffin.core.measure.repo; -import static org.apache.griffin.core.util.EntityHelper.createGriffinMeasure; +import static org.apache.griffin.core.util.EntityMocksHelper.createGriffinMeasure; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.Assert.assertEquals; http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/c0a387de/service/src/test/java/org/apache/griffin/core/metric/MetricServiceImplTest.java ---------------------------------------------------------------------- diff --git a/service/src/test/java/org/apache/griffin/core/metric/MetricServiceImplTest.java b/service/src/test/java/org/apache/griffin/core/metric/MetricServiceImplTest.java index 8e32073..aa55f7a 100644 --- a/service/src/test/java/org/apache/griffin/core/metric/MetricServiceImplTest.java +++ b/service/src/test/java/org/apache/griffin/core/metric/MetricServiceImplTest.java @@ -19,8 +19,8 @@ under the License. package org.apache.griffin.core.metric; -import static org.apache.griffin.core.util.EntityHelper.createGriffinJob; -import static org.apache.griffin.core.util.EntityHelper.createGriffinMeasure; +import static org.apache.griffin.core.util.EntityMocksHelper.createGriffinJob; +import static org.apache.griffin.core.util.EntityMocksHelper.createGriffinMeasure; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.mockito.BDDMockito.given; http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/c0a387de/service/src/test/java/org/apache/griffin/core/util/EntityHelper.java ---------------------------------------------------------------------- diff --git a/service/src/test/java/org/apache/griffin/core/util/EntityHelper.java b/service/src/test/java/org/apache/griffin/core/util/EntityHelper.java deleted file mode 100644 index 197e22b..0000000 --- a/service/src/test/java/org/apache/griffin/core/util/EntityHelper.java +++ /dev/null @@ -1,258 +0,0 @@ -/* -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright ownership. The ASF licenses this file -to you under the Apache License, Version 2.0 (the -"License"); you may not use this file except in compliance -with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, -software distributed under the License is distributed on an -"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, either express or implied. See the License for the -specific language governing permissions and limitations -under the License. -*/ - -package org.apache.griffin.core.util; - -import static org.apache.griffin.core.job.JobInstance.MEASURE_KEY; -import static org.apache.griffin.core.job.JobInstance.PREDICATES_KEY; -import static org.apache.griffin.core.job.JobInstance.PREDICATE_JOB_NAME; -import static org.apache.griffin.core.job.JobServiceImpl.GRIFFIN_JOB_ID; -import static org.apache.hadoop.mapreduce.MRJobConfig.JOB_NAME; - -import com.fasterxml.jackson.core.JsonProcessingException; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.apache.griffin.core.job.entity.AbstractJob; -import org.apache.griffin.core.job.entity.BatchJob; -import org.apache.griffin.core.job.entity.JobDataSegment; -import org.apache.griffin.core.job.entity.JobInstanceBean; -import org.apache.griffin.core.job.entity.LivySessionStates; -import org.apache.griffin.core.job.entity.SegmentPredicate; -import org.apache.griffin.core.job.entity.SegmentRange; -import org.apache.griffin.core.job.entity.VirtualJob; -import org.apache.griffin.core.measure.entity.*; -import org.quartz.JobDataMap; -import org.quartz.JobKey; -import org.quartz.SimpleTrigger; -import org.quartz.impl.JobDetailImpl; -import org.quartz.impl.triggers.SimpleTriggerImpl; - -public class EntityHelper { - - public static final String CRON_EXPRESSION = "0 0/4 * * * ?"; - public static final String TIME_ZONE = "GMT+8:00"; - - public static GriffinMeasure createGriffinMeasure(String name) - throws Exception { - DataConnector dcSource = createDataConnector("source_name", "default", - "test_data_src", "dt=#YYYYMMdd# AND hour=#HH#"); - DataConnector dcTarget = createDataConnector("target_name", "default", - "test_data_tgt", "dt=#YYYYMMdd# AND hour=#HH#"); - return createGriffinMeasure(name, dcSource, dcTarget); - } - - public static GriffinMeasure createGriffinMeasure( - String name, - SegmentPredicate srcPredicate, - SegmentPredicate tgtPredicate) - throws Exception { - DataConnector dcSource = createDataConnector("source_name", "default", - "test_data_src", "dt=#YYYYMMdd# AND hour=#HH#", srcPredicate); - DataConnector dcTarget = createDataConnector("target_name", "default", - "test_data_tgt", "dt=#YYYYMMdd# AND hour=#HH#", tgtPredicate); - return createGriffinMeasure(name, dcSource, dcTarget); - } - - public static GriffinMeasure createGriffinMeasure( - String name, - DataConnector dcSource, - DataConnector dcTarget) - throws Exception { - DataSource dataSource = new DataSource( - "source", true, createCheckpointMap(), Arrays.asList(dcSource)); - DataSource targetSource = new DataSource( - "target", false, createCheckpointMap(), Arrays.asList(dcTarget)); - List<DataSource> dataSources = new ArrayList<>(); - dataSources.add(dataSource); - dataSources.add(targetSource); - Rule rule = createRule(); - EvaluateRule evaluateRule = new EvaluateRule(Arrays.asList(rule)); - return new GriffinMeasure( - name, "test", dataSources, - evaluateRule, Arrays.asList("ELASTICSEARCH", "HDFS")); - } - - private static Rule createRule() throws JsonProcessingException { - Map<String, Object> map = new HashMap<>(); - map.put("detail", "detail"); - String rule = "source.id=target.id " + - "AND source.name=target.name AND source.age=target.age"; - Map<String, Object> metricMap = new HashMap<>(); - Map<String, Object> recordMap = new HashMap<>(); - metricMap.put("type", "metric"); - metricMap.put("name", "accu"); - recordMap.put("type", "record"); - recordMap.put("name", "missRecords"); - List<Map<String, Object>> outList = Arrays.asList(metricMap, recordMap); - return new Rule( - "griffin-dsl", DqType.ACCURACY, rule, - "in", "out", map, outList); - } - - private static Map<String, Object> createCheckpointMap() { - Map<String, Object> map = new HashMap<>(); - map.put("info.path", "source"); - return map; - } - - public static DataConnector createDataConnector( - String name, - String database, - String table, - String where) - throws IOException { - HashMap<String, String> config = new HashMap<>(); - config.put("database", database); - config.put("table.name", table); - config.put("where", where); - return new DataConnector( - name, DataConnector.DataType.HIVE, "1.2", - JsonUtil.toJson(config), "kafka"); - } - - public static DataConnector createDataConnector( - String name, - String database, - String table, - String where, - SegmentPredicate predicate) { - HashMap<String, String> config = new HashMap<>(); - config.put("database", database); - config.put("table.name", table); - config.put("where", where); - return new DataConnector(name, "1h", config, Arrays.asList(predicate)); - } - - public static ExternalMeasure createExternalMeasure(String name) { - return new ExternalMeasure(name, "description", "org", - "test", "metricName", new VirtualJob()); - } - - public static AbstractJob createJob(String jobName) { - JobDataSegment segment1 = createJobDataSegment("source_name", true); - JobDataSegment segment2 = createJobDataSegment("target_name", false); - List<JobDataSegment> segments = new ArrayList<>(); - segments.add(segment1); - segments.add(segment2); - return new BatchJob(1L, jobName, - CRON_EXPRESSION, TIME_ZONE, segments, false); - } - - public static AbstractJob createJob(String jobName, SegmentRange range) { - BatchJob job = new BatchJob(); - JobDataSegment segment1 = createJobDataSegment( - "source_name", true, range); - JobDataSegment segment2 = createJobDataSegment( - "target_name", false, range); - List<JobDataSegment> segments = new ArrayList<>(); - segments.add(segment1); - segments.add(segment2); - return new BatchJob(1L, jobName, - CRON_EXPRESSION, TIME_ZONE, segments, false); - } - - public static AbstractJob createJob( - String jobName, - JobDataSegment source, - JobDataSegment target) { - List<JobDataSegment> segments = new ArrayList<>(); - segments.add(source); - segments.add(target); - return new BatchJob(1L, jobName, - CRON_EXPRESSION, TIME_ZONE, segments, false); - } - - public static JobDataSegment createJobDataSegment( - String dataConnectorName, - Boolean baseline, - SegmentRange range) { - return new JobDataSegment(dataConnectorName, baseline, range); - } - - public static JobDataSegment createJobDataSegment( - String dataConnectorName, - Boolean baseline) { - return new JobDataSegment(dataConnectorName, baseline); - } - - public static JobInstanceBean createJobInstance() { - JobInstanceBean jobBean = new JobInstanceBean(); - jobBean.setSessionId(1L); - jobBean.setState(LivySessionStates.State.STARTING); - jobBean.setAppId("app_id"); - jobBean.setTms(System.currentTimeMillis()); - return jobBean; - } - - public static JobDetailImpl createJobDetail( - String measureJson, - String predicatesJson) { - JobDetailImpl jobDetail = new JobDetailImpl(); - JobKey jobKey = new JobKey("name", "group"); - jobDetail.setKey(jobKey); - JobDataMap jobDataMap = new JobDataMap(); - jobDataMap.put(MEASURE_KEY, measureJson); - jobDataMap.put(PREDICATES_KEY, predicatesJson); - jobDataMap.put(JOB_NAME, "jobName"); - jobDataMap.put(PREDICATE_JOB_NAME, "predicateJobName"); - jobDataMap.put(GRIFFIN_JOB_ID, 1L); - jobDetail.setJobDataMap(jobDataMap); - return jobDetail; - } - - public static SegmentPredicate createFileExistPredicate() - throws JsonProcessingException { - Map<String, String> config = new HashMap<>(); - config.put("root.path", "hdfs:///griffin/demo_src"); - config.put("path", "/dt=#YYYYMMdd#/hour=#HH#/_DONE"); - return new SegmentPredicate("file.exist", config); - } - - public static Map<String, Object> createJobDetailMap() { - Map<String, Object> detail = new HashMap<>(); - detail.put("jobId", 1L); - detail.put("jobName", "jobName"); - detail.put("measureId", 1L); - detail.put("cronExpression", CRON_EXPRESSION); - return detail; - } - - public static SimpleTrigger createSimpleTrigger( - int repeatCount, - int triggerCount) { - SimpleTriggerImpl trigger = new SimpleTriggerImpl(); - trigger.setRepeatCount(repeatCount); - trigger.setTimesTriggered(triggerCount); - trigger.setPreviousFireTime(new Date()); - return trigger; - } - - public static BatchJob createGriffinJob() { - return new BatchJob(1L, 1L, "jobName", - "quartzJobName", "quartzGroupName", false); - } - -} http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/c0a387de/service/src/test/java/org/apache/griffin/core/util/EntityMocksHelper.java ---------------------------------------------------------------------- diff --git a/service/src/test/java/org/apache/griffin/core/util/EntityMocksHelper.java b/service/src/test/java/org/apache/griffin/core/util/EntityMocksHelper.java new file mode 100644 index 0000000..e34b39f --- /dev/null +++ b/service/src/test/java/org/apache/griffin/core/util/EntityMocksHelper.java @@ -0,0 +1,258 @@ +/* +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied. See the License for the +specific language governing permissions and limitations +under the License. +*/ + +package org.apache.griffin.core.util; + +import static org.apache.griffin.core.job.JobInstance.MEASURE_KEY; +import static org.apache.griffin.core.job.JobInstance.PREDICATES_KEY; +import static org.apache.griffin.core.job.JobInstance.PREDICATE_JOB_NAME; +import static org.apache.griffin.core.job.JobServiceImpl.GRIFFIN_JOB_ID; +import static org.apache.hadoop.mapreduce.MRJobConfig.JOB_NAME; + +import com.fasterxml.jackson.core.JsonProcessingException; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.apache.griffin.core.job.entity.AbstractJob; +import org.apache.griffin.core.job.entity.BatchJob; +import org.apache.griffin.core.job.entity.JobDataSegment; +import org.apache.griffin.core.job.entity.JobInstanceBean; +import org.apache.griffin.core.job.entity.LivySessionStates; +import org.apache.griffin.core.job.entity.SegmentPredicate; +import org.apache.griffin.core.job.entity.SegmentRange; +import org.apache.griffin.core.job.entity.VirtualJob; +import org.apache.griffin.core.measure.entity.*; +import org.quartz.JobDataMap; +import org.quartz.JobKey; +import org.quartz.SimpleTrigger; +import org.quartz.impl.JobDetailImpl; +import org.quartz.impl.triggers.SimpleTriggerImpl; + +public class EntityMocksHelper { + + public static final String CRON_EXPRESSION = "0 0/4 * * * ?"; + public static final String TIME_ZONE = "GMT+8:00"; + + public static GriffinMeasure createGriffinMeasure(String name) + throws Exception { + DataConnector dcSource = createDataConnector("source_name", "default", + "test_data_src", "dt=#YYYYMMdd# AND hour=#HH#"); + DataConnector dcTarget = createDataConnector("target_name", "default", + "test_data_tgt", "dt=#YYYYMMdd# AND hour=#HH#"); + return createGriffinMeasure(name, dcSource, dcTarget); + } + + public static GriffinMeasure createGriffinMeasure( + String name, + SegmentPredicate srcPredicate, + SegmentPredicate tgtPredicate) + throws Exception { + DataConnector dcSource = createDataConnector("source_name", "default", + "test_data_src", "dt=#YYYYMMdd# AND hour=#HH#", srcPredicate); + DataConnector dcTarget = createDataConnector("target_name", "default", + "test_data_tgt", "dt=#YYYYMMdd# AND hour=#HH#", tgtPredicate); + return createGriffinMeasure(name, dcSource, dcTarget); + } + + public static GriffinMeasure createGriffinMeasure( + String name, + DataConnector dcSource, + DataConnector dcTarget) + throws Exception { + DataSource dataSource = new DataSource( + "source", true, createCheckpointMap(), Arrays.asList(dcSource)); + DataSource targetSource = new DataSource( + "target", false, createCheckpointMap(), Arrays.asList(dcTarget)); + List<DataSource> dataSources = new ArrayList<>(); + dataSources.add(dataSource); + dataSources.add(targetSource); + Rule rule = createRule(); + EvaluateRule evaluateRule = new EvaluateRule(Arrays.asList(rule)); + return new GriffinMeasure( + name, "test", dataSources, + evaluateRule, Arrays.asList("ELASTICSEARCH", "HDFS")); + } + + private static Rule createRule() throws JsonProcessingException { + Map<String, Object> map = new HashMap<>(); + map.put("detail", "detail"); + String rule = "source.id=target.id " + + "AND source.name=target.name AND source.age=target.age"; + Map<String, Object> metricMap = new HashMap<>(); + Map<String, Object> recordMap = new HashMap<>(); + metricMap.put("type", "metric"); + metricMap.put("name", "accu"); + recordMap.put("type", "record"); + recordMap.put("name", "missRecords"); + List<Map<String, Object>> outList = Arrays.asList(metricMap, recordMap); + return new Rule( + "griffin-dsl", DqType.ACCURACY, rule, + "in", "out", map, outList); + } + + private static Map<String, Object> createCheckpointMap() { + Map<String, Object> map = new HashMap<>(); + map.put("info.path", "source"); + return map; + } + + public static DataConnector createDataConnector( + String name, + String database, + String table, + String where) + throws IOException { + HashMap<String, String> config = new HashMap<>(); + config.put("database", database); + config.put("table.name", table); + config.put("where", where); + return new DataConnector( + name, DataConnector.DataType.HIVE, "1.2", + JsonUtil.toJson(config), "kafka"); + } + + public static DataConnector createDataConnector( + String name, + String database, + String table, + String where, + SegmentPredicate predicate) { + HashMap<String, String> config = new HashMap<>(); + config.put("database", database); + config.put("table.name", table); + config.put("where", where); + return new DataConnector(name, "1h", config, Arrays.asList(predicate)); + } + + public static ExternalMeasure createExternalMeasure(String name) { + return new ExternalMeasure(name, "description", "org", + "test", "metricName", new VirtualJob()); + } + + public static AbstractJob createJob(String jobName) { + JobDataSegment segment1 = createJobDataSegment("source_name", true); + JobDataSegment segment2 = createJobDataSegment("target_name", false); + List<JobDataSegment> segments = new ArrayList<>(); + segments.add(segment1); + segments.add(segment2); + return new BatchJob(1L, jobName, + CRON_EXPRESSION, TIME_ZONE, segments, false); + } + + public static AbstractJob createJob(String jobName, SegmentRange range) { + BatchJob job = new BatchJob(); + JobDataSegment segment1 = createJobDataSegment( + "source_name", true, range); + JobDataSegment segment2 = createJobDataSegment( + "target_name", false, range); + List<JobDataSegment> segments = new ArrayList<>(); + segments.add(segment1); + segments.add(segment2); + return new BatchJob(1L, jobName, + CRON_EXPRESSION, TIME_ZONE, segments, false); + } + + public static AbstractJob createJob( + String jobName, + JobDataSegment source, + JobDataSegment target) { + List<JobDataSegment> segments = new ArrayList<>(); + segments.add(source); + segments.add(target); + return new BatchJob(1L, jobName, + CRON_EXPRESSION, TIME_ZONE, segments, false); + } + + public static JobDataSegment createJobDataSegment( + String dataConnectorName, + Boolean baseline, + SegmentRange range) { + return new JobDataSegment(dataConnectorName, baseline, range); + } + + public static JobDataSegment createJobDataSegment( + String dataConnectorName, + Boolean baseline) { + return new JobDataSegment(dataConnectorName, baseline); + } + + public static JobInstanceBean createJobInstance() { + JobInstanceBean jobBean = new JobInstanceBean(); + jobBean.setSessionId(1L); + jobBean.setState(LivySessionStates.State.STARTING); + jobBean.setAppId("app_id"); + jobBean.setTms(System.currentTimeMillis()); + return jobBean; + } + + public static JobDetailImpl createJobDetail( + String measureJson, + String predicatesJson) { + JobDetailImpl jobDetail = new JobDetailImpl(); + JobKey jobKey = new JobKey("name", "group"); + jobDetail.setKey(jobKey); + JobDataMap jobDataMap = new JobDataMap(); + jobDataMap.put(MEASURE_KEY, measureJson); + jobDataMap.put(PREDICATES_KEY, predicatesJson); + jobDataMap.put(JOB_NAME, "jobName"); + jobDataMap.put(PREDICATE_JOB_NAME, "predicateJobName"); + jobDataMap.put(GRIFFIN_JOB_ID, 1L); + jobDetail.setJobDataMap(jobDataMap); + return jobDetail; + } + + public static SegmentPredicate createFileExistPredicate() + throws JsonProcessingException { + Map<String, String> config = new HashMap<>(); + config.put("root.path", "hdfs:///griffin/demo_src"); + config.put("path", "/dt=#YYYYMMdd#/hour=#HH#/_DONE"); + return new SegmentPredicate("file.exist", config); + } + + public static Map<String, Object> createJobDetailMap() { + Map<String, Object> detail = new HashMap<>(); + detail.put("jobId", 1L); + detail.put("jobName", "jobName"); + detail.put("measureId", 1L); + detail.put("cronExpression", CRON_EXPRESSION); + return detail; + } + + public static SimpleTrigger createSimpleTrigger( + int repeatCount, + int triggerCount) { + SimpleTriggerImpl trigger = new SimpleTriggerImpl(); + trigger.setRepeatCount(repeatCount); + trigger.setTimesTriggered(triggerCount); + trigger.setPreviousFireTime(new Date()); + return trigger; + } + + public static BatchJob createGriffinJob() { + return new BatchJob(1L, 1L, "jobName", + "quartzJobName", "quartzGroupName", false); + } + +}