Skip to content

Commit 62d5bcf

Browse files
bugfix: Refactored code to read 'ok' field rather than the 'reason' field in the HTTPResponse object
1 parent b642497 commit 62d5bcf

File tree

5 files changed

+22
-17
lines changed

5 files changed

+22
-17
lines changed

matlab_proxy/util/mw.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ async def fetch_entitlements(mhlm_api_endpoint, access_token, matlab_release):
5959
}
6060
),
6161
) as res:
62-
if res.reason != "OK":
62+
if not res.ok:
6363
raise OnlineLicensingError(
6464
f"Communication with {mhlm_api_endpoint} failed ({res.status}). For more details, see {__get_licensing_url()}."
6565
)
@@ -114,7 +114,7 @@ async def fetch_expand_token(mwa_api_endpoint, identity_token, source_id):
114114
}
115115
),
116116
) as res:
117-
if res.reason != "OK":
117+
if not res.ok:
118118
raise OnlineLicensingError(
119119
f"Communication with {mwa_api_endpoint} failed ({res.status}). For more details, see {__get_licensing_url()}."
120120
)
@@ -161,7 +161,7 @@ async def fetch_access_token(mwa_api_endpoint, identity_token, source_id):
161161
}
162162
),
163163
) as res:
164-
if res.reason != "OK":
164+
if not res.ok:
165165
raise OnlineLicensingError(
166166
f"Communication with {mwa_api_endpoint} failed ({res.status}). For more details, see {__get_licensing_url()}."
167167
)

matlab_proxy/util/mwi/embedded_connector/request.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ async def send_request(url: str, data: dict, method: str, headers: dict = None)
4242
async with session.request(
4343
method=method, url=url, data=data, headers=None, ssl=False
4444
) as resp:
45-
if resp.reason != "OK":
45+
if not resp.ok:
4646
# Converting to dict and formatting for printing
4747
data = json.loads(data)
4848

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ def run(self):
6565

