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"); }
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"); }
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()); }
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"); }
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"); }
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()); }
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); }