From d88745f46b2b5e62da39be6072803c6aa4be8f6f Mon Sep 17 00:00:00 2001 From: Jan Dittberner Date: Sat, 29 Apr 2023 13:10:25 +0200 Subject: [PATCH] Fix tests --- .../dashboard/templates/dashboard/index.html | 11 ----- .../templates/dashboard/user_dashboard.html | 6 +-- gnuviechadmin/dashboard/tests/test_views.py | 44 +++---------------- gnuviechadmin/dashboard/urls.py | 11 ++--- gnuviechadmin/dashboard/views.py | 28 +----------- .../tests/test_contextprocessors.py | 9 ---- .../customerhostingpackage_admin_list.html | 6 +-- gnuviechadmin/osusers/tests/test_models.py | 2 +- .../commands/test_fetch_taskresults.py | 4 +- gnuviechadmin/templates/base.html | 4 +- gnuviechadmin/userdbs/tests/test_models.py | 26 +++++------ 11 files changed, 35 insertions(+), 116 deletions(-) delete mode 100644 gnuviechadmin/dashboard/templates/dashboard/index.html diff --git a/gnuviechadmin/dashboard/templates/dashboard/index.html b/gnuviechadmin/dashboard/templates/dashboard/index.html deleted file mode 100644 index 8cfcd8d..0000000 --- a/gnuviechadmin/dashboard/templates/dashboard/index.html +++ /dev/null @@ -1,11 +0,0 @@ -{% extends "base.html" %} -{% load i18n %} -{% block title %}{{ block.super }} - {% translate "Welcome" %}{% endblock title %} -{% block page_title %}{% translate "Welcome to our customer self service" %}{% endblock page_title %} -{% block content %} -

{% url 'customer_dashboard' slug=user.username as dashboard_url %} - {% blocktranslate with full_name=user.get_full_name trimmed %} - Hello {{ full_name }},
- You can visit your Dashboard to view and modify your hosting options. - {% endblocktranslate %}

-{% endblock content %} \ No newline at end of file diff --git a/gnuviechadmin/dashboard/templates/dashboard/user_dashboard.html b/gnuviechadmin/dashboard/templates/dashboard/user_dashboard.html index b468ace..538003f 100644 --- a/gnuviechadmin/dashboard/templates/dashboard/user_dashboard.html +++ b/gnuviechadmin/dashboard/templates/dashboard/user_dashboard.html @@ -1,9 +1,9 @@ {% extends "base.html" %} {% load i18n %} -{% block title %}{{ block.super }} - {% blocktranslate with full_name=dashboard_user.get_full_name trimmed %} +{% block title %}{{ block.super }} - {% blocktranslate with full_name=request.user.get_full_name trimmed %} Dashboard for {{ full_name }} {% endblocktranslate %}{% endblock title %} -{% block page_title %}{% blocktranslate with full_name=dashboard_user.get_full_name trimmed %} +{% block page_title %}{% blocktranslate with full_name=request.user.get_full_name trimmed %} Dashboard for {{ full_name }} {% endblocktranslate %}{% endblock page_title %} {% block content %} @@ -39,7 +39,7 @@ {% translate "This user has no hosting packages assigned yet." %}{% endif %}

