def test_try_submit_bandwidth_usage_metric_if_bandwidth_metric(): instance = common.generate_instance_config([]) check = SnmpCheck('snmp', {}, [instance]) index = ('1', '2') tags = ['foo', 'bar'] results = { 'ifHighSpeed': { ('1', '2'): 80, }, 'ifHCInOctets': { ('1', '2'): 5000000, }, 'ifHCOutOctets': { ('1', '2'): 1000000, }, } check.rate = mock.Mock() check.try_submit_bandwidth_usage_metric_if_bandwidth_metric( 'ifHCInOctets', index, results, tags) # ((5000000 * 8) / (80 * 1000000)) * 100 = 50.0 check.rate.assert_called_with('snmp.ifBandwidthInUsage.rate', 50.0, ['foo', 'bar']) check.rate = mock.Mock() check.try_submit_bandwidth_usage_metric_if_bandwidth_metric( 'ifHCOutOctets', index, results, tags) # ((1000000 * 8) / (80 * 1000000)) * 100 = 10.0 check.rate.assert_called_with('snmp.ifBandwidthOutUsage.rate', 10.0, ['foo', 'bar'])
def test_try_submit_bandwidth_usage_metric_if_bandwidth_metric_errors( results, metric_name, error_messages, caplog): instance = common.generate_instance_config([]) check = SnmpCheck('snmp', {}, [instance]) index = ('1', '2') tags = ['foo', 'bar'] check.rate = mock.Mock() with caplog.at_level(logging.DEBUG): check.try_submit_bandwidth_usage_metric_if_bandwidth_metric( metric_name, index, results, tags) check.rate.assert_not_called() for msg in error_messages: assert msg in caplog.text