def test_validate(self, mock_validate_connectivity): validator = snmp_validator.SNMPValidator() mock_validate_connectivity.return_value = fakes.fake_v3_alert_source() v3_alert_source_without_engine_id = fakes.fake_v3_alert_source() v3_alert_source_without_engine_id.pop('engine_id') validator.validate(context, v3_alert_source_without_engine_id) self.assertEqual(db.alert_source_update.call_count, 1) mock_validate_connectivity.return_value = fakes.fake_v3_alert_source() validator.validate(context, fakes.fake_v3_alert_source()) self.assertEqual(db.alert_source_update.call_count, 1)
def test_validate_connectivity(self, mock_close_dispatcher, mock_register_observer): # Get a random host a = random.randint(0, 255) b = random.randint(0, 255) c = random.randint(0, 255) d = random.randint(0, 255) host = str(a) + '.' + str(b) + '.' + str(c) + '.' + str(d) # Get a random port port = random.randint(1024, 65535) # snmpv3 v3_alert_source = fakes.fake_v3_alert_source() v3_alert_source['host'] = host v3_alert_source['port'] = port snmp_validator.SNMPValidator.validate_connectivity( v3_alert_source) self.assertEqual(mock_close_dispatcher.call_count, 1) self.assertEqual(mock_register_observer.call_count, 1) # snmpv2c v2_alert_source = fakes.fake_v2_alert_source() v2_alert_source['host'] = host v2_alert_source['port'] = port snmp_validator.SNMPValidator.validate_connectivity( v2_alert_source) self.assertEqual(mock_close_dispatcher.call_count, 2) self.assertEqual(mock_register_observer.call_count, 1)
def test_validate_connectivity(self, mock_close_dispatcher, mock_register_observer, mock_access_info_get): # Get a random host a = random.randint(0, 255) b = random.randint(0, 255) c = random.randint(0, 255) d = random.randint(0, 255) host = str(a) + '.' + str(b) + '.' + str(c) + '.' + str(d) # Get a random port port = random.randint(1024, 65535) # snmpv3 v3_alert_source = fakes.fake_v3_alert_source() v3_alert_source['host'] = host v3_alert_source['port'] = port mock_access_info_get.return_value = {'model': 'vsp'} snmp_validator.SNMPValidator.validate_connectivity( context.RequestContext(), v3_alert_source) self.assertEqual(mock_close_dispatcher.call_count, 1) self.assertEqual(mock_register_observer.call_count, 1) # snmpv2c v2_alert_source = fakes.fake_v2_alert_source() v2_alert_source['host'] = host v2_alert_source['port'] = port snmp_validator.SNMPValidator.validate_connectivity( context.RequestContext(), v2_alert_source) self.assertEqual(mock_close_dispatcher.call_count, 2) self.assertEqual(mock_register_observer.call_count, 1)
def test_sync_snmp_config_del_exception(self, mock_log_warning): ctxt = {} alert_config = fakes.fake_v3_alert_source() trap_receiver_inst = self._get_trap_receiver() trap_receiver_inst.snmp_engine = engine.SnmpEngine() trap_receiver_inst.sync_snmp_config(ctxt, snmp_config_to_del=alert_config) self.assertTrue(mock_log_warning.called)
def test_sync_snmp_config_add_v3_version(self, mock_add_config): ctxt = {} alert_config = fakes.fake_v3_alert_source() trap_receiver_inst = self._get_trap_receiver() trap_receiver_inst.snmp_engine = engine.SnmpEngine() trap_receiver_inst.sync_snmp_config(ctxt, snmp_config_to_add=alert_config) # Verify that addV3User to add config to engine self.assertTrue(mock_add_config.called)
def test_sync_snmp_config_invalid_priv_protocol(self): ctxt = {} alert_source_config = fakes.fake_v3_alert_source() alert_source_config['privacy_protocol'] = 'invalid_priv' trap_receiver_inst = self._get_trap_receiver() trap_receiver_inst.snmp_engine = engine.SnmpEngine() self.assertRaisesRegex(exception.InvalidSNMPConfig, "Invalid " "privacy_protocol", trap_receiver_inst.sync_snmp_config, ctxt, snmp_config_to_add=alert_source_config)