Server IP : 85.214.239.14 / Your IP : 216.73.216.170 Web Server : Apache/2.4.65 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Mon Sep 30 15:36:27 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 8.2.29 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /proc/2/cwd/srv/modoboa/env/lib/python3.5/site-packages/modoboa_amavis/tests/ |
Upload File : |
# -*- coding: utf-8 -*- from __future__ import unicode_literals from django.test import SimpleTestCase from modoboa.lib.tests import ModoTestCase from modoboa_amavis.lib import cleanup_email_address, make_query_args class MakeQueryArgsTests(ModoTestCase): """Tests for modoboa_amavis.lib.make_query_args().""" def test_simple_email_address_001(self): """Check case insensitive email address without recipient delimiter.""" self.set_global_parameter("localpart_is_case_sensitive", False) self.set_global_parameter("recipient_delimiter", "") address = "User+Foo@sub.exAMPLE.COM" expected_output = [ "user+foo@sub.example.com", ] output = make_query_args(address) self.assertEqual(output, expected_output) def test_simple_email_address_002(self): """Check case sensitive email address with recipient delimiter.""" self.set_global_parameter("localpart_is_case_sensitive", True) self.set_global_parameter("recipient_delimiter", "+") address = "User+Foo@sub.exAMPLE.COM" expected_output = [ "User+Foo@sub.exAMPLE.COM", "User+Foo@sub.example.com", "User@sub.example.com", ] output = make_query_args(address) self.assertEqual(output, expected_output) def test_simple_email_address_003(self): """Check email address with recipient delimiter wildcard.""" self.set_global_parameter("localpart_is_case_sensitive", False) self.set_global_parameter("recipient_delimiter", "+") address = "User+Foo@sub.exAMPLE.COM" expected_output = [ "user+foo@sub.example.com", "user+.*@sub.example.com", "user@sub.example.com", ] output = make_query_args(address, exact_extension=False, wildcard=".*") self.assertEqual(output, expected_output) def test_simple_email_address_004(self): """Check domain search.""" self.set_global_parameter("localpart_is_case_sensitive", False) self.set_global_parameter("recipient_delimiter", "+") address = "User+Foo@sub.exAMPLE.COM" expected_output = [ "user+foo@sub.example.com", "user+.*@sub.example.com", "user@sub.example.com", "@sub.example.com", "@.", ] output = make_query_args( address, exact_extension=False, wildcard=".*", domain_search=True) self.assertEqual(output, expected_output) def test_simple_email_address_idn(self): """Check email address with international domain name.""" self.set_global_parameter("localpart_is_case_sensitive", False) self.set_global_parameter("recipient_delimiter", "") address = "Pingüino@Pájaro.Niño.exAMPLE.COM" expected_output = [ "Pingüino@Pájaro.Niño.exAMPLE.COM", "pingüino@xn--pjaro-xqa.xn--nio-8ma.example.com", ] output = make_query_args(address) self.assertEqual(output, expected_output) class FixUTF8EncodingTests(SimpleTestCase): """Tests for modoboa_amavis.lib.cleanup_email_address().""" def test_value_with_newline(self): value = "\"John Smith\" <john.smith@example.com>\n" expected_output = "John Smith <john.smith@example.com>" output = cleanup_email_address(value) self.assertEqual(output, expected_output) def test_no_name(self): value = "<john.smith@example.com>" expected_output = "john.smith@example.com" output = cleanup_email_address(value) self.assertEqual(output, expected_output)