1
0
Fork 0
mirror of https://github.com/retspen/webvirtcloud synced 2026-11-08 19:26:48 +00:00
webvirtcloud/instances/tests/test_index.py
catborise c55f52f025 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.
2026-10-12 15:17:30 +03:00

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()), [])