Skip to content

Commit aafb7e1

Browse files
committed
improv: test serialize metric with valid EMF object
1 parent 91210e4 commit aafb7e1

File tree

1 file changed

+34
-2
lines changed

1 file changed

+34
-2
lines changed

Diff for: tests/functional/test_metrics.py

+34-2
Original file line numberDiff line numberDiff line change
@@ -583,8 +583,7 @@ def test_log_metrics_with_metadata(capsys, metric, dimension, namespace, service
583583
my_metrics.add_metric(**metric)
584584
my_metrics.add_dimension(**dimension)
585585

586-
# WHEN we utilize log_metrics to serialize
587-
# and add metadata
586+
# WHEN we utilize log_metrics to serialize and add metadata
588587
@my_metrics.log_metrics
589588
def lambda_handler(evt, ctx):
590589
my_metrics.add_metadata(**metadata)
@@ -598,3 +597,36 @@ def lambda_handler(evt, ctx):
598597
# THEN we should have no exceptions and metadata
599598
remove_timestamp(metrics=[output, expected])
600599
assert expected == output
600+
601+
602+
def test_serialize_metric_set_metric_definition(metric, dimension, namespace, service, metadata):
603+
expected_metric_definition = {
604+
"single_metric": 1.0,
605+
"_aws": {
606+
"Timestamp": 1592237875494,
607+
"CloudWatchMetrics": [
608+
{
609+
"Namespace": "test_namespace",
610+
"Dimensions": [["test_dimension", "service"]],
611+
"Metrics": [{"Name": "single_metric", "Unit": "Count"}],
612+
}
613+
],
614+
},
615+
"service": "test_service",
616+
"username": "test",
617+
"test_dimension": "test",
618+
}
619+
620+
# GIVEN Metrics is initialized
621+
my_metrics = Metrics(service=service, namespace=namespace)
622+
my_metrics.add_metric(**metric)
623+
my_metrics.add_dimension(**dimension)
624+
my_metrics.add_metadata(**metadata)
625+
626+
# WHEN metrics are serialized manually
627+
metric_definition_output = my_metrics.serialize_metric_set()
628+
629+
# THEN we should emit a valid embedded metric definition object
630+
assert "Timestamp" in metric_definition_output["_aws"]
631+
remove_timestamp(metrics=[metric_definition_output, expected_metric_definition])
632+
assert metric_definition_output == expected_metric_definition

0 commit comments

Comments
 (0)