Skip to content

Commit 623f806

Browse files
committed
add tests for context
1 parent 01f61d8 commit 623f806

File tree

2 files changed

+47
-1
lines changed

2 files changed

+47
-1
lines changed

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

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,8 +169,14 @@ public void HandleWithLambdaContext(ILambdaContext context)
169169
}
170170

171171
[Metrics(Namespace = "ns", Service = "svc")]
172-
public void HandleWithLambdaContextAndMetrics(TestLambdaContext context)
172+
public void HandleColdStartNoContext()
173173
{
174174
Metrics.AddMetric("MyMetric", 1);
175175
}
176+
177+
[Metrics(Namespace = "ns", Service = "svc", CaptureColdStart = true)]
178+
public void HandleWithParamAndLambdaContext(string input, ILambdaContext context)
179+
{
180+
181+
}
176182
}

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

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,46 @@ public void When_LambdaContext_Should_Add_FunctioName_Dimension_CaptureColdStart
8888
"\"Metrics\":[{\"Name\":\"ColdStart\",\"Unit\":\"Count\"}],\"Dimensions\":[[\"FunctionName\"],[\"Service\"]]}]}",
8989
metricsOutput);
9090
}
91+
92+
[Fact]
93+
public void When_LambdaContext_And_Parameter_Should_Add_FunctioName_Dimension_CaptureColdStart()
94+
{
95+
// Arrange
96+
var context = new TestLambdaContext
97+
{
98+
FunctionName = "My Function with context"
99+
};
100+
101+
// Act
102+
_handler.HandleWithParamAndLambdaContext("Hello",context);
103+
var metricsOutput = _consoleOut.ToString();
104+
105+
// Assert
106+
Assert.Contains(
107+
"\"FunctionName\":\"My Function with context\"",
108+
metricsOutput);
109+
110+
Assert.Contains(
111+
"\"Metrics\":[{\"Name\":\"ColdStart\",\"Unit\":\"Count\"}],\"Dimensions\":[[\"FunctionName\"],[\"Service\"]]}]}",
112+
metricsOutput);
113+
}
114+
115+
[Fact]
116+
public void When_No_LambdaContext_Should_Not_Add_FunctioName_Dimension_CaptureColdStart()
117+
{
118+
// Act
119+
_handler.HandleColdStartNoContext();
120+
var metricsOutput = _consoleOut.ToString();
121+
122+
// Assert
123+
Assert.DoesNotContain(
124+
"\"FunctionName\"",
125+
metricsOutput);
126+
127+
Assert.Contains(
128+
"\"Metrics\":[{\"Name\":\"MyMetric\",\"Unit\":\"None\"}],\"Dimensions\":[[\"Service\"]]}]},\"Service\":\"svc\",\"MyMetric\":1}",
129+
metricsOutput);
130+
}
91131

92132
public void Dispose()
93133
{

0 commit comments

Comments
 (0)