def test_send_combination(self, mock_em_send): ''' | *brief*: Check that a message sent to a combination of known & unknown addresses | returns a dictionary with appropriate statuses for each address. ''' mock_em_send.return_value = 1 known_addresses = [ '*****@*****.**', # Not yet confirmed '*****@*****.**', # Confirmed ] # Make records to indicate the known addresses are known. yesterday = datetime.today() - timedelta(days=1) AddressConfirmation.objects.create(address=known_addresses[0], last_request_date=yesterday) AddressConfirmation.objects.create(address=known_addresses[1], confirmation_timestamp=yesterday) unknown_addresses = [ '*****@*****.**', # Address currently unknown '*****@*****.**', # Address currently unknown ] sender_address = '*****@*****.**' recipient_addresses = known_addresses + unknown_addresses cem = ConfirmedEmailMessage(subject='Subject', body='message_body', from_email=sender_address, to=recipient_addresses) send_results = cem.send() # One call for each of the confirmation emails sent for unkown_addresses # plus one call for the email sent to the confirmed address. self.assertEqual(mock_em_send.call_count, 3) self.assertEqual(set(send_results.keys()), set(known_addresses + unknown_addresses)) expected_results = { '*****@*****.**': 'queued', '*****@*****.**': 'sent', '*****@*****.**': 'queued', '*****@*****.**': 'queued', } self.assertEqual(send_results, expected_results)
def test_send_known(self, mock_django_send, mock_send_unconfirmed): ''' | *brief*: Check that a message sent to a known address returns {<address>: 'sent'} | *author*: Jivan | *created*: 2016-02-25 ''' recipient_address = '*****@*****.**' sender_address = '*****@*****.**' message_subject = 'Greeting' message_content = 'Hi there' AddressConfirmation.objects.create( address=recipient_address, confirmation_timestamp=datetime.now()) cem = ConfirmedEmailMessage(subject=message_subject, body=message_content, from_email=sender_address, to=[recipient_address]) send_results = cem.send() expected_results = {recipient_address: 'sent'} self.assertEqual(send_results, expected_results) mock_send_unconfirmed.assert_not_called()
def test_send_known(self, mock_django_send, mock_send_unconfirmed): ''' | *brief*: Check that a message sent to a known address returns {<address>: 'sent'} | *author*: Jivan | *created*: 2016-02-25 ''' recipient_address = '*****@*****.**' sender_address = '*****@*****.**' message_subject = 'Greeting' message_content = 'Hi there' AddressConfirmation.objects.create( address=recipient_address, confirmation_timestamp=datetime.now() ) cem = ConfirmedEmailMessage( subject=message_subject, body=message_content, from_email=sender_address, to=[recipient_address] ) send_results = cem.send() expected_results = {recipient_address: 'sent'} self.assertEqual(send_results, expected_results) mock_send_unconfirmed.assert_not_called()
def test_send_unknown(self, mock_send_unconfirmed): # , mock_emailmultialternatives_send): ''' | *brief*: Checks that a message sent to an unknown address | returns {<address>: 'queued'} | *author*: Jivan | *created*: 2016-02-25 ''' recipient_address = '*****@*****.**' sender_address = '*****@*****.**' message_subject = 'Greeting' message_content = 'Hi there' cem = ConfirmedEmailMessage( subject=message_subject, body=message_content, from_email=sender_address, to=[recipient_address] ) # Assume successful confirmation email sending mock_send_unconfirmed.return_value = 1 send_results = cem.send() mock_send_unconfirmed.assert_called_once_with() expected_results = {recipient_address: 'queued'} self.assertEqual(send_results, expected_results)
def test_send_combination(self, mock_em_send): ''' | *brief*: Check that a message sent to a combination of known & unknown addresses | returns a dictionary with appropriate statuses for each address. ''' mock_em_send.return_value = 1 known_addresses = [ '*****@*****.**', # Not yet confirmed '*****@*****.**', # Confirmed ] # Make records to indicate the known addresses are known. yesterday = datetime.today() - timedelta(days=1) AddressConfirmation.objects.create(address=known_addresses[0], last_request_date=yesterday) AddressConfirmation.objects.create(address=known_addresses[1], confirmation_timestamp=yesterday) unknown_addresses = [ '*****@*****.**', # Address currently unknown '*****@*****.**', # Address currently unknown ] sender_address = '*****@*****.**' recipient_addresses = known_addresses + unknown_addresses cem = ConfirmedEmailMessage( subject='Subject', body='message_body', from_email=sender_address, to=recipient_addresses ) send_results = cem.send() # One call for each of the confirmation emails sent for unkown_addresses # plus one call for the email sent to the confirmed address. self.assertEqual(mock_em_send.call_count, 3) self.assertEqual(set(send_results.keys()), set(known_addresses + unknown_addresses)) expected_results = { '*****@*****.**': 'queued', '*****@*****.**': 'sent', '*****@*****.**': 'queued', '*****@*****.**': 'queued', } self.assertEqual(send_results, expected_results)
def test_send_unknown( self, mock_send_unconfirmed): # , mock_emailmultialternatives_send): ''' | *brief*: Checks that a message sent to an unknown address | returns {<address>: 'queued'} | *author*: Jivan | *created*: 2016-02-25 ''' recipient_address = '*****@*****.**' sender_address = '*****@*****.**' message_subject = 'Greeting' message_content = 'Hi there' cem = ConfirmedEmailMessage(subject=message_subject, body=message_content, from_email=sender_address, to=[recipient_address]) # Assume successful confirmation email sending mock_send_unconfirmed.return_value = 1 send_results = cem.send() mock_send_unconfirmed.assert_called_once_with() expected_results = {recipient_address: 'queued'} self.assertEqual(send_results, expected_results)