public void DiscoverTestsShouldInitializeExtensionsWithExistingExtensionsOnly() { var inputExtensions = new[] { "abc.TestAdapter.dll", "def.TestAdapter.dll", "xyz.TestAdapter.dll" }; var expectedOutputPaths = new[] { "abc.TestAdapter.dll", "xyz.TestAdapter.dll" }; TestPluginCacheHelper.SetupMockAdditionalPathExtensions(inputExtensions); this.mockRequestSender.Setup(s => s.WaitForRequestHandlerConnection(It.IsAny <int>(), It.IsAny <CancellationToken>())).Returns(true); this.mockTestHostManager.Setup(th => th.GetTestPlatformExtensions(It.IsAny <IEnumerable <string> >(), It.IsAny <IEnumerable <string> >())).Returns((IEnumerable <string> sources, IEnumerable <string> extensions) => { return(extensions.Select(extension => { return Path.GetFileName(extension); })); }); this.mockFileHelper.Setup(fh => fh.Exists(It.IsAny <string>())).Returns((string extensionPath) => { return(!extensionPath.Contains("def.TestAdapter.dll")); }); this.mockFileHelper.Setup(fh => fh.Exists("def.TestAdapter.dll")).Returns(false); this.mockFileHelper.Setup(fh => fh.Exists("xyz.TestAdapter.dll")).Returns(true); var mockTestDiscoveryEventHandler = new Mock <ITestDiscoveryEventsHandler2>(); this.testDiscoveryManager.DiscoverTests(this.discoveryCriteria, mockTestDiscoveryEventHandler.Object); this.mockRequestSender.Verify(s => s.InitializeDiscovery(expectedOutputPaths), Times.Once); }
public void DiscoverTestsShouldInitializeExtensionsIfPresent() { // Make sure TestPlugincache is refreshed. TestPluginCache.Instance = null; try { var extensions = new[] { "c:\\e1.dll", "c:\\e2.dll" }; // Setup Mocks. TestPluginCacheHelper.SetupMockAdditionalPathExtensions(extensions); this.mockFileHelper.Setup(fh => fh.Exists(It.IsAny <string>())).Returns(true); this.mockRequestSender.Setup(s => s.WaitForRequestHandlerConnection(It.IsAny <int>(), It.IsAny <CancellationToken>())).Returns(true); this.mockTestHostManager.Setup(th => th.GetTestPlatformExtensions(It.IsAny <IEnumerable <string> >(), It.IsAny <IEnumerable <string> >())).Returns(new[] { "c:\\e1.dll", "c:\\e2.dll" }); this.testDiscoveryManager.DiscoverTests(this.discoveryCriteria, null); // Also verify that we have waited for client connection. this.mockRequestSender.Verify(s => s.InitializeDiscovery(extensions), Times.Once); } finally { TestPluginCache.Instance = null; } }
public void DiscoverTestExtensionsShouldSetCachedBoolToTrue() { TestPluginCacheHelper.SetupMockAdditionalPathExtensions(typeof(TestPluginCacheTests)); TestPluginCache.Instance.DiscoverTestExtensions <TestDiscovererPluginInformation, ITestDiscoverer>(TestPlatformConstants.TestAdapterEndsWithPattern); Assert.IsTrue(TestPluginCache.Instance.TestExtensions.AreTestDiscoverersCached); Assert.IsTrue(TestPluginCache.Instance.TestExtensions.AreTestExtensionsCached <TestDiscovererPluginInformation>()); }
public void GetTestExtensionsShouldReturnExtensionsInAssembly() { TestPluginCacheHelper.SetupMockAdditionalPathExtensions(typeof(TestPluginCacheTests)); TestPluginCache.Instance.GetTestExtensions <TestDiscovererPluginInformation, ITestDiscoverer>(typeof(TestPluginCacheTests).GetTypeInfo().Assembly.Location); Assert.IsNotNull(TestPluginCache.Instance.TestExtensions); Assert.IsTrue(TestPluginCache.Instance.TestExtensions.TestDiscoverers.Count > 0); }
public void TryGetTestExtensionShouldThrowExceptionWithNullUri() { testExtensionManager = new DummyTestExtensionManager(unfilteredTestExtensions, filteredTestExtensions, messageLogger); TestPluginCacheHelper.SetupMockAdditionalPathExtensions(typeof(TestExtensionManagerTests)); Assert.ThrowsException <ArgumentNullException>(() => { var result = testExtensionManager.TryGetTestExtension(default(Uri)); } ); }
public void DiscoverTestExtensionsShouldDiscoverExtensionsFromExtensionsFolder() { TestPluginCacheHelper.SetupMockAdditionalPathExtensions(typeof(TestPluginCacheTests)); TestPluginCache.Instance.DiscoverTestExtensions <TestDiscovererPluginInformation, ITestDiscoverer>(TestPlatformConstants.TestAdapterEndsWithPattern); Assert.IsNotNull(TestPluginCache.Instance.TestExtensions); // Validate the discoverers to be absolutely certain. Assert.IsTrue(TestPluginCache.Instance.TestExtensions.TestDiscoverers.Count > 0); }
public void DiscoverTestsShouldQueryTestHostManagerForExtensions() { TestPluginCache.Instance = null; try { TestPluginCacheHelper.SetupMockAdditionalPathExtensions(new[] { "c:\\e1.dll" }); this.mockFileHelper.Setup(fh => fh.Exists(It.IsAny <string>())).Returns(true); this.mockRequestSender.Setup(s => s.WaitForRequestHandlerConnection(It.IsAny <int>(), It.IsAny <CancellationToken>())).Returns(true); this.mockTestHostManager.Setup(th => th.GetTestPlatformExtensions(It.IsAny <IEnumerable <string> >(), It.IsAny <IEnumerable <string> >())).Returns(new[] { "he1.dll", "c:\\e1.dll" }); this.testDiscoveryManager.DiscoverTests(this.discoveryCriteria, null); this.mockRequestSender.Verify(s => s.InitializeDiscovery(new[] { "he1.dll", "c:\\e1.dll" }), Times.Once); } finally { TestPluginCache.Instance = null; } }