From be0cb1e4036d6dbd3a7f18ccaa77b9238186b2c1 Mon Sep 17 00:00:00 2001 From: Jorge Sasiain <jorge@jorge03.dev.gap.geant.org> Date: Fri, 20 Oct 2023 17:21:25 +0000 Subject: [PATCH] NAT-244: add unit test for clear_interface based on branch NAT-286 --- test/services/test_netbox.py | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/test/services/test_netbox.py b/test/services/test_netbox.py index 0daf5dfd..d5e47b6a 100644 --- a/test/services/test_netbox.py +++ b/test/services/test_netbox.py @@ -3,11 +3,11 @@ import uuid from os import PathLike from unittest.mock import Mock, patch - import pytest from pynetbox.core.response import Record from gso.products.product_blocks.site import SiteTier + from gso.services.netbox_client import NetboxClient from gso.utils.exceptions import WorkflowStateError @@ -289,3 +289,24 @@ def test_attach_interface_to_lag(mock_api, device, interface, lag, data_config_f assert lag_interface.lag == lag.id assert lag_interface.description == description mock_save.assert_called_once() + + +@patch("gso.services.netbox_client.pynetbox.api") +def test_free_interface(mock_api, device, interface): + device_name = "mx1.lab.geant.net" + interface_name = "et-0/0/1" + + # Define mock calls + mock_api.return_value.dcim.devices.get.return_value = device + mock_api.return_value.dcim.interfaces.get.return_value = interface + + # Create a NetboxClient instance + netbox_client = NetboxClient() + + # Test clear_interface method on success + interface.mark_connected = True + interface.enabled = True + cleared_interface = netbox_client.free_interface(device_name, interface_name) + assert cleared_interface.enabled is False + assert cleared_interface.mark_connected is False + assert cleared_interface.description == "" -- GitLab