From f0774e6136478c7c7738d40e6932e72476431546 Mon Sep 17 00:00:00 2001 From: Hakan Calim <hakan.calim@fau.de> Date: Tue, 17 Oct 2023 13:29:33 +0200 Subject: [PATCH] NAT-286: fixed problem in test_interface_reservation --- test/services/test_netbox.py | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/test/services/test_netbox.py b/test/services/test_netbox.py index c63d700e..4b5bbf0e 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 -- GitLab