diff --git a/panel/test/test_views.py b/panel/test/test_views.py index a904881..368cc6b 100644 --- a/panel/test/test_views.py +++ b/panel/test/test_views.py @@ -1,4 +1,4 @@ -# Copyright (C) 2020 The Sipwise Team - http://sipwise.com +# Copyright (C) 2020-2022 The Sipwise Team - http://sipwise.com # # This program is free software: you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the Free @@ -11,7 +11,7 @@ # more details. # # You should have received a copy of the GNU General Public License along -# with this prograproj. If not, see . +# with this program. If not, see . from django.urls import reverse from repoapi.test.base import BaseTest @@ -26,9 +26,33 @@ class ReleaseTest(BaseTest): ) self.assertEqual(res.status_code, 404) - def test_release(self): + def test_release_uuid(self): res = self.client.get( reverse("panel:release-uuid", args=["UUID_mr8.1"]) ) self.assertIsNotNone(res.context["projects"]["kamailio"]) self.assertEqual(res.status_code, 200) + + def test_release(self): + res = self.client.get( + reverse("panel:release-view", args=["release-mr8.1"]) + ) + self.assertEqual(res.status_code, 200) + + def test_index(self): + res = self.client.get(reverse("panel:index")) + self.assertEqual(res.status_code, 200) + + def test_project(self): + res = self.client.get( + reverse("panel:project-view", args=["release-mr8.1", "kamailio"]) + ) + self.assertEqual(res.status_code, 200) + + def test_project_uuid(self): + res = self.client.get( + reverse( + "panel:uuid-view", args=["release-mr8.1", "kamailio", "UUID0"] + ) + ) + self.assertEqual(res.status_code, 200) diff --git a/release_dashboard/test/test_views.py b/release_dashboard/test/test_views.py index 1931138..d7d569f 100644 --- a/release_dashboard/test/test_views.py +++ b/release_dashboard/test/test_views.py @@ -171,6 +171,28 @@ class TestDocker(TestCase): res = self.client.get(reverse("release_dashboard:docker_images")) self.assertEqual(res.status_code, 200) + def test_index(self): + user = User.objects.create_user(username="test") + self.client.force_login(user) + res = self.client.get(reverse("release_dashboard:index")) + self.assertEqual(res.status_code, 200) + + @patch("release_dashboard.views.docker.docker_fetch_project") + def test_refresh(self, dfp): + user = User.objects.create_user(username="test") + self.client.force_login(user) + res = self.client.post( + reverse("release_dashboard:refresh_docker", args=["fake"]) + ) + self.assertEqual(res.status_code, 201) + dfp.delay.assert_called_once_with("fake") + + def test_build(self): + user = User.objects.create_user(username="test") + self.client.force_login(user) + res = self.client.get(reverse("release_dashboard:build_docker_images")) + self.assertEqual(res.status_code, 200) + class TestBuildRelease(BaseTest): fixtures = ["test_build_release"] diff --git a/release_dashboard/views/docker.py b/release_dashboard/views/docker.py index 51f08ae..1222584 100644 --- a/release_dashboard/views/docker.py +++ b/release_dashboard/views/docker.py @@ -29,12 +29,14 @@ from . import _hash_versions from . import _projects_versions from . import regex_mr from .. import serializers -from .. import tasks from ..conf import settings from ..forms.docker import BuildDockerForm from ..models import DockerImage from ..models import DockerTag from ..models import Project +from ..tasks import docker_fetch_all +from ..tasks import docker_fetch_project +from ..tasks import docker_remove_tag from ..utils import docker logger = structlog.get_logger(__name__) @@ -107,7 +109,7 @@ def build_docker_images(request): @login_required def refresh_all(request): if request.method == "POST": - res = tasks.docker_fetch_all.delay() + res = docker_fetch_all.delay() return JsonResponse({"url": "/flower/task/%s" % res.id}, status=201) else: template = "release_dashboard/refresh_docker.html" @@ -121,7 +123,7 @@ def refresh_all(request): @login_required @require_http_methods(["POST"]) def refresh(request, project): - res = tasks.docker_fetch_project.delay(project) + res = docker_fetch_project.delay(project) return JsonResponse({"url": "/flower/task/%s" % res.id}, status=201) @@ -189,5 +191,5 @@ class DockerTagDetail(generics.RetrieveDestroyAPIView): def destroy(self, request, *args, **kwargs): instance = self.get_object() - tasks.docker_remove_tag.delay(instance.image.name, instance.name) + docker_remove_tag.delay(instance.image.name, instance.name) return Response(status=status.HTTP_202_ACCEPTED)