Compare commits
4 commits
4577ec4896
...
affb49a971
Author | SHA1 | Date | |
---|---|---|---|
affb49a971 | |||
8aadae1c83 | |||
30ffdf1751 | |||
aed8e97dbc |
11 changed files with 526 additions and 619 deletions
|
@ -7,6 +7,7 @@ from __future__ import absolute_import, unicode_literals
|
|||
from crispy_forms.helper import FormHelper
|
||||
from crispy_forms.layout import Submit
|
||||
from django import forms
|
||||
from django.apps import apps
|
||||
from django.conf import settings
|
||||
from django.contrib.sites.models import Site
|
||||
from django.contrib.sites.requests import RequestSite
|
||||
|
@ -41,7 +42,7 @@ class ContactForm(forms.Form):
|
|||
def get_context(self):
|
||||
if not self.is_valid():
|
||||
raise ValueError("Cannot generate context from invalid contact form")
|
||||
if Site._meta.installed:
|
||||
if apps.is_installed("django.contrib.sites"):
|
||||
site = Site.objects.get_current()
|
||||
else:
|
||||
site = RequestSite(self.request)
|
||||
|
|
|
@ -76,9 +76,6 @@ SITES_SITE_NAME = get_env_variable("GVA_SITE_NAME")
|
|||
# See: https://docs.djangoproject.com/en/dev/ref/settings/#use-i18n
|
||||
USE_I18N = True
|
||||
|
||||
# See: https://docs.djangoproject.com/en/dev/ref/settings/#use-l10n
|
||||
USE_L10N = True
|
||||
|
||||
# See: https://docs.djangoproject.com/en/dev/ref/settings/#use-tz
|
||||
USE_TZ = True
|
||||
# ######### END GENERAL CONFIGURATION
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
from django.contrib import admin
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.contrib.auth.admin import UserAdmin as BaseUserAdmin
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from help.models import HelpUser
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@ import uuid
|
|||
|
||||
from django.conf import settings
|
||||
from django.db import models
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
|
||||
class HelpUser(models.Model):
|
||||
|
|
|
@ -16,37 +16,54 @@ User = get_user_model()
|
|||
|
||||
|
||||
class CustomerHostingPackageTest(TestCase):
|
||||
def test_get_disk_space_bytes(self):
|
||||
package = CustomerHostingPackage(
|
||||
diskspace=10, diskspace_unit=DISK_SPACE_UNITS.G
|
||||
def setUp(self) -> None:
|
||||
self.user = User.objects.create(username="test")
|
||||
self.template = HostingPackageTemplate.objects.create(
|
||||
mailboxcount=10,
|
||||
diskspace=100,
|
||||
diskspace_unit=DISK_SPACE_UNITS.M,
|
||||
description="Test package 1 - Description",
|
||||
name="Test package 1",
|
||||
)
|
||||
self.assertEqual(package.get_disk_space(), 10 * 1024**3)
|
||||
|
||||
def test_get_disk_space_mib(self):
|
||||
package = CustomerHostingPackage(
|
||||
diskspace=10, diskspace_unit=DISK_SPACE_UNITS.G
|
||||
@override_settings(OSUSER_DEFAULT_GROUPS=[])
|
||||
def test_get_disk_space_bytes(self):
|
||||
self.template.diskspace = 10
|
||||
self.template.diskspace_unit = DISK_SPACE_UNITS.G
|
||||
self.template.save()
|
||||
package = CustomerHostingPackage.objects.create_from_template(
|
||||
customer=self.user, template=self.template, name="customer",
|
||||
)
|
||||
package.save()
|
||||
self.assertEqual(package.get_disk_space(), 10 * 1024 ** 3)
|
||||
|
||||
@override_settings(OSUSER_DEFAULT_GROUPS=[])
|
||||
def test_get_disk_space_mib(self):
|
||||
self.template.diskspace = 10
|
||||
self.template.diskspace_unit = DISK_SPACE_UNITS.G
|
||||
self.template.save()
|
||||
package = CustomerHostingPackage.objects.create_from_template(
|
||||
customer=self.user, template=self.template, name="customer",
|
||||
)
|
||||
package.save()
|
||||
self.assertEqual(package.get_disk_space(DISK_SPACE_UNITS.M), 10 * 1024)
|
||||
|
||||
@override_settings(OSUSER_DEFAULT_GROUPS=[])
|
||||
def test_get_quota(self):
|
||||
package = CustomerHostingPackage(
|
||||
diskspace=256, diskspace_unit=DISK_SPACE_UNITS.M
|
||||
self.template.diskspace = 256
|
||||
self.template.diskspace_unit = DISK_SPACE_UNITS.M
|
||||
self.template.save()
|
||||
package = CustomerHostingPackage.objects.create_from_template(
|
||||
customer=self.user, template=self.template, name="customer",
|
||||
)
|
||||
package.save()
|
||||
self.assertEqual(package.get_quota(), (262144, 275251))
|
||||
|
||||
@override_settings(OSUSER_DEFAULT_GROUPS=["testgroup"])
|
||||
def test_additional_group_not_defined(self):
|
||||
user = User.objects.create(username="test")
|
||||
template = HostingPackageTemplate.objects.create(
|
||||
description="Test package 1 - Description",
|
||||
mailboxcount=10,
|
||||
diskspace=100,
|
||||
diskspace_unit=DISK_SPACE_UNITS.M,
|
||||
name="Test package 1",
|
||||
)
|
||||
with self.assertRaises(ImproperlyConfigured) as ctx:
|
||||
package = CustomerHostingPackage.objects.create_from_template(
|
||||
customer=user, template=template, name="Test customer package"
|
||||
customer=self.user, template=self.template, name="Test customer package",
|
||||
)
|
||||
package.save()
|
||||
self.assertIn("testgroup", str(ctx.exception))
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
from django.apps import AppConfig
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
|
||||
class InvoiceConfig(AppConfig):
|
||||
|
|
|
@ -3,7 +3,7 @@ from django.conf import settings
|
|||
from django.core.exceptions import ValidationError
|
||||
from django.core.validators import FileExtensionValidator
|
||||
from django.db import models
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
CURRENCIES = [(1, "EUR")]
|
||||
|
||||
|
|
|
@ -140,7 +140,7 @@ class MailAddressTest(TestCaseWithCeleryTasks):
|
|||
def get_target(maf):
|
||||
return maf.target
|
||||
|
||||
self.assertQuerysetEqual(
|
||||
self.assertQuerySetEqual(
|
||||
ma.mailaddressforward_set.all(), ["test2@example.org"], get_target
|
||||
)
|
||||
|
||||
|
@ -152,7 +152,7 @@ class MailAddressTest(TestCaseWithCeleryTasks):
|
|||
def get_target(maf):
|
||||
return maf.target
|
||||
|
||||
self.assertQuerysetEqual(
|
||||
self.assertQuerySetEqual(
|
||||
ma.mailaddressforward_set.all(), ["test2@example.org"], get_target
|
||||
)
|
||||
|
||||
|
@ -165,7 +165,7 @@ class MailAddressTest(TestCaseWithCeleryTasks):
|
|||
def get_target(maf):
|
||||
return maf.target
|
||||
|
||||
self.assertQuerysetEqual(
|
||||
self.assertQuerySetEqual(
|
||||
ma.mailaddressforward_set.all(), ["test3@example.org"], get_target
|
||||
)
|
||||
|
||||
|
@ -178,7 +178,7 @@ class MailAddressTest(TestCaseWithCeleryTasks):
|
|||
def get_target(maf):
|
||||
return maf.target
|
||||
|
||||
self.assertQuerysetEqual(
|
||||
self.assertQuerySetEqual(
|
||||
ma.mailaddressforward_set.all(),
|
||||
["test2@example.org", "test3@example.org"],
|
||||
get_target,
|
||||
|
@ -198,7 +198,7 @@ class MailAddressTest(TestCaseWithCeleryTasks):
|
|||
def get_target(maf):
|
||||
return maf.target
|
||||
|
||||
self.assertQuerysetEqual(
|
||||
self.assertQuerySetEqual(
|
||||
ma.mailaddressforward_set.all(), ["test2@example.org"], get_target
|
||||
)
|
||||
|
||||
|
@ -213,7 +213,6 @@ class MailAddressTest(TestCaseWithCeleryTasks):
|
|||
md = MailDomain.objects.create(domain="example.org")
|
||||
ma = MailAddress(localpart="test", domain=md)
|
||||
mafwds = ma.set_forward_addresses(["test2@example.org"], commit=False)
|
||||
self.assertEqual(ma.mailaddressforward_set.count(), 0)
|
||||
self.assertEqual(mafwds[0].target, "test2@example.org")
|
||||
|
||||
|
||||
|
@ -242,14 +241,14 @@ class MailboxManagerTest(TestCaseWithCeleryTasks):
|
|||
md = MailDomain.objects.create(domain="example.org")
|
||||
address = MailAddress.objects.create(localpart="test", domain=md)
|
||||
mailboxes = Mailbox.objects.unused_or_own(address, self.user)
|
||||
self.assertQuerysetEqual(mailboxes, [])
|
||||
self.assertQuerySetEqual(mailboxes, [])
|
||||
|
||||
def test_unused_or_own_unassigned(self):
|
||||
md = MailDomain.objects.create(domain="example.org")
|
||||
address = MailAddress.objects.create(localpart="test", domain=md)
|
||||
mailboxes = [Mailbox.objects.create_mailbox(self.user) for _ in range(2)]
|
||||
assignable = Mailbox.objects.unused_or_own(address, self.user)
|
||||
self.assertQuerysetEqual(
|
||||
self.assertQuerySetEqual(
|
||||
assignable, [repr(mb) for mb in mailboxes], transform=repr
|
||||
)
|
||||
|
||||
|
@ -259,7 +258,7 @@ class MailboxManagerTest(TestCaseWithCeleryTasks):
|
|||
mailboxes = [Mailbox.objects.create_mailbox(self.user) for _ in range(2)]
|
||||
address.set_mailbox(mailboxes[0])
|
||||
assignable = Mailbox.objects.unused_or_own(address, self.user)
|
||||
self.assertQuerysetEqual(
|
||||
self.assertQuerySetEqual(
|
||||
assignable, [repr(mb) for mb in mailboxes], transform=repr
|
||||
)
|
||||
|
||||
|
@ -270,16 +269,16 @@ class MailboxManagerTest(TestCaseWithCeleryTasks):
|
|||
mailboxes = [Mailbox.objects.create_mailbox(self.user) for _ in range(2)]
|
||||
address2.set_mailbox(mailboxes[0])
|
||||
assignable = Mailbox.objects.unused_or_own(address, self.user)
|
||||
self.assertQuerysetEqual(assignable, [repr(mailboxes[1])], transform=repr)
|
||||
self.assertQuerySetEqual(assignable, [repr(mailboxes[1])], transform=repr)
|
||||
|
||||
def test_unused_fresh(self):
|
||||
mailboxes = Mailbox.objects.unused(self.user)
|
||||
self.assertQuerysetEqual(mailboxes, [])
|
||||
self.assertQuerySetEqual(mailboxes, [])
|
||||
|
||||
def test_unused_unassigned(self):
|
||||
mailbox = Mailbox.objects.create_mailbox(self.user)
|
||||
mailboxes = Mailbox.objects.unused(self.user)
|
||||
self.assertQuerysetEqual(mailboxes, [repr(mailbox)], transform=repr)
|
||||
self.assertQuerySetEqual(mailboxes, [repr(mailbox)], transform=repr)
|
||||
|
||||
def test_unused_assigned(self):
|
||||
md = MailDomain.objects.create(domain="example.org")
|
||||
|
@ -287,7 +286,7 @@ class MailboxManagerTest(TestCaseWithCeleryTasks):
|
|||
mailboxes = [Mailbox.objects.create_mailbox(self.user) for _ in range(2)]
|
||||
address.set_mailbox(mailboxes[0])
|
||||
assignable = Mailbox.objects.unused(self.user)
|
||||
self.assertQuerysetEqual(assignable, [repr(mailboxes[1])], transform=repr)
|
||||
self.assertQuerySetEqual(assignable, [repr(mailboxes[1])], transform=repr)
|
||||
|
||||
def test_create_mailbox_no_password(self):
|
||||
mailbox = Mailbox.objects.create_mailbox(self.user)
|
||||
|
|
|
@ -166,7 +166,7 @@ class DeleteSshPublicKeyTest(HostingPackageAwareTestMixin, TestCase):
|
|||
kwargs={"package": str(self.package.pk), "pk": str(self.sshkey.pk)},
|
||||
)
|
||||
queryset = view.get_queryset()
|
||||
self.assertQuerysetEqual(queryset, [repr(self.sshkey)], transform=repr)
|
||||
self.assertQuerySetEqual(queryset, [repr(self.sshkey)], transform=repr)
|
||||
|
||||
def test_get_context_data(self):
|
||||
self.client.login(username=TEST_USER, password=TEST_PASSWORD)
|
||||
|
@ -234,7 +234,7 @@ class EditSshPublicKeyCommentTest(HostingPackageAwareTestMixin, TransactionTestC
|
|||
kwargs={"package": str(self.package.pk), "pk": str(self.sshkey.pk)},
|
||||
)
|
||||
queryset = view.get_queryset()
|
||||
self.assertQuerysetEqual(queryset, [repr(self.sshkey)], transform=repr)
|
||||
self.assertQuerySetEqual(queryset, [repr(self.sshkey)], transform=repr)
|
||||
|
||||
def test_get_form_kwargs(self):
|
||||
self.client.login(username=TEST_USER, password=TEST_PASSWORD)
|
||||
|
|
1040
poetry.lock
generated
1040
poetry.lock
generated
File diff suppressed because it is too large
Load diff
|
@ -7,15 +7,15 @@ license = "AGPL-3+"
|
|||
readme = "README.md"
|
||||
|
||||
[tool.poetry.dependencies]
|
||||
python = "^3.7"
|
||||
django = "<4"
|
||||
python = "^3.8"
|
||||
django = "^4.2"
|
||||
psycopg2-binary = "^2.9"
|
||||
celery = "^5.2.7"
|
||||
django-allauth = "^0.52.0"
|
||||
django-crispy-forms = "^2.0"
|
||||
django-debug-toolbar = "^3.8"
|
||||
django-model-utils = "^4.1"
|
||||
gvacommon = {version = "^0.6.0", source = "gnuviech"}
|
||||
gvacommon = {version = "^0.7.0", source = "gnuviech"}
|
||||
passlib = "^1.7.4"
|
||||
redis = "^4.5.1"
|
||||
requests-oauthlib = "^1.3.1"
|
||||
|
@ -40,8 +40,7 @@ isort = "<5"
|
|||
[[tool.poetry.source]]
|
||||
name = "gnuviech"
|
||||
url = "https://pypi.gnuviech-server.de/simple"
|
||||
default = false
|
||||
secondary = false
|
||||
priority = "explicit"
|
||||
|
||||
|
||||
[build-system]
|
||||
|
|
Loading…
Reference in a new issue