Skip to content

Commit dc3cef6

Browse files
author
EC2 Default User
committed
add additional test
1 parent d34a8e3 commit dc3cef6

File tree

1 file changed

+35
-3
lines changed

1 file changed

+35
-3
lines changed

tests/unit/sagemaker/serve/utils/test_telemetry_logger.py

Lines changed: 35 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
from sagemaker.serve.utils.telemetry_logger import (
1818
_send_telemetry,
1919
_capture_telemetry,
20+
_construct_url,
2021
)
2122
from sagemaker.serve.utils.exceptions import ModelBuilderException, LocalModelOutOfMemoryException
2223

@@ -30,6 +31,7 @@
3031
"huggingface-pytorch-inference:2.0.0-transformers4.28.1-cpu-py310-ubuntu20.04"
3132
)
3233
MOCK_HUGGINGFACE_ID = "meta-llama/Llama-2-7b-hf"
34+
MOCK_EXCEPTION = LocalModelOutOfMemoryException("mock raise ex")
3335

3436

3537
class ModelBuilderMock:
@@ -63,7 +65,7 @@ def test_log_handle_exception(self, mocked_get_accountId):
6365
self.assertRaises(Exception)
6466

6567
@patch("sagemaker.serve.utils.telemetry_logger._send_telemetry")
66-
def test_capture_telemetry_decorator_djl_local_container_success(self, mock_send_telemetry):
68+
def test_capture_telemetry_decorator_djl_success(self, mock_send_telemetry):
6769
mock_model_builder = ModelBuilderMock()
6870
mock_model_builder.serve_settings.telemetry_opt_out = False
6971
mock_model_builder.image_uri = MOCK_DJL_CONTAINER
@@ -84,7 +86,7 @@ def test_capture_telemetry_decorator_djl_local_container_success(self, mock_send
8486
)
8587

8688
@patch("sagemaker.serve.utils.telemetry_logger._send_telemetry")
87-
def test_capture_telemetry_decorator_tgi_local_container_success(self, mock_send_telemetry):
89+
def test_capture_telemetry_decorator_tgi_success(self, mock_send_telemetry):
8890
mock_model_builder = ModelBuilderMock()
8991
mock_model_builder.serve_settings.telemetry_opt_out = False
9092
mock_model_builder.image_uri = MOCK_TGI_CONTAINER
@@ -126,7 +128,7 @@ def test_capture_telemetry_decorator_handle_exception_success(self, mock_send_te
126128
mock_model_builder.model_server = ModelServer.DJL_SERVING
127129

128130
mock_exception = Mock()
129-
mock_exception_obj = LocalModelOutOfMemoryException("mock raise ex")
131+
mock_exception_obj = MOCK_EXCEPTION
130132
mock_exception.side_effect = mock_exception_obj
131133

132134
with self.assertRaises(ModelBuilderException) as _:
@@ -146,3 +148,33 @@ def test_capture_telemetry_decorator_handle_exception_success(self, mock_send_te
146148
mock_exception_obj.__class__.__name__,
147149
expected_extra_str,
148150
)
151+
152+
def test_construct_url_with_failure_reason_and_extra_info(self):
153+
mock_accountId = "12345678910"
154+
mock_mode = Mode.LOCAL_CONTAINER
155+
mock_status = "0"
156+
mock_failure_reason = str(MOCK_EXCEPTION)
157+
mock_failure_type = MOCK_EXCEPTION.__class__.__name__
158+
mock_extra_info = "mock_extra_info"
159+
mock_region = "us-west-2"
160+
161+
ret_url = _construct_url(
162+
accountId=mock_accountId,
163+
mode=mock_mode,
164+
status=mock_status,
165+
failure_reason=mock_failure_reason,
166+
failure_type=mock_failure_type,
167+
extra_info=mock_extra_info,
168+
region=mock_region,
169+
)
170+
171+
expected_base_url = (
172+
f"https://dev-exp-t-{mock_region}.s3.{mock_region}.amazonaws.com/telemetry?"
173+
f"x-accountId={mock_accountId}"
174+
f"&x-mode={mock_mode}"
175+
f"&x-status={mock_status}"
176+
f"&x-failureReason={mock_failure_reason}"
177+
f"&x-failureType={mock_failure_type}"
178+
f"&x-extra={mock_extra_info}"
179+
)
180+
self.assertEquals(ret_url, expected_base_url)

0 commit comments

Comments
 (0)