public void BuildEnvelopeMessage_TestCaseFinishedSuccess_ShouldReturnEnvelopeWithTestCaseFinishedMessage() { // ARRANGE var cucumberMessageFactory = new CucumberMessageFactory(); var testCaseFinished = new TestCaseFinished { PickleId = Guid.NewGuid().ToString(), TestResult = new TestResult(), Timestamp = new Timestamp() }; // ACT var result = cucumberMessageFactory.BuildEnvelopeMessage(new Success <TestCaseFinished>(testCaseFinished)); // ASSERT result.Should().BeAssignableTo <ISuccess <Envelope> >().Which .Result.TestCaseFinished.Should().Be(testCaseFinished); }
public void BuildEnvelopeMessage_TestCaseFinishedSuccess_ShouldReturnEnvelopeOfTypeTestCaseFinished() { // ARRANGE var cucumberMessageFactory = new CucumberMessageFactory(); var dateTime = new DateTime(2019, 5, 9, 14, 27, 48, DateTimeKind.Utc); var testCaseFinished = new TestCaseFinished { PickleId = Guid.NewGuid().ToString(), TestResult = new TestResult(), Timestamp = Timestamp.FromDateTime(dateTime) }; // ACT var result = cucumberMessageFactory.BuildEnvelopeMessage(new Success <TestCaseFinished>(testCaseFinished)); // ASSERT result.Should().BeAssignableTo <ISuccess <Envelope> >().Which .Result.MessageCase.Should().Be(Envelope.MessageOneofCase.TestCaseFinished); }
public IResult <TestCaseFinished> BuildTestCaseFinishedMessage(Guid pickleId, DateTime timeStamp, TestResult testResult) { if (testResult is null) { return(Result <TestCaseFinished> .Failure(new ArgumentNullException(nameof(testResult)))); } if (timeStamp.Kind != DateTimeKind.Utc) { return(Result <TestCaseFinished> .Failure($"{nameof(timeStamp)} must be an UTC {nameof(DateTime)}. It is {timeStamp.Kind}")); } var testCaseFinished = new TestCaseFinished { PickleId = ConvertToPickleIdString(pickleId), Timestamp = Timestamp.FromDateTime(timeStamp), TestResult = testResult }; return(Result <TestCaseFinished> .Success(testCaseFinished)); }
public bool BeforeFinished(IMessageBus messageBus, TestCaseFinished message) { if (UIThreadHelper.Instance.Invoke(() => ThreadHelper.CheckAccess())) { return(true); } // Try to restore service provider and original thread. // Terminate test execution if not succeeded try { UIThreadHelper.Instance.Invoke(() => ServiceProvider.CreateFromSetSite(_oleServiceProvider)); } catch (Exception ex) { messageBus.QueueMessage(new TestCaseCleanupFailure(message.TestCase, ex)); return(false); } InvalidOperationException exception = new InvalidOperationException("Test changes or accesses ServiceProvider.GlobalProvider from non-UI thread. Try annotate it with ThreadType.UI"); return(messageBus.QueueMessage(new TestCaseCleanupFailure(message.TestCase, exception))); }