use of com.thinkbiganalytics.metadata.sla.api.ServiceLevelAgreement in project kylo by Teradata.
the class SimpleServiceLevelAssessorTest method testAssessRequiredSufficientSuccess1stFailure2nd.
@Test
public void testAssessRequiredSufficientSuccess1stFailure2nd() {
this.assessor.registerMetricAssessor(new TestMetricAssessor(1, "1"));
ServiceLevelAgreement sla = this.provider.builder().name("test").obligationGroupBuilder(Condition.REQUIRED).obligationBuilder().description("test").metric(new TestMetric(1, "1")).build().build().obligationGroupBuilder(Condition.SUFFICIENT).obligationBuilder().description("test").metric(new TestMetric(0, "fail")).build().build().build();
ServiceLevelAssessment assessment = this.assessor.assess(sla);
assertThat(assessment.getResult()).isEqualTo(AssessmentResult.SUCCESS);
assertThat(assessment.getObligationAssessments()).hasSize(2).extracting("result").contains(AssessmentResult.FAILURE, AssessmentResult.SUCCESS);
assertThat(assessment.getObligationAssessments()).flatExtracting("metricAssessments").hasSize(2).extracting("result").contains(AssessmentResult.FAILURE, AssessmentResult.SUCCESS);
}
use of com.thinkbiganalytics.metadata.sla.api.ServiceLevelAgreement in project kylo by Teradata.
the class SimpleServiceLevelAssessorTest method testAssessObligationFailureMetricWaring.
@Test
public void testAssessObligationFailureMetricWaring() {
this.assessor.registerMetricAssessor(new TestMetricAssessor(0, "fail", AssessmentResult.WARNING));
this.assessor.registerObligationAssessor(new TestObligatinAssessor("fail"));
ServiceLevelAgreement sla = this.provider.builder().name("test").obligationBuilder().description("test").metric(new TestMetric(1, "1")).build().build();
ServiceLevelAssessment assessment = this.assessor.assess(sla);
assertThat(assessment.getResult()).isEqualTo(AssessmentResult.FAILURE);
assertThat(assessment.getObligationAssessments()).hasSize(1).extracting("result").contains(AssessmentResult.FAILURE);
assertThat(assessment.getObligationAssessments()).flatExtracting("metricAssessments").hasSize(1).extracting("result").contains(AssessmentResult.WARNING);
}
use of com.thinkbiganalytics.metadata.sla.api.ServiceLevelAgreement in project kylo by Teradata.
the class SimpleServiceLevelAssessorTest method testAssessNoMetricAssessor.
@Test(expected = AssessorNotFoundException.class)
public void testAssessNoMetricAssessor() {
ServiceLevelAgreement sla = this.provider.builder().name("test").obligationBuilder().description("test").metric(new TestMetric(1, "1")).build().build();
this.assessor.assess(sla);
}
use of com.thinkbiganalytics.metadata.sla.api.ServiceLevelAgreement in project kylo by Teradata.
the class SimpleServiceLevelAssessorTest method testAssessSufficientSufficientFailure1stSuccess2nd.
@Test
public void testAssessSufficientSufficientFailure1stSuccess2nd() {
this.assessor.registerMetricAssessor(new TestMetricAssessor(1, "1"));
ServiceLevelAgreement sla = this.provider.builder().name("test").obligationGroupBuilder(Condition.SUFFICIENT).obligationBuilder().description("test").metric(new TestMetric(0, "fail")).build().build().obligationGroupBuilder(Condition.SUFFICIENT).obligationBuilder().description("test").metric(new TestMetric(1, "1")).build().build().build();
ServiceLevelAssessment assessment = this.assessor.assess(sla);
assertThat(assessment.getResult()).isEqualTo(AssessmentResult.SUCCESS);
assertThat(assessment.getObligationAssessments()).hasSize(2).extracting("result").contains(AssessmentResult.FAILURE, AssessmentResult.SUCCESS);
assertThat(assessment.getObligationAssessments()).flatExtracting("metricAssessments").hasSize(2).extracting("result").contains(AssessmentResult.FAILURE, AssessmentResult.SUCCESS);
}
use of com.thinkbiganalytics.metadata.sla.api.ServiceLevelAgreement in project kylo by Teradata.
the class TestEmail method testVelocityEmail.
@Test
public void testVelocityEmail() {
String email = "thinkbig.tester@gmail.com";
String template = getTemplate();
velocityService.registerTemplate("test", template);
Map<String, Object> map = new HashMap();
InMemorySLAProvider slaProvider = new InMemorySLAProvider();
Metric m1 = new SimpleMetric();
ServiceLevelAgreement sla = slaProvider.builder().name("Test SLA").description("Test SLA desc").obligationBuilder(ObligationGroup.Condition.REQUIRED).metric(m1).build().build();
map.put("sla", sla);
String emailBody = velocityService.mergeTemplate("test", map);
Assert.assertEquals("This is my test Test SLA and description: Test SLA desc. \n" + " Metric: this is my metric desc \n" + " ", emailBody);
int i = 0;
}
Aggregations