示例#1
0
        public void AbortShouldCallAllConcurrentManagersOnce()
        {
            var parallelDiscoveryManager = new ParallelProxyDiscoveryManager(this.mockRequestData.Object, this.proxyManagerFunc, 4, false);

            parallelDiscoveryManager.Abort();

            Assert.AreEqual(4, createdMockManagers.Count, "Number of Concurrent Managers created should be 4");
            createdMockManagers.ForEach(dm => dm.Verify(m => m.Abort(), Times.Once));
        }
        public void InitializeShouldCallAllConcurrentManagersOnce()
        {
            var parallelDiscoveryManager = new ParallelProxyDiscoveryManager(this.proxyManagerFunc, 3, false);

            parallelDiscoveryManager.Initialize();

            Assert.AreEqual(3, createdMockManagers.Count, "Number of Concurrent Managers created should be 3");
            createdMockManagers.ForEach(dm => dm.Verify(m => m.Initialize(), Times.Once));
        }
示例#3
0
        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);
        }
示例#4
0
        private void InvokeAndVerifyInitialize(int concurrentManagersCount, bool skipDefaultAdapters = false)
        {
            var parallelDiscoveryManager = new ParallelProxyDiscoveryManager(this.mockRequestData.Object, this.proxyManagerFunc, concurrentManagersCount, false);

            // Action
            parallelDiscoveryManager.Initialize(skipDefaultAdapters);

            // Verify
            Assert.AreEqual(concurrentManagersCount, createdMockManagers.Count, $"Number of Concurrent Managers created should be {concurrentManagersCount}");
            createdMockManagers.ForEach(dm => dm.Verify(m => m.Initialize(skipDefaultAdapters), Times.Once));
        }
示例#5
0
        private IParallelProxyDiscoveryManager SetupDiscoveryManager(Func <IProxyDiscoveryManager> getProxyManager, int parallelLevel, bool abortDiscovery, int totalTests = 20)
        {
            var parallelDiscoveryManager = new ParallelProxyDiscoveryManager(this.mockRequestData.Object, getProxyManager, parallelLevel, false);

            this.SetupDiscoveryTests(this.processedSources, abortDiscovery);

            // Setup a complete handler for parallel discovery manager
            this.mockHandler.Setup(mh => mh.HandleDiscoveryComplete(It.IsAny <DiscoveryCompleteEventArgs>(), null))
            .Callback <DiscoveryCompleteEventArgs, IEnumerable <TestCase> >(
                (discoveryCompleteEventArgs, lastChunk) => { this.discoveryCompleted.Set(); });

            return(parallelDiscoveryManager);
        }
        private IParallelProxyDiscoveryManager SetupDiscoveryManager(Func <IProxyDiscoveryManager> proxyManagerFunc, int parallelLevel, bool abortDiscovery, int totalTests = 20)
        {
            var parallelDiscoveryManager = new ParallelProxyDiscoveryManager(this.proxyManagerFunc, 2, false);

            this.SetupDiscoveryTests(this.processedSources, abortDiscovery);

            // Setup a complete handler for parallel discovery manager
            this.mockHandler.Setup(mh => mh.HandleDiscoveryComplete(totalTests, null, abortDiscovery))
            .Callback <long, IEnumerable <TestCase>, bool>(
                (totalTests1, lastChunk, aborted) => { this.discoveryCompleted.Set(); });

            return(parallelDiscoveryManager);
        }