Ejemplo n.º 1
0
        public void ExecutorShouldRunTestsWhenTestsAreFiltered()
        {
            var mockTestPlatform     = new Mock <ITestPlatform>();
            var mockTestRunRequest   = new Mock <ITestRunRequest>();
            var mockDiscoveryRequest = new Mock <IDiscoveryRequest>();

            ResetAndAddSourceToCommandLineOptions();

            List <TestCase> list = new List <TestCase>();

            list.Add(new TestCase("Test1", new Uri("http://FooTestUri1"), "Source1"));
            list.Add(new TestCase("Test2", new Uri("http://FooTestUri1"), "Source1"));
            mockDiscoveryRequest.Setup(dr => dr.DiscoverAsync()).Raises(dr => dr.OnDiscoveredTests += null, new DiscoveredTestsEventArgs(list));

            mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny <IRequestData>(), It.IsAny <TestRunCriteria>())).Returns(mockTestRunRequest.Object);
            mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny <IRequestData>(), It.IsAny <DiscoveryCriteria>())).Returns(mockDiscoveryRequest.Object);

            var testRequestManager = new TestRequestManager(CommandLineOptions.Instance, mockTestPlatform.Object, TestLoggerManager.Instance, TestRunResultAggregator.Instance, this.mockTestPlatformEventSource.Object, this.inferHelper, this.mockMetricsPublisherTask);
            var executor           = GetExecutor(testRequestManager);

            executor.Initialize("Test1");
            ArgumentProcessorResult argumentProcessorResult = executor.Execute();

            mockOutput.Verify(o => o.WriteLine(It.IsAny <string>(), OutputLevel.Warning), Times.Never);
            Assert.AreEqual(ArgumentProcessorResult.Success, argumentProcessorResult);
        }
