From 65ead28f4f0710c5235a6838f266072909e60aac Mon Sep 17 00:00:00 2001 From: Hakan Calim <hakan.calim@fau.de> Date: Tue, 17 Oct 2023 10:42:08 +0200 Subject: [PATCH] NAT-286: added test for reservation of interface --- test/services/test_netbox.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/test/services/test_netbox.py b/test/services/test_netbox.py index 34d4e2f1..c63d700e 100644 --- a/test/services/test_netbox.py +++ b/test/services/test_netbox.py @@ -149,3 +149,24 @@ def test_reserve_interface_exception(mock_api, device, interface, data_config_fi with pytest.raises(WorkflowStateError) as test_exception: NetBoxClient().reserve_interface(device.name, interface.name) assert str(test_exception.value) == exception_message + + +@patch("gso.services.netbox_client.pynetbox.api") +def test_reserve_interface(mock_api, device, interface, data_config_filename: PathLike): + """ + Test a normal reservation of a interface + """ + # Set interface to not reserved + interface.enabled = False + interface.api = mock_api + + # Mock netbox api + mock_api.return_value.dcim.devices.get.return_value = device + mock_api.return_value.dcim.interfaces.get.return_value = interface + mock_api.return_value.dcim.interfaces.save.return_value = interface + + # Check reservation of interface + updated_interface = NetBoxClient().reserve_interface(device.name, interface.name) + + assert updated_interface is not None + assert updated_interface.enabled is not True -- GitLab