blob: b62eaa0d69b25eeda6abf4be3bec1b447f969b91 [file] [log] [blame]
import os
import pytest
from sf_notifier.salesforce.client import SalesforceClient, SfNotifierError
ENV_VARS = [
'SFDC_AUTH_URL',
'SFDC_USERNAME',
'SFDC_PASSWORD',
'SFDC_ORGANIZATION_ID',
'SFDC_ENVIRONMENT_ID',
'SFDC_SANDBOX_ENABLED'
]
def unset_env_vars():
for v in ENV_VARS:
if os.environ.get(v):
del os.environ[v]
def test_validate_config():
OK_CONFIG_1 = [
{
'AUTH_URL': 'instance_xxx',
'USERNAME': 'username_xxx',
'PASSWORD': 'password_xxx',
'ORGANIZATION_ID': 'org_xxx',
'ENVIRONMENT_ID': 'env_xxx',
'SANDBOX_ENABLED': True
},
{
'instance': 'instance_xxx',
'username': 'username_xxx',
'password': 'password_xxx',
'organizationId': 'org_xxx',
'environment_id': 'env_xxx',
'domain': 'test'
}
]
OK_CONFIG_2 = [
{
'AUTH_URL': 'instance_xxx',
'USERNAME': 'username_xxx',
'PASSWORD': 'password_xxx',
'ORGANIZATION_ID': 'org_xxx',
'ENVIRONMENT_ID': 'env_xxx'
},
{
'instance': 'instance_xxx',
'username': 'username_xxx',
'password': 'password_xxx',
'organizationId': 'org_xxx',
'environment_id': 'env_xxx'
}
]
WRONG_CONFIG = {
'AUTH_URL': 'xxx',
'USERNAME': 'xxx',
'PASSWORD': 'xxx',
'ORGANIZATION_ID': 'xxx',
'SANDBOX_ENABLED': True
}
unset_env_vars()
assert SalesforceClient._validate_config(OK_CONFIG_1[0]) == OK_CONFIG_1[1]
assert SalesforceClient._validate_config(OK_CONFIG_2[0]) == OK_CONFIG_2[1]
pytest.raises(SfNotifierError,
SalesforceClient._validate_config, WRONG_CONFIG)
def test_alert_id_generate():
LABELS = {
'alertname': 'ApacheServiceDown',
'environment': 'testing_env',
'host': 'mdb01',
'instance': 'mdb01;telegraf',
'job': 'telegraf',
'region': 'region1',
'route': 'email,salesforce',
'service': 'apache',
'severity': 'minor'
}
SAME_LABELS = {
'environment': 'testing_env',
'service': 'apache',
'route': 'email,salesforce',
'instance': 'mdb01;telegraf',
'host': 'mdb01',
'severity': 'minor',
'region': 'region1',
'alertname': 'ApacheServiceDown',
'job': 'telegraf'
}
DIFF_LABELS = {
'environment': 'testing_env',
'service': 'apache',
'route': 'email,salesforce',
'instance': 'mdb01;telegraf',
'host': 'mdb01',
'severity': 'minor',
'region': 'region1',
'alertname': 'ApacheServiceDow',
'job': 'telegraf'
}
unset_env_vars()
alert_id = SalesforceClient._get_alert_id(LABELS)
assert alert_id == SalesforceClient._get_alert_id(SAME_LABELS)
assert alert_id != SalesforceClient._get_alert_id(DIFF_LABELS)