PageRenderTime 50ms CodeModel.GetById 25ms RepoModel.GetById 1ms app.codeStats 0ms

/src/main/java/com/atlassian/bamboo/plugin/dotnet/tests/nunit/NUnitConfigurator.java

https://bitbucket.org/atlassian/bamboo-dotnet-plugin/
Java | 84 lines | 63 code | 13 blank | 8 comment | 1 complexity | 855f3dbe1b0591fe28702fe4661d6d98 MD5 | raw file
Possible License(s): BSD-3-Clause
  1. package com.atlassian.bamboo.plugin.dotnet.tests.nunit;
  2. import com.atlassian.bamboo.collections.ActionParametersMap;
  3. import com.atlassian.bamboo.plugin.dotnet.support.AbstractDotNetTaskConfigurator;
  4. import com.atlassian.bamboo.task.TaskConfigConstants;
  5. import com.atlassian.bamboo.task.TaskDefinition;
  6. import com.atlassian.bamboo.task.TaskTestResultsSupport;
  7. import com.atlassian.bamboo.utils.error.ErrorCollection;
  8. import com.google.common.collect.Sets;
  9. import org.apache.commons.lang3.StringUtils;
  10. import org.apache.log4j.Logger;
  11. import org.jetbrains.annotations.NotNull;
  12. import org.jetbrains.annotations.Nullable;
  13. import java.util.Map;
  14. import java.util.Set;
  15. public class NUnitConfigurator extends AbstractDotNetTaskConfigurator implements TaskTestResultsSupport
  16. {
  17. @SuppressWarnings("UnusedDeclaration")
  18. private static final Logger log = Logger.getLogger(NUnitConfigurator.class);
  19. // ------------------------------------------------------------------------------------------------------- Constants
  20. private static final String DEFAULT_TEST_DIRECTORY = "**/test-reports/*.xml";
  21. private static final Set<String> FIELDS_TO_COPY = Sets.newHashSet(
  22. NUnitCollectorTaskType.TEST_DIRECTORY, TaskConfigConstants.CFG_TEST_OUTDATED_RESULTS_FILE
  23. );
  24. // ------------------------------------------------------------------------------------------------- Type Properties
  25. // ---------------------------------------------------------------------------------------------------- Dependencies
  26. // ---------------------------------------------------------------------------------------------------- Constructors
  27. // ----------------------------------------------------------------------------------------------- Interface Methods
  28. @Override
  29. public void validate(@NotNull final ActionParametersMap params, @NotNull final ErrorCollection errorCollection)
  30. {
  31. final String testDirectory = params.getString(NUnitCollectorTaskType.TEST_DIRECTORY);
  32. if (StringUtils.isEmpty(testDirectory))
  33. {
  34. errorCollection.addError(NUnitCollectorTaskType.TEST_DIRECTORY, textProvider.getText("nunit.testDirectory.error"));
  35. }
  36. }
  37. @Override
  38. public void populateContextForCreate(@NotNull final Map<String, Object> context)
  39. {
  40. super.populateContextForCreate(context);
  41. context.put(NUnitCollectorTaskType.TEST_DIRECTORY, DEFAULT_TEST_DIRECTORY);
  42. }
  43. @Override
  44. public void populateContextForEdit(@NotNull final Map<String, Object> context, @NotNull final TaskDefinition taskDefinition)
  45. {
  46. super.populateContextForEdit(context, taskDefinition);
  47. taskConfiguratorHelper.populateContextWithConfiguration(context, taskDefinition, FIELDS_TO_COPY);
  48. }
  49. @Override
  50. public void populateContextForView(@NotNull final Map<String, Object> context, @NotNull final TaskDefinition taskDefinition)
  51. {
  52. super.populateContextForView(context, taskDefinition);
  53. taskConfiguratorHelper.populateContextWithConfiguration(context, taskDefinition, FIELDS_TO_COPY);
  54. }
  55. @NotNull
  56. @Override
  57. public Map<String, String> generateTaskConfigMap(@NotNull final ActionParametersMap params, @Nullable final TaskDefinition previousTaskDefinition)
  58. {
  59. final Map<String, String> map = super.generateTaskConfigMap(params, previousTaskDefinition);
  60. taskConfiguratorHelper.populateTaskConfigMapWithActionParameters(map, params, FIELDS_TO_COPY);
  61. return map;
  62. }
  63. // -------------------------------------------------------------------------------------------------- Action Methods
  64. // -------------------------------------------------------------------------------------------------- Public Methods
  65. // -------------------------------------------------------------------------------------- Basic Accessors / Mutators
  66. @Override
  67. public boolean taskProducesTestResults(@NotNull final TaskDefinition taskDefinition)
  68. {
  69. return true;
  70. }
  71. }