"""Test handler add_twilio_logs_to_datadog.""" import json from unittest.mock import MagicMock from oto import response import pytest from cloudwatch_logs import api from cloudwatch_logs import handlers # noqa from cloudwatch_logs.logic import logs @pytest.fixture def fixture_client(): """Create an api test client fixture.""" return api.app.test_client() def test_test_add_twilio_logs_to_datadog(fixture_client, monkeypatch): """Test test_add_twilio_logs_to_datadog with different input params.""" expected = response.Response({'foo': 'bar'}) monkeypatch.setattr(logs, 'write_datadog_log', MagicMock( return_value=expected)) params = {'user': ['data'], 'To': ['+011234567890'], 'From': ['1234']} result = fixture_client.post('/twilio/datadog/logs', data=params) assert result.status_code == 200 response_data = json.loads(result.data.decode('utf-8')) assert response_data == expected.message logs.write_datadog_log.assert_called_once_with(params)