mirror of
https://github.com/retspen/webvirtcloud
synced 2026-11-08 19:26:48 +00:00
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.
44 lines
1.8 KiB
Python
44 lines
1.8 KiB
Python
"""Tests for the instances list after out-of-band libvirt changes."""
|
|
|
|
from unittest.mock import PropertyMock, patch
|
|
|
|
from computes.models import Compute
|
|
from django.contrib.auth import get_user_model
|
|
from django.test import TestCase
|
|
from django.urls import reverse
|
|
from instances.models import Instance
|
|
|
|
|
|
class InstancesIndexTests(TestCase):
|
|
def test_removed_domain_is_not_rendered_from_prefetch_cache(self):
|
|
user = get_user_model().objects.create_superuser(
|
|
username="instances-index-admin", password="password", email="index@example.com"
|
|
)
|
|
self.client.force_login(user)
|
|
compute = Compute.objects.create(
|
|
name="index-compute", hostname="localhost", type=4,
|
|
login="", password="",
|
|
)
|
|
instance = Instance.objects.create(
|
|
compute=compute, name="test4", uuid="cb2a2697-0945-408a-ac6b-c3e07a280851"
|
|
)
|
|
self.assertEqual(Compute.objects.count(), 1)
|
|
|
|
def synchronize(_compute):
|
|
Instance.objects.filter(pk=instance.pk).delete()
|
|
self.assertFalse(Instance.objects.filter(pk=instance.pk).exists())
|
|
|
|
with patch("instances.views.utils.refr", side_effect=synchronize), patch.object(
|
|
Compute, "status", new_callable=PropertyMock, return_value=True
|
|
), patch.object(
|
|
Compute, "cpu_count", new_callable=PropertyMock, return_value=1
|
|
), patch.object(
|
|
Compute, "ram_size", new_callable=PropertyMock, return_value=1024
|
|
), patch.object(
|
|
Compute, "ram_usage", new_callable=PropertyMock, return_value=0
|
|
):
|
|
response = self.client.get(reverse("instances:index"))
|
|
|
|
self.assertEqual(response.status_code, 200)
|
|
self.assertNotContains(response, "test4")
|
|
self.assertEqual(list(response.context["computes"][0].instance_set.all()), [])
|