public void DiscoveryManagerShouldPassOnHandleDiscoveredTests() { Mock <ITestDiscoveryEventsHandler2> mockTestDiscoveryEventsHandler = new Mock <ITestDiscoveryEventsHandler2>(); var testCases = new List <TestCase>() { new TestCase("x.y.z", new Uri("x://y"), "x.dll") }; this.testDiscoveryManager = this.GetProxyDiscoveryManager(); this.SetupChannelMessage(MessageType.StartDiscovery, MessageType.TestCasesFound, testCases); var completePayload = new DiscoveryCompletePayload() { IsAborted = false, LastDiscoveredTests = null, TotalTests = 1 }; var completeMessage = new Message() { MessageType = MessageType.DiscoveryComplete, Payload = null }; mockTestDiscoveryEventsHandler.Setup(mh => mh.HandleDiscoveredTests(It.IsAny <IEnumerable <TestCase> >())).Callback( () => { this.mockDataSerializer.Setup(ds => ds.DeserializeMessage(It.IsAny <string>())).Returns(completeMessage); this.mockDataSerializer.Setup(ds => ds.DeserializePayload <DiscoveryCompletePayload>(completeMessage)).Returns(completePayload); }); // Act. this.testDiscoveryManager.DiscoverTests(this.discoveryCriteria, mockTestDiscoveryEventsHandler.Object); // Verify mockTestDiscoveryEventsHandler.Verify(mtdeh => mtdeh.HandleDiscoveredTests(It.IsAny <IEnumerable <TestCase> >()), Times.AtLeastOnce); }
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.testDiscoveryManager = new ProxyDiscoveryManager( this.mockRequestData.Object, this.testRequestSender, this.mockTestHostManager.Object, this.mockDataSerializer.Object, this.testableClientConnectionTimeout); this.CheckAndSetProtocolVersion(); }
public ProxyDiscoveryManagerTests() { 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.mockRequestData.Setup(rd => rd.MetricsCollection).Returns(this.mockMetricsCollection.Object); this.testDiscoveryManager = new ProxyDiscoveryManager( this.mockRequestData.Object, this.mockRequestSender.Object, this.mockTestHostManager.Object, this.mockDataSerializer.Object, this.testableClientConnectionTimeout); this.discoveryCriteria = new DiscoveryCriteria(new[] { "test.dll" }, 1, string.Empty); // Default setup test host manager as shared (desktop) 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 HandlePartialDiscoveryCompleteShouldCreateANewProxyDiscoveryManagerIfIsAbortedIsTrue() { this.proxyManagerFuncCalled = false; var parallelDiscoveryManager = new ParallelProxyDiscoveryManager(this.mockRequestData.Object, this.proxyManagerFunc, 1, false); var proxyDiscovermanager = new ProxyDiscoveryManager(this.mockRequestData.Object, new Mock <ITestRequestSender>().Object, new Mock <ITestRuntimeProvider>().Object); parallelDiscoveryManager.HandlePartialDiscoveryComplete(proxyDiscovermanager, 20, new List <TestCase>(), isAborted: true); Assert.IsTrue(this.proxyManagerFuncCalled); }
protected ProxyDiscoveryManager GetProxyDiscoveryManager() { this.SetupAndInitializeTestRequestSender(); var testDiscoveryManager = new ProxyDiscoveryManager( mockRequestData.Object, testRequestSender, mockTestHostManager.Object, mockDataSerializer.Object, this.mockFileHelper.Object); return(testDiscoveryManager); }
protected ProxyDiscoveryManager GetProxyDiscoveryManager() { this.SetupAndInitializeTestRequestSender(); var testDiscoveryManager = new ProxyDiscoveryManager( mockRequestData.Object, testRequestSender, mockTestHostManager.Object, mockDataSerializer.Object, clientConnectionTimeout); return(testDiscoveryManager); }
public ProxyDiscoveryManagerTests() { this.mockTestHostManager = new Mock <ITestHostManager>(); this.mockRequestSender = new Mock <ITestRequestSender>(); this.testDiscoveryManager = new ProxyDiscoveryManager( this.mockRequestSender.Object, this.mockTestHostManager.Object, this.testableClientConnectionTimeout); this.discoveryCriteria = new DiscoveryCriteria(new[] { "test.dll" }, 1, string.Empty); // Default setup test host manager as shared (desktop) this.mockTestHostManager.SetupGet(th => th.Shared).Returns(true); }
public ProxyDiscoveryManagerTests() { this.mockRequestSender = new Mock <ITestRequestSender>(); this.mockRequestData = new Mock <IRequestData>(); this.mockMetricsCollection = new Mock <IMetricsCollection>(); this.mockRequestData.Setup(rd => rd.MetricsCollection).Returns(this.mockMetricsCollection.Object); this.testDiscoveryManager = new ProxyDiscoveryManager( this.mockRequestData.Object, this.mockRequestSender.Object, this.mockTestHostManager.Object, this.mockDataSerializer.Object, this.testableClientConnectionTimeout); this.discoveryCriteria = new DiscoveryCriteria(new[] { "test.dll" }, 1, string.Empty); }