77import pytest
88from dateutil .parser import isoparse
99
10+ from hcloud import Client
1011from 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-
3127class 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