Browse Source

fix(api): don't fail ?owns_qname= validation with uppercase chars

Peter Thomassen 3 years ago
parent
commit
ab4325f150
2 changed files with 2 additions and 2 deletions
  1. 1 1
      api/desecapi/models.py
  2. 1 1
      api/desecapi/tests/test_domains.py

+ 1 - 1
api/desecapi/models.py

@@ -209,7 +209,7 @@ validate_domain_name = [
 class DomainManager(Manager):
     def filter_qname(self, qname: str, **kwargs) -> models.query.QuerySet:
         try:
-            Domain._meta.get_field('name').run_validators(qname.removeprefix('*.'))
+            Domain._meta.get_field('name').run_validators(qname.removeprefix('*.').lower())
         except ValidationError:
             raise ValueError
         return self.annotate(

+ 1 - 1
api/desecapi/tests/test_domains.py

@@ -225,7 +225,7 @@ class DomainOwnerTestCase1(DomainOwnerTestCase):
             domain.save()
 
         for domain in domains:
-            for name in [domain.name, f'foo.bar.{domain.name}']:
+            for name in [domain.name, f'foo.bar.{domain.name}', f'foo.BAR.{domain.name}']:
                 response = self.client.get(self.reverse('v1:domain-list'), data={'owns_qname': name})
                 self.assertStatus(response, status.HTTP_200_OK)
                 self.assertEqual(len(response.data), 1)