use of com.thinkbiganalytics.metadata.sla.api.ServiceLevelAssessment in project kylo by Teradata.
the class SimpleServiceLevelAssessorTest method testAssessSufficientRequiredSuccess1st.
@Test
public void testAssessSufficientRequiredSuccess1st() {
this.assessor.registerMetricAssessor(new TestMetricAssessor(1, "1"));
ServiceLevelAgreement sla = this.provider.builder().name("test").obligationGroupBuilder(Condition.SUFFICIENT).obligationBuilder().description("test").metric(new TestMetric(1, "1")).build().build().obligationGroupBuilder(Condition.REQUIRED).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(1).extracting("result").contains(AssessmentResult.SUCCESS);
assertThat(assessment.getObligationAssessments()).flatExtracting("metricAssessments").hasSize(1).extracting("result").contains(AssessmentResult.SUCCESS);
}
use of com.thinkbiganalytics.metadata.sla.api.ServiceLevelAssessment in project kylo by Teradata.
the class SimpleServiceLevelAssessorTest method testAssessOptionalOptionalFailure1stWarning2nd.
@Test
public void testAssessOptionalOptionalFailure1stWarning2nd() {
this.assessor.registerMetricAssessor(new TestMetricAssessor(1, "1", AssessmentResult.FAILURE, AssessmentResult.WARNING));
ServiceLevelAgreement sla = this.provider.builder().name("test").obligationGroupBuilder(Condition.OPTIONAL).obligationBuilder().description("test").metric(new TestMetric(0, "fail")).build().build().obligationGroupBuilder(Condition.OPTIONAL).obligationBuilder().description("test").metric(new TestMetric(1, "1")).build().build().build();
ServiceLevelAssessment assessment = this.assessor.assess(sla);
assertThat(assessment.getResult()).isEqualTo(AssessmentResult.WARNING);
assertThat(assessment.getObligationAssessments()).hasSize(2).extracting("result").contains(AssessmentResult.FAILURE, AssessmentResult.WARNING);
assertThat(assessment.getObligationAssessments()).flatExtracting("metricAssessments").hasSize(2).extracting("result").contains(AssessmentResult.FAILURE, AssessmentResult.WARNING);
}
use of com.thinkbiganalytics.metadata.sla.api.ServiceLevelAssessment in project kylo by Teradata.
the class SimpleServiceLevelAssessorTest method testAssessMetricFailure.
@Test
public void testAssessMetricFailure() {
this.assessor.registerMetricAssessor(new TestMetricAssessor(0, "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.FAILURE);
}
use of com.thinkbiganalytics.metadata.sla.api.ServiceLevelAssessment in project kylo by Teradata.
the class SimpleServiceLevelAssessorTest method testAssessMetricOnlySuccess.
@Test
public void testAssessMetricOnlySuccess() {
this.assessor.registerMetricAssessor(new TestMetricAssessor(1, "1"));
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.SUCCESS);
assertThat(assessment.getObligationAssessments()).hasSize(1).extracting("result").contains(AssessmentResult.SUCCESS);
assertThat(assessment.getObligationAssessments()).flatExtracting("metricAssessments").hasSize(1).extracting("result").contains(AssessmentResult.SUCCESS);
}
use of com.thinkbiganalytics.metadata.sla.api.ServiceLevelAssessment in project kylo by Teradata.
the class SimpleServiceLevelAssessorTest method testAssessAllAssessorsSuccess.
@Test
public void testAssessAllAssessorsSuccess() {
this.assessor.registerMetricAssessor(new TestMetricAssessor(1, "1"));
this.assessor.registerObligationAssessor(new TestObligatinAssessor());
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.SUCCESS);
assertThat(assessment.getObligationAssessments()).hasSize(1).extracting("result").contains(AssessmentResult.SUCCESS);
assertThat(assessment.getObligationAssessments()).flatExtracting("metricAssessments").hasSize(1).extracting("result").contains(AssessmentResult.SUCCESS);
}
Aggregations