|
12 | 12 | CannotUseDomainReason, |
13 | 13 | CannotSetCustomDomainMailboxesCause, |
14 | 14 | count_custom_domain_aliases, |
| 15 | + can_blocked_domain_be_used, |
| 16 | + can_custom_domain_be_used, |
15 | 17 | ) |
16 | 18 | from app.db import Session |
17 | 19 | from app.models import User, CustomDomain, Mailbox, DomainMailbox, BlockedDomain, Alias |
@@ -52,46 +54,110 @@ def test_is_valid_domain(): |
52 | 54 | # can_domain_be_used |
53 | 55 | def test_can_domain_be_used(): |
54 | 56 | domain = f"{random_string(10)}.com" |
55 | | - res = can_domain_be_used(user, domain, CustomDomain) |
| 57 | + res = can_domain_be_used(user, domain) |
56 | 58 | assert res is None |
57 | 59 |
|
58 | 60 |
|
59 | | -def test_can_domain_be_used_existing_domain(): |
| 61 | +def test_can_domain_be_used_sl_domain(): |
| 62 | + domain = ALIAS_DOMAINS[0] |
| 63 | + res = can_domain_be_used(user, domain) |
| 64 | + assert res is CannotUseDomainReason.BuiltinDomain |
| 65 | + |
| 66 | + |
| 67 | +def test_can_domain_be_used_domain_of_user_email(): |
| 68 | + domain = user.email.split("@")[1] |
| 69 | + res = can_domain_be_used(user, domain) |
| 70 | + assert res is CannotUseDomainReason.DomainPartOfUserEmail |
| 71 | + |
| 72 | + |
| 73 | +def test_can_domain_be_used_domain_of_existing_mailbox(): |
| 74 | + domain = random_domain() |
| 75 | + Mailbox.create(user_id=user.id, email=f"email@{domain}", verified=True, commit=True) |
| 76 | + res = can_domain_be_used(user, domain) |
| 77 | + assert res is CannotUseDomainReason.DomainUserInMailbox |
| 78 | + |
| 79 | + |
| 80 | +def test_can_domain_be_used_invalid_domain(): |
| 81 | + domain = f"{random_string(10)}@lol.com" |
| 82 | + res = can_domain_be_used(user, domain) |
| 83 | + assert res is CannotUseDomainReason.InvalidDomain |
| 84 | + |
| 85 | + |
| 86 | +# can_custom_domain_be_used |
| 87 | +def test_can_custom_domain_be_used(): |
| 88 | + domain = f"{random_string(10)}.com" |
| 89 | + res = can_custom_domain_be_used(user, domain) |
| 90 | + assert res is None |
| 91 | + |
| 92 | + |
| 93 | +def test_can_custom_domain_be_used_sl_domain(): |
| 94 | + domain = ALIAS_DOMAINS[0] |
| 95 | + res = can_custom_domain_be_used(user, domain) |
| 96 | + assert res is CannotUseDomainReason.BuiltinDomain |
| 97 | + |
| 98 | + |
| 99 | +def test_can_custom_domain_be_used_domain_of_user_email(): |
| 100 | + domain = user.email.split("@")[1] |
| 101 | + res = can_custom_domain_be_used(user, domain) |
| 102 | + assert res is CannotUseDomainReason.DomainPartOfUserEmail |
| 103 | + |
| 104 | + |
| 105 | +def test_can_custom_domain_be_used_domain_of_existing_mailbox(): |
| 106 | + domain = random_domain() |
| 107 | + Mailbox.create(user_id=user.id, email=f"email@{domain}", verified=True, commit=True) |
| 108 | + res = can_custom_domain_be_used(user, domain) |
| 109 | + assert res is CannotUseDomainReason.DomainUserInMailbox |
| 110 | + |
| 111 | + |
| 112 | +def test_can_custom_domain_be_used_invalid_domain(): |
| 113 | + domain = f"{random_string(10)}@lol.com" |
| 114 | + res = can_custom_domain_be_used(user, domain) |
| 115 | + assert res is CannotUseDomainReason.InvalidDomain |
| 116 | + |
| 117 | + |
| 118 | +def test_can_custom_domain_be_used_existing_domain(): |
60 | 119 | domain = random_domain() |
61 | 120 | CustomDomain.create(user_id=user.id, domain=domain, commit=True) |
62 | | - res = can_domain_be_used(user, domain, CustomDomain) |
| 121 | + res = can_custom_domain_be_used(user, domain) |
63 | 122 | assert res is CannotUseDomainReason.DomainAlreadyUsed |
64 | 123 |
|
65 | 124 |
|
66 | | -def test_can_domain_be_used_sl_domain(): |
| 125 | +# can_blocked_domain_be_used |
| 126 | +def test_can_blocked_domain_be_used(): |
| 127 | + domain = f"{random_string(10)}.com" |
| 128 | + res = can_blocked_domain_be_used(user, domain) |
| 129 | + assert res is None |
| 130 | + |
| 131 | + |
| 132 | +def test_can_blocked_domain_be_used_sl_domain(): |
67 | 133 | domain = ALIAS_DOMAINS[0] |
68 | | - res = can_domain_be_used(user, domain, CustomDomain) |
| 134 | + res = can_blocked_domain_be_used(user, domain) |
69 | 135 | assert res is CannotUseDomainReason.BuiltinDomain |
70 | 136 |
|
71 | 137 |
|
72 | | -def test_can_domain_be_used_domain_of_user_email(): |
| 138 | +def test_can_blocked_domain_be_used_domain_of_user_email(): |
73 | 139 | domain = user.email.split("@")[1] |
74 | | - res = can_domain_be_used(user, domain, CustomDomain) |
| 140 | + res = can_blocked_domain_be_used(user, domain) |
75 | 141 | assert res is CannotUseDomainReason.DomainPartOfUserEmail |
76 | 142 |
|
77 | 143 |
|
78 | | -def test_can_domain_be_used_domain_of_existing_mailbox(): |
| 144 | +def test_can_blocked_domain_be_used_domain_of_existing_mailbox(): |
79 | 145 | domain = random_domain() |
80 | 146 | Mailbox.create(user_id=user.id, email=f"email@{domain}", verified=True, commit=True) |
81 | | - res = can_domain_be_used(user, domain, CustomDomain) |
| 147 | + res = can_blocked_domain_be_used(user, domain) |
82 | 148 | assert res is CannotUseDomainReason.DomainUserInMailbox |
83 | 149 |
|
84 | 150 |
|
85 | | -def test_can_domain_be_used_invalid_domain(): |
| 151 | +def test_can_blocked_domain_be_used_invalid_domain(): |
86 | 152 | domain = f"{random_string(10)}@lol.com" |
87 | | - res = can_domain_be_used(user, domain, CustomDomain) |
| 153 | + res = can_blocked_domain_be_used(user, domain) |
88 | 154 | assert res is CannotUseDomainReason.InvalidDomain |
89 | 155 |
|
90 | 156 |
|
91 | 157 | def test_can_blocked_domain_be_used_existing_domain(): |
92 | 158 | domain = random_domain() |
93 | 159 | BlockedDomain.create(user_id=user.id, domain=domain, commit=True) |
94 | | - res = can_domain_be_used(user, domain, BlockedDomain) |
| 160 | + res = can_blocked_domain_be_used(user, domain) |
95 | 161 | assert res is CannotUseDomainReason.DomainAlreadyUsed |
96 | 162 |
|
97 | 163 |
|
|
0 commit comments