diff --git a/test/services/test_netbox.py b/test/services/test_netbox.py index c63d700e646b3e8ac10711cfb276ddfa048156f9..4b5bbf0e8926a2f86e05a90ce40b587aa2ea7f06 100644 --- a/test/services/test_netbox.py +++ b/test/services/test_netbox.py @@ -4,7 +4,7 @@ Unit tests for testing the netbox client import uuid from os import PathLike -from unittest.mock import patch +from unittest.mock import patch, Mock import pytest from pynetbox.core.response import Record @@ -62,6 +62,21 @@ def interface(): return Record(values, None, None) +@pytest.fixture(scope="module") +def app(): + app = Mock() + app.token = "abc123" + app.base_url = "http://localhost:8080/testing/api" + return app + + +@pytest.fixture(scope="module") +def endpoint(): + endpoint = Mock() + endpoint.name = "test-endpoint" + return endpoint + + @patch("gso.services.netbox_client.pynetbox.api") def test_create_device(mock_api, device, @@ -158,15 +173,18 @@ def test_reserve_interface(mock_api, device, interface, data_config_filename: Pa """ # 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 + + # mock save method + mock_save = Mock() + mock_save.save.return_value = interface + interface.save = mock_save # 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 + assert updated_interface.enabled is True