Ejemplo n.º 2
0
        public void ExecutorExecuteShouldCatchInvalidOperationExceptionThrownDuringExecutionAndReturnFail()
        {
            var mockTestPlatform     = new Mock <ITestPlatform>();
            var mockTestRunRequest   = new Mock <ITestRunRequest>();
            var mockDiscoveryRequest = new Mock <IDiscoveryRequest>();

            List <TestCase> list = new List <TestCase>();

            list.Add(new TestCase("Test1", new Uri("http://FooTestUri1"), "Source1"));
            list.Add(new TestCase("Test2", new Uri("http://FooTestUri2"), "Source2"));
            mockDiscoveryRequest.Setup(dr => dr.DiscoverAsync()).Raises(dr => dr.OnDiscoveredTests += null, new DiscoveredTestsEventArgs(list));

            mockTestRunRequest.Setup(dr => dr.ExecuteAsync()).Throws(new SettingsException("DummySettingsException"));
            mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny <IRequestData>(), It.IsAny <TestRunCriteria>())).Returns(mockTestRunRequest.Object);
            mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny <IRequestData>(), It.IsAny <DiscoveryCriteria>())).Returns(mockDiscoveryRequest.Object);

            this.ResetAndAddSourceToCommandLineOptions();

            var testRequestManager = new TestRequestManager(CommandLineOptions.Instance, mockTestPlatform.Object, TestLoggerManager.Instance, TestRunResultAggregator.Instance, this.mockTestPlatformEventSource.Object, this.inferHelper, this.mockMetricsPublisherTask);
            var executor           = GetExecutor(testRequestManager);

            executor.Initialize("Test1");

            ArgumentProcessorResult argumentProcessorResult = executor.Execute();

            Assert.AreEqual(ArgumentProcessorResult.Fail, argumentProcessorResult);
        }
        public void ExecutorExecuteShouldForValidSourcesAndValidSelectedTestsRunsTestsAndReturnSuccess()
        {
            var mockTestPlatform     = new Mock <ITestPlatform>();
            var mockTestRunRequest   = new Mock <ITestRunRequest>();
            var mockDiscoveryRequest = new Mock <IDiscoveryRequest>();

            this.ResetAndAddSourceToCommandLineOptions();

            List <TestCase> list = new List <TestCase>();

            list.Add(new TestCase("Test1", new Uri("http://FooTestUri1"), "Source1"));
            mockDiscoveryRequest.Setup(dr => dr.DiscoverAsync()).Raises(dr => dr.OnDiscoveredTests += null, new DiscoveredTestsEventArgs(list));

            mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny <TestRunCriteria>())).Returns(mockTestRunRequest.Object);
            mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny <DiscoveryCriteria>())).Returns(mockDiscoveryRequest.Object);

            var testRequestManager = new TestRequestManager(CommandLineOptions.Instance, mockTestPlatform.Object, TestLoggerManager.Instance, TestRunResultAggregator.Instance, this.mockTestPlatformEventSource.Object);
            var executor           = GetExecutor(testRequestManager);

            executor.Initialize("Test1");

            ArgumentProcessorResult argumentProcessorResult = executor.Execute();

            Assert.AreEqual(ArgumentProcessorResult.Success, argumentProcessorResult);
        }
        public void ExecutorShouldWarnWhenTestsAreNotAvailable()
        {
            var mockTestPlatform     = new Mock <ITestPlatform>();
            var mockTestRunRequest   = new Mock <ITestRunRequest>();
            var mockDiscoveryRequest = new Mock <IDiscoveryRequest>();

            ResetAndAddSourceToCommandLineOptions();

            List <TestCase> list = new List <TestCase>();

            list.Add(new TestCase("Test2", new Uri("http://FooTestUri1"), "Source1"));
            mockDiscoveryRequest.Setup(dr => dr.DiscoverAsync()).Raises(dr => dr.OnDiscoveredTests += null, new DiscoveredTestsEventArgs(list));

            mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny <IRequestData>(), It.IsAny <TestRunCriteria>(), It.IsAny <TestPlatformOptions>())).Returns(mockTestRunRequest.Object);
            mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny <IRequestData>(), It.IsAny <DiscoveryCriteria>(), It.IsAny <TestPlatformOptions>())).Returns(mockDiscoveryRequest.Object);

            var testRequestManager = new TestRequestManager(CommandLineOptions.Instance, mockTestPlatform.Object, TestRunResultAggregator.Instance, this.mockTestPlatformEventSource.Object, this.inferHelper, this.mockMetricsPublisherTask);
            var executor           = GetExecutor(testRequestManager);

            executor.Initialize("Test1, Test2");
            ArgumentProcessorResult argumentProcessorResult = executor.Execute();

            mockOutput.Verify(o => o.WriteLine("A total of 1 tests were discovered but some tests do not match the specified selection criteria(Test1). Use right value(s) and try again.", OutputLevel.Warning), Times.Once);
            Assert.AreEqual(ArgumentProcessorResult.Success, argumentProcessorResult);
        }
