|
7 | 7 | from datadog_lambda.constants import TraceHeader |
8 | 8 |
|
9 | 9 | import datadog_lambda.wrapper as wrapper |
10 | | -import datadog_lambda.xray as xray |
11 | 10 |
|
12 | | -from datadog_lambda.config import config |
13 | 11 | from datadog_lambda.metric import lambda_metric |
14 | 12 | from datadog_lambda.thread_stats_writer import ThreadStatsWriter |
15 | 13 | from datadog_lambda.trigger import EventTypes |
16 | | -from ddtrace.trace import Span, tracer |
| 14 | +from ddtrace.trace import tracer |
17 | 15 | from ddtrace.internal.constants import MAX_UINT_64BITS |
18 | 16 |
|
19 | 17 | from tests.utils import get_mock_context, reset_xray_connection |
@@ -285,7 +283,9 @@ def lambda_handler(event, context): |
285 | 283 | def test_5xx_sends_errors_metric_and_set_tags(self, mock_extract_trigger_tags): |
286 | 284 | mock_extract_trigger_tags.return_value = { |
287 | 285 | "function_trigger.event_source": "api-gateway", |
288 | | - "function_trigger.event_source_arn": "arn:aws:apigateway:us-west-1::/restapis/1234567890/stages/prod", |
| 286 | + "function_trigger.event_source_arn": ( |
| 287 | + "arn:aws:apigateway:us-west-1::/restapis/1234567890/stages/prod" |
| 288 | + ), |
289 | 289 | "http.url": "https://70ixmpl4fl.execute-api.us-east-2.amazonaws.com", |
290 | 290 | "http.url_details.path": "/prod/path/to/resource", |
291 | 291 | "http.method": "GET", |
@@ -1015,3 +1015,28 @@ def test_extract_source_arn_sns_to_sqs_event(self): |
1015 | 1015 | self.assertEqual( |
1016 | 1016 | result, "arn:aws:sqs:us-east-1:123456789012:test-queue-from-sns" |
1017 | 1017 | ) |
| 1018 | + |
| 1019 | + |
| 1020 | +class TestCreateDsmCarrierFunc(unittest.TestCase): |
| 1021 | + def test_carrier_with_data(self): |
| 1022 | + """Test that the carrier function works with a dict-like object.""" |
| 1023 | + mock_dd_data = Mock() |
| 1024 | + mock_dd_data.get.return_value = "mock_value" |
| 1025 | + |
| 1026 | + carrier = wrapper._create_dsm_carrier_func(mock_dd_data) |
| 1027 | + self.assertTrue(callable(carrier)) |
| 1028 | + self.assertEqual(carrier("some_key"), "mock_value") |
| 1029 | + mock_dd_data.get.assert_called_once_with("some_key") |
| 1030 | + |
| 1031 | + def test_carrier_with_empty_dict(self): |
| 1032 | + """Test that the carrier function works with an empty dictionary.""" |
| 1033 | + carrier = wrapper._create_dsm_carrier_func({}) |
| 1034 | + self.assertTrue(callable(carrier)) |
| 1035 | + self.assertIsNone(carrier("some_key")) |
| 1036 | + |
| 1037 | + def test_carrier_with_none(self): |
| 1038 | + """Test that the carrier function fails correctly when given None.""" |
| 1039 | + carrier = wrapper._create_dsm_carrier_func(None) |
| 1040 | + self.assertTrue(callable(carrier)) |
| 1041 | + with self.assertRaises(AttributeError): |
| 1042 | + carrier("some_key") |
0 commit comments