Skip to content

Commit 4ea1757

Browse files
committed
Test lint check4
1 parent a6ba4c4 commit 4ea1757

File tree

2 files changed

+28
-28
lines changed

2 files changed

+28
-28
lines changed

aws-opentelemetry-distro/src/amazon/opentelemetry/distro/mcpinstrumentor/mcpinstrumentor.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class MCPInstrumentor(BaseInstrumentor):
2929
An instrumenter for MCP.
3030
"""
3131

32-
def __init__(self): # pylint: disable=no-self-use
32+
def __init__(self): # pylint: disable=no-self-use
3333
super().__init__()
3434
self.tracer = None
3535

@@ -140,7 +140,7 @@ def _get_span_name(self, req): # pylint: disable=no-self-use
140140
span_name = "unknown"
141141
return span_name
142142

143-
def handle_attributes(self, span, request, is_client=True): # pylint: disable=no-self-use
143+
def handle_attributes(self, span, request, is_client=True): # pylint: disable=no-self-use
144144
import mcp.types as types # pylint: disable=import-outside-toplevel,consider-using-from-import
145145

146146
operation = self._get_span_name(request)
@@ -170,7 +170,7 @@ def _add_server_attributes(self, span, operation, request): # pylint: disable=n
170170
def instrumentation_dependencies(self) -> Collection[str]: # pylint: disable=no-self-use
171171
return _instruments
172172

173-
def _instrument(self, **kwargs: Any) -> None: # pylint: disable=no-self-use
173+
def _instrument(self, **kwargs: Any) -> None: # pylint: disable=no-self-use
174174
tracer_provider = kwargs.get("tracer_provider")
175175
if tracer_provider:
176176
self.tracer = tracer_provider.get_tracer("mcp")
@@ -193,6 +193,6 @@ def _instrument(self, **kwargs: Any) -> None: # pylint: disable=no-self-use
193193
"mcp.server.lowlevel.server",
194194
)
195195

196-
def _uninstrument(self, **kwargs: Any) -> None: # pylint: disable=no-self-use
196+
def _uninstrument(self, **kwargs: Any) -> None: # pylint: disable=no-self-use
197197
unwrap("mcp.shared.session", "BaseSession.send_request")
198198
unwrap("mcp.server.lowlevel.server", "Server._handle_request")

aws-opentelemetry-distro/tests/amazon/opentelemetry/distro/test_mcpinstrumentor.py

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,11 @@ def __init__(self, trace_id, span_id): # pylint: disable=no-self-use
3131
class SimpleTracerProvider:
3232
"""Simple mock tracer provider without using MagicMock"""
3333

34-
def __init__(self): # pylint: disable=no-self-use
34+
def __init__(self): # pylint: disable=no-self-use
3535
self.get_tracer_called = False
3636
self.tracer_name = None
3737

38-
def get_tracer(self, name): # pylint: disable=no-self-use
38+
def get_tracer(self, name): # pylint: disable=no-self-use
3939
self.get_tracer_called = True
4040
self.tracer_name = name
4141
return "mock_tracer_from_provider"
@@ -44,10 +44,10 @@ def get_tracer(self, name): # pylint: disable=no-self-use
4444
class TestInjectTraceContext(unittest.TestCase):
4545
"""Test the _inject_trace_context method"""
4646

47-
def setUp(self): # pylint: disable=no-self-use
47+
def setUp(self): # pylint: disable=no-self-use
4848
self.instrumentor = MCPInstrumentor()
4949

50-
def test_inject_trace_context_empty_dict(self): # pylint: disable=no-self-use
50+
def test_inject_trace_context_empty_dict(self): # pylint: disable=no-self-use
5151
"""Test injecting trace context into empty dictionary"""
5252
# Setup
5353
request_data = {}
@@ -70,7 +70,7 @@ def test_inject_trace_context_empty_dict(self): # pylint: disable=no-self-use
7070
self.assertEqual(int(parts[1], 16), 12345) # trace_id
7171
self.assertEqual(int(parts[2], 16), 67890) # span_id
7272

73-
def test_inject_trace_context_existing_params(self): # pylint: disable=no-self-use
73+
def test_inject_trace_context_existing_params(self): # pylint: disable=no-self-use
7474
"""Test injecting trace context when params already exist"""
7575
# Setup
7676
request_data = {"params": {"existing_field": "test_value"}}
@@ -94,13 +94,13 @@ def test_inject_trace_context_existing_params(self): # pylint: disable=no-sel
9494
class TestTracerProvider(unittest.TestCase):
9595
"""Test the tracer provider kwargs logic in _instrument method"""
9696

97-
def setUp(self): # pylint: disable=no-self-use
97+
def setUp(self): # pylint: disable=no-self-use
9898
self.instrumentor = MCPInstrumentor()
9999
# Reset tracer to ensure test isolation
100100
if hasattr(self.instrumentor, "tracer"):
101101
delattr(self.instrumentor, "tracer")
102102

103-
def test_instrument_without_tracer_provider_kwargs(self): # pylint: disable=no-self-use
103+
def test_instrument_without_tracer_provider_kwargs(self): # pylint: disable=no-self-use
104104
"""Test _instrument method when no tracer_provider in kwargs - should use default tracer"""
105105
# Execute - Actually test the mcpinstrumentor method
106106
with unittest.mock.patch("opentelemetry.trace.get_tracer") as mock_get_tracer:
@@ -130,10 +130,10 @@ def test_instrument_with_tracer_provider_kwargs(self): # pylint: disable=no-sel
130130
class TestInstrumentationDependencies(unittest.TestCase):
131131
"""Test the instrumentation_dependencies method"""
132132

133-
def setUp(self): # pylint: disable=no-self-use
133+
def setUp(self): # pylint: disable=no-self-use
134134
self.instrumentor = MCPInstrumentor()
135135

136-
def test_instrumentation_dependencies(self): # pylint: disable=no-self-use
136+
def test_instrumentation_dependencies(self): # pylint: disable=no-self-use
137137
"""Test that instrumentation_dependencies method returns the expected dependencies"""
138138
# Execute - Actually test the mcpinstrumentor method
139139
dependencies = self.instrumentor.instrumentation_dependencies()
@@ -147,7 +147,7 @@ def test_instrumentation_dependencies(self): # pylint: disable=no-self-use
147147
class TestTraceContextInjection(unittest.TestCase):
148148
"""Test trace context injection using actual mcpinstrumentor methods"""
149149

150-
def setUp(self): # pylint: disable=no-self-use
150+
def setUp(self): # pylint: disable=no-self-use
151151
self.instrumentor = MCPInstrumentor()
152152

153153
def test_trace_context_injection_with_realistic_request(self): # pylint: disable=no-self-use
@@ -159,7 +159,7 @@ def __init__(self, tool_name, arguments=None): # pylint: disable=no-self-use
159159
self.root = self
160160
self.params = CallToolParams(tool_name, arguments)
161161

162-
def model_dump(self, by_alias=True, mode="json", exclude_none=True): # pylint: disable=no-self-use
162+
def model_dump(self, by_alias=True, mode="json", exclude_none=True): # pylint: disable=no-self-use
163163
result = {"method": "call_tool", "params": {"name": self.params.name}}
164164
if self.params.arguments:
165165
result["params"]["arguments"] = self.params.arguments
@@ -177,7 +177,7 @@ def model_validate(cls, data): # pylint: disable=no-self-use
177177
return instance
178178

179179
class CallToolParams:
180-
def __init__(self, name, arguments=None): # pylint: disable=no-self-use
180+
def __init__(self, name, arguments=None): # pylint: disable=no-self-use
181181
self.name = name
182182
self.arguments = arguments
183183
self._meta = None # Will hold trace context
@@ -214,7 +214,7 @@ def __init__(self, name, arguments=None): # pylint: disable=no-self-use
214214
class TestInstrumentedMCPServer(unittest.TestCase):
215215
"""Test mcpinstrumentor with a mock MCP server to verify end-to-end functionality"""
216216

217-
def setUp(self): # pylint: disable=no-self-use
217+
def setUp(self): # pylint: disable=no-self-use
218218
self.instrumentor = MCPInstrumentor()
219219
# Initialize tracer so the instrumentor can work
220220
mock_tracer = MagicMock()
@@ -224,15 +224,15 @@ def test_no_trace_context_fallback(self): # pylint: disable=no-self-use
224224
"""Test graceful handling when no trace context is present on server side"""
225225

226226
class MockServerNoTrace:
227-
async def _handle_request(self, session, request): # pylint: disable=no-self-use
227+
async def _handle_request(self, session, request): # pylint: disable=no-self-use
228228
return {"success": True, "handled_without_trace": True}
229229

230230
class MockServerRequestNoTrace:
231-
def __init__(self, tool_name): # pylint: disable=no-self-use
231+
def __init__(self, tool_name): # pylint: disable=no-self-use
232232
self.params = MockServerRequestParamsNoTrace(tool_name)
233233

234234
class MockServerRequestParamsNoTrace:
235-
def __init__(self, name): # pylint: disable=no-self-use
235+
def __init__(self, name): # pylint: disable=no-self-use
236236
self.name = name
237237
self.meta = None # No trace context
238238

@@ -274,7 +274,7 @@ def __init__(self, tool_name, arguments=None, method="call_tool"): # pylint: di
274274
self.params = MCPRequestParams(tool_name, arguments)
275275
self.method = method
276276

277-
def model_dump(self, by_alias=True, mode="json", exclude_none=True): # pylint: disable=no-self-use
277+
def model_dump(self, by_alias=True, mode="json", exclude_none=True): # pylint: disable=no-self-use
278278
result = {"method": self.method, "params": {"name": self.params.name}}
279279
if self.params.arguments:
280280
result["params"]["arguments"] = self.params.arguments
@@ -293,19 +293,19 @@ def model_validate(cls, data): # pylint: disable=no-self-use
293293
return instance
294294

295295
class MCPRequestParams:
296-
def __init__(self, name, arguments=None): # pylint: disable=no-self-use
296+
def __init__(self, name, arguments=None): # pylint: disable=no-self-use
297297
self.name = name
298298
self.arguments = arguments
299299
self._meta = None
300300

301301
class MCPServerRequest:
302-
def __init__(self, client_request_data): # pylint: disable=no-self-use
302+
def __init__(self, client_request_data): # pylint: disable=no-self-use
303303
"""Server request created from client's serialized data"""
304304
self.method = client_request_data.get("method", "call_tool")
305305
self.params = MCPServerRequestParams(client_request_data["params"])
306306

