from unittest.mock import MagicMock import boto3 from processing_accounting.util import ses def test_send_email(monkeypatch): mock_client = MagicMock() monkeypatch.setattr( mock_client, 'send_email', MagicMock(return_value=None)) monkeypatch.setattr(boto3, 'client', MagicMock(return_value=mock_client)) ses.send_email( 'paulo@theorchard.com', 'donotreply@theorchard.com', 'subject', 'message') mock_client.send_email.assert_any_call( Source='donotreply@theorchard.com', Destination={ 'ToAddresses': [ 'paulo@theorchard.com', ] }, Message={ 'Subject': { 'Data': 'subject', 'Charset': 'utf-8' }, 'Body': { 'Html': { 'Data': 'message', 'Charset': 'utf-8' } } }, ReplyToAddresses=[ 'donotreply@theorchard.com' ] )