Commit 1cea3c85 authored by Leonard Marschke's avatar Leonard Marschke 👾
Browse files

make tests a little bit easier

parent ee80468d
Loading
Loading
Loading
Loading
Loading
+12 −4
Original line number Diff line number Diff line
@@ -43,12 +43,12 @@ class TestSession(BaseTest):
        self.assertResponse(503, b'MAIL FROM:<correct.mail@test.de>\r\n')

    def test_mail_double_send(self):
        self.assertResponse(250, b'EHLO localDomain\r\n')
        self.assertResponse(250, b'HELO localDomain\r\n')
        self.assertResponse(250, b'MAIL FROM:<correct.mail@test.de>\r\n')
        self.assertResponse(503, b'MAIL FROM:<correct2.mail@test.de>\r\n')

    def test_invalid_state_transition_03(self):
        self.assertResponse(250, b'EHLO localhost\r\n')
        self.assertResponse(250, b'HELO localhost\r\n')
        self.assertResponse(250, b'MAIL FROM:<leonard@marschke.me>\r\n')
        self.assertResponse(503, b'DATA\r\n')
        self.assertResponse(250, b'RSET\r\n')
@@ -57,14 +57,14 @@ class TestSession(BaseTest):
        self.assertResponse(250, b'RSET\r\n')

    def test_reset_operation(self):
        self.assertResponse(250, b'EHLO localhost\r\n')
        self.assertResponse(250, b'HELO localhost\r\n')
        self.assertResponse(250, b'MAIL FROM:<leonard@marschke.me>\r\n')
        self.assertResponse(250, b'RCPT TO:<firstAddress@localhost>\r\n')
        self.assertResponse(250, b'RSET\r\n')
        self.assertResponse(503, b'DATA\r\n')

    def test_reset_operation_parameter(self):
        self.assertResponse(250, b'EHLO localhost\r\n')
        self.assertResponse(250, b'HELO localhost\r\n')
        self.assertResponse(250, b'MAIL FROM:<leonard@marschke.me>\r\n')
        self.assertResponse(250, b'RCPT TO:<firstAddress@localhost>\r\n')
        self.assertResponse(250, b'RSET MAIL FROM:<leonard@marschke.me>\r\n')
@@ -87,6 +87,14 @@ class TestSession(BaseTest):
        self.assertResponse(500, b'VRFZ\r\n')
        self.assertResponse(250, b'NOOP\r\n')

    def test_quit_operation(self):
        self.assertResponse(250, b'HELO localDomain\r\n')

        self.assertResponse(221, b'QUIT\r\n')

        with self.assertRaises(AssertionError):
            self.assertResponse([x for x in range(500, 510)], b'NONEXISTANT\r\n')

    def test_parse_helo_correct(self):
        self.assertResponse(250, b'HELO marschke.me\r\n')

+6 −3
Original line number Diff line number Diff line
@@ -45,15 +45,18 @@ class BaseTest(unittest.TestCase):

            return form_message

        if isinstance(expected_code, int):
            expected_code = [expected_code]

        if message:
            if isinstance(message, str):
                self.client.send(message.encode('ASCII'))
            else:
                self.client.send(message)

        if not expected_code:
            return

        if isinstance(expected_code, int):
            expected_code = [expected_code]

        response = ''
        while not response.endswith('\r\n'):
            try: