Skip to content

Commit 45432d1

Browse files
authored
Update Lambda Test Tool to support version 2.4.0 of Amazon.Lambda.Core (#1872)
1 parent 2c65c0d commit 45432d1

File tree

4 files changed

+58
-3
lines changed

4 files changed

+58
-3
lines changed
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"Projects": [
3+
{
4+
"Name": "Amazon.Lambda.TestTool.BlazorTester",
5+
"Type": "Patch",
6+
"ChangelogMessages": [
7+
"Fixed issue supporting parameterized logging APIs added to Amazon.Lambda.Core in version 2.4.0"
8+
]
9+
}
10+
]
11+
}

Tools/LambdaTestTool/src/Amazon.Lambda.TestTool/Amazon.Lambda.TestTool.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
</PropertyGroup>
1010

1111
<ItemGroup>
12-
<PackageReference Include="Amazon.Lambda.Core" Version="2.2.0" />
12+
<PackageReference Include="Amazon.Lambda.Core" Version="2.4.0" />
1313
<PackageReference Include="AWSSDK.SSO" Version="3.7.300.80" />
1414
<PackageReference Include="AWSSDK.SSOOIDC" Version="3.7.301.75" />
1515
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />

Tools/LambdaTestTool/src/Amazon.Lambda.TestTool/Runtime/LambdaMocks/LocalLambdaLogger.cs

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,39 @@
1-
using System.Text;
1+
using System;
2+
using System.Text;
23
using Amazon.Lambda.Core;
34

45
namespace Amazon.Lambda.TestTool.Runtime.LambdaMocks
56
{
67
public class LocalLambdaLogger : ILambdaLogger
78
{
89
private StringBuilder _buffer = new StringBuilder();
9-
10+
11+
public void Log(string level, string message)
12+
{
13+
_buffer.AppendLine($"Level = {level}, Message = {message}");
14+
}
15+
16+
public void Log(string level, string message, params object[] args)
17+
{
18+
_buffer.Append($"Level = {level}, Message = {message}");
19+
if (args?.Length > 0)
20+
_buffer.AppendLine($", Arguments = {string.Join(',', args)}");
21+
else
22+
_buffer.AppendLine();
23+
}
24+
25+
public void Log(string level, Exception exception, string message, params object[] args)
26+
{
27+
28+
_buffer.Append($"Level = {level}, Message = {message}");
29+
if (args?.Length > 0)
30+
_buffer.AppendLine($", Arguments = {string.Join(',', args)}");
31+
else
32+
_buffer.AppendLine();
33+
34+
_buffer.AppendLine(exception.ToString());
35+
}
36+
1037
public void Log(string message)
1138
{
1239
_buffer.Append(message);

Tools/LambdaTestTool/tests/Amazon.Lambda.TestTool.Tests/ConsoleCaptureTests.cs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,5 +37,22 @@ public void CaptureStandardError()
3737
Assert.DoesNotContain("NOT_CAPTURED", logger.Buffer);
3838
}
3939

40+
41+
[Fact]
42+
public void CallParameterizedLoggingMethods()
43+
{
44+
var logger = new LocalLambdaLogger();
45+
46+
logger.Log("INFO", "TheMessage");
47+
logger.Log("WARN", "TheMessage {argument}", "TheArgument");
48+
logger.Log("ERROR", new ApplicationException("TheApplicationException"), "TheMessageWithException");
49+
logger.Log("ERROR", new ApplicationException("TheApplicationException"), "TheMessageWithException {argument}", "TheExceptionArgument");
50+
51+
Assert.Contains("Level = INFO, Message = TheMessage", logger.Buffer);
52+
Assert.Contains("Level = WARN, Message = TheMessage {argument}, Arguments = TheArgument", logger.Buffer);
53+
Assert.Contains("Level = ERROR, Message = TheMessageWithException", logger.Buffer);
54+
Assert.Contains("System.ApplicationException: TheApplicationException", logger.Buffer);
55+
Assert.Contains("Level = ERROR, Message = TheMessageWithException {argument}, Arguments = TheExceptionArgument", logger.Buffer);
56+
}
4057
}
4158
}

0 commit comments

Comments
 (0)