def test_reset_functionality(self):
        """
        This functions tests that mail contents are reset after calling reset()
        """
        # initialize the email client
        email_client = EmailClient(self.server, self.server_port, self.mail_id,
                                   self.password)

        # set email contents to test strings and files
        email_client.set_subject(self.test_subject)
        email_client.set_body(self.test_body)
        email_client.set_signature(self.test_signature)
        email_client.add_attachment(self.test_attachment)

        # before reset will be true as email will be sent
        before_reset = email_client.send(self.recipient)

        # reset the email contents
        email_client.reset_email()

        # after reset will be false as email won't be sent as the contents removed
        after_reset = email_client.send(self.recipient)

        # compare that both are not equal
        self.assertNotEqual(before_reset, after_reset)
Esempio n. 2
0
    def send_mail(self, subject, url, params):
        mail_rece = params.get('buyer_email')
        mail_type = params.get('email_type')

        # user_type = 'mws_user_ship'
        # if mail_type == 'AmzReceipt':
        #     user_type = 'mws_user_receipt'
        # elif mail_type == 'AmzInvite':
        #     user_type = 'mws_user_invite'
        # log.info('UserType: %s', user_type)
        mail_user_info = random.choice(
            email_config.mail_user_info.get('mws_users'))
        mail_from = mail_user_info.split(',')[0]
        mail_user = email_config.mail_user_info.get('aws_user').split(',')[0]
        mail_pass = email_config.mail_user_info.get('aws_user').split(',')[1]
        mail_host = email_config.mail_host_info.get('aws_host')

        with open('Template' + url, 'r') as f:
            if mail_type == 'AmzShip':
                m_body = f.read().format(
                    buyer_name=params.get('buyer_name'),
                    carrier_name=params.get('carrier_name'),
                    tracking_number=params.get('tracking_number'),
                    arrival_date=params.get('arrival_date'))
            else:
                m_body = f.read().format(buyer_name=params.get('buyer_name'))

        emc = EmailClient(mail_host)
        msg = emc.make_msg(mail_from, mail_rece, subject, m_body, 'html')
        emc.send(mail_user, mail_pass, mail_from, mail_rece, msg)
    def test_email_client_reset(self):
        # Email message content
        # Email subject
        subject = 'Testing Reset Method'
        # Email body
        body = 'Email body has not been reset. Please check its functionality.'
        # Email signature
        signature = '\n\nKind regards,\[email protected]'

        # initialising Email
        email_client = EmailClient(self.__server, self.__port_number,
                                   self.__username, self.__password)
        email_client.set_subject(subject)
        email_client.set_body(body)
        email_client.set_signature(signature)
        email_client.add_attachment('test.txt')

        # resetting email content
        email_client.reset_email()

        # adding Email body
        new_body = 'Email body has been reset.'
        email_client.set_body(new_body)

        # testing
        sent = True
        self.assertEqual(email_client.send(self.__recipient), sent)
    def test_email_client_send_misc(self):
        # Email message content
        # Email subject
        subject = ''

        # sending Email
        email_client = EmailClient(self.__server, self.__port_number,
                                   self.__username, self.__password)
        email_client.set_subject(subject)
        # add Email attachment
        email_client.add_attachment('test.txt')

        # testing
        sent = False
        self.assertEqual(email_client.send(self.__recipient), sent)
    def test_invalid_attachment_path_mails(self):
        """
        This functions tests that mail is not sent when attachment path is invalid
        """
        # initialize the email client
        email_client = EmailClient(self.server, self.server_port, self.mail_id,
                                   self.password)

        # set email contents to test strings and files
        email_client.set_subject(self.test_subject)
        email_client.set_body(self.test_body)
        email_client.set_signature(self.test_signature)
        email_client.add_attachment('xyz.txt')

        # verify that the email is sent
        self.assertFalse(email_client.send(self.recipient))
    def test_valid_mails(self):
        """
        This function tests that the mail is not sent when email contents are empty
        """
        # initialize the email client
        email_client = EmailClient(self.server, self.server_port, self.mail_id,
                                   self.password)

        # set email contents to test strings and files
        email_client.set_subject(self.test_subject)
        email_client.set_body(self.test_body)
        email_client.set_signature(self.test_signature)
        email_client.add_attachment(self.test_attachment)

        # verify that the email is sent
        self.assertTrue(email_client.send(self.recipient))
    def test_empty_mails(self):
        """
        This function tests that the mail is sent successfully when all the mail contents are proper
        """
        # initialize the email client
        email_client = EmailClient(self.server, self.server_port, self.mail_id,
                                   self.password)

        # set email contents to empty string
        email_client.set_subject('')
        email_client.set_body('')
        email_client.set_signature('')
        email_client.add_attachment('')

        # verify that the email is not sent
        self.assertFalse(email_client.send(self.recipient))
    def test_empty_subject_mails(self):
        """
        This function tests that mail is not sent when attachment is present but no subject is added
        """
        # initialize the email client
        email_client = EmailClient(self.server, self.server_port, self.mail_id,
                                   self.password)

        # set subject of email to empty string
        email_client.set_subject('')

        # set email contents to test strings and files
        email_client.set_body(self.test_body)
        email_client.set_signature(self.test_signature)
        email_client.add_attachment(self.test_attachment)

        # verify that the email is sent
        self.assertFalse(email_client.send(self.recipient))
    def test_empty_email(self):
        # Empty Email message content
        # Email subject
        subject = ''
        # Email body
        body = ''
        # Email signature
        signature = ''

        # sending Email
        email_client = EmailClient(self.__server, self.__port_number,
                                   self.__username, self.__password)
        email_client.set_subject(subject)
        email_client.set_body(body)
        email_client.set_signature(signature)

        # testing
        sent = False
        self.assertEqual(email_client.send(self.__recipient), sent)
    def test_email_client_send(self):
        # Email message content
        # Email subject
        subject = 'Testing'
        # Email body
        body = 'Hi,\n\nI am Kevin. How are you?'
        # Email signature
        signature = '\n\nKind regards,\n{}'.format(self.__username)

        # sending Email
        email_client = EmailClient(self.__server, self.__port_number,
                                   self.__username, self.__password)
        email_client.set_subject(subject)
        email_client.set_body(body)
        email_client.set_signature(signature)
        email_client.add_attachment('test.txt')

        # testing
        sent = True
        self.assertEqual(email_client.send(self.__recipient), sent)