Skip to content

Commit ce802c7

Browse files
committed
test: use request_mock for all clients tests
1 parent 34aafce commit ce802c7

File tree

2 files changed

+32
-31
lines changed

2 files changed

+32
-31
lines changed

tests/unit/conftest.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ def request_mock() -> mock.MagicMock:
1818
def client(request_mock) -> Client:
1919
c = Client(token="TOKEN")
2020
c.request = request_mock
21+
c._request_hetzner = request_mock
2122
return c
2223

2324

tests/unit/storage_box_types/test_client.py

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import pytest
88
from dateutil.parser import isoparse
99

10+
from hcloud import Client
1011
from hcloud.storage_box_types import (
1112
BoundStorageBoxType,
1213
StorageBoxTypesClient,
@@ -23,29 +24,27 @@ def assert_bound_model(
2324
assert o.name == "bx11"
2425

2526

26-
@pytest.fixture(name="client")
27-
def client_fixture() -> StorageBoxTypesClient:
28-
return StorageBoxTypesClient(client=mock.MagicMock())
29-
30-
3127
class TestClient:
28+
@pytest.fixture()
29+
def resource_client(self, client: Client) -> StorageBoxTypesClient:
30+
return StorageBoxTypesClient(client)
31+
3232
def test_get_by_id(
3333
self,
34-
client: StorageBoxTypesClient,
34+
request_mock: mock.MagicMock,
35+
resource_client: StorageBoxTypesClient,
3536
storage_box_type1,
3637
):
37-
client._client._request_hetzner.return_value = {
38-
"storage_box_type": storage_box_type1
39-
}
38+
request_mock.return_value = {"storage_box_type": storage_box_type1}
4039

41-
result = client.get_by_id(42)
40+
result = resource_client.get_by_id(42)
4241

43-
client._client._request_hetzner.assert_called_with(
42+
request_mock.assert_called_with(
4443
method="GET",
4544
url="/storage_box_types/42",
4645
)
4746

48-
assert_bound_model(result, client)
47+
assert_bound_model(result, resource_client)
4948
assert result.description == "BX11"
5049
assert result.snapshot_limit == 10
5150
assert result.automatic_snapshot_limit == 10
@@ -73,18 +72,19 @@ def test_get_by_id(
7372
)
7473
def test_get_list(
7574
self,
76-
client: StorageBoxTypesClient,
75+
request_mock: mock.MagicMock,
76+
resource_client: StorageBoxTypesClient,
7777
storage_box_type1,
7878
storage_box_type2,
7979
params,
8080
):
81-
client._client._request_hetzner.return_value = {
81+
request_mock.return_value = {
8282
"storage_box_types": [storage_box_type1, storage_box_type2]
8383
}
8484

85-
result = client.get_list(**params)
85+
result = resource_client.get_list(**params)
8686

87-
client._client._request_hetzner.assert_called_with(
87+
request_mock.assert_called_with(
8888
url="/storage_box_types",
8989
method="GET",
9090
params=params,
@@ -96,11 +96,11 @@ def test_get_list(
9696
result1 = result.storage_box_types[0]
9797
result2 = result.storage_box_types[1]
9898

99-
assert result1._client is client
99+
assert result1._client is resource_client
100100
assert result1.id == 42
101101
assert result1.name == "bx11"
102102

103-
assert result2._client is client
103+
assert result2._client is resource_client
104104
assert result2.id == 43
105105
assert result2.name == "bx21"
106106

@@ -113,18 +113,19 @@ def test_get_list(
113113
)
114114
def test_get_all(
115115
self,
116-
client: StorageBoxTypesClient,
116+
request_mock: mock.MagicMock,
117+
resource_client: StorageBoxTypesClient,
117118
storage_box_type1,
118119
storage_box_type2,
119120
params,
120121
):
121-
client._client._request_hetzner.return_value = {
122+
request_mock.return_value = {
122123
"storage_box_types": [storage_box_type1, storage_box_type2]
123124
}
124125

125-
result = client.get_all(**params)
126+
result = resource_client.get_all(**params)
126127

127-
client._client._request_hetzner.assert_called_with(
128+
request_mock.assert_called_with(
128129
url="/storage_box_types",
129130
method="GET",
130131
params={**params, "page": 1, "per_page": 50},
@@ -135,31 +136,30 @@ def test_get_all(
135136
result1 = result[0]
136137
result2 = result[1]
137138

138-
assert result1._client is client
139+
assert result1._client is resource_client
139140
assert result1.id == 42
140141
assert result1.name == "bx11"
141142

142-
assert result2._client is client
143+
assert result2._client is resource_client
143144
assert result2.id == 43
144145
assert result2.name == "bx21"
145146

146147
def test_get_by_name(
147148
self,
148-
client: StorageBoxTypesClient,
149+
request_mock: mock.MagicMock,
150+
resource_client: StorageBoxTypesClient,
149151
storage_box_type1,
150152
):
151-
client._client._request_hetzner.return_value = {
152-
"storage_box_types": [storage_box_type1]
153-
}
153+
request_mock.return_value = {"storage_box_types": [storage_box_type1]}
154154

155-
result = client.get_by_name("bx11")
155+
result = resource_client.get_by_name("bx11")
156156

157157
params = {"name": "bx11"}
158158

159-
client._client._request_hetzner.assert_called_with(
159+
request_mock.assert_called_with(
160160
method="GET",
161161
url="/storage_box_types",
162162
params=params,
163163
)
164164

165-
assert_bound_model(result, client)
165+
assert_bound_model(result, resource_client)

0 commit comments

Comments
 (0)