public void Should_Log_Status_With_Error_Details(string message, MyGetBuildStatus status, string errorDetails, string expectedMessage, string expectedStatus, string expectedDetails) { // Given var fixture = new MyGetFixture(); var provider = fixture.CreateMyGetProvider(); // When provider.WriteStatus(message, status, errorDetails); // Then var entry = Assert.Single(fixture.Writer.Entries); Assert.Equal($"##myget[message text='{expectedMessage}' status='{expectedStatus}' errorDetails='{expectedDetails}']", entry); }
/// <summary> /// Write a status message to the MyGet build log. /// </summary> /// <param name="message">Message contents.</param> /// <param name="status">Build status.</param> /// <param name="errorDetails">Error details if status is error.</param> public void WriteStatus(string message, MyGetBuildStatus status, string errorDetails = null) { var statusToWrite = string.Empty; switch (status) { case MyGetBuildStatus.Failure: statusToWrite = "FAILURE"; break; case MyGetBuildStatus.Error: statusToWrite = "ERROR"; break; case MyGetBuildStatus.Warning: statusToWrite = "WARNING"; break; case MyGetBuildStatus.Normal: statusToWrite = "NORMAL"; break; } var attrs = new Dictionary <string, string> { { "text", message }, { "status", statusToWrite } }; if (errorDetails != null) { attrs.Add("errorDetails", errorDetails); } WriteServiceMessage("message", attrs); }