mirror of
https://github.com/retspen/webvirtcloud
synced 2026-11-11 12:46:49 +00:00
test: each app keeps its tests in a tests package
131 test modules sat next to the code they test; instances alone had 51 of them beside views.py and utils.py. They move into a tests/ package per app, and the JavaScript checks into webvirtcloud/tests/js. Each non-empty tests.py becomes tests/test_views.py; the empty generated stubs are removed. Imports of the app's own modules become absolute, paths built from __file__ go one level up, the live helper is instances.tests.livetest, and coverage omits */tests/*. The suite discovers the same 960 tests as before.
This commit is contained in:
parent
0906838193
commit
c55f52f025
154 changed files with 27 additions and 39 deletions
|
|
@ -1,50 +0,0 @@
|
|||
from django.test import RequestFactory, TestCase
|
||||
from django.urls import reverse
|
||||
|
||||
from appsettings.models import AppSettings
|
||||
from appsettings.settings import app_settings, get_settings
|
||||
|
||||
|
||||
class AppSettingsTestCase(TestCase):
|
||||
def setUp(self):
|
||||
self.client.login(request=RequestFactory().get("/"), username="admin", password="admin")
|
||||
|
||||
def test_get_settings_populates_singleton(self):
|
||||
AppSettings.objects.update_or_create(
|
||||
key="CUSTOM_TEST_SETTING",
|
||||
defaults={"value": "test_value_123", "name": "Custom Test Setting"}
|
||||
)
|
||||
get_settings()
|
||||
self.assertEqual(getattr(app_settings, "CUSTOM_TEST_SETTING", None), "test_value_123")
|
||||
|
||||
def test_appsettings_view_get(self):
|
||||
response = self.client.get(reverse("appsettings"))
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
||||
def test_appsettings_update_setting(self):
|
||||
setting = AppSettings.objects.get(key="SHOW_ACCESS_ROOT_PASSWORD")
|
||||
original_value = setting.value
|
||||
new_val = "False" if original_value == "True" else "True"
|
||||
|
||||
response = self.client.post(
|
||||
reverse("appsettings"),
|
||||
{
|
||||
"SHOW_ACCESS_ROOT_PASSWORD": new_val
|
||||
}
|
||||
)
|
||||
self.assertRedirects(response, reverse("appsettings"))
|
||||
|
||||
setting.refresh_from_db()
|
||||
self.assertEqual(setting.value, new_val)
|
||||
|
||||
def test_appsettings_non_superuser_forbidden(self):
|
||||
from django.contrib.auth.models import User
|
||||
regular_user = User.objects.create_user(username="regular", password="pwd")
|
||||
self.client.force_login(regular_user)
|
||||
response = self.client.get(reverse("appsettings"))
|
||||
self.assertEqual(response.status_code, 403)
|
||||
|
||||
def test_clones_are_not_migrated_automatically(self):
|
||||
# a clone stays on the host of the VM it was made from; the setting
|
||||
# that sent it to a random host is removed by migration 0015
|
||||
self.assertFalse(AppSettings.objects.filter(key="CLONE_INSTANCE_AUTO_MIGRATE").exists())
|
||||
Loading…
Add table
Add a link
Reference in a new issue