Skip to content

Commit f41778c

Browse files
removed current dsm implementation
1 parent f93bc0a commit f41778c

File tree

3 files changed

+0
-153
lines changed

3 files changed

+0
-153
lines changed

datadog_lambda/dsm.py

Lines changed: 0 additions & 38 deletions
This file was deleted.

datadog_lambda/wrapper.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
from importlib import import_module
1010
from time import time_ns
1111

12-
from datadog_lambda.dsm import set_dsm_context
1312
from datadog_lambda.extension import should_use_extension, flush_extension
1413
from datadog_lambda.cold_start import (
1514
set_cold_start,
@@ -240,8 +239,6 @@ def _before(self, event, context):
240239
self.inferred_span = create_inferred_span(
241240
event, context, event_source, config.decode_authorizer_context
242241
)
243-
if config.data_streams_enabled:
244-
set_dsm_context(event, event_source)
245242
self.span = create_function_execution_span(
246243
context=context,
247244
function_name=config.function_name,

tests/test_dsm.py

Lines changed: 0 additions & 112 deletions
Original file line numberDiff line numberDiff line change
@@ -1,112 +0,0 @@
1-
import unittest
2-
from unittest.mock import patch, MagicMock
3-
4-
from datadog_lambda.dsm import set_dsm_context, _dsm_set_sqs_context
5-
from datadog_lambda.trigger import EventTypes, _EventSource
6-
7-
8-
class TestDsmSQSContext(unittest.TestCase):
9-
def setUp(self):
10-
patcher = patch("datadog_lambda.dsm._dsm_set_sqs_context")
11-
self.mock_dsm_set_sqs_context = patcher.start()
12-
self.addCleanup(patcher.stop)
13-
14-
patcher = patch("ddtrace.internal.datastreams.data_streams_processor")
15-
self.mock_data_streams_processor = patcher.start()
16-
self.addCleanup(patcher.stop)
17-
18-
patcher = patch("ddtrace.internal.datastreams.botocore.get_datastreams_context")
19-
self.mock_get_datastreams_context = patcher.start()
20-
self.mock_get_datastreams_context.return_value = {}
21-
self.addCleanup(patcher.stop)
22-
23-
patcher = patch(
24-
"ddtrace.internal.datastreams.botocore.calculate_sqs_payload_size"
25-
)
26-
self.mock_calculate_sqs_payload_size = patcher.start()
27-
self.mock_calculate_sqs_payload_size.return_value = 100
28-
self.addCleanup(patcher.stop)
29-
30-
patcher = patch("ddtrace.internal.datastreams.processor.DsmPathwayCodec.decode")
31-
self.mock_dsm_pathway_codec_decode = patcher.start()
32-
self.addCleanup(patcher.stop)
33-
34-
def test_non_sqs_event_source_does_nothing(self):
35-
"""Test that non-SQS event sources don't trigger DSM context setting"""
36-
event = {}
37-
# Use Unknown Event Source
38-
event_source = _EventSource(EventTypes.UNKNOWN)
39-
set_dsm_context(event, event_source)
40-
41-
# DSM context should not be set for non-SQS events
42-
self.mock_dsm_set_sqs_context.assert_not_called()
43-
44-
def test_sqs_event_with_no_records_does_nothing(self):
45-
"""Test that events where Records is None don't trigger DSM processing"""
46-
events_with_no_records = [
47-
{},
48-
{"Records": None},
49-
{"someOtherField": "value"},
50-
]
51-
52-
for event in events_with_no_records:
53-
_dsm_set_sqs_context(event)
54-
self.mock_data_streams_processor.assert_not_called()
55-
56-
def test_sqs_event_triggers_dsm_sqs_context(self):
57-
"""Test that SQS event sources trigger the SQS-specific DSM context function"""
58-
sqs_event = {
59-
"Records": [
60-
{
61-
"eventSource": "aws:sqs",
62-
"eventSourceARN": "arn:aws:sqs:us-east-1:123456789012:my-queue",
63-
"body": "Hello from SQS!",
64-
}
65-
]
66-
}
67-
68-
event_source = _EventSource(EventTypes.SQS)
69-
set_dsm_context(sqs_event, event_source)
70-
71-
self.mock_dsm_set_sqs_context.assert_called_once_with(sqs_event)
72-
73-
def test_sqs_multiple_records_process_each_record(self):
74-
"""Test that each record in an SQS event gets processed individually"""
75-
multi_record_event = {
76-
"Records": [
77-
{
78-
"eventSourceARN": "arn:aws:sqs:us-east-1:123456789012:queue1",
79-
"body": "Message 1",
80-
},
81-
{
82-
"eventSourceARN": "arn:aws:sqs:us-east-1:123456789012:queue2",
83-
"body": "Message 2",
84-
},
85-
{
86-
"eventSourceARN": "arn:aws:sqs:us-east-1:123456789012:queue3",
87-
"body": "Message 3",
88-
},
89-
]
90-
}
91-
92-
mock_context = MagicMock()
93-
self.mock_dsm_pathway_codec_decode.return_value = mock_context
94-
95-
_dsm_set_sqs_context(multi_record_event)
96-
97-
self.assertEqual(mock_context.set_checkpoint.call_count, 3)
98-
99-
calls = mock_context.set_checkpoint.call_args_list
100-
expected_arns = [
101-
"arn:aws:sqs:us-east-1:123456789012:queue1",
102-
"arn:aws:sqs:us-east-1:123456789012:queue2",
103-
"arn:aws:sqs:us-east-1:123456789012:queue3",
104-
]
105-
106-
for i, call in enumerate(calls):
107-
args, kwargs = call
108-
tags = args[0]
109-
self.assertIn("direction:in", tags)
110-
self.assertIn(f"topic:{expected_arns[i]}", tags)
111-
self.assertIn("type:sqs", tags)
112-
self.assertEqual(kwargs["payload_size"], 100)

0 commit comments

Comments
 (0)