6666
setuptools.setup(
6767
name="matlab-proxy",
68-
version="0.7.0",
68+
version="0.7.2",
6969
url=config["doc_url"],
7070
author="The MathWorks, Inc.",
7171
author_email="[email protected]",

tests/util/mwi/embedded_connector/test_request.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ async def test_send_request_success(mocker):
88
json_data = {"hello": "world"}
99

1010
payload = json_data
11-
mock_resp = MockResponse(payload=payload, reason="OK")
11+
mock_resp = MockResponse(payload=payload, ok=True)
1212

1313
mocked = mocker.patch("aiohttp.ClientSession.request", return_value=mock_resp)
1414
res = await mwi.embedded_connector.send_request(
@@ -22,7 +22,7 @@ async def test_send_request_failure(mocker):
2222
json_data = {"hello": "world"}
2323

2424
payload = json_data
25-
mock_resp = MockResponse(payload=payload, reason="NOT-OK")
25+
mock_resp = MockResponse(payload=payload, ok=False)
2626

2727
mocked = mocker.patch("aiohttp.ClientSession.request", return_value=mock_resp)
2828

@@ -33,7 +33,7 @@ async def test_send_request_failure(mocker):
3333
)
3434

3535
# Doesnt have url or data or method
36-
mock_resp = MockResponse(payload=payload, reason="NOT-OK")
36+
mock_resp = MockResponse(payload=payload, ok=False)
3737

3838
for key in ["url", "method"]:
3939
options = {

tests/util/test_mw.py

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import secrets
77
from collections import namedtuple
88
from datetime import timedelta, timezone
9+
from http import HTTPStatus
910

1011
import pytest
1112
from matlab_proxy import settings
@@ -119,10 +120,10 @@ def fetch_access_token_valid_json_fixture():
119120

120121

121122
class MockResponse:
122-
def __init__(self, reason, payload={}, status=200, text=""):
123+
def __init__(self, ok, payload={}, status=HTTPStatus.OK, text=""):
123124
self._payload = payload
124125
self._text = text
125-
self.reason = reason
126+
self.ok = ok
126127
self.status = status
127128

128129
async def json(self):
@@ -152,7 +153,7 @@ async def test_fetch_access_token(mwa_api_data, fetch_access_token_valid_json, m
152153

153154
payload = dict(accessTokenString=json_data["accessTokenString"])
154155

155-
mock_resp = MockResponse(payload=payload, reason="OK")
156+
mock_resp = MockResponse(payload=payload, ok=True)
156157

157158
url_pattern = mwa_api_data.mwa_api_endpoint_pattern
158159

@@ -181,7 +182,7 @@ async def test_fetch_access_token_licensing_error(mwa_api_data, mocker):
181182

182183
url_pattern = mwa_api_data.mwa_api_endpoint_pattern
183184

184-
mock_resp = MockResponse(payload={}, reason="NOT-OK", status=404)
185+
mock_resp = MockResponse(payload={}, ok=False, status=HTTPStatus.NOT_FOUND)
185186

186187
mocked = mocker.patch("aiohttp.ClientSession.post", return_value=mock_resp)
187188

@@ -205,7 +206,9 @@ async def test_fetch_expand_token_licensing_error(mocker, mwa_api_data):
205206
mwa_api_data (namedtuple): A pytest fixture which returns a namedtuple containing values for MW authentication
206207
"""
207208
url_pattern = mwa_api_data.mwa_api_endpoint_pattern
208-
mock_resp = MockResponse(payload={}, reason="NOT-OK", status=503)
209+
mock_resp = MockResponse(
210+
payload={}, ok=False, status=HTTPStatus.SERVICE_UNAVAILABLE
211+
)
209212
mocked = mocker.patch("aiohttp.ClientSession.post", return_value=mock_resp)
210213

211214
with pytest.raises(exceptions.OnlineLicensingError):
@@ -275,7 +278,7 @@ async def test_fetch_expand_token(mocker, fetch_expand_token_valid_json, mwa_api
275278
expirationDate=json_data["expirationDate"], referenceDetail=referenceDetail
276279
)
277280

278-
mock_resp = MockResponse(payload=payload, reason="OK", status=200)
281+
mock_resp = MockResponse(payload=payload, ok=True, status=HTTPStatus.OK)
279282
mocked = mocker.patch("aiohttp.ClientSession.post", return_value=mock_resp)
280283

281284
resp = await mw.fetch_expand_token(
@@ -301,7 +304,9 @@ async def test_fetch_entitlements_licensing_error(mocker, mwa_api_data):
301304
mwa_api_data (namedtuple): A namedtuple which contains info related to mwa.
302305
"""
303306
url_pattern = mwa_api_data.mhlm_api_endpoint_pattern
304-
mock_resp = MockResponse(payload={}, reason="NOT-OK", status=503)
307+
mock_resp = MockResponse(
308+
payload={}, ok=False, status=HTTPStatus.SERVICE_UNAVAILABLE
309+
)
305310
mocked = mocker.patch("aiohttp.ClientSession.post", return_value=mock_resp)
306311

307312
with pytest.raises(exceptions.OnlineLicensingError):
@@ -364,7 +369,7 @@ async def test_fetch_entitlements_entitlement_error(
364369
url_pattern = mwa_api_data.mhlm_api_endpoint_pattern
365370

366371
mock_resp = MockResponse(
367-
payload={}, reason="OK", text=invalid_entitlements, status=404
372+
payload={}, ok=True, text=invalid_entitlements, status=HTTPStatus.NOT_FOUND
368373
)
369374
mocked = mocker.patch("aiohttp.ClientSession.post", return_value=mock_resp)
370375

@@ -417,7 +422,7 @@ async def test_fetch_entitlements(mocker, mwa_api_data, valid_entitlements):
417422
url_pattern = mwa_api_data.mhlm_api_endpoint_pattern
418423

419424
mock_resp = MockResponse(
420-
payload={}, reason="OK", text=valid_entitlements, status=404
425+
payload={}, ok=True, text=valid_entitlements, status=HTTPStatus.OK
421426
)
422427
mocked = mocker.patch("aiohttp.ClientSession.post", return_value=mock_resp)
423428

0 commit comments

Comments
 (0)