"""Test datadog.""" from unittest.mock import call from unittest.mock import patch from src.datadog import config from src.datadog import publish_datadog_metric @patch.object(config, 'DISABLE_PUBLISHING_METRICS', False) @patch('src.datadog.call_datadog_with_metric') @patch('src.datadog.LambdaSecretsManager') def test_publish_metrics_enabled(mock_sm, mock_datadog): """Test metrics enabled.""" mock_sm.return_value.get_cred.side_effect = ['foo', 'bar'] publish_datadog_metric(1, 'baz') publish_datadog_metric(1, 'baz', ['extra']) mock_datadog.assert_has_calls( [ call( 'baz', ['dms_id:1', 'environment:test'], api_key='bar', app_key='foo' ), call( 'baz', ['dms_id:1', 'environment:test', 'extra'], api_key='bar', app_key='foo' ) ] ) @patch.object(config, 'DISABLE_PUBLISHING_METRICS', True) @patch('src.datadog.call_datadog_with_metric') def test_publish_metrics_disabled(mock_datadog): """Test metrics disabled.""" publish_datadog_metric(1, 'baz') mock_datadog.datadog_connection.assert_not_called()