|
17 | 17 | from hcloud.actions.client import BoundAction |
18 | 18 | from hcloud.server_types.client import BoundServerType |
19 | 19 | from hcloud.server_types.domain import ServerType |
| 20 | +from hcloud.networks.domain import Network |
| 21 | +from hcloud.networks.client import BoundNetwork |
20 | 22 |
|
21 | 23 |
|
22 | 24 | class TestBoundServer(object): |
@@ -293,6 +295,36 @@ def test_request_console(self, hetzner_client, bound_server, response_server_req |
293 | 295 | assert response.wss_url == "wss://console.hetzner.cloud/?server_id=1&token=3db32d15-af2f-459c-8bf8-dee1fd05f49c" |
294 | 296 | assert response.password == "9MQaTg2VAGI0FIpc10k3UpRXcHj2wQ6x" |
295 | 297 |
|
| 298 | + @pytest.mark.parametrize("network", [Network(id=4711), BoundNetwork(mock.MagicMock(), dict(id=4711))]) |
| 299 | + def test_attach_to_network(self, hetzner_client, bound_server, network, response_attach_to_network): |
| 300 | + hetzner_client.request.return_value = response_attach_to_network |
| 301 | + action = bound_server.attach_to_network(network, "10.0.1.1", ["10.0.1.2", "10.0.1.3"]) |
| 302 | + hetzner_client.request.assert_called_with(url="/servers/14/actions/attach_to_network", method="POST", json={"network": 4711, "ip": "10.0.1.1", "alias_ips": ["10.0.1.2", "10.0.1.3"]}) |
| 303 | + |
| 304 | + assert action.id == 1 |
| 305 | + assert action.progress == 0 |
| 306 | + assert action.command == "attach_to_network" |
| 307 | + |
| 308 | + @pytest.mark.parametrize("network", [Network(id=4711), BoundNetwork(mock.MagicMock(), dict(id=4711))]) |
| 309 | + def test_detach_from_network(self, hetzner_client, bound_server, network, response_detach_from_network): |
| 310 | + hetzner_client.request.return_value = response_detach_from_network |
| 311 | + action = bound_server.detach_from_network(network) |
| 312 | + hetzner_client.request.assert_called_with(url="/servers/14/actions/detach_from_network", method="POST", json={"network": 4711}) |
| 313 | + |
| 314 | + assert action.id == 1 |
| 315 | + assert action.progress == 0 |
| 316 | + assert action.command == "detach_from_network" |
| 317 | + |
| 318 | + @pytest.mark.parametrize("network", [Network(id=4711), BoundNetwork(mock.MagicMock(), dict(id=4711))]) |
| 319 | + def test_change_alias_ips(self, hetzner_client, bound_server, network, response_change_alias_ips): |
| 320 | + hetzner_client.request.return_value = response_change_alias_ips |
| 321 | + action = bound_server.change_alias_ips(network, ["10.0.1.2", "10.0.1.3"]) |
| 322 | + hetzner_client.request.assert_called_with(url="/servers/14/actions/change_alias_ips", method="POST", json={"network": 4711, "alias_ips": ["10.0.1.2", "10.0.1.3"]}) |
| 323 | + |
| 324 | + assert action.id == 1 |
| 325 | + assert action.progress == 0 |
| 326 | + assert action.command == "change_alias_ips" |
| 327 | + |
296 | 328 |
|
297 | 329 | class TestServersClient(object): |
298 | 330 |
|
@@ -691,3 +723,36 @@ def test_request_console(self, servers_client, server, response_server_request_c |
691 | 723 | assert response.action.progress == 0 |
692 | 724 | assert response.wss_url == "wss://console.hetzner.cloud/?server_id=1&token=3db32d15-af2f-459c-8bf8-dee1fd05f49c" |
693 | 725 | assert response.password == "9MQaTg2VAGI0FIpc10k3UpRXcHj2wQ6x" |
| 726 | + |
| 727 | + @pytest.mark.parametrize("server", [Server(id=1), BoundServer(mock.MagicMock(), dict(id=1))]) |
| 728 | + @pytest.mark.parametrize("network", [Network(id=4711), BoundNetwork(mock.MagicMock(), dict(id=4711))]) |
| 729 | + def test_attach_to_network(self, servers_client, server, network, response_attach_to_network): |
| 730 | + servers_client._client.request.return_value = response_attach_to_network |
| 731 | + action = servers_client.attach_to_network(server, network, "10.0.1.1", ["10.0.1.2", "10.0.1.3"]) |
| 732 | + servers_client._client.request.assert_called_with(url="/servers/1/actions/attach_to_network", method="POST", json={"network": 4711, "ip": "10.0.1.1", "alias_ips": ["10.0.1.2", "10.0.1.3"]}) |
| 733 | + |
| 734 | + assert action.id == 1 |
| 735 | + assert action.progress == 0 |
| 736 | + assert action.command == "attach_to_network" |
| 737 | + |
| 738 | + @pytest.mark.parametrize("server", [Server(id=1), BoundServer(mock.MagicMock(), dict(id=1))]) |
| 739 | + @pytest.mark.parametrize("network", [Network(id=4711), BoundNetwork(mock.MagicMock(), dict(id=4711))]) |
| 740 | + def test_detach_from_network(self, servers_client, server, network, response_detach_from_network): |
| 741 | + servers_client._client.request.return_value = response_detach_from_network |
| 742 | + action = servers_client.detach_from_network(server, network) |
| 743 | + servers_client._client.request.assert_called_with(url="/servers/1/actions/detach_from_network", method="POST", json={"network": 4711}) |
| 744 | + |
| 745 | + assert action.id == 1 |
| 746 | + assert action.progress == 0 |
| 747 | + assert action.command == "detach_from_network" |
| 748 | + |
| 749 | + @pytest.mark.parametrize("server", [Server(id=1), BoundServer(mock.MagicMock(), dict(id=1))]) |
| 750 | + @pytest.mark.parametrize("network", [Network(id=4711), BoundNetwork(mock.MagicMock(), dict(id=4711))]) |
| 751 | + def test_change_alias_ips(self, servers_client, server, network, response_change_alias_ips): |
| 752 | + servers_client._client.request.return_value = response_change_alias_ips |
| 753 | + action = servers_client.change_alias_ips(server, network, ["10.0.1.2", "10.0.1.3"]) |
| 754 | + servers_client._client.request.assert_called_with(url="/servers/1/actions/change_alias_ips", method="POST", json={"network": 4711, "alias_ips": ["10.0.1.2", "10.0.1.3"]}) |
| 755 | + |
| 756 | + assert action.id == 1 |
| 757 | + assert action.progress == 0 |
| 758 | + assert action.command == "change_alias_ips" |
0 commit comments