Fix tests for Python 3

- drop Python 2 __future__ imports
- fix tests to handle new Django and Python 3 module names
- reformat changed files with black
This commit is contained in:
Jan Dittberner 2019-01-30 21:27:25 +01:00
parent ddec6b4184
commit 3d18392b67
32 changed files with 2707 additions and 2675 deletions

View file

@ -1,8 +1,8 @@
from django.test import TestCase
from django.core.urlresolvers import reverse
from django.urls import reverse
class TestMailDomainAdmin(TestCase):
def test_admin_for_maildomain(self):
admin_url = reverse('admin:domains_maildomain_changelist')
admin_url = reverse("admin:domains_maildomain_changelist")
self.assertIsNotNone(admin_url)

View file

@ -2,51 +2,42 @@
Tests for :py:mod:`domains.forms`.
"""
from __future__ import absolute_import, unicode_literals
from unittest.mock import MagicMock, Mock, patch
from mock import MagicMock, Mock, patch
from django.core.urlresolvers import reverse
from django.forms import ValidationError
from django.test import TestCase
from django.urls import reverse
from django.utils.translation import ugettext as _
from domains.forms import relative_domain_validator, CreateHostingDomainForm
class RelativeDomainValidatorTest(TestCase):
def test_valid_domainname(self):
relative_domain_validator('example.org')
relative_domain_validator("example.org")
def test_domain_name_too_long(self):
with self.assertRaisesMessage(
ValidationError, _('host name too long')):
relative_domain_validator('e' * 255)
with self.assertRaisesMessage(ValidationError, _("host name too long")):
relative_domain_validator("e" * 255)
def test_domain_name_part_too_long(self):
with self.assertRaisesMessage(
ValidationError, _('invalid domain name')):
relative_domain_validator('a' * 64 + '.org')
with self.assertRaisesMessage(ValidationError, _("invalid domain name")):
relative_domain_validator("a" * 64 + ".org")
def test_domain_name_illegal_characters(self):
with self.assertRaisesMessage(
ValidationError, _('invalid domain name')):
relative_domain_validator('eXampl3.org')
with self.assertRaisesMessage(ValidationError, _("invalid domain name")):
relative_domain_validator("eXampl3.org")
def test_domain_name_starts_with_dash(self):
with self.assertRaisesMessage(
ValidationError, _('invalid domain name')):
relative_domain_validator('-example.org')
with self.assertRaisesMessage(ValidationError, _("invalid domain name")):
relative_domain_validator("-example.org")
def test_domain_name_ends_with_dash(self):
with self.assertRaisesMessage(
ValidationError, _('invalid domain name')):
relative_domain_validator('example-.org')
with self.assertRaisesMessage(ValidationError, _("invalid domain name")):
relative_domain_validator("example-.org")
class CreateHostingDomainFormTest(TestCase):
def test_constructor_needs_hostingpackage(self):
instance = MagicMock()
with self.assertRaises(KeyError):
@ -56,50 +47,53 @@ class CreateHostingDomainFormTest(TestCase):
hostingpackage = Mock(id=42)
instance = MagicMock()
form = CreateHostingDomainForm(instance, hostingpackage=hostingpackage)
self.assertTrue(hasattr(form, 'hosting_package'))
self.assertTrue(hasattr(form, "hosting_package"))
self.assertEqual(form.hosting_package, hostingpackage)
self.assertTrue(hasattr(form, 'helper'))
self.assertEqual(form.helper.form_action, reverse(
'create_hosting_domain', kwargs={'package': 42}))
self.assertTrue(hasattr(form, "helper"))
self.assertEqual(
form.helper.form_action,
reverse("create_hosting_domain", kwargs={"package": 42}),
)
self.assertEqual(len(form.helper.layout.fields), 2)
self.assertEqual(form.helper.layout.fields[1].name, 'submit')
self.assertEqual(form.helper.layout.fields[1].name, "submit")
def test_domain_field_has_relative_domain_validator(self):
hostingpackage = Mock(id=42)
instance = MagicMock()
form = CreateHostingDomainForm(instance, hostingpackage=hostingpackage)
self.assertIn(
relative_domain_validator, form.fields['domain'].validators)
self.assertIn(relative_domain_validator, form.fields["domain"].validators)
def test_clean(self):
hostingpackage = Mock(id=42)
instance = MagicMock()
form = CreateHostingDomainForm(
instance, hostingpackage=hostingpackage,
data={'domain': 'example.org'})
instance, hostingpackage=hostingpackage, data={"domain": "example.org"}
)
self.assertTrue(form.is_valid())
self.assertIn('hosting_package', form.cleaned_data)
self.assertEqual(hostingpackage, form.cleaned_data['hosting_package'])
self.assertIn("hosting_package", form.cleaned_data)
self.assertEqual(hostingpackage, form.cleaned_data["hosting_package"])
def test_save(self):
hostingpackage = Mock(id=42)
instance = MagicMock()
form = CreateHostingDomainForm(
instance, hostingpackage=hostingpackage,
data={'domain': 'example.org'})
instance, hostingpackage=hostingpackage, data={"domain": "example.org"}
)
self.assertTrue(form.is_valid())
with patch('domains.forms.HostingDomain') as domain:
with patch("domains.forms.HostingDomain") as domain:
form.save()
domain.objects.create_for_hosting_package.assert_called_with(
commit=True, **form.cleaned_data)
commit=True, **form.cleaned_data
)
form.save(commit=False)
domain.objects.create_for_hosting_package.assert_called_with(
commit=False, **form.cleaned_data)
commit=False, **form.cleaned_data
)
def test_save_m2m(self):
hostingpackage = Mock(id=42)
instance = MagicMock()
form = CreateHostingDomainForm(
instance, hostingpackage=hostingpackage,
data={'domain': 'example.org'})
instance, hostingpackage=hostingpackage, data={"domain": "example.org"}
)
form.save_m2m()

View file

@ -2,9 +2,7 @@
Tests for :py:mod:`domains.models`.
"""
from __future__ import absolute_import, unicode_literals
from mock import patch
from unittest.mock import patch
from django.test import TestCase
from django.contrib.auth import get_user_model
@ -20,41 +18,38 @@ from domains.models import (
HostingDomain,
MailDomain,
)
from hostingpackages.models import (
CustomerHostingPackage,
HostingPackageTemplate,
)
from hostingpackages.models import CustomerHostingPackage, HostingPackageTemplate
User = get_user_model()
TEST_USER = 'test'
TEST_USER = "test"
class MailDomainTest(TestCase):
def test___str__(self):
md = MailDomain.objects.create(domain='example.org')
self.assertEqual(str(md), 'example.org')
md = MailDomain.objects.create(domain="example.org")
self.assertEqual(str(md), "example.org")
def test_get_mailaddresses(self):
md = MailDomain.objects.create(domain='example.org')
md = MailDomain.objects.create(domain="example.org")
from managemails.models import MailAddress
addrmock = MailAddress.objects.create(localpart='info', domain=md)
addrmock = MailAddress.objects.create(localpart="info", domain=md)
self.assertIn(addrmock, md.get_mailaddresses())
self.assertIn(addrmock, md.mailaddresses)
class HostingDomainManagerTest(TestCase):
def _setup_hosting_package(self):
template = HostingPackageTemplate.objects.create(
name='testpackagetemplate', mailboxcount=0, diskspace=1,
diskspace_unit=0)
name="testpackagetemplate", mailboxcount=0, diskspace=1, diskspace_unit=0
)
customer = User.objects.create_user(username=TEST_USER)
package = CustomerHostingPackage.objects.create_from_template(
customer, template, 'testpackage')
with patch('hostingpackages.models.settings') as hmsettings:
customer, template, "testpackage"
)
with patch("hostingpackages.models.settings") as hmsettings:
hmsettings.OSUSER_DEFAULT_GROUPS = []
package.save()
return package
@ -62,7 +57,8 @@ class HostingDomainManagerTest(TestCase):
def test_create_for_hosting_package_with_commit(self):
package = self._setup_hosting_package()
hostingdomain = HostingDomain.objects.create_for_hosting_package(
package, 'example.org', True)
package, "example.org", True
)
self.assertIsNotNone(hostingdomain)
self.assertTrue(hostingdomain.customer, package.customer)
@ -70,70 +66,60 @@ class HostingDomainManagerTest(TestCase):
def test_create_for_hosting_package_no_commit(self):
package = self._setup_hosting_package()
hostingdomain = HostingDomain.objects.create_for_hosting_package(
package, 'example.org', False)
package, "example.org", False
)
self.assertIsNotNone(hostingdomain)
self.assertTrue(hostingdomain.customer, package.customer)
class HostingDomainTest(TestCase):
def test___str__(self):
hostingdomain = HostingDomain(domain='test')
self.assertEqual(str(hostingdomain), 'test')
hostingdomain = HostingDomain(domain="test")
self.assertEqual(str(hostingdomain), "test")
class DNSDomainTest(TestCase):
def test___str__(self):
dnsdomain = DNSDomain(domain='test')
self.assertEqual(str(dnsdomain), 'test')
dnsdomain = DNSDomain(domain="test")
self.assertEqual(str(dnsdomain), "test")
class DNSRecordTest(TestCase):
def test___str__(self):
dnsrecord = DNSRecord(
name='localhost', recordtype='A', content='127.0.0.1')
self.assertEqual(str(dnsrecord), 'localhost IN A 127.0.0.1')
dnsrecord = DNSRecord(name="localhost", recordtype="A", content="127.0.0.1")
self.assertEqual(str(dnsrecord), "localhost IN A 127.0.0.1")
class DNSSupermasterTest(TestCase):
def test___str__(self):
dnssupermaster = DNSSupermaster(
ip='127.0.0.1', nameserver='dns.example.org')
self.assertEqual(str(dnssupermaster), '127.0.0.1 dns.example.org')
dnssupermaster = DNSSupermaster(ip="127.0.0.1", nameserver="dns.example.org")
self.assertEqual(str(dnssupermaster), "127.0.0.1 dns.example.org")
class DNSCommentTest(TestCase):
def test___str__(self):
dnscomment = DNSComment(
name='localhost', commenttype='A', comment='good stuff')
self.assertEqual(str(dnscomment), 'localhost IN A: good stuff')
dnscomment = DNSComment(name="localhost", commenttype="A", comment="good stuff")
self.assertEqual(str(dnscomment), "localhost IN A: good stuff")
class DNSDomainMetadataTest(TestCase):
def test___str__(self):
dnsdomain = DNSDomain(domain='test')
dnsdomain = DNSDomain(domain="test")
dnsdomainmetadata = DNSDomainMetadata(
domain=dnsdomain, kind='SOA-EDIT', content='INCEPTION')
self.assertEqual(str(dnsdomainmetadata), 'test SOA-EDIT INCEPTION')
domain=dnsdomain, kind="SOA-EDIT", content="INCEPTION"
)
self.assertEqual(str(dnsdomainmetadata), "test SOA-EDIT INCEPTION")
class DNSCryptoKeyTest(TestCase):
def test___str__(self):
dnsdomain = DNSDomain(domain='test')
dnscryptokey = DNSCryptoKey(domain=dnsdomain, content='testvalue')
self.assertEqual(str(dnscryptokey), 'test testvalue')
dnsdomain = DNSDomain(domain="test")
dnscryptokey = DNSCryptoKey(domain=dnsdomain, content="testvalue")
self.assertEqual(str(dnscryptokey), "test testvalue")
class DNSTSIGKeyTest(TestCase):
def test___str__(self):
dnstsigkey = DNSTSIGKey(
name='testkey', algorithm='hmac-md5', secret='dummykey')
self.assertEqual(str(dnstsigkey), 'testkey hmac-md5 XXXX')
dnstsigkey = DNSTSIGKey(name="testkey", algorithm="hmac-md5", secret="dummykey")
self.assertEqual(str(dnstsigkey), "testkey hmac-md5 XXXX")

