|
3 | 3 | import pytest |
4 | 4 |
|
5 | 5 | import audiostack |
6 | | -from audiostack.helpers.request_interface import RequestInterface |
| 6 | +from audiostack.helpers.request_interface import RequestInterface, use_trace |
| 7 | +from audiostack.helpers.request_types import RequestTypes |
7 | 8 |
|
8 | 9 |
|
9 | 10 | @patch("audiostack.helpers.request_interface.open") |
@@ -59,3 +60,49 @@ def test_RequestInterface_download_url_4XX( |
59 | 60 | mock_requests.get.return_value.status_code = 400 |
60 | 61 | with pytest.raises(Exception): |
61 | 62 | RequestInterface.download_url(url="foo", name="bar", destination="baz") |
| 63 | + |
| 64 | + |
| 65 | +@patch("audiostack.helpers.request_interface.requests") |
| 66 | +def test_RequestInterface_with_trace_id(mock_requests: Mock) -> None: |
| 67 | + body = { |
| 68 | + "scriptText": "scriptText", |
| 69 | + "projectName": "projectName", |
| 70 | + "moduleName": "moduleName", |
| 71 | + "scriptName": "scriptName", |
| 72 | + "metadata": "metadata", |
| 73 | + } |
| 74 | + with use_trace("trace_id"): |
| 75 | + mock_requests.post.return_value.status_code = 200 |
| 76 | + interface = RequestInterface(family="content") |
| 77 | + interface.send_request(rtype=RequestTypes.POST, route="script", json=body) |
| 78 | + mock_requests.post.assert_called_once_with( |
| 79 | + url=f"{audiostack.api_base}/content/script", |
| 80 | + headers={ |
| 81 | + "x-api-key": audiostack.api_key, |
| 82 | + "x-python-sdk-version": audiostack.sdk_version, |
| 83 | + "x-customer-trace-id": "trace_id", |
| 84 | + }, |
| 85 | + json=body, |
| 86 | + ) |
| 87 | + |
| 88 | + |
| 89 | +@patch("audiostack.helpers.request_interface.requests") |
| 90 | +def test_RequestInterface_with_no_trace_id(mock_requests: Mock) -> None: |
| 91 | + body = { |
| 92 | + "scriptText": "scriptText", |
| 93 | + "projectName": "projectName", |
| 94 | + "moduleName": "moduleName", |
| 95 | + "scriptName": "scriptName", |
| 96 | + "metadata": "metadata", |
| 97 | + } |
| 98 | + mock_requests.post.return_value.status_code = 200 |
| 99 | + interface = RequestInterface(family="content") |
| 100 | + interface.send_request(rtype=RequestTypes.POST, route="script", json=body) |
| 101 | + mock_requests.post.assert_called_once_with( |
| 102 | + url=f"{audiostack.api_base}/content/script", |
| 103 | + headers={ |
| 104 | + "x-api-key": audiostack.api_key, |
| 105 | + "x-python-sdk-version": audiostack.sdk_version, |
| 106 | + }, |
| 107 | + json=body, |
| 108 | + ) |
0 commit comments