-
Notifications
You must be signed in to change notification settings - Fork 488
/
Copy pathConsoleCaptureTests.cs
58 lines (49 loc) · 2.16 KB
/
ConsoleCaptureTests.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
using System;
using Xunit;
using Amazon.Lambda.TestTool;
using Amazon.Lambda.TestTool.Runtime;
using Amazon.Lambda.TestTool.Runtime.LambdaMocks;
namespace Amazon.Lambda.TestTool.Tests
{
public class ConsoleCaptureTests
{
[Fact]
public void CaptureStandardOut()
{
var logger = new LocalLambdaLogger();
using (var captiure = new ConsoleOutWrapper(logger))
{
Console.WriteLine("CAPTURED");
}
Console.WriteLine("NOT_CAPTURED");
Assert.Contains("CAPTURED", logger.Buffer);
Assert.DoesNotContain("NOT_CAPTURED", logger.Buffer);
}
[Fact]
public void CaptureStandardError()
{
var logger = new LocalLambdaLogger();
using (var captiure = new ConsoleOutWrapper(logger))
{
Console.Error.WriteLine("CAPTURED");
}
Console.Error.WriteLine("NOT_CAPTURED");
Assert.Contains("CAPTURED", logger.Buffer);
Assert.DoesNotContain("NOT_CAPTURED", logger.Buffer);
}
[Fact]
public void CallParameterizedLoggingMethods()
{
var logger = new LocalLambdaLogger();
logger.Log("INFO", "TheMessage");
logger.Log("WARN", "TheMessage {argument}", "TheArgument");
logger.Log("ERROR", new ApplicationException("TheApplicationException"), "TheMessageWithException");
logger.Log("ERROR", new ApplicationException("TheApplicationException"), "TheMessageWithException {argument}", "TheExceptionArgument");
Assert.Contains("Level = INFO, Message = TheMessage", logger.Buffer);
Assert.Contains("Level = WARN, Message = TheMessage {argument}, Arguments = TheArgument", logger.Buffer);
Assert.Contains("Level = ERROR, Message = TheMessageWithException", logger.Buffer);
Assert.Contains("System.ApplicationException: TheApplicationException", logger.Buffer);
Assert.Contains("Level = ERROR, Message = TheMessageWithException {argument}, Arguments = TheExceptionArgument", logger.Buffer);
}
}
}