public void AfterTestRunShouldHandleSocketFailureGracefully() { var socketCommManager = new SocketCommunicationManager(); var dataCollectionRequestSender = new DataCollectionRequestSender(socketCommManager, JsonDataSerializer.Instance); #if NET46 var dataCollectionLauncher = new DefaultDataCollectionLauncher(); #else var dataCollectionLauncher = new DotnetDataCollectionLauncher(); #endif using (var proxyDataCollectionManager = new ProxyDataCollectionManager(ObjectModel.Architecture.AnyCPU, this.runSettings, dataCollectionRequestSender, dataCollectionLauncher)) { proxyDataCollectionManager.BeforeTestRunStart(true, true, this.mockTestMessageEventHandler.Object); var result = Process.GetProcessById(dataCollectionLauncher.DataCollectorProcess.Id); Assert.IsNotNull(result); socketCommManager.StopClient(); var attachments = proxyDataCollectionManager.AfterTestRunEnd(false, this.mockTestMessageEventHandler.Object); Assert.IsNull(attachments); // Give time to datacollector process to exit. Assert.IsTrue(result.WaitForExit(500)); } }
public void AfterTestRunShouldHandleSocketFailureGracefully() { var socketCommManager = new SocketCommunicationManager(); var dataCollectionRequestSender = new DataCollectionRequestSender(socketCommManager, JsonDataSerializer.Instance); var dataCollectionLauncher = DataCollectionLauncherFactory.GetDataCollectorLauncher(this.processHelper, this.runSettings); using (var proxyDataCollectionManager = new ProxyDataCollectionManager(this.mockRequestData.Object, this.runSettings, dataCollectionRequestSender, this.processHelper, dataCollectionLauncher)) { proxyDataCollectionManager.Initialize(); proxyDataCollectionManager.BeforeTestRunStart(true, true, this.mockTestMessageEventHandler.Object); var result = Process.GetProcessById(dataCollectionLauncher.DataCollectorProcessId); Assert.IsNotNull(result); socketCommManager.StopClient(); var attachments = proxyDataCollectionManager.AfterTestRunEnd(false, this.mockTestMessageEventHandler.Object); Assert.IsNull(attachments); // Give time to datacollector process to exit. Assert.IsTrue(result.WaitForExit(500)); } }