Last tests

This commit is contained in:
Spitap
2023-02-24 16:37:52 +01:00
parent 329ea62aac
commit 5ab5c90927
3 changed files with 28 additions and 8 deletions
+22 -2
View File
@@ -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)
+2 -2
View File
@@ -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:
+4 -4
View File
@@ -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"]))