diff --git a/src/Sdk/RSWebApi/RunServiceHttpClient.cs b/src/Sdk/RSWebApi/RunServiceHttpClient.cs index 66bd08a98..bb1407706 100644 --- a/src/Sdk/RSWebApi/RunServiceHttpClient.cs +++ b/src/Sdk/RSWebApi/RunServiceHttpClient.cs @@ -253,11 +253,12 @@ namespace GitHub.Actions.RunService.WebApi return false; } - private static string Truncate(string errorBody) + internal static string Truncate(string errorBody) { - if (errorBody.Length > 100) + const int maxLength = 200; + if (errorBody.Length > maxLength) { - return errorBody.Substring(0, 100) + "[truncated]"; + return errorBody.Substring(0, maxLength) + "[truncated]"; } return errorBody; diff --git a/src/Test/L0/Sdk/RSWebApi/RunServiceHttpClientL0.cs b/src/Test/L0/Sdk/RSWebApi/RunServiceHttpClientL0.cs new file mode 100644 index 000000000..b4f3e54ac --- /dev/null +++ b/src/Test/L0/Sdk/RSWebApi/RunServiceHttpClientL0.cs @@ -0,0 +1,20 @@ +using GitHub.Actions.RunService.WebApi; +using Xunit; + +namespace GitHub.Actions.RunService.WebApi.Tests; + +public sealed class RunServiceHttpClientL0 +{ + [Fact] + public void Truncate() + { + TestTruncate(string.Empty.PadLeft(199, 'a'), string.Empty.PadLeft(199, 'a')); + TestTruncate(string.Empty.PadLeft(200, 'a'), string.Empty.PadLeft(200, 'a')); + TestTruncate(string.Empty.PadLeft(201, 'a'), string.Empty.PadLeft(200, 'a') + "[truncated]"); + } + + private void TestTruncate(string errorBody, string expected) + { + Assert.Equal(expected, RunServiceHttpClient.Truncate(errorBody)); + } +}