diff --git a/test/services/test_netbox.py b/test/services/test_netbox.py index 34d4e2f1667cb69980e9ac840955d685982e5a46..c63d700e646b3e8ac10711cfb276ddfa048156f9 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