mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
Expose get_plan_raw method on MagicPlanClient 🟥
This commit is contained in:
parent
4a9cabe197
commit
c3aae8fd51
2 changed files with 55 additions and 0 deletions
|
|
@ -22,3 +22,6 @@ class MagicPlanClient:
|
|||
)
|
||||
r.raise_for_status()
|
||||
return MagicPlanPlan.model_validate(r.json()["data"])
|
||||
|
||||
def get_plan_raw(self, plan_id: str) -> bytes:
|
||||
raise NotImplementedError
|
||||
|
|
|
|||
|
|
@ -172,3 +172,55 @@ def test_get_plan_propagates_http_error(
|
|||
# Act / Assert
|
||||
with pytest.raises(requests.HTTPError):
|
||||
client.get_plan("some-id")
|
||||
|
||||
|
||||
# --- get_plan_raw ---
|
||||
|
||||
|
||||
def test_get_plan_raw_returns_bytes(
|
||||
client: MagicPlanClient, mock_session: MagicMock
|
||||
) -> None:
|
||||
# Arrange
|
||||
mock_session.get.return_value.content = b'{"data": "raw"}'
|
||||
plan_id = "a7285ed1-878d-47eb-8aa6-85ef9e187516"
|
||||
# Act
|
||||
result = client.get_plan_raw(plan_id)
|
||||
# Assert
|
||||
assert isinstance(result, bytes)
|
||||
|
||||
|
||||
def test_get_plan_raw_calls_correct_url(
|
||||
client: MagicPlanClient, mock_session: MagicMock
|
||||
) -> None:
|
||||
# Arrange
|
||||
mock_session.get.return_value.content = b"{}"
|
||||
plan_id = "a7285ed1-878d-47eb-8aa6-85ef9e187516"
|
||||
# Act
|
||||
client.get_plan_raw(plan_id)
|
||||
# Assert
|
||||
mock_session.get.assert_called_once_with(
|
||||
f"{BASE_URL}/plans/{plan_id}", params={"key": API_KEY}
|
||||
)
|
||||
|
||||
|
||||
def test_get_plan_raw_calls_raise_for_status(
|
||||
client: MagicPlanClient, mock_session: MagicMock
|
||||
) -> None:
|
||||
# Arrange
|
||||
mock_session.get.return_value.content = b"{}"
|
||||
# Act
|
||||
client.get_plan_raw("a7285ed1-878d-47eb-8aa6-85ef9e187516")
|
||||
# Assert
|
||||
mock_session.get.return_value.raise_for_status.assert_called_once()
|
||||
|
||||
|
||||
def test_get_plan_raw_propagates_http_error(
|
||||
client: MagicPlanClient, mock_session: MagicMock
|
||||
) -> None:
|
||||
# Arrange
|
||||
mock_session.get.return_value.raise_for_status.side_effect = requests.HTTPError(
|
||||
"500"
|
||||
)
|
||||
# Act / Assert
|
||||
with pytest.raises(requests.HTTPError):
|
||||
client.get_plan_raw("some-id")
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue