Class PostProjectAnalysisTaskTester


  • public class PostProjectAnalysisTaskTester
    extends java.lang.Object
    This class can be used to test PostProjectAnalysisTask implementations, see example below:
     import static org.assertj.core.api.Assertions.assertThat;
     import static org.sonar.api.ce.posttask.PostProjectAnalysisTaskTester.newCeTaskBuilder;
     import static org.sonar.api.ce.posttask.PostProjectAnalysisTaskTester.newConditionBuilder;
     import static org.sonar.api.ce.posttask.PostProjectAnalysisTaskTester.newProjectBuilder;
     import static org.sonar.api.ce.posttask.PostProjectAnalysisTaskTester.newQualityGateBuilder;
     public class CaptorPostProjectAnalysisTaskTest {
       private class CaptorPostProjectAnalysisTask implements PostProjectAnalysisTask {
         private ProjectAnalysis projectAnalysis;
        @Override
         public void finished(ProjectAnalysis analysis) {
           this.projectAnalysis = analysis;
         }
       }
      @Test
       public void execute_is_passed_a_non_null_ProjectAnalysis_object() {
         CaptorPostProjectAnalysisTask postProjectAnalysisTask = new CaptorPostProjectAnalysisTask();
         PostProjectAnalysisTaskTester.of(postProjectAnalysisTask)
           .withCeTask(
               newCeTaskBuilder()
                   .setId("id")
                   .setStatus(CeTask.Status.SUCCESS)
                   .build())
           .withProject(
             PostProjectAnalysisTaskTester.newProjectBuilder()
               .setUuid("uuid")
               .setKey("key")
               .setName("name")
               .build())
           .at(new Date())
           .withAnalysisUuid("uuid")
           .withQualityGate(
             newQualityGateBuilder()
               .setId("id")
               .setName("name")
               .setStatus(QualityGate.Status.OK)
               .add(
                 newConditionBuilder()
                   .setMetricKey("metric key")
                   .setOperator(QualityGate.Operator.GREATER_THAN)
                   .setErrorThreshold("12")
                   .build(QualityGate.EvaluationStatus.OK, "value"))
               .build())
           .execute();
         assertThat(postProjectAnalysisTask.projectAnalysis).isNotNull();
       }
     }
     
    Since:
    5.5