public async Task TestResultLogPlugin_DisableIfExceptionThrown()
        {
            var agentContext  = new Mock <IAgentLogPluginContext>();
            var vssConnection = new Mock <VssConnection>(new Uri("http://fake"), new VssCredentials());
            var logParser     = new Mock <ILogParserGateway>();
            var telemetry     = new Mock <ITelemetryDataCollector>();

            telemetry.Setup(x => x.PublishCumulativeTelemetryAsync()).Returns(Task.FromResult(TaskResult.Succeeded));

            agentContext.Setup(x => x.VssConnection).Returns(vssConnection.Object);
            agentContext.Setup(x => x.Steps).Returns(new List <TaskStepDefinitionReference>()
            {
                new TaskStepDefinitionReference()
                {
                    Id = new Guid("1B0F01ED-7DDE-43FF-9CBB-E48954DAF9B1")
                }
            });
            agentContext.Setup(x => x.Variables).Returns(new Dictionary <string, VariableValue>()
            {
                { "system.hosttype", new VariableValue("build") },
                { "system.servertype", new VariableValue("Hosted") },
                { "build.repository.provider", new VariableValue("GitHub") },
                { "build.buildId", new VariableValue("1") }
            });

            logParser.Setup(x => x.InitializeAsync(It.IsAny <IClientFactory>(), It.IsAny <IPipelineConfig>(), It.IsAny <ITraceLogger>(), It.IsAny <ITelemetryDataCollector>()))
            .Throws(new Exception("some exception"));

            var plugin = new TestResultLogPlugin(logParser.Object, null, telemetry.Object);
            var result = await plugin.InitializeAsync(agentContext.Object);

            Assert.True(result == false);
            agentContext.Verify(x => x.Output(It.Is <string>(msg => msg.Contains("Unable to initialize TestResultLogParser"))), Times.Once);
        }
        public async Task TestResultLogPlugin_DisableForInvalidBuildContext()
        {
            var agentContext = new Mock <IAgentLogPluginContext>();
            var logger       = new Mock <ITraceLogger>();
            var telemetry    = new Mock <ITelemetryDataCollector>();
            var logParser    = new Mock <ILogParserGateway>();
            var plugin       = new TestResultLogPlugin(logParser.Object, logger.Object, telemetry.Object);

            agentContext.Setup(x => x.Variables).Returns(new Dictionary <string, VariableValue>()
            {
                { "system.hosttype", new VariableValue("build") },
                { "system.servertype", new VariableValue("Hosted") }
            });
            agentContext.Setup(x => x.Steps).Returns(new List <TaskStepDefinitionReference>()
            {
                new TaskStepDefinitionReference()
                {
                    Id = new Guid("1B0F01ED-7DDE-43FF-9CBB-E48954DAF9B1")
                }
            });

            var result = await plugin.InitializeAsync(agentContext.Object);

            Assert.True(result == false);
        }
Esempio n. 3
0
        public async Task TestResultLogPlugin_EnableForBuildPipeline()
        {
            var agentContext  = new Mock <IAgentLogPluginContext>();
            var vssConnection = new Mock <VssConnection>(new Uri("http://fake"), new VssCredentials());
            var logParser     = new Mock <ILogParserGateway>();

            agentContext.Setup(x => x.Steps).Returns(new List <TaskStepDefinitionReference>()
            {
                new TaskStepDefinitionReference()
                {
                    Id = new Guid("1B0F01ED-7DDE-43FF-9CBB-E48954DAF9B1")
                }
            });

            agentContext.Setup(x => x.VssConnection).Returns(vssConnection.Object);
            agentContext.Setup(x => x.Variables).Returns(new Dictionary <string, VariableValue>()
            {
                { "system.hosttype", new VariableValue("build") },
                { "system.servertype", new VariableValue("Hosted") },
                { "build.buildId", new VariableValue("1") },
                { "build.repository.provider", new VariableValue("Github") }
            });
            logParser.Setup(x => x.InitializeAsync(It.IsAny <IClientFactory>(), It.IsAny <IPipelineConfig>(), It.IsAny <ITraceLogger>()))
            .Returns(Task.CompletedTask);

            var plugin = new TestResultLogPlugin {
                InputDataParser = logParser.Object
            };
            var result = await plugin.InitializeAsync(agentContext.Object);

            Assert.True(result == true);
        }
Esempio n. 4
0
        public async Task TestResultLogPlugin_DisableIfExceptionThrown()
        {
            var agentContext = new Mock <IAgentLogPluginContext>();
            var logParser    = new Mock <ILogParserGateway>();

            agentContext.Setup(x => x.Steps).Returns(new List <TaskStepDefinitionReference>()
            {
                new TaskStepDefinitionReference()
                {
                    Id = new Guid("1B0F01ED-7DDE-43FF-9CBB-E48954DAF9B1")
                }
            });
            agentContext.Setup(x => x.Variables).Returns(new Dictionary <string, VariableValue>()
            {
                { "system.hosttype", new VariableValue("build") },
                { "system.servertype", new VariableValue("Hosted") },
                { "build.repository.provider", new VariableValue("GitHub") },
                { "build.buildId", new VariableValue("1") }
            });
            logParser.Setup(x => x.InitializeAsync(It.IsAny <IClientFactory>(), It.IsAny <IPipelineConfig>(), It.IsAny <ITraceLogger>()))
            .Throws(new Exception("some exception"));

            var plugin = new TestResultLogPlugin()
            {
                InputDataParser = logParser.Object
            };
            var result = await plugin.InitializeAsync(agentContext.Object);

            Assert.True(result == false);
            agentContext.Verify(x => x.Output(It.Is <string>(msg => msg.Contains("Unable to initialize Test Result Log Parser"))), Times.Once);
        }
