def test_opsgenie_default_alert_routing(): rule = { 'name': 'testOGalert', 'opsgenie_key': 'ogkey', 'opsgenie_account': 'genies', 'opsgenie_addr': 'https://api.opsgenie.com/v2/alerts', 'opsgenie_recipients': ['{RECEIPIENT_PREFIX}'], 'opsgenie_recipients_args': { 'RECEIPIENT_PREFIX': 'recipient' }, 'type': mock_rule(), 'filter': [{ 'query': { 'query_string': { 'query': '*hihi*' } } }], 'alert': 'opsgenie', 'opsgenie_teams': ['{TEAM_PREFIX}-Team'], 'opsgenie_default_receipients': ["*****@*****.**"], 'opsgenie_default_teams': ["Test"] } with mock.patch('requests.post'): alert = OpsGenieAlerter(rule) alert.alert([{'@timestamp': '2014-10-31T00:00:00', 'team': "Test"}]) assert alert.get_info()['teams'] == ['{TEAM_PREFIX}-Team'] assert alert.get_info()['recipients'] == ['*****@*****.**']
def test_opsgenie_getinfo(opsgenie_account, opsgenie_recipients, opsgenie_teams, expected_data): rule = {'name': 'Opsgenie Details', 'type': mock_rule()} if opsgenie_account: rule['opsgenie_account'] = opsgenie_account if opsgenie_recipients: rule['opsgenie_recipients'] = opsgenie_recipients if opsgenie_teams: rule['opsgenie_teams'] = opsgenie_teams alert = OpsGenieAlerter(rule) actual_data = alert.get_info() assert expected_data == actual_data
def test_opsgenie_required_error(opsgenie_key, expected_data): try: rule = { 'name': 'Opsgenie Details', 'type': mock_rule(), } if opsgenie_key: rule['opsgenie_key'] = opsgenie_key alert = OpsGenieAlerter(rule) actual_data = alert.get_info() assert expected_data == actual_data except Exception as ea: assert expected_data in str(ea)