Ejemplo n.º 5
0
        public void ExecutorExecuteShouldCatchInvalidOperationExceptionAndReturnFail()
        {
            var mockTestPlatform   = new Mock <ITestPlatform>();
            var mockTestRunRequest = new Mock <ITestRunRequest>();

            mockTestRunRequest.Setup(tr => tr.ExecuteAsync()).Throws(new InvalidOperationException("DummyInvalidOperationException"));
            mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny <IRequestData>(), It.IsAny <TestRunCriteria>())).Returns(mockTestRunRequest.Object);

            this.ResetAndAddSourceToCommandLineOptions();
            var testRequestManager = new TestRequestManager(CommandLineOptions.Instance, mockTestPlatform.Object, TestLoggerManager.Instance, TestRunResultAggregator.Instance, this.mockTestPlatformEventSource.Object, this.inferHelper, this.mockMetricsPublisherTask);
            var executor           = GetExecutor(testRequestManager);

            ArgumentProcessorResult argumentProcessorResult = executor.Execute();

            Assert.AreEqual(ArgumentProcessorResult.Fail, argumentProcessorResult);
        }
        public void ExecutorExecuteShouldForValidSourcesAndNoTestsDiscoveredShouldLogAppropriateWarningIfTestAdapterPathIsNotSetAndReturnSuccess()
        {
            var mockTestPlatform     = new Mock <ITestPlatform>();
            var mockDiscoveryRequest = new Mock <IDiscoveryRequest>();

            this.ResetAndAddSourceToCommandLineOptions();

            mockDiscoveryRequest.Setup(dr => dr.DiscoverAsync()).Raises(dr => dr.OnDiscoveredTests += null, new DiscoveredTestsEventArgs(new List <TestCase>()));
            mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny <IRequestData>(), It.IsAny <DiscoveryCriteria>(), It.IsAny <TestPlatformOptions>())).Returns(mockDiscoveryRequest.Object);
            var testRequestManager = new TestRequestManager(CommandLineOptions.Instance, mockTestPlatform.Object, TestRunResultAggregator.Instance, this.mockTestPlatformEventSource.Object, this.inferHelper, this.mockMetricsPublisherTask);
            var executor           = GetExecutor(testRequestManager);

            executor.Initialize("Test1");
            ArgumentProcessorResult argumentProcessorResult = executor.Execute();

            this.mockOutput.Verify(o => o.WriteLine("Starting test discovery, please wait...", OutputLevel.Information), Times.Once);
            this.mockOutput.Verify(o => o.WriteLine(NoDiscoveredTestsWarning + " " + TestAdapterPathSuggestion, OutputLevel.Warning), Times.Once);
            Assert.AreEqual(ArgumentProcessorResult.Success, argumentProcessorResult);
        }
        public void ExecutorExecuteShouldCatchSettingsExceptionThrownDuringDiscoveryAndReturnFail()
        {
            var mockTestPlatform     = new Mock <ITestPlatform>();
            var mockTestRunRequest   = new Mock <ITestRunRequest>();
            var mockDiscoveryRequest = new Mock <IDiscoveryRequest>();

            mockDiscoveryRequest.Setup(dr => dr.DiscoverAsync()).Throws(new SettingsException("DummySettingsException"));
            mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny <TestRunCriteria>(), It.IsAny <ProtocolConfig>())).Returns(mockTestRunRequest.Object);
            mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny <DiscoveryCriteria>(), It.IsAny <ProtocolConfig>())).Returns(mockDiscoveryRequest.Object);

            this.ResetAndAddSourceToCommandLineOptions();

            var testRequestManager = new TestRequestManager(CommandLineOptions.Instance, mockTestPlatform.Object, TestLoggerManager.Instance, TestRunResultAggregator.Instance, this.mockTestPlatformEventSource.Object);
            var executor           = GetExecutor(testRequestManager);

            ArgumentProcessorResult argumentProcessorResult = executor.Execute();

            Assert.AreEqual(ArgumentProcessorResult.Fail, argumentProcessorResult);
        }
Ejemplo n.º 8
0
        public void ExecutorExecuteShouldForValidSourcesAndNoTestsDiscoveredShouldLogWarningAndReturnSuccess()
        {
            var mockTestPlatform     = new Mock <ITestPlatform>();
            var mockTestRunRequest   = new Mock <ITestRunRequest>();
            var mockDiscoveryRequest = new Mock <IDiscoveryRequest>();

            this.ResetAndAddSourceToCommandLineOptions();

            // Setting some testdapterpath
            CommandLineOptions.Instance.TestAdapterPath = @"C:\Foo";

            mockDiscoveryRequest.Setup(dr => dr.DiscoverAsync()).Raises(dr => dr.OnDiscoveredTests += null, new DiscoveredTestsEventArgs(new List <TestCase>()));
            mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny <DiscoveryCriteria>(), It.IsAny <ProtocolConfig>())).Returns(mockDiscoveryRequest.Object);
            var testRequestManager = new TestRequestManager(CommandLineOptions.Instance, mockTestPlatform.Object, TestLoggerManager.Instance, TestRunResultAggregator.Instance, this.mockTestPlatformEventSource.Object);
            var executor           = GetExecutor(testRequestManager);

            executor.Initialize("Test1");
            ArgumentProcessorResult argumentProcessorResult = executor.Execute();

            this.mockOutput.Verify(o => o.WriteLine("Starting test discovery, please wait...", OutputLevel.Information), Times.Once);
            this.mockOutput.Verify(o => o.WriteLine(NoDiscoveredTestsWarning, OutputLevel.Warning), Times.Once);
            Assert.AreEqual(ArgumentProcessorResult.Success, argumentProcessorResult);
        }