Skip to content

Commit dbbd838

Browse files
committed
Add tests on custom client-request-id
1 parent 6d193dd commit dbbd838

File tree

2 files changed

+39
-0
lines changed

2 files changed

+39
-0
lines changed

tests/integration/test_telemetry.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
import platform
2+
import re
3+
import uuid
24

35
import pytest
46

@@ -50,3 +52,21 @@ def test_telemetry_handler_non_graph_url(graph_client):
5052
response.request.headers["sdkVersion"]
5153
response.request.headers["HostOs"]
5254
response.request.headers["RuntimeEnvironment"]
55+
56+
57+
def test_custom_client_request_id(graph_client):
58+
"""
59+
Test customer provided client request id overrides default value
60+
"""
61+
custom_id = str(uuid.uuid4())
62+
response = graph_client.get(
63+
'https://httpbin.org/status/200', headers={"client-request-id": custom_id}
64+
)
65+
66+
assert response.status_code == 200
67+
assert response.request.headers["client-request-id"] == custom_id
68+
with pytest.raises(KeyError):
69+
response.request.headers["client-request-id"]
70+
response.request.headers["sdkVersion"]
71+
response.request.headers["HostOs"]
72+
response.request.headers["RuntimeEnvironment"]

tests/unit/test_telemetry_handler.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,25 @@ def test_add_client_request_id_header():
5757
assert _is_valid_uuid(request.headers.get('client-request-id'))
5858

5959

60+
@responses.activate
61+
def test_custom_client_request_id_header():
62+
"""
63+
Test that a custom client request id is used, if provided
64+
"""
65+
custom_id = str(uuid.uuid4())
66+
responses.add(responses.GET, BASE_URL)
67+
response = requests.get(BASE_URL)
68+
request = response.request
69+
request.context = RequestContext({}, {'client-request-id': custom_id})
70+
71+
telemetry_handler = TelemetryHandler()
72+
telemetry_handler._add_client_request_id_header(request)
73+
74+
assert 'client-request-id' in request.headers
75+
assert _is_valid_uuid(request.headers.get('client-request-id'))
76+
assert request.headers.get('client-request-id') == custom_id
77+
78+
6079
@responses.activate
6180
def test_append_sdk_version_header():
6281
"""

0 commit comments

Comments
 (0)