{% endif %} {% if user.is_staff %} - {% translate "Add hosting package" %} {% endif %} diff --git a/gnuviechadmin/dashboard/tests/test_views.py b/gnuviechadmin/dashboard/tests/test_views.py index dc1dde5..8827a80 100644 --- a/gnuviechadmin/dashboard/tests/test_views.py +++ b/gnuviechadmin/dashboard/tests/test_views.py @@ -2,7 +2,7 @@ Tests for :py:mod:`dashboard.views`. """ - +from django import http from django.contrib.auth import get_user_model from django.test import TestCase from django.urls import reverse @@ -13,65 +13,35 @@ TEST_USER = "test" TEST_PASSWORD = "secret" -class IndexViewTest(TestCase): - def test_index_view_anonymous(self): - response = self.client.get(reverse("dashboard")) - self.assertRedirects(response, "/accounts/login/?next=/") - - def test_index_view(self): - user = User.objects.create(username=TEST_USER) - user.set_password(TEST_PASSWORD) - user.save() - - self.client.login(username=TEST_USER, password=TEST_PASSWORD) - - response = self.client.get(reverse("dashboard")) - self.assertEqual(response.status_code, 200) - self.assertTemplateUsed(response, "dashboard/index.html") - - class UserDashboardViewTest(TestCase): def _create_test_user(self): self.user = User.objects.create(username=TEST_USER) self.user.set_password(TEST_PASSWORD) self.user.save() - def test_user_dashboard_view_no_user(self): - response = self.client.get( - reverse("customer_dashboard", kwargs={"slug": TEST_USER}) - ) - self.assertEqual(response.status_code, 404) - def test_user_dashboard_view_anonymous(self): User.objects.create(username=TEST_USER) - response = self.client.get( - reverse("customer_dashboard", kwargs={"slug": TEST_USER}) - ) - self.assertEqual(response.status_code, 403) + response = self.client.get(reverse("customer_dashboard")) + self.assertEqual(response.status_code, 302) + self.assertRedirects(response, "/accounts/login/?next=/") def test_user_dashboard_view_logged_in_ok(self): self._create_test_user() self.assertTrue(self.client.login(username=TEST_USER, password=TEST_PASSWORD)) - response = self.client.get( - reverse("customer_dashboard", kwargs={"slug": TEST_USER}) - ) + response = self.client.get(reverse("customer_dashboard")) self.assertEqual(response.status_code, 200) def test_user_dashboard_view_logged_in_template(self): self._create_test_user() self.assertTrue(self.client.login(username=TEST_USER, password=TEST_PASSWORD)) response = self.client.get( - reverse("customer_dashboard", kwargs={"slug": TEST_USER}) + reverse("customer_dashboard") ) self.assertTemplateUsed(response, "dashboard/user_dashboard.html") def test_user_dashboard_view_logged_in_context_fresh(self): self._create_test_user() self.assertTrue(self.client.login(username=TEST_USER, password=TEST_PASSWORD)) - response = self.client.get( - reverse("customer_dashboard", kwargs={"slug": TEST_USER}) - ) - self.assertIn("dashboard_user", response.context) - self.assertEqual(self.user, response.context["dashboard_user"]) + response = self.client.get(reverse("customer_dashboard")) self.assertIn("hosting_packages", response.context) self.assertEqual(len(response.context["hosting_packages"]), 0) diff --git a/gnuviechadmin/dashboard/urls.py b/gnuviechadmin/dashboard/urls.py index 59e98d4..6ba8ff4 100644 --- a/gnuviechadmin/dashboard/urls.py +++ b/gnuviechadmin/dashboard/urls.py @@ -1,14 +1,9 @@ from __future__ import absolute_import -from django.urls import re_path +from django.urls import path -from .views import IndexView, UserDashboardView +from .views import UserDashboardView urlpatterns = [ - re_path(r"^$", IndexView.as_view(), name="dashboard"), - re_path( - r"^user/(?P[\w0-9@.+-_]+)/$", - UserDashboardView.as_view(), - name="customer_dashboard", - ), + path("", UserDashboardView.as_view(), name="customer_dashboard"), ] diff --git a/gnuviechadmin/dashboard/views.py b/gnuviechadmin/dashboard/views.py index 2ed2558..d92eb7e 100644 --- a/gnuviechadmin/dashboard/views.py +++ b/gnuviechadmin/dashboard/views.py @@ -11,41 +11,17 @@ from gvacommon.viewmixins import StaffOrSelfLoginRequiredMixin from hostingpackages.models import CustomerHostingPackage -class IndexView(LoginRequiredMixin, TemplateView): - """ - This is the dashboard view. - - """ - - template_name = "dashboard/index.html" - - def dispatch(self, request, *args, **kwargs): - if not request.user.is_anonymous: - return redirect("customer_dashboard", slug=request.user.username) - return super().dispatch(request, *args, **kwargs) - - -class UserDashboardView(StaffOrSelfLoginRequiredMixin, DetailView): +class UserDashboardView(LoginRequiredMixin, TemplateView): """ This is the user dashboard view. """ - model = get_user_model() - context_object_name = "dashboard_user" - slug_field = "username" template_name = "dashboard/user_dashboard.html" def get_context_data(self, **kwargs): context = super(UserDashboardView, self).get_context_data(**kwargs) context["hosting_packages"] = CustomerHostingPackage.objects.filter( - customer=self.object + customer=self.request.user ) return context - - def get_customer_object(self): - """ - Returns the customer object. - - """ - return self.get_object() diff --git a/gnuviechadmin/gnuviechadmin/tests/test_contextprocessors.py b/gnuviechadmin/gnuviechadmin/tests/test_contextprocessors.py index 94578cd..43b5060 100644 --- a/gnuviechadmin/gnuviechadmin/tests/test_contextprocessors.py +++ b/gnuviechadmin/gnuviechadmin/tests/test_contextprocessors.py @@ -56,15 +56,6 @@ class NavigationContextProcessorTest(TestCase): self._check_static_urls(response.context) self.assertEqual(response.context["active_item"], "contact") - def test_hostingpackage_page_context(self): - User.objects.create_user("test", password="test") - self.client.login(username="test", password="test") - response = self.client.get(reverse("hosting_packages", kwargs={"user": "test"})) - for item in self.EXPECTED_ITEMS: - self.assertIn(item, response.context) - self._check_static_urls(response.context) - self.assertEqual(response.context["active_item"], "hostingpackage") - def _test_page_context_by_viewmodule(self, viewmodule, expecteditem): request = HttpRequest() request.resolver_match = MagicMock() diff --git a/gnuviechadmin/hostingpackages/templates/hostingpackages/customerhostingpackage_admin_list.html b/gnuviechadmin/hostingpackages/templates/hostingpackages/customerhostingpackage_admin_list.html index 982f700..cf13634 100644 --- a/gnuviechadmin/hostingpackages/templates/hostingpackages/customerhostingpackage_admin_list.html +++ b/gnuviechadmin/hostingpackages/templates/hostingpackages/customerhostingpackage_admin_list.html @@ -21,9 +21,8 @@ {% for package in customerhostingpackage_list %} {{ package.name }} - - {{ package.customer }} - + {{ package.customer }} + {{ package.osuser.username }} {% with diskspace=package.get_disk_space %} - {{ package.osuser.username }} {{ package.created }} {% endfor %} diff --git a/gnuviechadmin/osusers/tests/test_models.py b/gnuviechadmin/osusers/tests/test_models.py index 8770263..c76178a 100644 --- a/gnuviechadmin/osusers/tests/test_models.py +++ b/gnuviechadmin/osusers/tests/test_models.py @@ -212,7 +212,7 @@ class GroupTest(TestCaseWithCeleryTasks): group.delete() self.assertEqual(len(Group.objects.all()), 0) self.assertEqual(len(TaskResult.objects.all()), 2) - tr = TaskResult.objects.first() + tr = TaskResult.objects.order_by("created").first() self.assertEqual(tr.creator, "handle_group_created") diff --git a/gnuviechadmin/taskresults/tests/management/commands/test_fetch_taskresults.py b/gnuviechadmin/taskresults/tests/management/commands/test_fetch_taskresults.py index a7d10ff..f395037 100644 --- a/gnuviechadmin/taskresults/tests/management/commands/test_fetch_taskresults.py +++ b/gnuviechadmin/taskresults/tests/management/commands/test_fetch_taskresults.py @@ -32,7 +32,7 @@ class FetchTaskResultsCommandTest(TestCase): aresult.state = "PENDING" aresult.ready.return_value = False - Command().handle() + Command().handle(verbosity=0) tr = TaskResult.objects.get(task_id=TEST_TASK_UUID) self.assertTrue(asyncresult.called_with(TEST_TASK_UUID)) @@ -55,7 +55,7 @@ class FetchTaskResultsCommandTest(TestCase): aresult.ready.return_value = True aresult.get.return_value = TEST_TASK_RESULT - Command().handle() + Command().handle(verbosity=0) tr = TaskResult.objects.get(task_id=TEST_TASK_UUID) self.assertTrue(asyncresult.called_with(TEST_TASK_UUID)) diff --git a/gnuviechadmin/templates/base.html b/gnuviechadmin/templates/base.html index 3e597df..4521c43 100644 --- a/gnuviechadmin/templates/base.html +++ b/gnuviechadmin/templates/base.html @@ -23,7 +23,7 @@