mirror of
https://github.com/retspen/webvirtcloud
synced 2026-11-09 11:46:49 +00:00
feat(instances): external snapshot delete runs as a job
This commit is contained in:
parent
c26419c757
commit
079e2ca5ca
12 changed files with 624 additions and 45 deletions
|
|
@ -248,3 +248,13 @@ def resolve(op_id, user, outcome_state, note):
|
|||
_log(user.username, host, instance, f"Job {op.pk} resolved as {outcome_state}: {note}")
|
||||
op.refresh_from_db()
|
||||
return op
|
||||
|
||||
|
||||
def remember_job(request, op):
|
||||
"""The resource page's panel shows this job even if it ends before the first poll."""
|
||||
ids = request.session.get("operations_shown", [])
|
||||
request.session["operations_shown"] = [*ids, str(op.pk)][-20:]
|
||||
|
||||
|
||||
def take_remembered(request):
|
||||
return request.session.pop("operations_shown", [])
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ from unittest.mock import patch
|
|||
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.core.exceptions import PermissionDenied
|
||||
from django.test import TransactionTestCase
|
||||
from django.test import SimpleTestCase, TransactionTestCase
|
||||
from django.utils import timezone
|
||||
from vrtManager.util import OperationError
|
||||
|
||||
|
|
@ -192,3 +192,13 @@ class CancelFinishResolveTestCase(TransactionTestCase):
|
|||
self.assertFalse(Claim.objects.exists())
|
||||
entry = Logs.objects.get(message__icontains="resolved")
|
||||
self.assertEqual((entry.user, entry.host, entry.instance), (self.admin.username, "c", "vm"))
|
||||
|
||||
|
||||
class RememberJobTestCase(SimpleTestCase):
|
||||
def test_the_last_twenty_jobs_are_remembered_until_taken(self):
|
||||
request = SimpleNamespace(session={})
|
||||
for n in range(25):
|
||||
jobs.remember_job(request, SimpleNamespace(pk=n))
|
||||
self.assertEqual(request.session["operations_shown"], [str(n) for n in range(5, 25)])
|
||||
self.assertEqual(jobs.take_remembered(request), [str(n) for n in range(5, 25)])
|
||||
self.assertEqual(jobs.take_remembered(request), [])
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue