/// <summary> /// The trigger test case end. /// </summary> /// <param name="sender"> /// The sender. /// </param> /// <param name="e"> /// The e. /// </param> private void TriggerTestCaseEnd(object sender, TestCaseEndEventArgs e) { var dataCollectionContext = new DataCollectionContext(e.TestElement); var testCaseEndArgs = new TestCaseEndArgs(dataCollectionContext, e.TestOutcome); this.TriggerInProcDataCollectionMethods(Constants.TestCaseEndMethodName, testCaseEndArgs); }
internal void InvokeTestCaseEnd(object sender, TestCaseEndEventArgs args) { if (!this.DisableInvoke && this.onTestCaseEnd != null) { this.onTestCaseEnd.Invoke(sender, args); } }
private void OnTestCaseEnd(object sender, TestCaseEndEventArgs e) { Trace.TraceInformation("Test case ended: {0}", e.TestCaseName); mSendMessage(new RequestMessage { SendInstrumentationEvents = new SendInstrumentationEventsRequest { Mode = SendInstrumentationEventsRequest.Types.RequestMode.OnceUnsent } }); string testCaseId = e.TestCaseId.ToString(); mSendMessage(new RequestMessage { RecordEvent = new RecordEventRequest { Id = cEndTestCaseEventId, Name = testCaseId, Description = $"End of test case {e.TestCaseName}" } }); mLatestEndedTestName.FirstAsync(testName => testName is null || testName == testCaseId) .Wait(); }
/// <summary> /// Called when Test Case End event is invoked /// </summary> /// <param name="sender">Sender</param> /// <param name="e">TestCaseEndEventArgs</param> private void EventsTestCaseEnd(object sender, TestCaseEndEventArgs e) { if (EqtTrace.IsInfoEnabled) { EqtTrace.Info("Blame Collector : Test Case End"); } this.testEndCount++; }
public void SendTestCaseCompletedShouldThrowExceptionIfThrownByCommunicationManager() { var testCaseEndEventArgs = new TestCaseEndEventArgs(); this.mockCommunicationManager.Setup(x => x.SendMessage(MessageType.DataCollectionTestEnd, It.IsAny <TestCaseEndEventArgs>())).Throws <Exception>(); Assert.ThrowsException <Exception>(() => { this.dataCollectionTestCaseEventSender.SendTestCaseEnd(testCaseEndEventArgs); }); }
private void OnTestCaseEnd(object sender, TestCaseEndEventArgs e) { if (e.TestOutcome == TestOutcome.Passed) _stats.Passed += 1; else if (e.TestOutcome == TestOutcome.Failed) _stats.Failed += 1; else _stats.Other += 1; _nyanCat.UpdateStats(_stats); }
public void TestCaseEndedShouldSendEventToDataCollector() { var isEndInvoked = false; this.SetupMockDataCollector((XmlElement a, DataCollectionEvents b, DataCollectionSink c, DataCollectionLogger d, DataCollectionEnvironmentContext e) => { b.TestCaseEnd += (sender, eventArgs) => isEndInvoked = true; }); this.dataCollectionManager.InitializeDataCollectors(this.dataCollectorSettings); var args = new TestCaseEndEventArgs(); this.dataCollectionManager.TestCaseEnded(args); Assert.IsTrue(isEndInvoked); }
public void RaiseEventsShouldRaiseEventsIfTestCaseEndEventArgsIsPassed() { this.isEventRaised = false; var testCase = new TestCase(); this.context = new DataCollectionContext(testCase); this.events.TestCaseEnd += this.TestCaseEndMessageHandler; var eventArgs = new TestCaseEndEventArgs(this.context, testCase, TestOutcome.Passed); this.events.RaiseEvent(eventArgs); Assert.IsTrue(this.isEventRaised); }
public void TestCaseEndedShouldNotSendEventToDataCollectorIfDataColletionIsNotEnbled() { var isEndInvoked = false; var runSettings = string.Format(this.defaultRunSettings, this.dataCollectorSettings); this.SetupMockDataCollector((XmlElement a, DataCollectionEvents b, DataCollectionSink c, DataCollectionLogger d, DataCollectionEnvironmentContext e) => { b.TestCaseEnd += (sender, eventArgs) => isEndInvoked = true; }); var args = new TestCaseEndEventArgs(); Assert.IsFalse(isEndInvoked); }
/// <summary> /// Called when Test Case End event is invoked /// </summary> /// <param name="sender">Sender</param> /// <param name="e">TestCaseEndEventArgs</param> private void EventsTestCaseEnd(object sender, TestCaseEndEventArgs e) { if (EqtTrace.IsInfoEnabled) { EqtTrace.Info("Blame Collector : Test Case End"); } this.testEndCount++; // Update the test object in the dictionary as the test has completed. if (this.testObjectDictionary.ContainsKey(e.TestElement.Id)) { this.testObjectDictionary[e.TestElement.Id].IsCompleted = true; } }
/// <inheritdoc /> public Collection <AttachmentSet> SendTestCaseEnd(TestCaseEndEventArgs e) { var attachmentSets = new Collection <AttachmentSet>(); this.communicationManager.SendMessage(MessageType.DataCollectionTestEnd, e); var message = this.communicationManager.ReceiveMessage(); if (message.MessageType == MessageType.DataCollectionTestEndResult) { attachmentSets = this.dataSerializer.DeserializePayload <Collection <AttachmentSet> >(message); } return(attachmentSets); }
private void EventsOnTestCaseEnd(object sender, TestCaseEndEventArgs e) { _logger.LogWarning(context.SessionDataCollectionContext, $"Test Case End: {e.TestCaseName}"); // Find the test and set the correct test outcome. var test = _testResults.Tests.FirstOrDefault(x => x.Name == e.TestElement.FullyQualifiedName); if (test == null) { _logger.LogError(context.SessionDataCollectionContext, "Test case end event received but no test case start was recorded earlier."); return; } test.Outcome = e.TestOutcome; }
private void OnTestCaseEnd(object sender, TestCaseEndEventArgs e) { ValidateArg.NotNull(e, "TestCaseEndEventArgs"); Debug.Assert(e.Context != null, "Context is null"); Debug.Assert(e.Context.HasTestCase, "Context is not for a test case"); if (EqtTrace.IsVerboseEnabled) { EqtTrace.Verbose( "EventLogDataCollector: TestCaseEnd received for test '{0}' with Test Outcome: {1}.", e.TestCaseName, e.TestOutcome); } this.WriteCollectedEventLogEntries(e.Context, false, TimeSpan.MaxValue, DateTime.Now); }
void Events_TestCaseEnd(object sender, TestCaseEndEventArgs e) { clocks.TryGetValue($"{e.Context?.SessionId?.Id}:{e.TestCaseId}", out Stopwatch clock); log.Value.Log(new { Name = "TestCaseEnd", RequestId = BuildArn ?? $"{e.Context?.SessionId?.Id}", Response = new { RequestDuration = clock.Elapsed.TotalMilliseconds, TestCaseId = $"{e.TestCaseId}", e.TestCaseName, e.TestOutcome } }); log2.LogWarning(e.Context, e.TestCaseName); }
private void OnTestCaseEnd(object sender, TestCaseEndEventArgs e) { if (e.TestOutcome == TestOutcome.Passed) { _stats.Passed += 1; } else if (e.TestOutcome == TestOutcome.Failed) { _stats.Failed += 1; } else { _stats.Other += 1; } _nyanCat.UpdateStats(_stats); }
public void SendTestCaseEndShouldReturnAttachments() { var testCaseEndEventArgs = new TestCaseEndEventArgs(); var attachmentSet = new AttachmentSet(new Uri("my://attachment"), "displayname"); this.mockCommunicationManager.Setup(x => x.ReceiveMessage()).Returns(new Message() { MessageType = MessageType.DataCollectionTestEndResult, Payload = JToken.FromObject(new Collection <AttachmentSet>() { attachmentSet }) }); var attachments = this.dataCollectionTestCaseEventSender.SendTestCaseEnd(testCaseEndEventArgs); Assert.AreEqual(attachments[0].Uri, attachmentSet.Uri); Assert.AreEqual(attachments[0].DisplayName, attachmentSet.DisplayName); }
/// <inheritdoc /> public void RaiseTestCaseEnd(TestCaseEndEventArgs e) { var isTestCaseEndAlreadySent = false; lock (this.testCaseEndStatusSyncObject) { isTestCaseEndAlreadySent = this.testCaseEndStatusMap.Contains(e.TestCaseId); if (!isTestCaseEndAlreadySent) { this.testCaseEndStatusMap.Add(e.TestCaseId); } // Do not support multiple - testcasends for a single test case start // TestCaseEnd must always be preceded by testcasestart for a given test case id if (!isTestCaseEndAlreadySent) { // If dictionary contains results for this test case, update them with in-proc data and flush them List <TestResult> testResults; if (this.testResultDictionary.TryGetValue(e.TestCaseId, out testResults)) { foreach (var testResult in testResults) { var testResultEventArgs = new TestResultEventArgs(testResult); this.TestResult.SafeInvoke(this, testResultEventArgs, "DataCollectionTestCaseEventManager.RaiseTestCaseEnd"); // TestResult updated with in-proc data, just flush this.testRunCache.OnNewTestResult(testResult); } this.testResultDictionary.Remove(e.TestCaseId); } else { // Call all in-proc datacollectors - TestCaseEnd event this.TestCaseEnd.SafeInvoke(this, e, "DataCollectionTestCaseEventManager.RaiseTestCaseEnd"); } } } }
private void TriggerTestCaseEnd(object sender, TestCaseEndEventArgs e) { var attachments = this.dataCollectionTestCaseEventSender.SendTestCaseEnd(e); if (attachments != null) { lock (syncObject) { Collection <AttachmentSet> attachmentSets; if (!attachmentsCache.TryGetValue(e.TestCaseId, out attachmentSets)) { attachmentSets = new Collection <AttachmentSet>(); this.attachmentsCache.Add(e.TestCaseId, attachmentSets); } foreach (var attachment in attachments) { attachmentSets.Add(attachment); } } } }
/// <inheritdoc/> public Collection <AttachmentSet> TestCaseEnded(TestCaseEndEventArgs testCaseEndEventArgs) { if (!this.isDataCollectionEnabled) { return(new Collection <AttachmentSet>()); } var context = new DataCollectionContext(this.dataCollectionEnvironmentContext.SessionDataCollectionContext.SessionId, testCaseEndEventArgs.TestElement); testCaseEndEventArgs.Context = context; this.SendEvent(testCaseEndEventArgs); List <AttachmentSet> result = null; try { result = this.attachmentManager.GetAttachments(testCaseEndEventArgs.Context); } catch (Exception ex) { if (EqtTrace.IsErrorEnabled) { EqtTrace.Error("DataCollectionManager.TestCaseEnded: Failed to get attachments : {0}", ex); } return(new Collection <AttachmentSet>(result)); } if (EqtTrace.IsVerboseEnabled) { this.LogAttachments(result); } return(new Collection <AttachmentSet>(result)); }
private void OnTestCaseEndHandler(object sender, TestCaseEndEventArgs e) { this.frameworkHandle.RecordResult(e.TestResult); }
private void Events_TestCaseEnd(object sender, TestCaseEndEventArgs e) { this.logger.LogWarning(this.context.SessionDataCollectionContext, e.TestCaseName + " end " + DateTime.UtcNow.Ticks.ToString()); }
private void EventsOnTestCaseEnd(object sender, TestCaseEndEventArgs e) { _logger.LogWarning(context.SessionDataCollectionContext, $"Test Case End: {e.TestCaseName}"); _testNames.Add(e.TestElement.FullyQualifiedName); }
private void Events_TestCaseEnd(object sender, TestCaseEndEventArgs e) { this.logger.LogWarning(this.context.SessionDataCollectionContext, "TestCaseEnded " + e.TestCaseName); }
private void TriggerTestCaseEnd(object sender, TestCaseEndEventArgs e) { this.testCaseEndCalled++; }
private void TestCaseEndMessageHandler(object sender, TestCaseEndEventArgs e) { this.isEventRaised = true; }