mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-18 05:51:26 +02:00
Last tests
This commit is contained in:
@@ -479,6 +479,8 @@ class AlarmViewSetTestCase(ModoAPITestCase):
|
||||
factories.populate_database()
|
||||
factories.AlarmFactory(
|
||||
domain__name="test.com", mailbox=None, title="Test alarm")
|
||||
cls.da_token = Token.objects.create(
|
||||
user=core_models.User.objects.get(username="admin@test.com"))
|
||||
|
||||
def test_list(self):
|
||||
url = reverse("v2:alarm-list")
|
||||
@@ -489,11 +491,28 @@ class AlarmViewSetTestCase(ModoAPITestCase):
|
||||
def test_update_alarm(self):
|
||||
"""Try updating alarm status and delete it afterward."""
|
||||
|
||||
domain = models.Domain.objects.filter(name="test.com")
|
||||
domain = models.Domain.objects.get(name="test.com")
|
||||
alarm = models.Alarm.objects.create(
|
||||
domain=domain.first(), mailbox=None, title="Test alarm 2")
|
||||
domain=domain, mailbox=None, title="Test alarm 2")
|
||||
alarm.save()
|
||||
|
||||
# Try performing action on restricted domains
|
||||
self.client.credentials(
|
||||
HTTP_AUTHORIZATION="Token " + self.da_token.key)
|
||||
domain = models.Domain.objects.get(name="test2.com")
|
||||
alarm_restricted = models.Alarm.objects.create(
|
||||
domain=domain, mailbox=None, title="Test alarm 3")
|
||||
alarm_restricted.save()
|
||||
url = reverse("v2:alarm-switch", args=[alarm_restricted.pk])
|
||||
resp = self.client.post(url)
|
||||
self.assertEqual(resp.status_code, 405)
|
||||
url = reverse("v2:alarm-delete", args=[alarm_restricted.pk])
|
||||
resp = self.client.delete(url)
|
||||
self.assertEqual(resp.status_code, 404)
|
||||
|
||||
# Perform actions as SuperAdmin
|
||||
self.client.credentials(HTTP_AUTHORIZATION="Token " + self.token.key)
|
||||
|
||||
# Switch status of the alarm to close
|
||||
url = reverse("v2:alarm-switch", args=[alarm.pk])
|
||||
resp = self.client.patch(url, {"status": 2})
|
||||
@@ -514,3 +533,4 @@ class AlarmViewSetTestCase(ModoAPITestCase):
|
||||
resp = self.client.delete(url)
|
||||
self.assertEqual(resp.status_code, 204)
|
||||
|
||||
|
||||
|
||||
@@ -351,7 +351,7 @@ class AlarmViewSet(GetThrottleViewsetMixin,
|
||||
def delete(self, request, **kwargs):
|
||||
"""Custom delete method that accepts body arguments."""
|
||||
alarm = self.get_object()
|
||||
domain = models.Domain.objects.filter(pk=alarm.domain.pk)
|
||||
domain = models.Domain.objects.get(pk=alarm.domain.pk)
|
||||
if not request.user.can_access(domain):
|
||||
raise PermissionDenied(_("You don't have access to this domain"))
|
||||
else:
|
||||
@@ -364,7 +364,7 @@ class AlarmViewSet(GetThrottleViewsetMixin,
|
||||
alarm = self.get_object()
|
||||
serializer = serializers.AlarmSwitchStatusSerializer(data=request.data)
|
||||
serializer.is_valid(raise_exception=True)
|
||||
domain = models.Domain.objects.filter(pk=alarm.domain.pk)
|
||||
domain = models.Domain.objects.get(pk=alarm.domain.pk)
|
||||
if not request.user.can_access(domain):
|
||||
raise PermissionDenied(_("You don't have access to this domain"))
|
||||
else:
|
||||
|
||||
@@ -449,15 +449,15 @@ class DKIMTestCase(ModoTestCase):
|
||||
# Try generating a key to a protected directory
|
||||
self.set_global_parameter("dkim_keys_storage_dir", "/I_DONT_EXIST")
|
||||
call_command("modo", "manage_dkim_keys")
|
||||
domain = Domain.objects.filter(name=values["name"])
|
||||
domain = Domain.objects.get(name=values["name"])
|
||||
|
||||
# Closing the alarm and retry generating dkim keys
|
||||
Alarm.objects.get(domain__in=domain,
|
||||
Alarm.objects.get(domain=domain,
|
||||
internal_name=constants.DKIM_WRITE_ERROR
|
||||
).close()
|
||||
call_command("modo", "manage_dkim_keys")
|
||||
self.assertEqual(
|
||||
Alarm.objects.get(domain__in=domain,
|
||||
Alarm.objects.get(domain=domain,
|
||||
internal_name=constants.DKIM_WRITE_ERROR).status,
|
||||
constants.ALARM_OPENED)
|
||||
|
||||
@@ -465,7 +465,7 @@ class DKIMTestCase(ModoTestCase):
|
||||
self.set_global_parameter("dkim_keys_storage_dir", self.workdir)
|
||||
call_command("modo", "manage_dkim_keys")
|
||||
self.assertEqual(
|
||||
Alarm.objects.get(domain__in=domain,
|
||||
Alarm.objects.get(domain=domain,
|
||||
internal_name=constants.DKIM_WRITE_ERROR).status,
|
||||
constants.ALARM_CLOSED)
|
||||
key_path = os.path.join(self.workdir, "{}.pem".format(values["name"]))
|
||||
|
||||
Reference in New Issue
Block a user