PageRenderTime 64ms CodeModel.GetById 17ms RepoModel.GetById 0ms app.codeStats 0ms

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

https://bitbucket.org/atlassian/bamboo-dotnet-plugin/
Java | 66 lines | 49 code | 6 blank | 11 comment | 0 complexity | c587803bcbf121d7d3a45861fb6ac720 MD5 | raw file
Possible License(s): BSD-3-Clause
  1. package com.atlassian.bamboo.plugin.dotnet.tests;
  2. import com.atlassian.bamboo.build.test.TestCollectionResult;
  3. import com.atlassian.bamboo.build.test.TestCollectionResultBuilder;
  4. import com.atlassian.bamboo.build.test.TestReportCollector;
  5. import com.google.common.collect.Sets;
  6. import org.apache.commons.io.IOUtils;
  7. import org.jetbrains.annotations.NotNull;
  8. import java.io.File;
  9. import java.io.FileInputStream;
  10. import java.io.FileNotFoundException;
  11. import java.io.InputStream;
  12. import java.util.Set;
  13. /**
  14. * Collects the results from parsing NUnit report files.
  15. *
  16. * @author Ross Rowe
  17. *
  18. */
  19. public class TestReportCollectorImpl implements TestReportCollector
  20. {
  21. private TestResultsParser parser;
  22. /**
  23. * Constructs a NantNunitTestReportCollector instance.
  24. *
  25. * @param parser
  26. */
  27. public TestReportCollectorImpl(TestResultsParser parser)
  28. {
  29. this.parser = parser;
  30. }
  31. @Override
  32. @NotNull
  33. public TestCollectionResult collect(@NotNull final File file) throws Exception
  34. {
  35. InputStream inputStream = null;
  36. try {
  37. inputStream = new FileInputStream(file);
  38. parser.parse(inputStream);
  39. return new TestCollectionResultBuilder()
  40. .addSuccessfulTestResults(parser.getSuccessfulTests())
  41. .addFailedTestResults(parser.getFailedTests())
  42. .addSkippedTestResults(parser.getInconclusiveTests())
  43. .build();
  44. }
  45. catch(FileNotFoundException e)
  46. {
  47. throw new RuntimeException(e);
  48. }
  49. finally
  50. {
  51. IOUtils.closeQuietly(inputStream);
  52. }
  53. }
  54. @Override
  55. @NotNull
  56. public Set<String> getSupportedFileExtensions()
  57. {
  58. return Sets.newHashSet("trx", "xml");
  59. }
  60. }