From e77fd49829101cf2072f4c2bd3bc203005f38369 Mon Sep 17 00:00:00 2001 From: Morten Brekkevold Date: Thu, 16 Nov 2023 11:32:33 +0100 Subject: [PATCH] Update arnold enable/disable tests Use the new dependency injection path to insert our mocked SNMP Agent into change_port_status(). Also, since change_port_status() now gets a partial call to an Snmp constructor, it will only feed in the IP address of the Netbox, so the asserts needed to change to account for that. --- tests/unittests/arnold/arnold_snmp_test.py | 26 ++++++++++++---------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/tests/unittests/arnold/arnold_snmp_test.py b/tests/unittests/arnold/arnold_snmp_test.py index 02d1318478..506234a00f 100644 --- a/tests/unittests/arnold/arnold_snmp_test.py +++ b/tests/unittests/arnold/arnold_snmp_test.py @@ -1,8 +1,10 @@ """Tests for Arnold using snmp objects""" from nav.arnold import change_port_status -from mock import Mock, patch +from unittest.mock import Mock, patch import unittest +from nav.models.manage import ManagementProfile + @patch('nav.Snmp.Snmp', autospec=True) class TestArnoldSnmp(unittest.TestCase): @@ -28,9 +30,13 @@ def create_interface_mock(self): def create_management_profile_mock(self): """Create management profile model mock object""" - profile = Mock() - profile.snmp_version = 1 - profile.snmp_community = "public" + profile = ManagementProfile( + protocol=ManagementProfile.PROTOCOL_SNMP, + configuration={ + "version": 1, + "community": "public", + }, + ) return profile def create_netbox_mock(self): @@ -46,11 +52,9 @@ def test_change_port_status_enable(self, snmp): instance = snmp.return_value identity = Mock() identity.interface = self.interface - change_port_status('enable', identity) + change_port_status('enable', identity, agent_getter=lambda profile: snmp) - snmp.assert_called_once_with( - self.ip, self.profile.snmp_community, self.profile.snmp_version - ) + snmp.assert_called_once_with(self.ip) instance.set.assert_called_once_with( self.port_status_oid + '.' + str(self.ifindex), 'i', 1 ) @@ -60,11 +64,9 @@ def test_change_port_status_disable(self, snmp): instance = snmp.return_value identity = Mock() identity.interface = self.interface - change_port_status('disable', identity) + change_port_status('disable', identity, agent_getter=lambda profile: snmp) - snmp.assert_called_once_with( - self.ip, self.profile.snmp_community, self.profile.snmp_version - ) + snmp.assert_called_once_with(self.ip) instance.set.assert_called_once_with( self.port_status_oid + '.' + str(self.ifindex), 'i', 2 )