Skip to content

Commit 99073ba

Browse files
committed
fix console tests
1 parent fe360e1 commit 99073ba

File tree

3 files changed

+17
-26
lines changed

3 files changed

+17
-26
lines changed

libraries/src/AWS.Lambda.Powertools.Common/Core/ConsoleWrapper.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,4 +72,9 @@ internal static void WriteLine(string logLevel, string message)
7272
{
7373
Console.WriteLine($"{DateTime.UtcNow:yyyy-MM-ddTHH:mm:ss.fffZ}\t{logLevel}\t{message}");
7474
}
75+
76+
public static void ResetForTest()
77+
{
78+
_override = false;
79+
}
7580
}

libraries/tests/AWS.Lambda.Powertools.Common.Tests/ConsoleWrapperTests.cs

Lines changed: 11 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
namespace AWS.Lambda.Powertools.Common.Tests;
66

7-
public class ConsoleWrapperTests
7+
public class ConsoleWrapperTests : IDisposable
88
{
99
[Fact]
1010
public void WriteLine_Should_Write_To_Console()
@@ -61,11 +61,11 @@ public void OverrideLambdaLogger_Should_Override_Console_Out()
6161
try
6262
{
6363
var consoleWrapper = new ConsoleWrapper();
64-
64+
6565
// Act - create a custom StringWriter and set it after constructor
6666
// but before WriteLine (which triggers OverrideLambdaLogger)
6767
var writer = new StringWriter();
68-
Console.SetOut(writer);
68+
ConsoleWrapper.SetOut(writer);
6969

7070
consoleWrapper.WriteLine("test message");
7171

@@ -75,7 +75,7 @@ public void OverrideLambdaLogger_Should_Override_Console_Out()
7575
finally
7676
{
7777
// Restore original console out
78-
Console.SetOut(originalOut);
78+
ConsoleWrapper.ResetForTest();
7979
}
8080
}
8181

@@ -86,7 +86,7 @@ public void WriteLine_WritesMessageToConsole()
8686
var consoleWrapper = new ConsoleWrapper();
8787
var originalOutput = Console.Out;
8888
using var stringWriter = new StringWriter();
89-
Console.SetOut(stringWriter);
89+
ConsoleWrapper.SetOut(stringWriter);
9090

9191
try
9292
{
@@ -100,30 +100,10 @@ public void WriteLine_WritesMessageToConsole()
100100
finally
101101
{
102102
// Restore original output
103-
Console.SetOut(originalOutput);
103+
ConsoleWrapper.ResetForTest();
104104
}
105105
}
106106

107-
[Fact]
108-
public void Error_WritesMessageToErrorOutput()
109-
{
110-
// Arrange
111-
var consoleWrapper = new ConsoleWrapper();
112-
var writer = new StringWriter();
113-
114-
// This sets _override = true, preventing Error from creating a new stream
115-
ConsoleWrapper.SetOut(writer);
116-
Console.SetError(writer);
117-
118-
// Act
119-
consoleWrapper.Error("Error message");
120-
writer.Flush();
121-
122-
// Assert
123-
var output = writer.ToString();
124-
Assert.Contains("Error message", output);
125-
}
126-
127107
[Fact]
128108
public void SetOut_OverridesConsoleOutput()
129109
{
@@ -176,4 +156,9 @@ public void StaticWriteLine_FormatsLogMessageCorrectly()
176156
Console.SetOut(originalOutput);
177157
}
178158
}
159+
160+
public void Dispose()
161+
{
162+
ConsoleWrapper.ResetForTest();
163+
}
179164
}

libraries/tests/AWS.Lambda.Powertools.Metrics.Tests/Handlers/FunctionHandlerTests.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -417,5 +417,6 @@ public void Dispose()
417417
{
418418
Metrics.ResetForTest();
419419
MetricsAspect.ResetForTest();
420+
ConsoleWrapper.ResetForTest();
420421
}
421422
}

0 commit comments

Comments
 (0)