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);
            }
Beispiel #2
0
        /// <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);
        }