public ProxyExecutionManagerTests() { this.mockTestHostManager = new Mock <ITestRuntimeProvider>(); this.mockRequestSender = new Mock <ITestRequestSender>(); this.mockTestRunCriteria = new Mock <TestRunCriteria>(new List <string> { "source.dll" }, 10); this.mockDataSerializer = new Mock <IDataSerializer>(); this.mockRequestData = new Mock <IRequestData>(); this.mockMetricsCollection = new Mock <IMetricsCollection>(); this.mockRequestData.Setup(rd => rd.MetricsCollection).Returns(this.mockMetricsCollection.Object); this.testExecutionManager = new ProxyExecutionManager(this.mockRequestData.Object, this.mockRequestSender.Object, this.mockTestHostManager.Object, this.mockDataSerializer.Object, this.clientConnectionTimeout); // Default to shared test host this.mockTestHostManager.SetupGet(th => th.Shared).Returns(true); this.mockTestHostManager.Setup( m => m.GetTestHostProcessStartInfo( It.IsAny <IEnumerable <string> >(), It.IsAny <IDictionary <string, string> >(), It.IsAny <TestRunnerConnectionInfo>())) .Returns(new TestProcessStartInfo()); this.mockTestHostManager.Setup(tmh => tmh.LaunchTestHostAsync(It.IsAny <TestProcessStartInfo>(), It.IsAny <CancellationToken>())) .Callback( () => { this.mockTestHostManager.Raise(thm => thm.HostLaunched += null, new HostProviderEventArgs(string.Empty)); }) .Returns(Task.FromResult(true)); }
public void HandlePartialRunCompleteShouldCreateNewProxyExecutionManagerIfIsAbortedIsTrue() { var completeArgs = new TestRunCompleteEventArgs(null, true, true, null, null, TimeSpan.Zero); this.mockTestHostManager = new Mock <ITestRuntimeProvider>(); this.mockRequestSender = new Mock <ITestRequestSender>(); this.proxyParallelExecutionManager = new ParallelProxyExecutionManager(this.proxyManagerFunc, 2); var tests = CreateTestCases(); var testRunCriteria = new TestRunCriteria(tests, 100); var processedTestCases = new List <TestCase>(); SetupMockManagersForTestCase(processedTestCases, testRunCriteria); AutoResetEvent completeEvent = new AutoResetEvent(false); SetupHandleTestRunComplete(completeEvent); this.proxyParallelExecutionManager.StartTestRun(testRunCriteria, this.mockHandler.Object); Assert.IsTrue(completeEvent.WaitOne(taskTimeout), "Test run not completed."); this.proxyManagerFuncCalled = false; var proxyExecutionManagerManager = new ProxyExecutionManager(this.mockRequestSender.Object, this.mockTestHostManager.Object); this.proxyParallelExecutionManager.HandlePartialRunComplete(proxyExecutionManagerManager, completeArgs, null, null, null); Assert.IsTrue(this.proxyManagerFuncCalled); }
public void TestInit() { this.mockTestHostManager = new Mock <ITestHostManager>(); this.mockRequestSender = new Mock <ITestRequestSender>(); this.testExecutionManager = new ProxyExecutionManager(this.mockRequestSender.Object, this.mockTestHostManager.Object, this.testableClientConnectionTimeout); this.mockDataCollectionClient = new Mock <IProxyDataCollectionManager>(); }
internal ProxyExecutionManager GetProxyExecutionManager() { this.SetupAndInitializeTestRequestSender(); var testExecutionManager = new ProxyExecutionManager(mockRequestData.Object, testRequestSender, mockTestHostManager.Object, mockDataSerializer.Object, clientConnectionTimeout); return(testExecutionManager); }
public void TestInit() { this.mockTestHostManager = new Mock <ITestRuntimeProvider>(); this.mockRequestSender = new Mock <ITestRequestSender>(); this.testExecutionManager = new ProxyExecutionManager(this.mockRequestSender.Object, this.mockTestHostManager.Object, this.testableClientConnectionTimeout); this.mockDataCollectionManager = new Mock <IProxyDataCollectionManager>(); this.mockProcessHelper = new Mock <IProcessHelper>(); this.proxyExecutionManager = new ProxyExecutionManagerWithDataCollection(this.mockTestHostManager.Object, this.mockDataCollectionManager.Object); }
internal ProxyExecutionManager GetProxyExecutionManager() { this.SetupAndInitializeTestRequestSender(); this.mockFileHelper.Setup(fh => fh.Exists(It.IsAny <string>())).Returns(true); var testExecutionManager = new ProxyExecutionManager(mockRequestData.Object, testRequestSender, mockTestHostManager.Object, mockDataSerializer.Object, this.mockFileHelper.Object); return(testExecutionManager); }
public void TestInit() { this.mockTestHostManager = new Mock <ITestRuntimeProvider>(); this.mockRequestSender = new Mock <ITestRequestSender>(); this.mockDataSerializer = new Mock <IDataSerializer>(); this.mockRequestData = new Mock <IRequestData>(); this.mockRequestData.Setup(rd => rd.MetricsCollection).Returns(new NoOpMetricsCollection()); this.testExecutionManager = new ProxyExecutionManager(mockRequestData.Object, this.mockRequestSender.Object, this.mockTestHostManager.Object, this.mockDataSerializer.Object, this.testableClientConnectionTimeout); this.mockDataCollectionManager = new Mock <IProxyDataCollectionManager>(); this.mockProcessHelper = new Mock <IProcessHelper>(); this.proxyExecutionManager = new ProxyExecutionManagerWithDataCollection(this.mockRequestData.Object, this.mockRequestSender.Object, this.mockTestHostManager.Object, this.mockDataCollectionManager.Object); }
public ProxyExecutionManagerTests() { this.mockTestHostManager = new Mock <ITestHostManager>(); this.mockRequestSender = new Mock <ITestRequestSender>(); this.mockTestRunCriteria = new Mock <TestRunCriteria>(new List <string> { "source.dll" }, 10); this.testExecutionManager = new ProxyExecutionManager(this.mockRequestSender.Object, this.mockTestHostManager.Object, this.clientConnectionTimeout); // Default to shared test host this.mockTestHostManager.SetupGet(th => th.Shared).Returns(true); }
public void ExecutionManagerShouldPassOnLaunchProcessWithDebuggerAttached() { this.mockFileHelper.Setup(fh => fh.Exists(It.IsAny <string>())).Returns(true); Mock <ITestRunEventsHandler> mockTestRunEventsHandler = new Mock <ITestRunEventsHandler>(); var runCriteria = new Mock <TestRunCriteria>( new List <TestCase> { new TestCase("A.C.M", new System.Uri("executor://dummy"), "source.dll") }, 10); var payload = new TestProcessStartInfo(); this.testExecutionManager = this.GetProxyExecutionManager(); var completePayload = new TestRunCompletePayload() { ExecutorUris = null, LastRunTests = null, RunAttachments = null, TestRunCompleteArgs = null }; var completeMessage = new Message() { MessageType = MessageType.ExecutionComplete, Payload = null }; this.SetupChannelMessage(MessageType.StartTestExecutionWithTests, MessageType.LaunchAdapterProcessWithDebuggerAttached, payload); mockTestRunEventsHandler.Setup(mh => mh.LaunchProcessWithDebuggerAttached(It.IsAny <TestProcessStartInfo>())).Callback( () => { this.mockDataSerializer.Setup(ds => ds.DeserializeMessage(It.IsAny <string>())).Returns(completeMessage); this.mockDataSerializer.Setup(ds => ds.DeserializePayload <TestRunCompletePayload>(completeMessage)).Returns(completePayload); this.mockDataSerializer.Setup(ds => ds.SerializeMessage(It.IsAny <string>())) .Returns(MessageType.SessionEnd); this.RaiseMessageReceived(MessageType.ExecutionComplete); }); var waitHandle = new AutoResetEvent(false); mockTestRunEventsHandler.Setup(mh => mh.HandleTestRunComplete( It.IsAny <TestRunCompleteEventArgs>(), It.IsAny <TestRunChangedEventArgs>(), It.IsAny <ICollection <AttachmentSet> >(), It.IsAny <ICollection <string> >())).Callback(() => waitHandle.Set()); this.testExecutionManager.StartTestRun(runCriteria.Object, mockTestRunEventsHandler.Object); waitHandle.WaitOne(); // Verify mockTestRunEventsHandler.Verify(mtdeh => mtdeh.LaunchProcessWithDebuggerAttached(It.IsAny <TestProcessStartInfo>()), Times.Once); }
public void HandlePartialRunCompleteShouldCreateNewProxyExecutionManagerIfIsAbortedIsTrue() { var completeArgs = new TestRunCompleteEventArgs(null, true, true, null, null, TimeSpan.Zero); this.mockTestHostManager = new Mock <ITestRuntimeProvider>(); this.mockRequestSender = new Mock <ITestRequestSender>(); var parallelExecutionManager = this.SetupExecutionManager(this.proxyManagerFunc, 2, setupTestCases: true); this.proxyManagerFuncCalled = false; var proxyExecutionManagerManager = new ProxyExecutionManager(this.mockRequestData.Object, this.mockRequestSender.Object, this.mockTestHostManager.Object); parallelExecutionManager.HandlePartialRunComplete(proxyExecutionManagerManager, completeArgs, null, null, null); Assert.IsTrue(this.proxyManagerFuncCalled); }
public void TestInit() { this.mockTestHostManager = new Mock <ITestRuntimeProvider>(); this.mockRequestSender = new Mock <ITestRequestSender>(); this.mockDataSerializer = new Mock <IDataSerializer>(); this.mockRequestData = new Mock <IRequestData>(); this.mockMetricsCollection = new Mock <IMetricsCollection>(); this.mockFileHelper = new Mock <IFileHelper>(); this.mockRequestData.Setup(rd => rd.MetricsCollection).Returns(this.mockMetricsCollection.Object); this.testExecutionManager = new ProxyExecutionManager(this.mockRequestData.Object, this.mockRequestSender.Object, this.mockTestHostManager.Object, this.mockDataSerializer.Object, this.mockFileHelper.Object); this.mockDataCollectionManager = new Mock <IProxyDataCollectionManager>(); this.mockProcessHelper = new Mock <IProcessHelper>(); this.proxyExecutionManager = new ProxyExecutionManagerWithDataCollection(this.mockRequestData.Object, this.mockRequestSender.Object, this.mockTestHostManager.Object, this.mockDataCollectionManager.Object); }
public ProxyExecutionManagerTests() { this.mockRequestSender = new Mock <ITestRequestSender>(); this.mockTestRunCriteria = new Mock <TestRunCriteria>(new List <string> { "source.dll" }, 10); //this.mockDataSerializer = new Mock<IDataSerializer>(); this.mockRequestData = new Mock <IRequestData>(); this.mockMetricsCollection = new Mock <IMetricsCollection>(); this.mockRequestData.Setup(rd => rd.MetricsCollection).Returns(this.mockMetricsCollection.Object); this.testExecutionManager = new ProxyExecutionManager(this.mockRequestData.Object, this.mockRequestSender.Object, this.mockTestHostManager.Object, this.mockDataSerializer.Object, this.clientConnectionTimeout); //this.mockDataSerializer.Setup(mds => mds.DeserializeMessage(null)).Returns(new Message()); //this.mockDataSerializer.Setup(mds => mds.DeserializeMessage(string.Empty)).Returns(new Message()); }
private void SetupReceiveRawMessageAsyncAndDeserializeMessageAndInitialize(string rawMessage, Message message) { TestHostConnectionInfo connectionInfo; connectionInfo = new TestHostConnectionInfo { Endpoint = IPAddress.Loopback + ":0", Role = ConnectionRole.Client, Transport = Transport.Sockets }; this.mockCommunicationManager = new Mock <ICommunicationManager>(); this.mockDataSerializer = new Mock <IDataSerializer>(); this.testRequestSender = new TestRequestSender(this.mockCommunicationManager.Object, connectionInfo, this.mockDataSerializer.Object, this.protocolConfig); this.mockCommunicationManager.Setup(mc => mc.HostServer(It.IsAny <IPEndPoint>())).Returns(new IPEndPoint(IPAddress.Loopback, 0)); this.mockCommunicationManager.Setup(mc => mc.WaitForClientConnection(It.IsAny <int>())).Returns(true); this.testRequestSender.InitializeCommunication(); this.mockCommunicationManager.Setup(mc => mc.ReceiveRawMessageAsync(It.IsAny <CancellationToken>())).Returns(Task.FromResult(rawMessage)); this.mockDataSerializer.Setup(ds => ds.DeserializeMessage(rawMessage)).Returns(message); this.testExecutionManager = new ProxyExecutionManager(this.mockRequestData.Object, this.testRequestSender, this.mockTestHostManager.Object, this.mockDataSerializer.Object, this.clientConnectionTimeout); this.CheckAndSetProtocolVersion(); }