コード例 #1
0
            public void Should_Log_Warning_Message_With_Data()
            {
                // Given
                var fixture = new AzurePipelinesFixture();
                var service = fixture.CreateAzurePipelinesService();

                // When
                service.Commands.WriteWarning("build warning", new AzurePipelinesMessageData
                {
                    SourcePath   = "./code file.cs",
                    LineNumber   = 5,
                    ColumnNumber = 12,
                    ErrorCode    = 9
                });

                // Then
                Assert.Contains(fixture.Writer.Entries, m => m == $"##vso[task.logissue sourcepath=./code file.cs;linenumber=5;columnnumber=12;code=9;type=warning;]build warning");
            }
コード例 #2
0
            public void Should_Log_Error_Message_With_Data()
            {
                // Given
                var fixture = new AzurePipelinesFixture();
                var service = fixture.CreateAzurePipelinesService();

                // When
                service.Commands.WriteError("build error", new AzurePipelinesMessageData
                {
                    SourcePath   = "./code.cs",
                    LineNumber   = 1,
                    ColumnNumber = 2,
                    ErrorCode    = 3
                });

                // Then
                Assert.Contains(fixture.Writer.Entries, m => m == $"##vso[task.logissue sourcepath=./code.cs;linenumber=1;columnnumber=2;code=3;type=error;]build error");
            }
コード例 #3
0
            public void Should_Publish_Code_Coverage_If_File_Path_And_Action_Provided()
            {
                const string expected = @"##vso[codecoverage.publish codecoveragetool=Cobertura;summaryfile=C:\build\CAKE-CAKE-JOB1\coverage\cobertura-coverage.xml;reportdirectory=C:\build\CAKE-CAKE-JOB1\coverage\report;]";

                // Given
                var fixture = new AzurePipelinesFixture();
                var service = fixture.CreateAzurePipelinesService();

                // When
                service.Commands.PublishCodeCoverage("./coverage/cobertura-coverage.xml",
                                                     data =>
                {
                    data.CodeCoverageTool = AzurePipelinesCodeCoverageToolType.Cobertura;
                    data.ReportDirectory  = "./coverage/report";
                });

                // Then
                Assert.Equal(expected.Replace('\\', System.IO.Path.DirectorySeparatorChar), fixture.Writer.Entries.FirstOrDefault());
            }
コード例 #4
0
            public void Should_Update_Existing_Record()
            {
                // Given
                var fixture = new AzurePipelinesFixture();
                var service = fixture.CreateAzurePipelinesService();
                var guid    = Guid.NewGuid();
                var parent  = Guid.NewGuid();

                // When
                service.Commands.UpdateRecord(guid, new AzurePipelinesRecordData
                {
                    Progress     = 95,
                    Status       = AzurePipelinesTaskStatus.InProgress,
                    ParentRecord = parent
                });

                // Then
                Assert.Contains(fixture.Writer.Entries, m => m == $"##vso[task.logdetail parentid={parent.ToString()};progress=95;state=InProgress;id={guid.ToString()};]update");
            }
コード例 #5
0
            public void Should_Create_New_Record_With_Data()
            {
                // Given
                var fixture = new AzurePipelinesFixture();
                var service = fixture.CreateAzurePipelinesService();
                var date    = DateTime.UtcNow;

                // When
                var guid = service.Commands.CreateNewRecord("New record", "build", 2, new AzurePipelinesRecordData
                {
                    StartTime = date,
                    Progress  = 75,
                    Status    = AzurePipelinesTaskStatus.Initialized
                });

                // Then
                Assert.NotNull(guid);
                Assert.Contains(fixture.Writer.Entries, m => m == $"##vso[task.logdetail starttime={date.ToString()};progress=75;state=Initialized;id={guid.ToString()};name=New record;type=build;order=2;]create new timeline record");
            }
コード例 #6
0
            public void Should_Publish_Code_Coverage()
            {
                const string expected = @"##vso[codecoverage.publish codecoveragetool=Cobertura;summaryfile=/build/CAKE-CAKE-JOB1/coverage/cobertura-coverage.xml;reportdirectory=/build/CAKE-CAKE-JOB1/coverage/report;]";

                // Given
                var fixture = new AzurePipelinesFixture();
                var service = fixture.CreateAzurePipelinesService(PlatformFamily.OSX, "/build/CAKE-CAKE-JOB1");
                var data    = new AzurePipelinesPublishCodeCoverageData
                {
                    CodeCoverageTool    = AzurePipelinesCodeCoverageToolType.Cobertura,
                    SummaryFileLocation = "./coverage/cobertura-coverage.xml",
                    ReportDirectory     = "./coverage/report"
                };

                // When
                service.Commands.PublishCodeCoverage(data);

                // Then
                Assert.Equal(expected.Replace('/', System.IO.Path.DirectorySeparatorChar), fixture.Writer.Entries.FirstOrDefault());
            }
コード例 #7
0
            public void Should_Publish_Code_Coverage_Windows()
            {
                // Given
                var fixture = new AzurePipelinesFixture();
                var service = fixture.CreateAzurePipelinesService();
                var data    = new AzurePipelinesPublishCodeCoverageData
                {
                    CodeCoverageTool    = AzurePipelinesCodeCoverageToolType.Cobertura,
                    SummaryFileLocation = "./coverage/cobertura-coverage.xml",
                    ReportDirectory     = "./coverage/report"
                };

                // When
                service.Commands.PublishCodeCoverage(data);

                // Then
                const string expected = @"##vso[codecoverage.publish codecoveragetool=Cobertura;summaryfile=C:\build\CAKE-CAKE-JOB1\coverage\cobertura-coverage.xml;reportdirectory=C:\build\CAKE-CAKE-JOB1\coverage\report;]";
                var          actual   = fixture.Log.Entries.FirstOrDefault();

                Assert.Equal(expected.Replace('\\', System.IO.Path.DirectorySeparatorChar), actual?.Message);
            }