Esempio n. 5
0
        public async Task TestResultLogPlugin_DisableIfNotBuildPipeline()
        {
            var agentContext = new Mock <IAgentLogPluginContext>();
            var plugin       = new TestResultLogPlugin();

            agentContext.Setup(x => x.Variables).Returns(new Dictionary <string, VariableValue>()
            {
                { "system.hosttype", new VariableValue("release") }
            });

            var result = await plugin.InitializeAsync(agentContext.Object);

            Assert.True(result == false);
        }
        public async Task TestResultLogPlugin_DisableIfOnPremPipeline()
        {
            var agentContext = new Mock <IAgentLogPluginContext>();
            var logger       = new Mock <ITraceLogger>();
            var telemetry    = new Mock <ITelemetryDataCollector>();
            var logParser    = new Mock <ILogParserGateway>();
            var plugin       = new TestResultLogPlugin(logParser.Object, logger.Object, telemetry.Object);

            agentContext.Setup(x => x.Variables).Returns(new Dictionary <string, VariableValue>()
            {
                { "system.hosttype", new VariableValue("build") },
                { "system.servertype", new VariableValue("OnPrem") }
            });

            var result = await plugin.InitializeAsync(agentContext.Object);

            Assert.True(result == false);
        }
        public async Task TestResultLogPlugin_DisableWhenServerTypeNotSet()
        {
            var agentContext = new Mock <IAgentLogPluginContext>();
            var logger       = new Mock <ITraceLogger>();
            var telemetry    = new Mock <ITelemetryDataCollector>();
            var logParser    = new Mock <ILogParserGateway>();
            var plugin       = new TestResultLogPlugin(logParser.Object, logger.Object, telemetry.Object);

            telemetry.Setup(x => x.PublishCumulativeTelemetryAsync()).Returns(Task.FromResult(TaskResult.Succeeded));

            agentContext.Setup(x => x.Variables).Returns(new Dictionary <string, VariableValue>()
            {
                { "system.servertype", null }
            });

            var result = await plugin.InitializeAsync(agentContext.Object);

            Assert.True(result == false);
        }
        public async Task TestResultLogPlugin_EnableForBuildPipeline()
        {
            var agentContext  = new Mock <IAgentLogPluginContext>();
            var vssConnection = new Mock <VssConnection>(new Uri("http://fake"), new VssCredentials());
            var logParser     = new Mock <ILogParserGateway>();
            var logger        = new Mock <ITraceLogger>();
            var telemetry     = new Mock <ITelemetryDataCollector>();

            telemetry.Setup(x => x.PublishCumulativeTelemetryAsync()).Returns(Task.FromResult(TaskResult.Succeeded));
            telemetry.Setup(x => x.PublishTelemetryAsync(It.IsAny <string>(), It.IsAny <Dictionary <string, Object> >())).Callback <string, Dictionary <string, Object> >((feature, props) => TelemetryPropsUtil.AssertPipelineData(props)).Returns(Task.FromResult(TaskResult.Succeeded));


            agentContext.Setup(x => x.Steps).Returns(new List <TaskStepDefinitionReference>()
            {
                new TaskStepDefinitionReference()
                {
                    Id = new Guid("1B0F01ED-7DDE-43FF-9CBB-E48954DAF9B1")
                }
            });

            Dictionary <string, VariableValue> agentContextVariables = new Dictionary <string, VariableValue>()
            {
                { "system.hosttype", new VariableValue("build") },
                { "system.servertype", new VariableValue("Hosted") },
                { "build.repository.provider", new VariableValue("GitHub") },
                { "build.buildId", new VariableValue("1") },
                { "agent.tempdirectory", new VariableValue("/tmp") },
                { "agent.testfilepublisher.pattern", new VariableValue("test-*.xml") },
                { "agent.testfilepublisher.searchfolders", new VariableValue("agent.tempdirectory") }
            };

            TelemetryPropsUtil.AddPipelineDataIntoAgentContext(agentContextVariables);
            agentContext.Setup(x => x.VssConnection).Returns(vssConnection.Object);
            agentContext.Setup(x => x.Variables).Returns(agentContextVariables);

            logParser.Setup(x => x.InitializeAsync(It.IsAny <IClientFactory>(), It.IsAny <IPipelineConfig>(), It.IsAny <ITraceLogger>(), It.IsAny <ITelemetryDataCollector>()))
            .Returns(Task.CompletedTask);

            var plugin = new TestResultLogPlugin(logParser.Object, logger.Object, telemetry.Object);
            var result = await plugin.InitializeAsync(agentContext.Object);

            Assert.True(result == true);
        }
Esempio n. 9
0
        public async Task TestResultLogPlugin_DisableIfPublishTaskPresent()
        {
            var agentContext = new Mock <IAgentLogPluginContext>();
            var plugin       = new TestResultLogPlugin();

            agentContext.Setup(x => x.Variables).Returns(new Dictionary <string, VariableValue>()
            {
                { "system.hosttype", new VariableValue("build") },
                { "system.servertype", new VariableValue("Hosted") }
            });

            agentContext.Setup(x => x.Steps).Returns(new List <TaskStepDefinitionReference>()
            {
                new TaskStepDefinitionReference()
                {
                    Id = new Guid("0B0F01ED-7DDE-43FF-9CBB-E48954DAF9B1")
                }
            });

            var result = await plugin.InitializeAsync(agentContext.Object);

            Assert.True(result == false);
        }