def test_server_authpassword_type(bad_data): email = emailee.Emailee() with pytest.raises(TypeError): email.server( smtpServer=os.environ["EMAILEE_TEST_SMTP_SERVER"], authPassword=bad_data, )
def test_sendto_bcc_only(): email = emailee.Emailee() email.sendTo(bcc=["*****@*****.**"]) assert ( email.__repr__() == "{'sender': '', 'replyTo': '', 'subject': '', 'msgText': '', 'msgHTML': '', 'to': [], 'cc': [], 'bcc': ['*****@*****.**'], 'attachmentFiles': [], 'smtpServer': '', 'port': 0, 'SSLTLS': None}" )
def test_sender_valid(): email = emailee.Emailee() email.sender("*****@*****.**") assert ( email.__repr__() == "{'sender': '*****@*****.**', 'replyTo': '', 'subject': '', 'msgText': '', 'msgHTML': '', 'to': [], 'cc': [], 'bcc': [], 'attachmentFiles': [], 'smtpServer': '', 'port': 0, 'SSLTLS': None}" )
def test_subject_valid(): email = emailee.Emailee() email.subject(subject="Test subject") assert ( email.__repr__() == "{'sender': '', 'replyTo': '', 'subject': 'Test subject', 'msgText': '', 'msgHTML': '', 'to': [], 'cc': [], 'bcc': [], 'attachmentFiles': [], 'smtpServer': '', 'port': 0, 'SSLTLS': None}" )
def test_msgcontent_valid(): email = emailee.Emailee() email.msgContent(msgText="text field", msgHTML="HTML field") assert ( email.__repr__() == "{'sender': '', 'replyTo': '', 'subject': '', 'msgText': 'text field', 'msgHTML': 'HTML field', 'to': [], 'cc': [], 'bcc': [], 'attachmentFiles': [], 'smtpServer': '', 'port': 0, 'SSLTLS': None}" )
def test_server_timeout_invalid_values(bad_data): email = emailee.Emailee() with pytest.raises(ValueError): email.server( smtpServer=os.environ["EMAILEE_TEST_SMTP_SERVER"], timeout=bad_data, )
def test_send_email_valid_auth_2(): email = emailee.Emailee() email.sender(os.environ["EMAILEE_TEST_SENDER"]) email.subject( f"Successful test email {pytest.SENT_EMAIL_NUM} of {pytest.SENT_EMAIL_MAX} | Test email" ) email.msgContent(msgText=mail_examples.textExample, msgHTML=mail_examples.htmlExample) email.attachmentFiles([ f"{os.environ['EMAILEE_TEST_EMAILEE_PATH']}/tests/test_attachments/test.pdf", f"{os.environ['EMAILEE_TEST_EMAILEE_PATH']}/tests/test_attachments/kitten_pic.jpg", f"{os.environ['EMAILEE_TEST_EMAILEE_PATH']}/tests/test_attachments/sine_wave.wav", f"{os.environ['EMAILEE_TEST_EMAILEE_PATH']}/tests/test_attachments/test_spreadsheet.xlsx", f"{os.environ['EMAILEE_TEST_EMAILEE_PATH']}/tests/test_attachments/test_archive.zip", f"{os.environ['EMAILEE_TEST_EMAILEE_PATH']}/tests/test_attachments/test.txt", f"{os.environ['EMAILEE_TEST_EMAILEE_PATH']}/tests/test_attachments/test_octet-stream", ]) email.sendTo( [ os.environ["EMAILEE_TEST_RECEIVER1"], os.environ["EMAILEE_TEST_RECEIVER2"] ], cc=[os.environ["EMAILEE_TEST_SENDER"]], bcc=[os.environ["EMAILEE_TEST_RECEIVER3"]], ) email.server( smtpServer=os.environ["EMAILEE_TEST_SMTP_SERVER"], SSLTLS="TLS", authUsername=os.environ["EMAILEE_TEST_AUTH_USERNAME"], authPassword=os.environ["EMAILEE_TEST_AUTH_PASSWORD"], timeout=60, ) pytest.SENT_EMAIL_NUM += 1 email.send()
def test_server_scenario_5(): email = emailee.Emailee() email.server(smtpServer=os.environ["EMAILEE_TEST_SMTP_SERVER"], port=587) assert ( email.__repr__() == f"{{'sender': '', 'replyTo': '', 'subject': '', 'msgText': '', 'msgHTML': '', 'to': [], 'cc': [], 'bcc': [], 'attachmentFiles': [], 'smtpServer': '{os.environ['EMAILEE_TEST_SMTP_SERVER']}', 'port': 587, 'SSLTLS': <_EncType.TLS: 2>}}" )
def test_server_ssltls_type(bad_data): email = emailee.Emailee() with pytest.raises(TypeError): email.server( smtpServer=os.environ["EMAILEE_TEST_SMTP_SERVER"], SSLTLS=bad_data, )
def test_sendto_bcc_type(bad_data): email = emailee.Emailee() with pytest.raises(TypeError): email.sendTo( to=["*****@*****.**"], cc=["*****@*****.**"], bcc=bad_data, )
def test_send_email_invalid_server_1(): email = emailee.Emailee() email.sender("*****@*****.**") email.subject("Test email") email.sendTo(["*****@*****.**"]) email.server(smtpServer="asdadas.fakeemail.com", timeout=3) with pytest.raises(ValueError): email.send()
def test_sendto_ignoreerror_bcc_one_invalid(): email = emailee.Emailee() email.sendTo( bcc=["*****@*****.**", "invalid.emailfakeemail.com"], ignoreErrors=True, ) assert ( email.__repr__() == "{'sender': '', 'replyTo': '', 'subject': '', 'msgText': '', 'msgHTML': '', 'to': [], 'cc': [], 'bcc': ['*****@*****.**'], 'attachmentFiles': [], 'smtpServer': '', 'port': 0, 'SSLTLS': None}" )
def test_server_scenario_8(): email = emailee.Emailee() email.server( smtpServer=os.environ["EMAILEE_TEST_SMTP_SERVER"], authPassword="******", ) assert ( email.__repr__() == f"{{'sender': '', 'replyTo': '', 'subject': '', 'msgText': '', 'msgHTML': '', 'to': [], 'cc': [], 'bcc': [], 'attachmentFiles': [], 'smtpServer': '{os.environ['EMAILEE_TEST_SMTP_SERVER']}', 'port': 25, 'SSLTLS': None}}" )
def test_send_email_invalid_auth_2(): email = emailee.Emailee() email.sender(os.environ["EMAILEE_TEST_SENDER"]) email.subject("Test email") email.sendTo(cc=["*****@*****.**"]) email.server( smtpServer=os.environ["EMAILEE_TEST_SMTP_SERVER"], SSLTLS="SSL", timeout=3, ) with pytest.raises(ValueError): email.send()
def test_sendto_with_params(): email = emailee.Emailee() email.sendTo( to=["*****@*****.**"], cc=["*****@*****.**"], bcc=["*****@*****.**"], ignoreErrors=False, ) assert ( email.__repr__() == "{'sender': '', 'replyTo': '', 'subject': '', 'msgText': '', 'msgHTML': '', 'to': ['*****@*****.**'], 'cc': ['*****@*****.**'], 'bcc': ['*****@*****.**'], 'attachmentFiles': [], 'smtpServer': '', 'port': 0, 'SSLTLS': None}" )
def test_attachments_relative_path(): email = emailee.Emailee() email.attachmentFiles([ "./tests/test_attachments/test.pdf", "./tests/test_attachments/kitten_pic.jpg", "./tests/test_attachments/sine_wave.wav", "./tests/test_attachments/test_spreadsheet.xlsx", "./tests/test_attachments/test_archive.zip", ]) assert ( email.__repr__() == "{'sender': '', 'replyTo': '', 'subject': '', 'msgText': '', 'msgHTML': '', 'to': [], 'cc': [], 'bcc': [], 'attachmentFiles': ['./tests/test_attachments/test.pdf', './tests/test_attachments/kitten_pic.jpg', './tests/test_attachments/sine_wave.wav', './tests/test_attachments/test_spreadsheet.xlsx', './tests/test_attachments/test_archive.zip'], 'smtpServer': '', 'port': 0, 'SSLTLS': None}" )
def test_attachments_full_path(): email = emailee.Emailee() email.attachmentFiles([ f"{os.environ['EMAILEE_TEST_EMAILEE_PATH']}/tests/test_attachments/test.pdf", f"{os.environ['EMAILEE_TEST_EMAILEE_PATH']}/tests/test_attachments/kitten_pic.jpg", f"{os.environ['EMAILEE_TEST_EMAILEE_PATH']}/tests/test_attachments/sine_wave.wav", f"{os.environ['EMAILEE_TEST_EMAILEE_PATH']}/tests/test_attachments/test_spreadsheet.xlsx", f"{os.environ['EMAILEE_TEST_EMAILEE_PATH']}/tests/test_attachments/test_archive.zip", ]) assert ( email.__repr__() == f"{{'sender': '', 'replyTo': '', 'subject': '', 'msgText': '', 'msgHTML': '', 'to': [], 'cc': [], 'bcc': [], 'attachmentFiles': ['{os.environ['EMAILEE_TEST_EMAILEE_PATH']}/tests/test_attachments/test.pdf', '{os.environ['EMAILEE_TEST_EMAILEE_PATH']}/tests/test_attachments/kitten_pic.jpg', '{os.environ['EMAILEE_TEST_EMAILEE_PATH']}/tests/test_attachments/sine_wave.wav', '{os.environ['EMAILEE_TEST_EMAILEE_PATH']}/tests/test_attachments/test_spreadsheet.xlsx', '{os.environ['EMAILEE_TEST_EMAILEE_PATH']}/tests/test_attachments/test_archive.zip'], 'smtpServer': '', 'port': 0, 'SSLTLS': None}}" )
def test_send_email_invalid_auth_6(): email = emailee.Emailee() email.sender(os.environ["EMAILEE_TEST_SENDER"], replyTo="*****@*****.**") email.subject("Test email") email.sendTo(["*****@*****.**"]) email.server( smtpServer=os.environ["EMAILEE_TEST_SMTP_SERVER"], SSLTLS="TLS", authPassword="******", timeout=3, ) with pytest.raises(ValueError): email.send()
def test_send_email_outputfile_invalid_type(bad_data): email = emailee.Emailee() email.sender(os.environ["EMAILEE_TEST_SENDER"]) email.subject("Test email") email.sendTo([os.environ["EMAILEE_TEST_RECEIVER1"]]) email.server( smtpServer=os.environ["EMAILEE_TEST_SMTP_SERVER"], SSLTLS="TLS", authUsername=os.environ["EMAILEE_TEST_AUTH_USERNAME"], authPassword=os.environ["EMAILEE_TEST_AUTH_PASSWORD"], timeout=3, ) with pytest.raises(TypeError): email.send(bad_data)
def test_send_email_outputfile_no_access(): email = emailee.Emailee() email.sender(os.environ["EMAILEE_TEST_SENDER"]) email.subject("Test email") email.sendTo([os.environ["EMAILEE_TEST_RECEIVER1"]]) email.server( smtpServer=os.environ["EMAILEE_TEST_SMTP_SERVER"], SSLTLS="TLS", authUsername=os.environ["EMAILEE_TEST_AUTH_USERNAME"], authPassword=os.environ["EMAILEE_TEST_AUTH_PASSWORD"], timeout=3, ) with pytest.raises(PermissionError): email.send("/root/no_file_access.txt")
def test_send_email_success_missing_username(file_setup): email = emailee.Emailee() email.subject( f"Successful test email {pytest.SENT_EMAIL_NUM} of {pytest.SENT_EMAIL_MAX} | Test email" ) email.sendTo([os.environ["EMAILEE_TEST_RECEIVER1"]]) email.server( smtpServer=os.environ["EMAILEE_TEST_SMTP_SERVER"], SSLTLS="TLS", authPassword=os.environ["EMAILEE_TEST_AUTH_PASSWORD"], timeout=60, ) email.sender(os.environ["EMAILEE_TEST_SENDER"]) pytest.SENT_EMAIL_NUM += 1 email.send(os.environ["EMAILEE_TEST_EMAILEE_PATH"] + "/tests/test_output.txt")
def test_send_email_valid_auth_1(): email = emailee.Emailee() email.sender(os.environ["EMAILEE_TEST_SENDER"]) email.subject( f"Successful test email {pytest.SENT_EMAIL_NUM} of {pytest.SENT_EMAIL_MAX} | Test email" ) email.sendTo([os.environ["EMAILEE_TEST_RECEIVER1"]]) email.server( smtpServer=os.environ["EMAILEE_TEST_SMTP_SERVER"], SSLTLS="TLS", authUsername=os.environ["EMAILEE_TEST_AUTH_USERNAME"], authPassword=os.environ["EMAILEE_TEST_AUTH_PASSWORD"], timeout=60, ) pytest.SENT_EMAIL_NUM += 1 email.send()
def test_send_email_outputfile_does_exist_empty(file_setup): Path(os.environ["EMAILEE_TEST_EMAILEE_PATH"] + "/tests/test_output.txt").touch() email = emailee.Emailee() email.sender(os.environ["EMAILEE_TEST_SENDER"]) email.subject( f"Successful test email {pytest.SENT_EMAIL_NUM} of {pytest.SENT_EMAIL_MAX} | Test email" ) email.sendTo([os.environ["EMAILEE_TEST_RECEIVER1"]]) email.server( smtpServer=os.environ["EMAILEE_TEST_SMTP_SERVER"], SSLTLS="TLS", authUsername=os.environ["EMAILEE_TEST_AUTH_USERNAME"], authPassword=os.environ["EMAILEE_TEST_AUTH_PASSWORD"], timeout=60, ) pytest.SENT_EMAIL_NUM += 1 email.send(os.environ["EMAILEE_TEST_EMAILEE_PATH"] + "/tests/test_output.txt")
def test_send_email_outputfile_does_exist_not_empty(file_setup): Path(os.environ["EMAILEE_TEST_EMAILEE_PATH"] + "/tests/test_output.txt").touch() with open( os.environ["EMAILEE_TEST_EMAILEE_PATH"] + "/tests/test_output.txt", "w") as output_file: output_file.write("some text") email = emailee.Emailee() email.sender(os.environ["EMAILEE_TEST_SENDER"]) email.subject("Test email") email.sendTo([os.environ["EMAILEE_TEST_RECEIVER1"]]) email.server( smtpServer=os.environ["EMAILEE_TEST_SMTP_SERVER"], SSLTLS="TLS", authUsername=os.environ["EMAILEE_TEST_AUTH_USERNAME"], authPassword=os.environ["EMAILEE_TEST_AUTH_PASSWORD"], timeout=3, ) with pytest.raises(OSError): email.send(os.environ["EMAILEE_TEST_EMAILEE_PATH"] + "/tests/test_output.txt")
def test_subject_invalid_value(): email = emailee.Emailee() with pytest.raises(ValueError): email.subject( "WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW" )
def test_full_sender_with_params(): email = emailee.Emailee() email.sender(sender="*****@*****.**", replyTo="*****@*****.**")
def test_new_email_not_ready(): email = emailee.Emailee() assert not email.ready()
def test_new_email_not_ready_authentication_sendTo(): email = emailee.Emailee() email.server("smtp.fakeemail.com", authPassword="******") email.sendTo(["*****@*****.**"]) email.sender("*****@*****.**") assert email.ready()
def test_subject_invalid_type(bad_data): email = emailee.Emailee() with pytest.raises(TypeError): email.subject(bad_data)
def test_new_email_is_ready_fake_data(): email = emailee.Emailee() email.sender("*****@*****.**") email.sendTo(["*****@*****.**"]) email.server("smtp.fakeemail.com") assert email.ready()