Skip to content

Commit d163fb7

Browse files
authored
requests: use test_base to fetch metrics for assertions (#4130)
1 parent 269d946 commit d163fb7

File tree

1 file changed

+48
-57
lines changed

1 file changed

+48
-57
lines changed

instrumentation/opentelemetry-instrumentation-requests/tests/test_requests_integration.py

Lines changed: 48 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1008,26 +1008,23 @@ def test_basic_metric_success(self):
10081008
HTTP_SCHEME: "http",
10091009
}
10101010

1011-
for (
1012-
resource_metrics
1013-
) in self.memory_metrics_reader.get_metrics_data().resource_metrics:
1014-
for scope_metrics in resource_metrics.scope_metrics:
1015-
self.assertEqual(len(scope_metrics.metrics), 1)
1016-
for metric in scope_metrics.metrics:
1017-
self.assertEqual(metric.unit, "ms")
1018-
self.assertEqual(
1019-
metric.description,
1020-
"measures the duration of the outbound HTTP request",
1021-
)
1022-
for data_point in metric.data.data_points:
1023-
self.assertEqual(
1024-
data_point.explicit_bounds,
1025-
HTTP_DURATION_HISTOGRAM_BUCKETS_OLD,
1026-
)
1027-
self.assertDictEqual(
1028-
expected_attributes, dict(data_point.attributes)
1029-
)
1030-
self.assertEqual(data_point.count, 1)
1011+
metrics = self.get_sorted_metrics()
1012+
self.assertEqual(len(metrics), 1)
1013+
for metric in metrics:
1014+
self.assertEqual(metric.unit, "ms")
1015+
self.assertEqual(
1016+
metric.description,
1017+
"measures the duration of the outbound HTTP request",
1018+
)
1019+
for data_point in metric.data.data_points:
1020+
self.assertEqual(
1021+
data_point.explicit_bounds,
1022+
HTTP_DURATION_HISTOGRAM_BUCKETS_OLD,
1023+
)
1024+
self.assertDictEqual(
1025+
expected_attributes, dict(data_point.attributes)
1026+
)
1027+
self.assertEqual(data_point.count, 1)
10311028

10321029
def test_basic_metric_new_semconv(self):
10331030
self.perform_request(self.URL)
@@ -1039,25 +1036,22 @@ def test_basic_metric_new_semconv(self):
10391036
HTTP_REQUEST_METHOD: "GET",
10401037
NETWORK_PROTOCOL_VERSION: "1.1",
10411038
}
1042-
for (
1043-
resource_metrics
1044-
) in self.memory_metrics_reader.get_metrics_data().resource_metrics:
1045-
for scope_metrics in resource_metrics.scope_metrics:
1046-
self.assertEqual(len(scope_metrics.metrics), 1)
1047-
for metric in scope_metrics.metrics:
1048-
self.assertEqual(metric.unit, "s")
1049-
self.assertEqual(
1050-
metric.description, "Duration of HTTP client requests."
1051-
)
1052-
for data_point in metric.data.data_points:
1053-
self.assertEqual(
1054-
data_point.explicit_bounds,
1055-
HTTP_DURATION_HISTOGRAM_BUCKETS_NEW,
1056-
)
1057-
self.assertDictEqual(
1058-
expected_attributes, dict(data_point.attributes)
1059-
)
1060-
self.assertEqual(data_point.count, 1)
1039+
metrics = self.get_sorted_metrics()
1040+
self.assertEqual(len(metrics), 1)
1041+
for metric in metrics:
1042+
self.assertEqual(metric.unit, "s")
1043+
self.assertEqual(
1044+
metric.description, "Duration of HTTP client requests."
1045+
)
1046+
for data_point in metric.data.data_points:
1047+
self.assertEqual(
1048+
data_point.explicit_bounds,
1049+
HTTP_DURATION_HISTOGRAM_BUCKETS_NEW,
1050+
)
1051+
self.assertDictEqual(
1052+
expected_attributes, dict(data_point.attributes)
1053+
)
1054+
self.assertEqual(data_point.count, 1)
10611055

10621056
def test_basic_metric_both_semconv(self):
10631057
self.perform_request(self.URL)
@@ -1080,24 +1074,21 @@ def test_basic_metric_both_semconv(self):
10801074
NETWORK_PROTOCOL_VERSION: "1.1",
10811075
}
10821076

1083-
for (
1084-
resource_metrics
1085-
) in self.memory_metrics_reader.get_metrics_data().resource_metrics:
1086-
for scope_metrics in resource_metrics.scope_metrics:
1087-
self.assertEqual(len(scope_metrics.metrics), 2)
1088-
for metric in scope_metrics.metrics:
1089-
for data_point in metric.data.data_points:
1090-
if metric.unit == "ms":
1091-
self.assertDictEqual(
1092-
expected_attributes_old,
1093-
dict(data_point.attributes),
1094-
)
1095-
else:
1096-
self.assertDictEqual(
1097-
expected_attributes_new,
1098-
dict(data_point.attributes),
1099-
)
1100-
self.assertEqual(data_point.count, 1)
1077+
metrics = self.get_sorted_metrics()
1078+
self.assertEqual(len(metrics), 2)
1079+
for metric in metrics:
1080+
for data_point in metric.data.data_points:
1081+
if metric.unit == "ms":
1082+
self.assertDictEqual(
1083+
expected_attributes_old,
1084+
dict(data_point.attributes),
1085+
)
1086+
else:
1087+
self.assertDictEqual(
1088+
expected_attributes_new,
1089+
dict(data_point.attributes),
1090+
)
1091+
self.assertEqual(data_point.count, 1)
11011092

11021093
def test_custom_histogram_boundaries(self):
11031094
RequestsInstrumentor().uninstrument()

0 commit comments

Comments
 (0)