View file

@ -2,149 +2,152 @@
Tests for :py:mod:`domains.views`.
"""
from __future__ import absolute_import, unicode_literals
from mock import patch, MagicMock
from django.core.urlresolvers import reverse
from django.test import TestCase
from unittest.mock import MagicMock, patch
from django.contrib.auth import get_user_model
from hostingpackages.models import (
CustomerHostingPackage,
HostingPackageTemplate,
)
from django.test import TestCase
from django.urls import reverse
from domains.views import CreateHostingDomain
from hostingpackages.models import CustomerHostingPackage, HostingPackageTemplate
User = get_user_model()
TEST_USER = 'test'
TEST_PASSWORD = 'secret'
TEST_EMAIL = 'test@example.org'
TEST_NAME = 'Example Tester'.split()
TEST_USER = "test"
TEST_PASSWORD = "secret"
TEST_EMAIL = "test@example.org"
TEST_NAME = "Example Tester".split()
class CreateHostingDomainTest(TestCase):
def _setup_hosting_package(self, customer):
template = HostingPackageTemplate.objects.create(
name='testpackagetemplate', mailboxcount=0, diskspace=1,
diskspace_unit=0)
name="testpackagetemplate", mailboxcount=0, diskspace=1, diskspace_unit=0
)
package = CustomerHostingPackage.objects.create_from_template(
customer, template, 'testpackage')
with patch('hostingpackages.models.settings') as hmsettings:
customer, template, "testpackage"
)
with patch("hostingpackages.models.settings") as hmsettings:
hmsettings.OSUSER_DEFAULT_GROUPS = []
package.save()
return package
def test_get_anonymous(self):
response = self.client.get(
reverse('create_hosting_domain', kwargs={'package': 1}))
reverse("create_hosting_domain", kwargs={"package": 1})
)
self.assertEqual(response.status_code, 403)
def test_get_regular_user(self):
customer = User.objects.create_user(
TEST_USER, email=TEST_EMAIL, password=TEST_PASSWORD)
TEST_USER, email=TEST_EMAIL, password=TEST_PASSWORD
)
package = self._setup_hosting_package(customer)
self.client.login(username=TEST_USER, password=TEST_PASSWORD)
response = self.client.get(
reverse('create_hosting_domain',
kwargs={'package': package.id}))
reverse("create_hosting_domain", kwargs={"package": package.id})
)
self.assertEqual(response.status_code, 403)
def test_get_staff_user(self):
customer = User.objects.create_user('customer')
customer = User.objects.create_user("customer")
package = self._setup_hosting_package(customer)
User.objects.create_superuser(
TEST_USER, email=TEST_EMAIL, password=TEST_PASSWORD)
TEST_USER, email=TEST_EMAIL, password=TEST_PASSWORD
)
self.client.login(username=TEST_USER, password=TEST_PASSWORD)
response = self.client.get(
reverse('create_hosting_domain',
kwargs={'package': package.id}))
reverse("create_hosting_domain", kwargs={"package": package.id})
)
self.assertEqual(response.status_code, 200)
def test_get_template(self):
customer = User.objects.create_user('customer')
customer = User.objects.create_user("customer")
package = self._setup_hosting_package(customer)
User.objects.create_superuser(
TEST_USER, email=TEST_EMAIL, password=TEST_PASSWORD)
TEST_USER, email=TEST_EMAIL, password=TEST_PASSWORD
)
self.client.login(username=TEST_USER, password=TEST_PASSWORD)
response = self.client.get(
reverse('create_hosting_domain',
kwargs={'package': package.id}))
self.assertTemplateUsed(response, 'domains/hostingdomain_create.html')
reverse("create_hosting_domain", kwargs={"package": package.id})
)
self.assertTemplateUsed(response, "domains/hostingdomain_create.html")
def test_get_no_package_found(self):
User.objects.create_superuser(
TEST_USER, email=TEST_EMAIL, password=TEST_PASSWORD)
TEST_USER, email=TEST_EMAIL, password=TEST_PASSWORD
)
self.client.login(username=TEST_USER, password=TEST_PASSWORD)
response = self.client.get(
reverse('create_hosting_domain',
kwargs={'package': 1}))
reverse("create_hosting_domain", kwargs={"package": 1})
)
self.assertEqual(response.status_code, 404)
def test_get_get_form_kwargs(self):
customer = User.objects.create_user('customer')
customer = User.objects.create_user("customer")
package = self._setup_hosting_package(customer)
User.objects.create_superuser(
TEST_USER, email=TEST_EMAIL, password=TEST_PASSWORD)
TEST_USER, email=TEST_EMAIL, password=TEST_PASSWORD
)
self.client.login(username=TEST_USER, password=TEST_PASSWORD)
view = CreateHostingDomain(
request=MagicMock(), kwargs={'package': str(package.id)})
request=MagicMock(), kwargs={"package": str(package.id)}
)
the_kwargs = view.get_form_kwargs()
self.assertIn('hostingpackage', the_kwargs)
self.assertEqual(the_kwargs['hostingpackage'], package)
self.assertIn("hostingpackage", the_kwargs)
self.assertEqual(the_kwargs["hostingpackage"], package)
def test_get_context_data_has_hosting_package(self):
customer = User.objects.create_user('customer')
customer = User.objects.create_user("customer")
package = self._setup_hosting_package(customer)
User.objects.create_superuser(
TEST_USER, email=TEST_EMAIL, password=TEST_PASSWORD)
TEST_USER, email=TEST_EMAIL, password=TEST_PASSWORD
)
self.client.login(username=TEST_USER, password=TEST_PASSWORD)
response = self.client.get(
reverse('create_hosting_domain',
kwargs={'package': package.id}))
self.assertIn('hostingpackage', response.context)
self.assertEqual(response.context['hostingpackage'], package)
reverse("create_hosting_domain", kwargs={"package": package.id})
)
self.assertIn("hostingpackage", response.context)
self.assertEqual(response.context["hostingpackage"], package)
def test_get_context_data_has_customer(self):
customer = User.objects.create_user('customer')
customer = User.objects.create_user("customer")
package = self._setup_hosting_package(customer)
User.objects.create_superuser(
TEST_USER, email=TEST_EMAIL, password=TEST_PASSWORD)
TEST_USER, email=TEST_EMAIL, password=TEST_PASSWORD
)
self.client.login(username=TEST_USER, password=TEST_PASSWORD)
response = self.client.get(
reverse('create_hosting_domain',
kwargs={'package': package.id}))
self.assertIn('customer', response.context)
self.assertEqual(response.context['customer'], customer)
reverse("create_hosting_domain", kwargs={"package": package.id})
)
self.assertIn("customer", response.context)
self.assertEqual(response.context["customer"], customer)
def test_form_valid_redirect(self):
customer = User.objects.create_user('customer')
customer = User.objects.create_user("customer")
package = self._setup_hosting_package(customer)
User.objects.create_superuser(
TEST_USER, email=TEST_EMAIL, password=TEST_PASSWORD)
TEST_USER, email=TEST_EMAIL, password=TEST_PASSWORD
)
self.client.login(username=TEST_USER, password=TEST_PASSWORD)
response = self.client.post(
reverse('create_hosting_domain',
kwargs={'package': package.id}),
data={'domain': 'example.org'})
reverse("create_hosting_domain", kwargs={"package": package.id}),
data={"domain": "example.org"},
)
self.assertRedirects(response, package.get_absolute_url())
def test_form_valid_message(self):
customer = User.objects.create_user('customer')
customer = User.objects.create_user("customer")
package = self._setup_hosting_package(customer)
User.objects.create_superuser(
TEST_USER, email=TEST_EMAIL, password=TEST_PASSWORD)
TEST_USER, email=TEST_EMAIL, password=TEST_PASSWORD
)
self.client.login(username=TEST_USER, password=TEST_PASSWORD)
response = self.client.post(
reverse('create_hosting_domain',
kwargs={'package': package.id}), follow=True,
data={'domain': 'example.org'})
messages = list(response.context['messages'])
reverse("create_hosting_domain", kwargs={"package": package.id}),
follow=True,
data={"domain": "example.org"},
)
messages = list(response.context["messages"])
self.assertEqual(len(messages), 1)
self.assertEqual(
'Successfully created domain example.org', str(messages[0]))
self.assertEqual("Successfully created domain example.org", str(messages[0]))