Jan Dittberner
fb1f31a9bc
This commit fixes all warnings created by flake8 by removing unused imports and variable assignments. Some wrongly indented lines are now indented correctly.
150 lines
6.1 KiB
Python
150 lines
6.1 KiB
Python
"""
|
|
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 django.contrib.auth import get_user_model
|
|
|
|
from hostingpackages.models import (
|
|
CustomerHostingPackage,
|
|
HostingPackageTemplate,
|
|
)
|
|
|
|
from domains.views import CreateHostingDomain
|
|
|
|
|
|
User = get_user_model()
|
|
|
|
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)
|
|
package = CustomerHostingPackage.objects.create_from_template(
|
|
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}))
|
|
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)
|
|
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}))
|
|
self.assertEqual(response.status_code, 403)
|
|
|
|
def test_get_staff_user(self):
|
|
customer = User.objects.create_user('customer')
|
|
package = self._setup_hosting_package(customer)
|
|
User.objects.create_superuser(
|
|
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.assertEqual(response.status_code, 200)
|
|
|
|
def test_get_template(self):
|
|
customer = User.objects.create_user('customer')
|
|
package = self._setup_hosting_package(customer)
|
|
User.objects.create_superuser(
|
|
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')
|
|
|
|
def test_get_no_package_found(self):
|
|
User.objects.create_superuser(
|
|
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}))
|
|
self.assertEqual(response.status_code, 404)
|
|
|
|
def test_get_get_form_kwargs(self):
|
|
customer = User.objects.create_user('customer')
|
|
package = self._setup_hosting_package(customer)
|
|
User.objects.create_superuser(
|
|
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)})
|
|
the_kwargs = view.get_form_kwargs()
|
|
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')
|
|
package = self._setup_hosting_package(customer)
|
|
User.objects.create_superuser(
|
|
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)
|
|
|
|
def test_get_context_data_has_customer(self):
|
|
customer = User.objects.create_user('customer')
|
|
package = self._setup_hosting_package(customer)
|
|
User.objects.create_superuser(
|
|
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)
|
|
|
|
def test_form_valid_redirect(self):
|
|
customer = User.objects.create_user('customer')
|
|
package = self._setup_hosting_package(customer)
|
|
User.objects.create_superuser(
|
|
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'})
|
|
self.assertRedirects(response, package.get_absolute_url())
|
|
|
|
def test_form_valid_message(self):
|
|
customer = User.objects.create_user('customer')
|
|
package = self._setup_hosting_package(customer)
|
|
User.objects.create_superuser(
|
|
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'])
|
|
self.assertEqual(len(messages), 1)
|
|
self.assertEqual(
|
|
'Successfully created domain example.org', str(messages[0]))
|