def test_timeout_override(): endpoint = "none" default_instance = { 'default_namespace': { 'prometheus_url': endpoint, 'metrics': [{ "test_rate": "test.rate" }], 'prometheus_timeout': 30, } } instance = {'prometheus_url': endpoint, 'namespace': 'default_namespace'} check = OpenMetricsBaseCheck('prometheus_check', {}, {}, [instance], default_instance, default_namespace="foo") assert check.get_scraper_config(instance)['prometheus_timeout'] == 30 instance = { 'prometheus_url': endpoint, 'namespace': 'default_namespace', 'prometheus_timeout': 5 } check = OpenMetricsBaseCheck('prometheus_check', {}, {}, [instance], default_instance, default_namespace="foo") assert check.get_scraper_config(instance)['prometheus_timeout'] == 5
def test_bearer_token_auto_http(): endpoint = "http://localhost:12345/metrics" instance = { 'prometheus_url': endpoint, 'namespace': 'default_namespace', 'bearer_token_auth': 'tls_only' } with patch.object(OpenMetricsBaseCheck, 'KUBERNETES_TOKEN_PATH', os.path.join(FIXTURE_PATH, 'default_token')): check = OpenMetricsBaseCheck('prometheus_check', {}, {}, [instance]) assert check.get_scraper_config(instance)['_bearer_token'] is None
def test_get_default_kubernetes_bearer_token(): endpoint = "none" instance = { 'prometheus_url': endpoint, 'namespace': 'default_namespace', 'bearer_token_auth': True } with patch.object(OpenMetricsBaseCheck, 'KUBERNETES_TOKEN_PATH', os.path.join(FIXTURE_PATH, 'default_token')): check = OpenMetricsBaseCheck('prometheus_check', {}, {}, [instance]) assert check.get_scraper_config( instance)['_bearer_token'] == 'my default token'
def test_bearer_token_disabled(): endpoint = "none" custom_path = os.path.join(FIXTURE_PATH, 'custom_token') instance = { 'prometheus_url': endpoint, 'namespace': 'default_namespace', 'bearer_token_auth': False, 'bearer_token_path': custom_path, } with patch.object(OpenMetricsBaseCheck, 'KUBERNETES_TOKEN_PATH', os.path.join(FIXTURE_PATH, 'default_token')): check = OpenMetricsBaseCheck('prometheus_check', {}, {}, [instance]) assert check.get_scraper_config(instance)['_bearer_token'] is None
def test_label_to_hostname_override(): endpoint = "none" default_instance = { 'default_namespace': { 'prometheus_url': endpoint, 'metrics': [{"test_rate": "test.rate"}], 'label_to_hostname': 'node', } } instance = {'prometheus_url': endpoint, 'namespace': 'default_namespace'} check = OpenMetricsBaseCheck('prometheus_check', {}, {}, [instance], default_instance, default_namespace="foo") assert check.get_scraper_config(instance)['label_to_hostname'] == 'node'