manager: get snapshots to compare from application version (#87653)
gitea/chrono/pipeline/head This commit looks good
Details
gitea/chrono/pipeline/head This commit looks good
Details
This commit is contained in:
parent
32fc73ad77
commit
51b4892f07
|
@ -54,7 +54,38 @@ class InstanceWithSnapshotHistoryView(ListView):
|
|||
|
||||
|
||||
class InstanceWithSnapshotHistoryCompareView(DetailView):
|
||||
def get_snapshots_from_application(self):
|
||||
version1 = self.request.GET.get('version1')
|
||||
version2 = self.request.GET.get('version2')
|
||||
if not version1 or not version2:
|
||||
raise Http404
|
||||
|
||||
snapshot_for_app1 = (
|
||||
self.model.get_snapshot_model()
|
||||
.objects.filter(
|
||||
instance=self.object,
|
||||
application_slug=self.request.GET['application'],
|
||||
application_version=self.request.GET['version1'],
|
||||
)
|
||||
.order_by('timestamp')
|
||||
.last()
|
||||
)
|
||||
snapshot_for_app2 = (
|
||||
self.model.get_snapshot_model()
|
||||
.objects.filter(
|
||||
instance=self.object,
|
||||
application_slug=self.request.GET['application'],
|
||||
application_version=self.request.GET['version2'],
|
||||
)
|
||||
.order_by('timestamp')
|
||||
.last()
|
||||
)
|
||||
return snapshot_for_app1, snapshot_for_app2
|
||||
|
||||
def get_snapshots(self):
|
||||
if 'application' in self.request.GET:
|
||||
return self.get_snapshots_from_application()
|
||||
|
||||
id1 = self.request.GET.get('version1')
|
||||
id2 = self.request.GET.get('version2')
|
||||
if not id1 or not id2:
|
||||
|
|
|
@ -28,6 +28,7 @@ def test_agenda_history(settings, app, admin_user):
|
|||
agenda.description = 'Foo Bar'
|
||||
agenda.save()
|
||||
snapshot2 = agenda.take_snapshot()
|
||||
snapshot2.application_slug = 'foobar'
|
||||
snapshot2.application_version = '42.0'
|
||||
snapshot2.save()
|
||||
assert AgendaSnapshot.objects.count() == 2
|
||||
|
@ -68,6 +69,32 @@ def test_agenda_history(settings, app, admin_user):
|
|||
assert resp.text.count('diff_add') == 16
|
||||
assert resp.text.count('diff_chg') == 0
|
||||
|
||||
# check compare on application version number
|
||||
snapshot1.application_slug = 'foobar'
|
||||
snapshot1.application_version = '41.0'
|
||||
snapshot1.save()
|
||||
# application not found
|
||||
resp = app.get(
|
||||
'/manage/agendas/%s/history/compare/?application=foobaz&version1=41.0&version2=42.0' % agenda.pk
|
||||
)
|
||||
assert resp.location == '/manage/agendas/%s/history/' % agenda.pk
|
||||
# version1 not found
|
||||
resp = app.get(
|
||||
'/manage/agendas/%s/history/compare/?application=foobar&version1=40.0&version2=42.0' % agenda.pk
|
||||
)
|
||||
assert resp.location == '/manage/agendas/%s/history/' % agenda.pk
|
||||
# version2 not found
|
||||
resp = app.get(
|
||||
'/manage/agendas/%s/history/compare/?application=foobar&version1=41.0&version2=43.0' % agenda.pk
|
||||
)
|
||||
assert resp.location == '/manage/agendas/%s/history/' % agenda.pk
|
||||
# ok
|
||||
resp = app.get(
|
||||
'/manage/agendas/%s/history/compare/?application=foobar&version1=41.0&version2=42.0' % agenda.pk
|
||||
)
|
||||
assert 'Snapshot (%s) - (Version 41.0)' % snapshot1.pk in resp
|
||||
assert 'Snapshot (%s) - (Version 42.0)' % snapshot2.pk in resp
|
||||
|
||||
|
||||
def test_agenda_history_as_manager(app, manager_user):
|
||||
agenda = Agenda.objects.create(slug='foo', label='Foo')
|
||||
|
@ -101,6 +128,7 @@ def test_category_history(settings, app, admin_user):
|
|||
category.label = 'Bar'
|
||||
category.save()
|
||||
snapshot2 = category.take_snapshot()
|
||||
snapshot2.application_slug = 'foobar'
|
||||
snapshot2.application_version = '42.0'
|
||||
snapshot2.save()
|
||||
assert CategorySnapshot.objects.count() == 2
|
||||
|
@ -141,6 +169,32 @@ def test_category_history(settings, app, admin_user):
|
|||
assert resp.text.count('diff_add') == 0
|
||||
assert resp.text.count('diff_chg') == 2
|
||||
|
||||
# check compare on application version number
|
||||
snapshot1.application_slug = 'foobar'
|
||||
snapshot1.application_version = '41.0'
|
||||
snapshot1.save()
|
||||
# application not found
|
||||
resp = app.get(
|
||||
'/manage/category/%s/history/compare/?application=foobaz&version1=41.0&version2=42.0' % category.pk
|
||||
)
|
||||
assert resp.location == '/manage/category/%s/history/' % category.pk
|
||||
# version1 not found
|
||||
resp = app.get(
|
||||
'/manage/category/%s/history/compare/?application=foobar&version1=40.0&version2=42.0' % category.pk
|
||||
)
|
||||
assert resp.location == '/manage/category/%s/history/' % category.pk
|
||||
# version2 not found
|
||||
resp = app.get(
|
||||
'/manage/category/%s/history/compare/?application=foobar&version1=41.0&version2=43.0' % category.pk
|
||||
)
|
||||
assert resp.location == '/manage/category/%s/history/' % category.pk
|
||||
# ok
|
||||
resp = app.get(
|
||||
'/manage/category/%s/history/compare/?application=foobar&version1=41.0&version2=42.0' % category.pk
|
||||
)
|
||||
assert 'Snapshot (%s) - (Version 41.0)' % snapshot1.pk in resp
|
||||
assert 'Snapshot (%s) - (Version 42.0)' % snapshot2.pk in resp
|
||||
|
||||
|
||||
def test_events_type_history(settings, app, admin_user):
|
||||
events_type = EventsType.objects.create(slug='foo', label='Foo')
|
||||
|
@ -148,6 +202,7 @@ def test_events_type_history(settings, app, admin_user):
|
|||
events_type.label = 'Bar'
|
||||
events_type.save()
|
||||
snapshot2 = events_type.take_snapshot()
|
||||
snapshot2.application_slug = 'foobar'
|
||||
snapshot2.application_version = '42.0'
|
||||
snapshot2.save()
|
||||
assert EventsTypeSnapshot.objects.count() == 2
|
||||
|
@ -188,6 +243,36 @@ def test_events_type_history(settings, app, admin_user):
|
|||
assert resp.text.count('diff_add') == 0
|
||||
assert resp.text.count('diff_chg') == 2
|
||||
|
||||
# check compare on application version number
|
||||
snapshot1.application_slug = 'foobar'
|
||||
snapshot1.application_version = '41.0'
|
||||
snapshot1.save()
|
||||
# application not found
|
||||
resp = app.get(
|
||||
'/manage/events-type/%s/history/compare/?application=foobaz&version1=41.0&version2=42.0'
|
||||
% events_type.pk
|
||||
)
|
||||
assert resp.location == '/manage/events-type/%s/history/' % events_type.pk
|
||||
# version1 not found
|
||||
resp = app.get(
|
||||
'/manage/events-type/%s/history/compare/?application=foobar&version1=40.0&version2=42.0'
|
||||
% events_type.pk
|
||||
)
|
||||
assert resp.location == '/manage/events-type/%s/history/' % events_type.pk
|
||||
# version2 not found
|
||||
resp = app.get(
|
||||
'/manage/events-type/%s/history/compare/?application=foobar&version1=41.0&version2=43.0'
|
||||
% events_type.pk
|
||||
)
|
||||
assert resp.location == '/manage/events-type/%s/history/' % events_type.pk
|
||||
# ok
|
||||
resp = app.get(
|
||||
'/manage/events-type/%s/history/compare/?application=foobar&version1=41.0&version2=42.0'
|
||||
% events_type.pk
|
||||
)
|
||||
assert 'Snapshot (%s) - (Version 41.0)' % snapshot1.pk in resp
|
||||
assert 'Snapshot (%s) - (Version 42.0)' % snapshot2.pk in resp
|
||||
|
||||
|
||||
def test_resource_history(settings, app, admin_user):
|
||||
resource = Resource.objects.create(slug='foo', label='Foo')
|
||||
|
@ -195,6 +280,7 @@ def test_resource_history(settings, app, admin_user):
|
|||
resource.label = 'Bar'
|
||||
resource.save()
|
||||
snapshot2 = resource.take_snapshot()
|
||||
snapshot2.application_slug = 'foobar'
|
||||
snapshot2.application_version = '42.0'
|
||||
snapshot2.save()
|
||||
assert ResourceSnapshot.objects.count() == 2
|
||||
|
@ -235,6 +321,32 @@ def test_resource_history(settings, app, admin_user):
|
|||
assert resp.text.count('diff_add') == 0
|
||||
assert resp.text.count('diff_chg') == 2
|
||||
|
||||
# check compare on application version number
|
||||
snapshot1.application_slug = 'foobar'
|
||||
snapshot1.application_version = '41.0'
|
||||
snapshot1.save()
|
||||
# application not found
|
||||
resp = app.get(
|
||||
'/manage/resource/%s/history/compare/?application=foobaz&version1=41.0&version2=42.0' % resource.pk
|
||||
)
|
||||
assert resp.location == '/manage/resource/%s/history/' % resource.pk
|
||||
# version1 not found
|
||||
resp = app.get(
|
||||
'/manage/resource/%s/history/compare/?application=foobar&version1=40.0&version2=42.0' % resource.pk
|
||||
)
|
||||
assert resp.location == '/manage/resource/%s/history/' % resource.pk
|
||||
# version2 not found
|
||||
resp = app.get(
|
||||
'/manage/resource/%s/history/compare/?application=foobar&version1=41.0&version2=43.0' % resource.pk
|
||||
)
|
||||
assert resp.location == '/manage/resource/%s/history/' % resource.pk
|
||||
# ok
|
||||
resp = app.get(
|
||||
'/manage/resource/%s/history/compare/?application=foobar&version1=41.0&version2=42.0' % resource.pk
|
||||
)
|
||||
assert 'Snapshot (%s) - (Version 41.0)' % snapshot1.pk in resp
|
||||
assert 'Snapshot (%s) - (Version 42.0)' % snapshot2.pk in resp
|
||||
|
||||
|
||||
def test_unavailability_calendar_history(settings, app, admin_user):
|
||||
unavailability_calendar = UnavailabilityCalendar.objects.create(slug='foo', label='Foo')
|
||||
|
@ -242,6 +354,7 @@ def test_unavailability_calendar_history(settings, app, admin_user):
|
|||
unavailability_calendar.label = 'Bar'
|
||||
unavailability_calendar.save()
|
||||
snapshot2 = unavailability_calendar.take_snapshot()
|
||||
snapshot2.application_slug = 'foobar'
|
||||
snapshot2.application_version = '42.0'
|
||||
snapshot2.save()
|
||||
assert UnavailabilityCalendarSnapshot.objects.count() == 2
|
||||
|
@ -282,6 +395,36 @@ def test_unavailability_calendar_history(settings, app, admin_user):
|
|||
assert resp.text.count('diff_add') == 0
|
||||
assert resp.text.count('diff_chg') == 2
|
||||
|
||||
# check compare on application version number
|
||||
snapshot1.application_slug = 'foobar'
|
||||
snapshot1.application_version = '41.0'
|
||||
snapshot1.save()
|
||||
# application not found
|
||||
resp = app.get(
|
||||
'/manage/unavailability-calendar/%s/history/compare/?application=foobaz&version1=41.0&version2=42.0'
|
||||
% unavailability_calendar.pk
|
||||
)
|
||||
assert resp.location == '/manage/unavailability-calendar/%s/history/' % unavailability_calendar.pk
|
||||
# version1 not found
|
||||
resp = app.get(
|
||||
'/manage/unavailability-calendar/%s/history/compare/?application=foobar&version1=40.0&version2=42.0'
|
||||
% unavailability_calendar.pk
|
||||
)
|
||||
assert resp.location == '/manage/unavailability-calendar/%s/history/' % unavailability_calendar.pk
|
||||
# version2 not found
|
||||
resp = app.get(
|
||||
'/manage/unavailability-calendar/%s/history/compare/?application=foobar&version1=41.0&version2=43.0'
|
||||
% unavailability_calendar.pk
|
||||
)
|
||||
assert resp.location == '/manage/unavailability-calendar/%s/history/' % unavailability_calendar.pk
|
||||
# ok
|
||||
resp = app.get(
|
||||
'/manage/unavailability-calendar/%s/history/compare/?application=foobar&version1=41.0&version2=42.0'
|
||||
% unavailability_calendar.pk
|
||||
)
|
||||
assert 'Snapshot (%s) - (Version 41.0)' % snapshot1.pk in resp
|
||||
assert 'Snapshot (%s) - (Version 42.0)' % snapshot2.pk in resp
|
||||
|
||||
|
||||
def test_unavailability_calendar_history_as_manager(app, manager_user):
|
||||
unavailability_calendar = UnavailabilityCalendar.objects.create(slug='foo', label='Foo')
|
||||
|
|
Loading…
Reference in New Issue