Loading tests/TestFuzzing.py +2 −1 Original line number Diff line number Diff line Loading @@ -44,8 +44,9 @@ class TestFuzzing(BaseTest): self.assertResponse(500, '{}\r\n'.format(fuzzy_input)) def test_huge_input(self): fuzzy_input = 'A' * 10**6 fuzzy_input = 'A' * 10**4 self.assertResponse(500, '{}\r\n'.format(fuzzy_input)) def test_sentry_issue_49(self): self.assertResponse(500, b'\xff\xf4\xff\xfd\x06' + "\r\n".encode('ASCII')) tests/TestMail.py +71 −0 Original line number Diff line number Diff line Loading @@ -103,3 +103,74 @@ class TestMail(BaseTest): 'SOME_RANDOM_TEXT']) self.assertResponse(221, 'QUIT\r\n') def test_mail_many_recipients(self): self.assertResponse(250, 'HELO marschke.me\r\n') self.assertResponse(250, 'MAIL FROM:<leonard@marschke.me>\r\n') self.assertResponse(250, 'RCPT TO:<firstAddress@{}>\r\n'.format(self.test_server.domain)) for i in range(10**3): self.assertResponse(250, 'RCPT TO:<address{}@{}>\r\n'.format(i, self.test_server.domain)) self.assertResponse(354, 'DATA\r\n' + \ 'Date: Thu, 10 May 2018 10:33:29 -0100\r\n' + \ 'FROM: Leonard Marschke<leonard@marschke.me>\r\n' + \ 'Subject: Testmail\r\n' + \ 'To: firstaddress@{}\r\n'.format(self.test_server.domain) + \ '\r\n' + \ 'Hi all, this is\r\n' + \ 'a second line.\r\n' + \ 'And a third.\r\n' + \ 'Single point incoming.\r\n' + \ '..\r\n' + \ 'BR\r\n') self.assertResponse(250, '.\r\n') self.assertResponse(221, 'QUIT\r\n') def test_mail_many_mails(self): for _ in range(10**3): self.assertResponse(250, 'HELO marschke.me\r\n') self.assertResponse(250, 'MAIL FROM:<leonard@marschke.me>\r\n') self.assertResponse(250, 'RCPT TO:<firstAddress@{}>\r\n'.format(self.test_server.domain)) self.assertResponse(250, 'RCPT TO:<secondAddress@{}>\r\n'.format(self.test_server.domain)) self.assertResponse(354, 'DATA\r\n' + \ 'Date: Thu, 10 May 2018 10:33:29 -0100\r\n' + \ 'FROM: Leonard Marschke<leonard@marschke.me>\r\n' + \ 'Subject: Testmail\r\n' + \ 'To: firstaddress@{}\r\n'.format(self.test_server.domain) + \ '\r\n' + \ 'Hi all, this is\r\n' + \ 'a second line.\r\n' + \ 'And a third.\r\n' + \ 'Single point incoming.\r\n' + \ '..\r\n' + \ 'BR\r\n') self.assertResponse(250, '.\r\n') self.assertResponse(221, 'QUIT\r\n') def test_mail_huge_mails(self): self.assertResponse(250, 'HELO marschke.me\r\n') self.assertResponse(250, 'MAIL FROM:<leonard@marschke.me>\r\n') self.assertResponse(250, 'RCPT TO:<firstAddress@{}>\r\n'.format(self.test_server.domain)) self.assertResponse(250, 'RCPT TO:<secondAddress@{}>\r\n'.format(self.test_server.domain)) huge_lines = '' for i in range(10**3): huge_line = 'Line {} {}\r\n'.format(str(i), 'A' * 10**2) huge_lines += huge_line self.assertResponse(354, 'DATA\r\n' + \ 'Date: Thu, 10 May 2018 10:33:29 -0100\r\n' + \ 'FROM: Leonard Marschke<leonard@marschke.me>\r\n' + \ 'Subject: Testmail\r\n' + \ 'To: firstaddress@{}\r\n'.format(self.test_server.domain) + \ '\r\n' + \ '{}\r\n'.format(huge_lines) + \ '..\r\n' + \ 'BR\r\n') self.assertResponse(250, '.\r\n') self.assertResponse(221, 'QUIT\r\n') util/TestServer.py +1 −1 Original line number Diff line number Diff line Loading @@ -6,7 +6,7 @@ import time class TestServer: CONNECTION_TIMEOUT = 5 CONNECTION_TIMEOUT = 10 def __init__(self, hostname, port, container_template, docker_port, ssl_on=False, wait_up=0.5): self.hostname = hostname Loading Loading
tests/TestFuzzing.py +2 −1 Original line number Diff line number Diff line Loading @@ -44,8 +44,9 @@ class TestFuzzing(BaseTest): self.assertResponse(500, '{}\r\n'.format(fuzzy_input)) def test_huge_input(self): fuzzy_input = 'A' * 10**6 fuzzy_input = 'A' * 10**4 self.assertResponse(500, '{}\r\n'.format(fuzzy_input)) def test_sentry_issue_49(self): self.assertResponse(500, b'\xff\xf4\xff\xfd\x06' + "\r\n".encode('ASCII'))
tests/TestMail.py +71 −0 Original line number Diff line number Diff line Loading @@ -103,3 +103,74 @@ class TestMail(BaseTest): 'SOME_RANDOM_TEXT']) self.assertResponse(221, 'QUIT\r\n') def test_mail_many_recipients(self): self.assertResponse(250, 'HELO marschke.me\r\n') self.assertResponse(250, 'MAIL FROM:<leonard@marschke.me>\r\n') self.assertResponse(250, 'RCPT TO:<firstAddress@{}>\r\n'.format(self.test_server.domain)) for i in range(10**3): self.assertResponse(250, 'RCPT TO:<address{}@{}>\r\n'.format(i, self.test_server.domain)) self.assertResponse(354, 'DATA\r\n' + \ 'Date: Thu, 10 May 2018 10:33:29 -0100\r\n' + \ 'FROM: Leonard Marschke<leonard@marschke.me>\r\n' + \ 'Subject: Testmail\r\n' + \ 'To: firstaddress@{}\r\n'.format(self.test_server.domain) + \ '\r\n' + \ 'Hi all, this is\r\n' + \ 'a second line.\r\n' + \ 'And a third.\r\n' + \ 'Single point incoming.\r\n' + \ '..\r\n' + \ 'BR\r\n') self.assertResponse(250, '.\r\n') self.assertResponse(221, 'QUIT\r\n') def test_mail_many_mails(self): for _ in range(10**3): self.assertResponse(250, 'HELO marschke.me\r\n') self.assertResponse(250, 'MAIL FROM:<leonard@marschke.me>\r\n') self.assertResponse(250, 'RCPT TO:<firstAddress@{}>\r\n'.format(self.test_server.domain)) self.assertResponse(250, 'RCPT TO:<secondAddress@{}>\r\n'.format(self.test_server.domain)) self.assertResponse(354, 'DATA\r\n' + \ 'Date: Thu, 10 May 2018 10:33:29 -0100\r\n' + \ 'FROM: Leonard Marschke<leonard@marschke.me>\r\n' + \ 'Subject: Testmail\r\n' + \ 'To: firstaddress@{}\r\n'.format(self.test_server.domain) + \ '\r\n' + \ 'Hi all, this is\r\n' + \ 'a second line.\r\n' + \ 'And a third.\r\n' + \ 'Single point incoming.\r\n' + \ '..\r\n' + \ 'BR\r\n') self.assertResponse(250, '.\r\n') self.assertResponse(221, 'QUIT\r\n') def test_mail_huge_mails(self): self.assertResponse(250, 'HELO marschke.me\r\n') self.assertResponse(250, 'MAIL FROM:<leonard@marschke.me>\r\n') self.assertResponse(250, 'RCPT TO:<firstAddress@{}>\r\n'.format(self.test_server.domain)) self.assertResponse(250, 'RCPT TO:<secondAddress@{}>\r\n'.format(self.test_server.domain)) huge_lines = '' for i in range(10**3): huge_line = 'Line {} {}\r\n'.format(str(i), 'A' * 10**2) huge_lines += huge_line self.assertResponse(354, 'DATA\r\n' + \ 'Date: Thu, 10 May 2018 10:33:29 -0100\r\n' + \ 'FROM: Leonard Marschke<leonard@marschke.me>\r\n' + \ 'Subject: Testmail\r\n' + \ 'To: firstaddress@{}\r\n'.format(self.test_server.domain) + \ '\r\n' + \ '{}\r\n'.format(huge_lines) + \ '..\r\n' + \ 'BR\r\n') self.assertResponse(250, '.\r\n') self.assertResponse(221, 'QUIT\r\n')
util/TestServer.py +1 −1 Original line number Diff line number Diff line Loading @@ -6,7 +6,7 @@ import time class TestServer: CONNECTION_TIMEOUT = 5 CONNECTION_TIMEOUT = 10 def __init__(self, hostname, port, container_template, docker_port, ssl_on=False, wait_up=0.5): self.hostname = hostname Loading