def test_validate_snmp_v3_params_validates_user_and_raise(self): enable_flow = CiscoEnableSnmpFlow(cli_handler=MagicMock(), logger=MagicMock()) snmp_v3_parameters = SNMPV3Parameters( ip=self.IP, snmp_user="", snmp_password=self.SNMP_PASSWORD, snmp_private_key=self.SNMP_PRIVATE_KEY, ) with self.assertRaisesRegexp(Exception, "SNMPv3 user is not defined"): enable_flow.enable_flow(snmp_v3_parameters)
def test_validate_snmp_v3_params_validates_private_key_and_raise(self): enable_flow = CiscoEnableSnmpFlow(cli_handler=MagicMock(), logger=MagicMock()) snmp_v3_parameters = SNMPV3Parameters(ip=self.IP, snmp_user=self.SNMP_USER, snmp_password=self.SNMP_PASSWORD, snmp_private_key="") try: enable_flow._validate_snmp_v3_params(snmp_v3_parameters) except Exception as e: self.assertIn( "Failed to enable SNMP v3: 'SNMP V3 Private Key' attribute cannot be empty", e.args)
def test_validate_snmp_v3_params_validates_password_and_raise(self): enable_flow = CiscoEnableSnmpFlow(cli_handler=MagicMock(), logger=MagicMock()) snmp_v3_parameters = SNMPV3Parameters( ip=self.IP, snmp_user=self.SNMP_USER, snmp_password="", snmp_private_key=self.SNMP_PRIVATE_KEY, auth_protocol=SNMPV3Parameters.AUTH_MD5, ) with self.assertRaisesRegexp(Exception, "SNMPv3 Password has to be specified"): enable_flow.enable_flow(snmp_v3_parameters)
def test_validate_snmp_v3_params_validates_auth_protocol_and_raise(self): enable_flow = CiscoEnableSnmpFlow(cli_handler=MagicMock(), logger=MagicMock()) snmp_v3_parameters = SNMPV3Parameters( ip=self.IP, snmp_user=self.SNMP_USER, snmp_password=self.SNMP_PASSWORD, snmp_private_key=self.SNMP_PRIVATE_KEY, auth_protocol="No Authentication Protocol") try: enable_flow._validate_snmp_v3_params(snmp_v3_parameters) except Exception as e: self.assertIn( "Failed to enable SNMP v3: 'SNMP V3 Authentication Protocol' attribute cannot be empty" " or set to 'No Authentication Protocol'", e.args)
def _get_handler(self, create_group=True): self.snmp_v2_write_parameters = SNMPWriteParameters( ip=self.IP, snmp_community=self.SNMP_WRITE_COMMUNITY) self.snmp_v2_read_parameters = SNMPReadParameters( ip=self.IP, snmp_community=self.SNMP_READ_COMMUNITY) self.snmp_v3_parameters = SNMPV3Parameters( ip=self.IP, snmp_user=self.SNMP_USER, snmp_password=self.SNMP_PASSWORD, snmp_private_key=self.SNMP_PRIVATE_KEY, ) cli = MagicMock() logger = MagicMock() return CiscoEnableSnmpFlow(cli_handler=cli, logger=logger)
def enable_snmp(self, snmp_parameters): CiscoEnableSnmpFlow(self._cli_handler, self._logger).enable_flow(snmp_parameters)