PageRenderTime 45ms CodeModel.GetById 19ms RepoModel.GetById 0ms app.codeStats 0ms

/Source/Reporting/Machine.Specifications.Reporting.Specs/Integration/TeamCityServiceMessageWriterSpecs.cs

https://github.com/machine/machine.specifications
C# | 50 lines | 37 code | 13 blank | 0 comment | 0 complexity | 2e989f97d34230bae40a6225b1f86acc MD5 | raw file
Possible License(s): MIT, CC-BY-SA-3.0
  1. using FluentAssertions;
  2. using Machine.Specifications.Reporting.Integration;
  3. using Machine.Specifications.Reporting.Integration.TeamCity;
  4. namespace Machine.Specifications.Reporting.Specs.Integration
  5. {
  6. [Subject(typeof(TeamCityServiceMessageWriter))]
  7. public class when_errors_are_reported
  8. {
  9. static string Written;
  10. static TeamCityServiceMessageWriter Writer;
  11. Establish context = () => { Writer = new TeamCityServiceMessageWriter(s => Written = s); };
  12. Because of = () => Writer.WriteError("test failed", "details");
  13. It should_report_an_error_string =
  14. () => Written.Should().EndWith("status=\'ERROR\']");
  15. It should_report_the_error_message =
  16. () => { Written.Should().Contain("test=\'test failed\'"); };
  17. It should_report_error_details =
  18. () => { Written.Should().Contain("errorDetails=\'details\'"); };
  19. }
  20. [Subject(typeof(TeamCityServiceMessageWriter))]
  21. public class when_special_characters_are_used
  22. {
  23. static string Written;
  24. static TeamCityServiceMessageWriter Writer;
  25. Establish context = () => { Writer = new TeamCityServiceMessageWriter(s => Written = s); };
  26. Because of =
  27. () => Writer.WriteTestFailed("Name abc | ' \n \r ] \u0085 \u2028 \u2029",
  28. "Message abc | ' \n \r ] \u0085 \u2028 \u2029",
  29. "Details abc | ' \n \r ] \u0085 \u2028 \u2029");
  30. It should_escape_special__name__characters =
  31. () => Written.Should().Contain("Name abc || |' |n |r |] |x |l |p");
  32. It should_escape_special__message__characters =
  33. () => Written.Should().Contain("Message abc || |' |n |r |] |x |l |p");
  34. It should_escape_special__details__characters =
  35. () => Written.Should().Contain("Details abc || |' |n |r |] |x |l |p");
  36. }
  37. }