307307
class MCPServerRequestParams:
308-
def __init__(self, params_data): # pylint: disable=no-self-use
308+
def __init__(self, params_data): # pylint: disable=no-self-use
309309
self.name = params_data["name"]
310310
self.arguments = params_data.get("arguments")
311311
# Extract traceparent from _meta if present
@@ -315,16 +315,16 @@ def __init__(self, params_data): # pylint: disable=no-self-use
315315
self.meta = None
316316

317317
class MCPServerRequestMeta:
318-
def __init__(self, traceparent): # pylint: disable=no-self-use
318+
def __init__(self, traceparent): # pylint: disable=no-self-use
319319
self.traceparent = traceparent
320320

321321
# Mock client and server that actually communicate
322322
class EndToEndMCPSystem:
323-
def __init__(self): # pylint: disable=no-self-use
323+
def __init__(self): # pylint: disable=no-self-use
324324
self.communication_log = []
325325
self.last_sent_request = None
326326

327-
async def client_send_request(self, request): # pylint: disable=no-self-use
327+
async def client_send_request(self, request): # pylint: disable=no-self-use
328328
"""Client sends request - captures what gets sent"""
329329
self.communication_log.append("CLIENT: Preparing to send request")
330330
self.last_sent_request = request # Capture the modified request
@@ -336,7 +336,7 @@ async def client_send_request(self, request): # pylint: disable=no-self-use
336336
# Return client response
337337
return {"success": True, "client_response": "Request sent successfully"}
338338

339-
async def server_handle_request(self, session, server_request): # pylint: disable=no-self-use
339+
async def server_handle_request(self, session, server_request): # pylint: disable=no-self-use
340340
"""Server handles the request it received"""
341341
self.communication_log.append(f"SERVER: Received request for {server_request.params.name}")
342342

0 commit comments

Comments
 (0)