summaryrefslogtreecommitdiffstats
path: root/tests/users/views/test_domains.py
blob: 13d4b11b0400627ee32b87507abc2cf9d1a1e2ce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import pytest
from django.core.exceptions import ValidationError

from users.views.admin.domains import DomainValidator

VALID_DOMAINS = [
    "takahe.social",
    "subdomain.takahe.social",
    "another.subdomain.takahe.social",
    "jointakahe.org",
    "xn--c6h.com",
    "takahe.xn--social",
    "example.com",
    "www.example.com",
    "example.co.uk",
]

INVALID_DOMAINS = [
    "example.c",
    "example,com",
    "example,com.com",
    "example",
    ".com",
    "example.com/example",
    "-example.com",
    "example-.com",
    "example.com-",
    "https://example.com",
]


@pytest.mark.parametrize("domain", VALID_DOMAINS)
def test_domain_validation_accepts_valid_domains(domain):
    DomainValidator()(domain)


@pytest.mark.parametrize("domain", INVALID_DOMAINS)
def test_domain_validation_raises_exception_for_invalid_domains(domain):
    with pytest.raises(ValidationError):
        DomainValidator()(domain)