Skip to content

Commit ce9bf85

Browse files
committed
add metrics tests
1 parent eab141d commit ce9bf85

File tree

1 file changed

+78
-0
lines changed

1 file changed

+78
-0
lines changed

libraries/tests/AWS.Lambda.Powertools.Metrics.Tests/MetricsTests.cs

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,4 +243,82 @@ public void When_ColdStart_And_DefaultDimensions_Is_Null_Should_Only_Add_Service
243243
Arg.Is<string>(s => s.Contains("\"CloudWatchMetrics\":[{\"Namespace\":\"dotnet-powertools-test\",\"Metrics\":[{\"Name\":\"ColdStart\",\"Unit\":\"Count\"}],\"Dimensions\":[[\"FunctionName\"]]}]},\"FunctionName\":\"TestFunction\",\"ColdStart\":1}"))
244244
);
245245
}
246+
247+
[Fact]
248+
public void Namespace_Should_Return_OptionsNamespace()
249+
{
250+
// Arrange
251+
Metrics.ResetForTest();
252+
var metricsMock = Substitute.For<IMetrics>();
253+
var optionsMock = new MetricsOptions
254+
{
255+
Namespace = "TestNamespace"
256+
};
257+
258+
metricsMock.Options.Returns(optionsMock);
259+
Metrics.UseMetricsForTests(metricsMock);
260+
261+
// Act
262+
var result = Metrics.Namespace;
263+
264+
// Assert
265+
Assert.Equal("TestNamespace", result);
266+
}
267+
268+
[Fact]
269+
public void Service_Should_Return_OptionsService()
270+
{
271+
// Arrange
272+
Metrics.ResetForTest();
273+
var metricsMock = Substitute.For<IMetrics>();
274+
var optionsMock = new MetricsOptions
275+
{
276+
Service = "TestService"
277+
};
278+
279+
metricsMock.Options.Returns(optionsMock);
280+
Metrics.UseMetricsForTests(metricsMock);
281+
282+
// Act
283+
var result = Metrics.Service;
284+
285+
// Assert
286+
Assert.Equal("TestService", result);
287+
}
288+
289+
[Fact]
290+
public void Namespace_Should_Return_Null_When_Not_Set()
291+
{
292+
// Arrange
293+
Metrics.ResetForTest();
294+
var metricsMock = Substitute.For<IMetrics>();
295+
var optionsMock = new MetricsOptions();
296+
297+
metricsMock.Options.Returns(optionsMock);
298+
Metrics.UseMetricsForTests(metricsMock);
299+
300+
// Act
301+
var result = Metrics.Namespace;
302+
303+
// Assert
304+
Assert.Null(result);
305+
}
306+
307+
[Fact]
308+
public void Service_Should_Return_Null_When_Not_Set()
309+
{
310+
// Arrange
311+
Metrics.ResetForTest();
312+
var metricsMock = Substitute.For<IMetrics>();
313+
var optionsMock = new MetricsOptions();
314+
315+
metricsMock.Options.Returns(optionsMock);
316+
Metrics.UseMetricsForTests(metricsMock);
317+
318+
// Act
319+
var result = Metrics.Service;
320+
321+
// Assert
322+
Assert.Null(result);
323+
}
246324
}

0 commit comments

Comments
 (0)