From 1440ee9cebe2599239ed910b3f19cba6f79ff92c Mon Sep 17 00:00:00 2001 From: Tom Usher Date: Wed, 7 Dec 2022 16:25:10 +0000 Subject: Support deeper subdomains in domain validation (#110) Use a new validator class with regex based on the URLValidator from Django--- tests/users/views/test_domains.py | 40 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 tests/users/views/test_domains.py (limited to 'tests/users') diff --git a/tests/users/views/test_domains.py b/tests/users/views/test_domains.py new file mode 100644 index 0000000..13d4b11 --- /dev/null +++ b/tests/users/views/test_domains.py @@ -0,0 +1,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) -- cgit v1.2.3