Skip to content

Commit 271e9aa

Browse files
LKaemmerlingLD250
authored andcommitted
Add all missing unit tests
1 parent 95656d3 commit 271e9aa

1 file changed

Lines changed: 107 additions & 1 deletion

File tree

tests/unit/networks/test_client.py

Lines changed: 107 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
from hcloud.actions.client import BoundAction
66
from hcloud.networks.client import BoundNetwork, NetworksClient
7-
from hcloud.networks.domain import NetworkSubnet, NetworkRoute
7+
from hcloud.networks.domain import NetworkSubnet, NetworkRoute, Network
88
from hcloud.servers.client import BoundServer
99

1010

@@ -119,6 +119,15 @@ def test_delete_route(self, hetzner_client, bound_network, generic_action):
119119
assert action.id == 1
120120
assert action.progress == 0
121121

122+
def test_change_ip(self, hetzner_client, bound_network, generic_action):
123+
hetzner_client.request.return_value = generic_action
124+
action = bound_network.change_ip_range("10.0.0.0/12")
125+
hetzner_client.request.assert_called_with(url="/networks/14/actions/change_ip_range", method="POST",
126+
json={"ip_range": "10.0.0.0/12"})
127+
128+
assert action.id == 1
129+
assert action.progress == 0
130+
122131

123132
class TestNetworksClient(object):
124133

@@ -294,3 +303,100 @@ def test_create_with_route_and_subnet(self, networks_client, network_subnet, net
294303
]
295304
}
296305
)
306+
307+
@pytest.mark.parametrize("network", [Network(id=1), BoundNetwork(mock.MagicMock(), dict(id=1))])
308+
def test_get_actions_list(self, networks_client, network, response_get_actions):
309+
networks_client._client.request.return_value = response_get_actions
310+
result = networks_client.get_actions_list(network, sort="id")
311+
networks_client._client.request.assert_called_with(url="/networks/1/actions", method="GET",
312+
params={"sort": "id"})
313+
314+
actions = result.actions
315+
assert len(actions) == 1
316+
assert isinstance(actions[0], BoundAction)
317+
318+
assert actions[0]._client == networks_client._client.actions
319+
assert actions[0].id == 13
320+
assert actions[0].command == "add_subnet"
321+
322+
@pytest.mark.parametrize("network", [Network(id=1), BoundNetwork(mock.MagicMock(), dict(id=1))])
323+
def test_update(self, networks_client, network, response_update_network):
324+
networks_client._client.request.return_value = response_update_network
325+
network = networks_client.update(network, name="new-name")
326+
networks_client._client.request.assert_called_with(url="/networks/1", method="PUT", json={"name": "new-name"})
327+
328+
assert network.id == 4711
329+
assert network.name == "new-name"
330+
331+
@pytest.mark.parametrize("network", [Network(id=1), BoundNetwork(mock.MagicMock(), dict(id=1))])
332+
def test_change_protection(self, networks_client, network, generic_action):
333+
networks_client._client.request.return_value = generic_action
334+
action = networks_client.change_protection(network, True)
335+
networks_client._client.request.assert_called_with(url="/networks/1/actions/change_protection", method="POST",
336+
json={"delete": True})
337+
338+
assert action.id == 1
339+
assert action.progress == 0
340+
341+
@pytest.mark.parametrize("network", [Network(id=1), BoundNetwork(mock.MagicMock(), dict(id=1))])
342+
def test_delete(self, networks_client, network, generic_action):
343+
networks_client._client.request.return_value = generic_action
344+
delete_success = networks_client.delete(network)
345+
networks_client._client.request.assert_called_with(url="/networks/1", method="DELETE")
346+
347+
assert delete_success is True
348+
349+
@pytest.mark.parametrize("network", [Network(id=1), BoundNetwork(mock.MagicMock(), dict(id=1))])
350+
def test_add_subnet(self, networks_client, network, generic_action, network_subnet):
351+
networks_client._client.request.return_value = generic_action
352+
353+
action = networks_client.add_subnet(network, network_subnet)
354+
networks_client._client.request.assert_called_with(url="/networks/1/actions/add_subnet", method="POST",
355+
json={"type": "server", "ip_range": "10.0.1.0/24",
356+
"network_zone": "eu-central"})
357+
358+
assert action.id == 1
359+
assert action.progress == 0
360+
361+
@pytest.mark.parametrize("network", [Network(id=1), BoundNetwork(mock.MagicMock(), dict(id=1))])
362+
def test_delete_subnet(self, networks_client, network, generic_action, network_subnet):
363+
networks_client._client.request.return_value = generic_action
364+
365+
action = networks_client.delete_subnet(network, network_subnet)
366+
networks_client._client.request.assert_called_with(url="/networks/1/actions/delete_subnet", method="POST",
367+
json={"ip_range": "10.0.1.0/24"})
368+
369+
assert action.id == 1
370+
assert action.progress == 0
371+
372+
@pytest.mark.parametrize("network", [Network(id=1), BoundNetwork(mock.MagicMock(), dict(id=1))])
373+
def test_add_route(self, networks_client, network, generic_action, network_route):
374+
networks_client._client.request.return_value = generic_action
375+
376+
action = networks_client.add_route(network, network_route)
377+
networks_client._client.request.assert_called_with(url="/networks/1/actions/add_route", method="POST",
378+
json={"destination": "10.100.1.0/24", "gateway": "10.0.1.1"})
379+
380+
assert action.id == 1
381+
assert action.progress == 0
382+
383+
@pytest.mark.parametrize("network", [Network(id=1), BoundNetwork(mock.MagicMock(), dict(id=1))])
384+
def test_delete_route(self, networks_client, network, generic_action, network_route):
385+
networks_client._client.request.return_value = generic_action
386+
387+
action = networks_client.delete_route(network, network_route)
388+
networks_client._client.request.assert_called_with(url="/networks/1/actions/delete_route", method="POST",
389+
json={"destination": "10.100.1.0/24", "gateway": "10.0.1.1"})
390+
391+
assert action.id == 1
392+
assert action.progress == 0
393+
394+
@pytest.mark.parametrize("network", [Network(id=1), BoundNetwork(mock.MagicMock(), dict(id=1))])
395+
def test_change_ip_range(self, networks_client, network, generic_action):
396+
networks_client._client.request.return_value = generic_action
397+
action = networks_client.change_ip_range(network, "10.0.0.0/12")
398+
networks_client._client.request.assert_called_with(url="/networks/1/actions/change_ip_range", method="POST",
399+
json={"ip_range": "10.0.0.0/12"})
400+
401+
assert action.id == 1
402+
assert action.progress == 0

0 commit comments

Comments
 (0)