PageRenderTime 59ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

/src/main/java/com/atlassian/bamboo/plugin/dotnet/tests/AbstractDotNetTestCollectorTaskType.java

https://bitbucket.org/atlassian/bamboo-dotnet-plugin/
Java | 63 lines | 34 code | 12 blank | 17 comment | 0 complexity | c70784ed5e681a0e7292ddd69aac2fbc MD5 | raw file
Possible License(s): BSD-3-Clause
  1. package com.atlassian.bamboo.plugin.dotnet.tests;
  2. import com.atlassian.bamboo.build.test.TestCollationService;
  3. import com.atlassian.bamboo.results.tests.TestResults;
  4. import com.atlassian.bamboo.task.TaskConfigConstants;
  5. import com.atlassian.bamboo.task.TaskContext;
  6. import com.atlassian.bamboo.task.TaskException;
  7. import com.atlassian.bamboo.task.TaskResult;
  8. import com.atlassian.bamboo.task.TaskResultBuilder;
  9. import com.atlassian.bamboo.task.TaskType;
  10. import org.apache.log4j.Logger;
  11. import org.jetbrains.annotations.NotNull;
  12. public abstract class AbstractDotNetTestCollectorTaskType implements TaskType
  13. {
  14. @SuppressWarnings("UnusedDeclaration")
  15. private static final Logger log = Logger.getLogger(AbstractDotNetTestCollectorTaskType.class);
  16. // ------------------------------------------------------------------------------------------------------- Constants
  17. // ------------------------------------------------------------------------------------------------- Type Properties
  18. // ---------------------------------------------------------------------------------------------------- Dependencies
  19. private final TestCollationService testCollationService;
  20. // ---------------------------------------------------------------------------------------------------- Constructors
  21. protected AbstractDotNetTestCollectorTaskType(final TestCollationService testCollationService)
  22. {
  23. this.testCollationService = testCollationService;
  24. }
  25. // ----------------------------------------------------------------------------------------------- Interface Methods
  26. @Override
  27. @NotNull
  28. public TaskResult execute(@NotNull final TaskContext taskContext) throws TaskException
  29. {
  30. testCollationService.collateTestResults(taskContext, getFilePattern(taskContext), getTestReportCollector(), getPickupOutdatedFiles(taskContext));
  31. return TaskResultBuilder.newBuilder(taskContext).checkTestFailures().build();
  32. }
  33. // -------------------------------------------------------------------------------------------------- Action Methods
  34. /**
  35. * The {@link AbstractDotNetTestReportCollector} implementation used for collecting {@link TestResults}
  36. * @return collector
  37. */
  38. protected abstract AbstractDotNetTestReportCollector getTestReportCollector();
  39. /**
  40. * The file pattern to use to collect test files
  41. *
  42. * @param taskContext@return filePattern
  43. */
  44. protected abstract String getFilePattern(@NotNull TaskContext taskContext);
  45. protected boolean getPickupOutdatedFiles(@NotNull final TaskContext taskContext)
  46. {
  47. return taskContext.getConfigurationMap().getAsBoolean(TaskConfigConstants.CFG_TEST_OUTDATED_RESULTS_FILE);
  48. }
  49. // -------------------------------------------------------------------------------------------------- Public Methods
  50. // -------------------------------------------------------------------------------------- Basic Accessors / Mutators
  51. }