public void CreateDiscoveryRequestShouldThrowExceptionIfNoTestHostproviderFound() { this.testEngine.Setup(te => te.GetLoggerManager(this.mockRequestData.Object)) .Returns(this.loggerManager.Object); string settingsXml = @"<?xml version=""1.0"" encoding=""utf-8""?> <RunSettings> <RunConfiguration> <TargetFrameworkVersion>.NETPortable,Version=v4.5</TargetFrameworkVersion> </RunConfiguration> </RunSettings>"; var discoveryCriteria = new DiscoveryCriteria(new List <string> { @"x:dummy\foo.dll" }, 1, settingsXml); var tp = new TestableTestPlatform(this.testEngine.Object, this.mockFileHelper.Object, null); bool exceptionThrown = false; try { tp.CreateDiscoveryRequest(this.mockRequestData.Object, discoveryCriteria); } catch (TestPlatformException ex) { exceptionThrown = true; Assert.AreEqual("No suitable test runtime provider found for this run.", ex.Message); } Assert.IsTrue(exceptionThrown, "TestPlatformException should get thrown"); }
public void CreateDiscoveryRequestShouldAllowRuntimeProviderToUpdateAdapterSource() { var updatedSources = new List <string> { @"x:\dummy2\foo.dll" }; var originalSource = new List <string> { @"x:dummy\foo.dll" }; this.discoveryManager.Setup(dm => dm.Initialize()).Verifiable(); var discoveryCriteria = new DiscoveryCriteria(originalSource, 1, null); this.hostManager.Setup(hm => hm.GetTestSources(discoveryCriteria.Sources)) .Returns(updatedSources); this.testEngine.Setup(te => te.GetDiscoveryManager(this.hostManager.Object, It.IsAny <DiscoveryCriteria>(), It.IsAny <ProtocolConfig>())).Returns(this.discoveryManager.Object); this.testEngine.Setup(te => te.GetExtensionManager()).Returns(this.extensionManager.Object); var tp = new TestableTestPlatform(this.testEngine.Object, this.hostManager.Object); var discoveryRequest = tp.CreateDiscoveryRequest(discoveryCriteria, It.IsAny <ProtocolConfig>()); this.hostManager.Verify(hm => hm.Initialize(It.IsAny <TestSessionMessageLogger>(), It.IsAny <string>()), Times.Once); this.discoveryManager.Verify(dm => dm.Initialize(), Times.Once); this.hostManager.Verify(hm => hm.GetTestSources(originalSource), Times.Once); Assert.IsTrue(!discoveryCriteria.Sources.Except(updatedSources).Any()); }
public void CreateTestRunRequestShouldUpdateLoggerExtensionWhenDesingModeIsFalseForRunSelected() { var additionalExtensions = new List <string> { "foo.TestLogger.dll", "Joo.TestLogger.dll" }; this.mockFileHelper.Setup(fh => fh.DirectoryExists(It.IsAny <string>())).Returns(true); this.mockFileHelper.Setup(fh => fh.EnumerateFiles(It.IsAny <string>(), It.IsAny <string>(), System.IO.SearchOption.TopDirectoryOnly)).Returns(additionalExtensions); this.executionManager.Setup(dm => dm.Initialize()).Verifiable(); this.testEngine.Setup(te => te.GetExecutionManager(this.hostManager.Object, It.IsAny <TestRunCriteria>(), It.IsAny <ProtocolConfig>())).Returns(this.executionManager.Object); this.testEngine.Setup(te => te.GetExtensionManager()).Returns(this.extensionManager.Object); var tp = new TestableTestPlatform(this.testEngine.Object, this.mockFileHelper.Object, this.hostManager.Object); string settingsXml = @"<?xml version=""1.0"" encoding=""utf-8""?> <RunSettings> <RunConfiguration> <DesignMode>false</DesignMode> </RunConfiguration> </RunSettings>"; var testRunCriteria = new TestRunCriteria(new List <TestCase> { new TestCase("dll1.class1.test1", new Uri("hello://x/"), "xyz\\1.dll") }, 10, false, settingsXml); var testRunRequest = tp.CreateTestRunRequest(testRunCriteria, It.IsAny <ProtocolConfig>()); this.extensionManager.Verify(em => em.UseAdditionalExtensions(additionalExtensions, true)); }
public void CreateTestRunRequestShouldUpdateLoggerExtensionWhenDesingModeIsFalseForRunAll() { var additionalExtensions = new List <string> { "foo.TestLogger.dll", "Joo.TestLogger.dll" }; this.mockFileHelper.Setup(fh => fh.DirectoryExists(It.IsAny <string>())).Returns(true); this.mockFileHelper.Setup(fh => fh.EnumerateFiles(It.IsAny <string>(), System.IO.SearchOption.TopDirectoryOnly, It.IsAny <string[]>())).Returns(additionalExtensions); this.executionManager.Setup(dm => dm.Initialize()).Verifiable(); string settingsXml = @"<?xml version=""1.0"" encoding=""utf-8""?> <RunSettings> <RunConfiguration> <DesignMode>false</DesignMode> </RunConfiguration> </RunSettings>"; var testRunCriteria = new TestRunCriteria(new List <string> { @"x:dummy\foo.dll" }, 10, false, settingsXml, TimeSpan.Zero); this.hostManager.Setup(hm => hm.GetTestSources(testRunCriteria.Sources)) .Returns(testRunCriteria.Sources); this.testEngine.Setup(te => te.GetExecutionManager(It.IsAny <IRequestData>(), this.hostManager.Object, It.IsAny <TestRunCriteria>(), It.IsAny <ProtocolConfig>())).Returns(this.executionManager.Object); this.testEngine.Setup(te => te.GetExtensionManager()).Returns(this.extensionManager.Object); var tp = new TestableTestPlatform(this.testEngine.Object, this.mockFileHelper.Object, this.hostManager.Object); var testRunRequest = tp.CreateTestRunRequest(testRunCriteria, It.IsAny <ProtocolConfig>()); this.extensionManager.Verify(em => em.UseAdditionalExtensions(additionalExtensions, true)); }
public void ClearExtensionsShouldClearTheExtensionsCachedInEngine() { this.testEngine.Setup(te => te.GetExtensionManager()).Returns(this.extensionManager.Object); var tp = new TestableTestPlatform(this.testEngine.Object, this.hostManager.Object); tp.ClearExtensions(); this.extensionManager.Verify(em => em.ClearExtensions()); }
public void UpdateExtensionsShouldUpdateTheEngineWithAdditionalExtensions() { this.testEngine.Setup(te => te.GetExtensionManager()).Returns(this.extensionManager.Object); var tp = new TestableTestPlatform(this.testEngine.Object, this.hostManager.Object); var additionalExtensions = new List <string> { "e1.dll", "e2.dll" }; tp.UpdateExtensions(additionalExtensions, loadOnlyWellKnownExtensions: true); this.extensionManager.Verify(em => em.UseAdditionalExtensions(additionalExtensions, true)); }
public void CreateDiscoveryRequestShouldCreateDiscoveryRequestWithGivenCriteriaAndReturnIt() { this.testEngine.Setup(te => te.GetDefaultTestHostManager(It.IsAny <RunConfiguration>())).Returns(this.hostManager.Object); this.discoveryManager.Setup(dm => dm.Initialize()).Verifiable(); this.testEngine.Setup(te => te.GetDiscoveryManager(this.hostManager.Object, It.IsAny <DiscoveryCriteria>())).Returns(this.discoveryManager.Object); this.testEngine.Setup(te => te.GetExtensionManager()).Returns(this.extensionManager.Object); var tp = new TestableTestPlatform(this.testEngine.Object); var discoveryCriteria = new DiscoveryCriteria(new List <string> { "foo" }, 1, null); var discoveryRequest = tp.CreateDiscoveryRequest(discoveryCriteria); Assert.AreEqual(discoveryCriteria, discoveryRequest.DiscoveryCriteria); }
public void CreateDiscoveryRequestShouldInitializeManagersAndCreateDiscoveryRequestWithGivenCriteriaAndReturnIt() { this.discoveryManager.Setup(dm => dm.Initialize()).Verifiable(); this.testEngine.Setup(te => te.GetDiscoveryManager(this.hostManager.Object, It.IsAny <DiscoveryCriteria>(), It.IsAny <ProtocolConfig>())).Returns(this.discoveryManager.Object); this.testEngine.Setup(te => te.GetExtensionManager()).Returns(this.extensionManager.Object); var tp = new TestableTestPlatform(this.testEngine.Object, this.hostManager.Object); var discoveryCriteria = new DiscoveryCriteria(new List <string> { "foo" }, 1, null); var discoveryRequest = tp.CreateDiscoveryRequest(discoveryCriteria, It.IsAny <ProtocolConfig>()); this.hostManager.Verify(hm => hm.Initialize(It.IsAny <TestSessionMessageLogger>(), It.IsAny <string>()), Times.Once); this.discoveryManager.Verify(dm => dm.Initialize(), Times.Once); Assert.AreEqual(discoveryCriteria, discoveryRequest.DiscoveryCriteria); }
private void InvokeCreateTestRunRequest(TestPlatformOptions options = null) { this.executionManager.Setup(dm => dm.Initialize(false)).Verifiable(); this.testEngine.Setup(te => te.GetExecutionManager(this.mockRequestData.Object, this.hostManager.Object, It.IsAny <TestRunCriteria>())).Returns(this.executionManager.Object); this.testEngine.Setup(te => te.GetExtensionManager()).Returns(this.extensionManager.Object); this.testEngine.Setup(te => te.GetLoggerManager(this.mockRequestData.Object)).Returns(this.loggerManager.Object); var tp = new TestableTestPlatform(this.testEngine.Object, this.hostManager.Object); var testRunCriteria = new TestRunCriteria(new List <string> { "foo" }, 10); this.hostManager.Setup(hm => hm.GetTestSources(testRunCriteria.Sources)) .Returns(testRunCriteria.Sources); tp.CreateTestRunRequest(this.mockRequestData.Object, testRunCriteria, options); }
public void CreateTestRunRequestShouldCreateTestRunRequestWithSpecifiedCriteria() { this.testEngine.Setup(te => te.GetDefaultTestHostManager(It.IsAny <RunConfiguration>())).Returns(this.hostManager.Object); this.executionManager.Setup(dm => dm.Initialize()).Verifiable(); this.testEngine.Setup(te => te.GetExecutionManager(this.hostManager.Object, It.IsAny <TestRunCriteria>())).Returns(this.executionManager.Object); this.testEngine.Setup(te => te.GetExtensionManager()).Returns(this.extensionManager.Object); var tp = new TestableTestPlatform(this.testEngine.Object); var testRunCriteria = new TestRunCriteria(new List <string> { "foo" }, 10); var testRunRequest = tp.CreateTestRunRequest(testRunCriteria); var actualTestRunRequest = testRunRequest as TestRunRequest; Assert.AreEqual(testRunCriteria, actualTestRunRequest.TestRunCriteria); }
public void CreateTestRunRequestShouldInitializeManagersAndCreateTestRunRequestWithSpecifiedCriteria() { this.executionManager.Setup(dm => dm.Initialize()).Verifiable(); this.testEngine.Setup(te => te.GetExecutionManager(this.hostManager.Object, It.IsAny <TestRunCriteria>(), It.IsAny <ProtocolConfig>())).Returns(this.executionManager.Object); this.testEngine.Setup(te => te.GetExtensionManager()).Returns(this.extensionManager.Object); var tp = new TestableTestPlatform(this.testEngine.Object, this.hostManager.Object); var testRunCriteria = new TestRunCriteria(new List <string> { "foo" }, 10); var testRunRequest = tp.CreateTestRunRequest(testRunCriteria, It.IsAny <ProtocolConfig>()); var actualTestRunRequest = testRunRequest as TestRunRequest; this.hostManager.Verify(hm => hm.Initialize(It.IsAny <TestSessionMessageLogger>(), It.IsAny <string>()), Times.Once); this.executionManager.Verify(em => em.Initialize(), Times.Once); Assert.AreEqual(testRunCriteria, actualTestRunRequest.TestRunCriteria); }
public void CreateTestRunRequestShouldSetCustomHostLauncherOnEngineDefaultLauncherIfSpecified() { var mockCustomLauncher = new Mock <ITestHostLauncher>(); this.executionManager.Setup(dm => dm.Initialize()).Verifiable(); this.testEngine.Setup(te => te.GetExecutionManager(this.hostManager.Object, It.IsAny <TestRunCriteria>(), It.IsAny <ProtocolConfig>())).Returns(this.executionManager.Object); this.testEngine.Setup(te => te.GetExtensionManager()).Returns(this.extensionManager.Object); var tp = new TestableTestPlatform(this.testEngine.Object, this.hostManager.Object); var testRunCriteria = new TestRunCriteria(new List <string> { "foo" }, 10, false, null, TimeSpan.Zero, mockCustomLauncher.Object); var testRunRequest = tp.CreateTestRunRequest(testRunCriteria, It.IsAny <ProtocolConfig>()); var actualTestRunRequest = testRunRequest as TestRunRequest; Assert.AreEqual(testRunCriteria, actualTestRunRequest.TestRunCriteria); this.hostManager.Verify(hl => hl.SetCustomLauncher(mockCustomLauncher.Object), Times.Once); }
public void CreateTestRunRequestShouldAllowRuntimeProviderToUpdateAdapterSource() { var updatedSources = new List <string> { @"x:\dummy2\foo.dll" }; var originalSource = new List <string> { @"x:dummy\foo.dll" }; var additionalExtensions = new List <string> { "foo.TestLogger.dll", "Joo.TestLogger.dll" }; this.mockFileHelper.Setup(fh => fh.DirectoryExists(It.IsAny <string>())).Returns(true); this.mockFileHelper.Setup(fh => fh.EnumerateFiles(It.IsAny <string>(), System.IO.SearchOption.TopDirectoryOnly, It.IsAny <string[]>())).Returns(additionalExtensions); this.executionManager.Setup(dm => dm.Initialize()).Verifiable(); string settingsXml = @"<?xml version=""1.0"" encoding=""utf-8""?> <RunSettings> <RunConfiguration> <DesignMode>false</DesignMode> </RunConfiguration> </RunSettings>"; var testRunCriteria = new TestRunCriteria(originalSource, 10, false, settingsXml, TimeSpan.Zero); this.hostManager.Setup(hm => hm.GetTestSources(testRunCriteria.Sources)) .Returns(updatedSources); this.testEngine.Setup(te => te.GetExecutionManager(this.hostManager.Object, It.IsAny <TestRunCriteria>(), It.IsAny <ProtocolConfig>())).Returns(this.executionManager.Object); this.testEngine.Setup(te => te.GetExtensionManager()).Returns(this.extensionManager.Object); var tp = new TestableTestPlatform(this.testEngine.Object, this.mockFileHelper.Object, this.hostManager.Object); var testRunRequest = tp.CreateTestRunRequest(testRunCriteria, It.IsAny <ProtocolConfig>()); this.hostManager.Verify(hm => hm.GetTestSources(originalSource), Times.Once); Assert.IsTrue(!testRunCriteria.Sources.Except(updatedSources).Any()); this.extensionManager.Verify(em => em.UseAdditionalExtensions(additionalExtensions, true)); }
public void CreateTestRunRequestShouldInitializeLoggerManagerForDesignMode() { this.testEngine.Setup(te => te.GetExecutionManager(this.mockRequestData.Object, this.hostManager.Object, It.IsAny <TestRunCriteria>())).Returns(this.executionManager.Object); this.testEngine.Setup(te => te.GetLoggerManager(this.mockRequestData.Object)).Returns(this.loggerManager.Object); string settingsXml = @"<?xml version=""1.0"" encoding=""utf-8""?> <RunSettings> <RunConfiguration> <DesignMode>True</DesignMode> </RunConfiguration> </RunSettings>"; var testRunCriteria = new TestRunCriteria(new List <string> { @"x:dummy\foo.dll" }, 10, false, settingsXml); var tp = new TestableTestPlatform(this.testEngine.Object, this.hostManager.Object); tp.CreateTestRunRequest(this.mockRequestData.Object, testRunCriteria); this.loggerManager.Verify(lm => lm.Initialize(settingsXml)); }
public void CreateDiscoveryRequestShouldInitializeLoggerManagerForNonDesignMode() { this.testEngine.Setup(te => te.GetDiscoveryManager(this.mockRequestData.Object, this.hostManager.Object, It.IsAny <DiscoveryCriteria>())).Returns(this.discoveryManager.Object); this.testEngine.Setup(te => te.GetLoggerManager(this.mockRequestData.Object)).Returns(this.loggerManager.Object); string settingsXml = @"<?xml version=""1.0"" encoding=""utf-8""?> <RunSettings> <RunConfiguration> <DesignMode>False</DesignMode> </RunConfiguration> </RunSettings>"; var discoveryCriteria = new DiscoveryCriteria(new List <string> { "foo" }, 10, settingsXml); var tp = new TestableTestPlatform(this.testEngine.Object, this.hostManager.Object); tp.CreateDiscoveryRequest(this.mockRequestData.Object, discoveryCriteria); this.loggerManager.Verify(lm => lm.Initialize(settingsXml)); }
public void CreateDiscoveryRequestShouldUpdateLoggerExtensionWhenDesignModeIsFalse() { var additionalExtensions = new List <string> { "foo.TestLogger.dll", "Joo.TestLogger.dll" }; this.mockFileHelper.Setup(fh => fh.DirectoryExists(It.IsAny <string>())).Returns(true); this.mockFileHelper.Setup(fh => fh.EnumerateFiles(It.IsAny <string>(), System.IO.SearchOption.TopDirectoryOnly, It.IsAny <string[]>())).Returns(additionalExtensions); this.discoveryManager.Setup(dm => dm.Initialize(false)).Verifiable(); string settingsXml = @"<?xml version=""1.0"" encoding=""utf-8""?> <RunSettings> <RunConfiguration> <DesignMode>false</DesignMode> </RunConfiguration> </RunSettings>"; var temp = Path.GetTempPath(); var discoveryCriteria = new DiscoveryCriteria(new List <string> { $@"{temp}foo.dll" }, 1, settingsXml); this.hostManager.Setup(hm => hm.GetTestSources(discoveryCriteria.Sources)) .Returns(discoveryCriteria.Sources); this.testEngine.Setup(te => te.GetDiscoveryManager(It.IsAny <IRequestData>(), this.hostManager.Object, It.IsAny <DiscoveryCriteria>())).Returns(this.discoveryManager.Object); this.testEngine.Setup(te => te.GetExtensionManager()).Returns(this.extensionManager.Object); this.testEngine.Setup(te => te.GetLoggerManager(this.mockRequestData.Object)).Returns(this.loggerManager.Object); var tp = new TestableTestPlatform(this.testEngine.Object, this.mockFileHelper.Object, this.hostManager.Object); // Action var discoveryRequest = tp.CreateDiscoveryRequest(this.mockRequestData.Object, discoveryCriteria, new TestPlatformOptions()); // Verify this.extensionManager.Verify(em => em.UseAdditionalExtensions(additionalExtensions, false)); }
public void CreateTestRunRequestShouldNotUpdateTestSourcesIfSelectedTestAreRun() { var additionalExtensions = new List <string> { "foo.TestLogger.dll", "Joo.TestLogger.dll" }; this.mockFileHelper.Setup(fh => fh.DirectoryExists(It.IsAny <string>())).Returns(true); this.mockFileHelper.Setup(fh => fh.EnumerateFiles(It.IsAny <string>(), System.IO.SearchOption.TopDirectoryOnly, It.IsAny <string[]>())).Returns(additionalExtensions); this.executionManager.Setup(dm => dm.Initialize(false)).Verifiable(); string settingsXml = @"<?xml version=""1.0"" encoding=""utf-8""?> <RunSettings> <RunConfiguration> <DesignMode>false</DesignMode> </RunConfiguration> </RunSettings>"; var testRunCriteria = new TestRunCriteria(new List <TestCase> { new TestCase("dll1.class1.test1", new Uri("hello://x/"), "xyz\\1.dll") }, 10, false, settingsXml); this.hostManager.Setup(hm => hm.GetTestSources(It.IsAny <IEnumerable <string> >())) .Returns(new List <string> { "xyz\\1.dll" }); this.testEngine.Setup(te => te.GetExecutionManager(this.mockRequestData.Object, this.hostManager.Object, It.IsAny <TestRunCriteria>())).Returns(this.executionManager.Object); this.testEngine.Setup(te => te.GetExtensionManager()).Returns(this.extensionManager.Object); this.testEngine.Setup(te => te.GetLoggerManager(this.mockRequestData.Object)).Returns(this.loggerManager.Object); var tp = new TestableTestPlatform(this.testEngine.Object, this.mockFileHelper.Object, this.hostManager.Object); tp.CreateTestRunRequest(this.mockRequestData.Object, testRunCriteria, new TestPlatformOptions()); this.extensionManager.Verify(em => em.UseAdditionalExtensions(additionalExtensions, false)); this.hostManager.Verify(hm => hm.GetTestSources(It.IsAny <IEnumerable <string> >()), Times.Never); }