diff --git a/atdb/atdb/static/admin/js/vendor/jquery/jquery.js b/atdb/atdb/static/admin/js/vendor/jquery/jquery.js index 50937333b99a5e168ac9e8292b22edd7e96c3e6a..3dc5efb8857d786491e3b50bec0aefbb9e49ddfd 100644 --- a/atdb/atdb/static/admin/js/vendor/jquery/jquery.js +++ b/atdb/atdb/static/admin/js/vendor/jquery/jquery.js @@ -1363,7 +1363,7 @@ setDocument = Sizzle.setDocument = function( node ) { // Webkit/Opera - :checked should return selected option elements // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - // IE8 throws error here and will not see later tests + // IE8 throws error here and will not see later tests_module if ( !el.querySelectorAll( ":checked" ).length ) { rbuggyQSA.push( ":checked" ); } @@ -1398,7 +1398,7 @@ setDocument = Sizzle.setDocument = function( node ) { } // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) - // IE8 throws error here and will not see later tests + // IE8 throws error here and will not see later tests_module if ( el.querySelectorAll( ":enabled" ).length !== 2 ) { rbuggyQSA.push( ":enabled", ":disabled" ); } @@ -6030,7 +6030,7 @@ function cloneCopyEvent( src, dest ) { } } -// Fix IE bugs, see support tests +// Fix IE bugs, see support tests_module function fixInput( src, dest ) { var nodeName = dest.nodeName.toLowerCase(); @@ -6448,7 +6448,7 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); ( function() { - // Executing both pixelPosition & boxSizingReliable tests require only one layout + // Executing both pixelPosition & boxSizingReliable tests_module require only one layout // so they're executed at the same time to save the second computation. function computeStyleTests() { diff --git a/atdb/atdb/static/admin/js/vendor/xregexp/xregexp.js b/atdb/atdb/static/admin/js/vendor/xregexp/xregexp.js index ded6f6faa274657b65b444356ee78ad914595bc5..2d81d74d6ad38aaec350e17f79dfc8fc4eda31c2 100644 --- a/atdb/atdb/static/admin/js/vendor/xregexp/xregexp.js +++ b/atdb/atdb/static/admin/js/vendor/xregexp/xregexp.js @@ -3201,7 +3201,7 @@ function runTokens(pattern, flags, pos, scope, context) { output: t.handler.call(context, match, scope, flags), reparse: t.reparse }; - // Finished with token tests + // Finished with token tests_module break; } } @@ -3401,7 +3401,7 @@ XRegExp.version = '3.2.0'; // Public methods // ==--------------------------== -// Intentionally undocumented; used in tests and addons +// Intentionally undocumented; used in tests_module and addons XRegExp._clipDuplicates = clipDuplicates; XRegExp._hasNativeFlag = hasNativeFlag; XRegExp._dec = dec; @@ -3515,7 +3515,7 @@ XRegExp.cache = function(pattern, flags) { ); }; -// Intentionally undocumented; used in tests +// Intentionally undocumented; used in tests_module XRegExp.cache.flush = function(cacheName) { if (cacheName === 'patterns') { // Flush the pattern cache used by the `XRegExp` constructor diff --git a/atdb/taskdatabase/models.py b/atdb/taskdatabase/models.py index b69426a659aead5e759977d6c50337b1c1273f23..dc4511d4f732946528fdb3ace87554c9c00a5b15 100644 --- a/atdb/taskdatabase/models.py +++ b/atdb/taskdatabase/models.py @@ -99,7 +99,7 @@ class Task(models.Model): quality = models.CharField(max_length=10,blank=True, null=True) calculated_qualities = models.JSONField(null=True, blank=True) resume = models.BooleanField(verbose_name="Resume", default=True) - creationTime = models.DateTimeField(verbose_name="CreationTime",default=datetime.utcnow, blank=True) + creationTime = models.DateTimeField(verbose_name="CreationTime",default=timezone.now, blank=True) priority = models.IntegerField(default=100, null=True) purge_policy = models.CharField(max_length=5, default="no", blank=True, null=True) @@ -336,7 +336,7 @@ class LogEntry(models.Model): class Status(models.Model): name = models.CharField(max_length=50, default="unknown") - timestamp = models.DateTimeField(default=datetime.utcnow, blank=True) + timestamp = models.DateTimeField(default=timezone.now, blank=True) # relationships task = models.ForeignKey(Task, related_name='status_history', on_delete=models.CASCADE, null=False) diff --git a/atdb/taskdatabase/tests/__init__.py b/atdb/taskdatabase/tests/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/atdb/taskdatabase/tests.py b/atdb/taskdatabase/tests/test_calculated_qualities.py similarity index 99% rename from atdb/taskdatabase/tests.py rename to atdb/taskdatabase/tests/test_calculated_qualities.py index 5dfb825fd903f02becccc6c2e9424618da75a36b..b2b5bfa596460ea9019df750e49925a4586c7c1a 100644 --- a/atdb/taskdatabase/tests.py +++ b/atdb/taskdatabase/tests/test_calculated_qualities.py @@ -1,7 +1,9 @@ from django.test import TestCase import json -from .services import calculated_qualities as qualities -from .models import Configuration, Task + +from taskdatabase.services import calculated_qualities as qualities +from taskdatabase.models import Configuration, Task + class TestCalculatedQualities(TestCase): diff --git a/atdb/taskdatabase/tests/test_views_config_page.py b/atdb/taskdatabase/tests/test_views_config_page.py new file mode 100644 index 0000000000000000000000000000000000000000..644264c80f017286b8d5d97a991f7579f6ce40bb --- /dev/null +++ b/atdb/taskdatabase/tests/test_views_config_page.py @@ -0,0 +1,30 @@ +from django.test import TestCase +from django.urls import reverse + +from taskdatabase.models import Task, Workflow +class ConfigPageViewTest(TestCase): + + @classmethod + def setUpTestData(cls): + + # Set up non-modified objects used by all test methods + workflow = Workflow() + workflow.save() + + # create a list of Tasks + Task.objects.get_or_create(sas_id=12345, status='finished', workflow = workflow) + Task.objects.get_or_create(sas_id=12345, status='finished', workflow = workflow) + Task.objects.get_or_create(sas_id=12345, status='stored', workflow = workflow) + + def test_url_exists_at_desired_location(self): + response = self.client.get('/atdb/config/') + self.assertEqual(response.status_code, 200) + + def test_url_accessible_by_name(self): + response = self.client.get(reverse('config')) + self.assertEqual(response.status_code, 200) + + def test_uses_correct_template(self): + response = self.client.get(reverse('config')) + self.assertEqual(response.status_code, 200) + self.assertTemplateUsed(response, 'taskdatabase/config.html') \ No newline at end of file diff --git a/atdb/taskdatabase/tests/test_views_dashboard_page.py b/atdb/taskdatabase/tests/test_views_dashboard_page.py new file mode 100644 index 0000000000000000000000000000000000000000..ae4a59390b5599b650384ac48f8363216d2a8721 --- /dev/null +++ b/atdb/taskdatabase/tests/test_views_dashboard_page.py @@ -0,0 +1,30 @@ +from django.test import TestCase +from django.urls import reverse + +from taskdatabase.models import Task, Workflow +class DashboardPageViewTest(TestCase): + + @classmethod + def setUpTestData(cls): + + # Set up non-modified objects used by all test methods + workflow = Workflow() + workflow.save() + + # create a list of Tasks + Task.objects.get_or_create(sas_id=12345, status='finished', workflow = workflow) + Task.objects.get_or_create(sas_id=12345, status='finished', workflow = workflow) + Task.objects.get_or_create(sas_id=12345, status='stored', workflow = workflow) + + def test_url_exists_at_desired_location_active_nores_nofilter(self): + response = self.client.get('/atdb/dashboard/active_nores_nofilter') + self.assertEqual(response.status_code, 200) + + def test_url_exists_at_desired_location_all_resources_applyfilter(self): + response = self.client.get('/atdb/dashboard/all_resources_applyfilter') + self.assertEqual(response.status_code, 200) + + def test_uses_correct_template(self): + response = self.client.get('/atdb/dashboard/active_nores_nofilter') + self.assertEqual(response.status_code, 200) + self.assertTemplateUsed(response, 'taskdatabase/dashboard/dashboard.html') \ No newline at end of file diff --git a/atdb/taskdatabase/tests/test_views_details_page.py b/atdb/taskdatabase/tests/test_views_details_page.py new file mode 100644 index 0000000000000000000000000000000000000000..fec78527b081ac1c9e5fafca954f2fa2f967e84f --- /dev/null +++ b/atdb/taskdatabase/tests/test_views_details_page.py @@ -0,0 +1,27 @@ +from django.test import TestCase +from django.urls import reverse + +from taskdatabase.models import Task, Workflow +class DetailsPageViewTest(TestCase): + + @classmethod + def setUp(cls): + # Set up non-modified objects used by all test methods + workflow = Workflow() + workflow.save() + + # create a list of Tasks + Task.objects.get_or_create(sas_id=12345, status='finished', workflow=workflow) + + def test_url_exists_at_desired_location(self): + # extract the task + task = Task.objects.all()[0] + response = self.client.get(f'/atdb/task_details/{task.id}/1') + self.assertEqual(response.status_code, 200) + + + def test_uses_correct_template(self): + task = Task.objects.all()[0] + response = self.client.get(f'/atdb/task_details/{task.id}/1') + self.assertEqual(response.status_code, 200) + self.assertTemplateUsed(response, 'taskdatabase/tasks/task_details.html') \ No newline at end of file diff --git a/atdb/taskdatabase/tests/test_views_diagram_page.py b/atdb/taskdatabase/tests/test_views_diagram_page.py new file mode 100644 index 0000000000000000000000000000000000000000..aadaf8300eb0b278bc98a6a1a464359cd3a99fda --- /dev/null +++ b/atdb/taskdatabase/tests/test_views_diagram_page.py @@ -0,0 +1,30 @@ +from django.test import TestCase +from django.urls import reverse + +from taskdatabase.models import Task, Workflow +class DiagramPageViewTest(TestCase): + + @classmethod + def setUpTestData(cls): + + # Set up non-modified objects used by all test methods + workflow = Workflow() + workflow.save() + + # create a list of Tasks + Task.objects.get_or_create(sas_id=12345, status='finished', workflow = workflow) + Task.objects.get_or_create(sas_id=12345, status='finished', workflow = workflow) + Task.objects.get_or_create(sas_id=12345, status='stored', workflow = workflow) + + def test_url_exists_at_desired_location(self): + response = self.client.get('/atdb/diagram/') + self.assertEqual(response.status_code, 200) + + def test_url_accessible_by_name(self): + response = self.client.get(reverse('diagram')) + self.assertEqual(response.status_code, 200) + + def test_uses_correct_template(self): + response = self.client.get(reverse('diagram')) + self.assertEqual(response.status_code, 200) + self.assertTemplateUsed(response, 'taskdatabase/diagram.html') \ No newline at end of file diff --git a/atdb/taskdatabase/tests/test_views_discarded_page.py b/atdb/taskdatabase/tests/test_views_discarded_page.py new file mode 100644 index 0000000000000000000000000000000000000000..9e79f2a6dca3ece16bec5db6fa0e6d877422bee8 --- /dev/null +++ b/atdb/taskdatabase/tests/test_views_discarded_page.py @@ -0,0 +1,30 @@ +from django.test import TestCase +from django.urls import reverse + +from taskdatabase.models import Task, Workflow +class DiscardedPageViewTest(TestCase): + + @classmethod + def setUpTestData(cls): + + # Set up non-modified objects used by all test methods + workflow = Workflow() + workflow.save() + + # create a list of Tasks + Task.objects.get_or_create(sas_id=12345, status='discarded', workflow = workflow) + Task.objects.get_or_create(sas_id=12345, status='discarded', workflow = workflow) + Task.objects.get_or_create(sas_id=12345, status='stored', workflow = workflow) + + def test_url_exists_at_desired_location(self): + response = self.client.get('/atdb/discarded') + self.assertEqual(response.status_code, 200) + + def test_url_accessible_by_name(self): + response = self.client.get(reverse('discarded')) + self.assertEqual(response.status_code, 200) + + def test_uses_correct_template(self): + response = self.client.get(reverse('discarded')) + self.assertEqual(response.status_code, 200) + self.assertTemplateUsed(response, 'taskdatabase/discarded/page.html') \ No newline at end of file diff --git a/atdb/taskdatabase/tests/test_views_failures_page.py b/atdb/taskdatabase/tests/test_views_failures_page.py new file mode 100644 index 0000000000000000000000000000000000000000..a2342724238963eef495229587c9d62c0e5a1851 --- /dev/null +++ b/atdb/taskdatabase/tests/test_views_failures_page.py @@ -0,0 +1,30 @@ +from django.test import TestCase +from django.urls import reverse + +from taskdatabase.models import Task, Workflow +class FailuresPageViewTest(TestCase): + + @classmethod + def setUpTestData(cls): + + # Set up non-modified objects used by all test methods + workflow = Workflow() + workflow.save() + + # create a list of Tasks + Task.objects.get_or_create(sas_id=12345, status='processed_failed', workflow = workflow) + Task.objects.get_or_create(sas_id=12345, status='processed_failed', workflow = workflow) + Task.objects.get_or_create(sas_id=12345, status='stored', workflow = workflow) + + def test_url_exists_at_desired_location(self): + response = self.client.get('/atdb/failures') + self.assertEqual(response.status_code, 200) + + def test_url_accessible_by_name(self): + response = self.client.get(reverse('failures')) + self.assertEqual(response.status_code, 200) + + def test_uses_correct_template(self): + response = self.client.get(reverse('failures')) + self.assertEqual(response.status_code, 200) + self.assertTemplateUsed(response, 'taskdatabase/failures/page.html') \ No newline at end of file diff --git a/atdb/taskdatabase/tests/test_views_filter_page.py b/atdb/taskdatabase/tests/test_views_filter_page.py new file mode 100644 index 0000000000000000000000000000000000000000..545c5448bf48dba8aa964c517ee02f896fb0cead --- /dev/null +++ b/atdb/taskdatabase/tests/test_views_filter_page.py @@ -0,0 +1,30 @@ +from django.test import TestCase +from django.urls import reverse + +from taskdatabase.models import Task, Workflow +class FilterPageViewTest(TestCase): + + @classmethod + def setUpTestData(cls): + + # Set up non-modified objects used by all test methods + workflow = Workflow() + workflow.save() + + # create a list of Tasks + Task.objects.get_or_create(sas_id=12345, status='finished', workflow = workflow) + Task.objects.get_or_create(sas_id=12345, status='finished', workflow = workflow) + Task.objects.get_or_create(sas_id=12345, status='stored', workflow = workflow) + + def test_url_exists_at_desired_location(self): + response = self.client.get('/atdb/query/') + self.assertEqual(response.status_code, 200) + + def test_url_accessible_by_name(self): + response = self.client.get(reverse('query')) + self.assertEqual(response.status_code, 200) + + def test_uses_correct_template(self): + response = self.client.get(reverse('query')) + self.assertEqual(response.status_code, 200) + self.assertTemplateUsed(response, 'taskdatabase/query/index.html') \ No newline at end of file diff --git a/atdb/taskdatabase/tests/test_views_finished_page.py b/atdb/taskdatabase/tests/test_views_finished_page.py new file mode 100644 index 0000000000000000000000000000000000000000..3de45fa27df79bd994a2763b845408de1d62a4d7 --- /dev/null +++ b/atdb/taskdatabase/tests/test_views_finished_page.py @@ -0,0 +1,30 @@ +from django.test import TestCase +from django.urls import reverse + +from taskdatabase.models import Task, Workflow +class FinishedPageViewTest(TestCase): + + @classmethod + def setUpTestData(cls): + + # Set up non-modified objects used by all test methods + workflow = Workflow() + workflow.save() + + # create a list of Tasks + Task.objects.get_or_create(sas_id=12345, status='finished', workflow = workflow) + Task.objects.get_or_create(sas_id=12345, status='finished', workflow = workflow) + Task.objects.get_or_create(sas_id=12345, status='stored', workflow = workflow) + + def test_url_exists_at_desired_location(self): + response = self.client.get('/atdb/finished') + self.assertEqual(response.status_code, 200) + + def test_url_accessible_by_name(self): + response = self.client.get(reverse('finished')) + self.assertEqual(response.status_code, 200) + + def test_uses_correct_template(self): + response = self.client.get(reverse('finished')) + self.assertEqual(response.status_code, 200) + self.assertTemplateUsed(response, 'taskdatabase/archived/page.html') \ No newline at end of file diff --git a/atdb/taskdatabase/tests/test_views_monitoring_page.py b/atdb/taskdatabase/tests/test_views_monitoring_page.py new file mode 100644 index 0000000000000000000000000000000000000000..98fbb12b2a5d57503e45ccd295d000850179ef3c --- /dev/null +++ b/atdb/taskdatabase/tests/test_views_monitoring_page.py @@ -0,0 +1,28 @@ +from django.test import TestCase +from django.urls import reverse + +from taskdatabase.models import LatestMonitor +class MonitoringPageViewTest(TestCase): + + @classmethod + def setUpTestData(cls): + # create a list of Monitor objects + LatestMonitor.objects.get_or_create(name="stager", status='running') + LatestMonitor.objects.get_or_create(name="archiver", status='running') + LatestMonitor.objects.get_or_create(name="executor", status='running') + LatestMonitor.objects.get_or_create(name="datamanager", status='running') + LatestMonitor.objects.get_or_create(name="token", status='running') + LatestMonitor.objects.get_or_create(name="cleanup", status='running') + LatestMonitor.objects.get_or_create(name="cleanup-spider", status='running') + def test_url_exists_at_desired_location(self): + response = self.client.get('/atdb/monitoring/') + self.assertEqual(response.status_code, 200) + + def test_url_accessible_by_name(self): + response = self.client.get(reverse('monitoring')) + self.assertEqual(response.status_code, 200) + + def test_uses_correct_template(self): + response = self.client.get(reverse('monitoring')) + self.assertEqual(response.status_code, 200) + self.assertTemplateUsed(response, 'taskdatabase/monitoring_page.html') \ No newline at end of file diff --git a/atdb/taskdatabase/tests/test_views_quality_page.py b/atdb/taskdatabase/tests/test_views_quality_page.py new file mode 100644 index 0000000000000000000000000000000000000000..7e01cabdac07cba3ca840baa57fc16f333ab5a47 --- /dev/null +++ b/atdb/taskdatabase/tests/test_views_quality_page.py @@ -0,0 +1,113 @@ +from django.test import TestCase +from django.urls import reverse +from django.test import RequestFactory +from django.contrib.sessions.middleware import SessionMiddleware +from django.core.paginator import Paginator + +from taskdatabase.models import Task, Workflow +from taskdatabase.views import ShowQualityPage + +class QualityPageViewTest(TestCase): + + @classmethod + def setUpTestData(cls): + outputs1 = { + "quality": { + "details": {}, + "observing-conditions": "N/A", + "sensitivity": "N/A", + "summary": { + "L526107_SAP002_B073_P000_bf.tar": { + "added": [ + "stokes/SAP2/BEAM73/L526105_SAP2_BEAM73_2bit.fits", + "stokes/SAP2/BEAM73/L526105_SAP2_BEAM73_2bit_ldv_psrfits_requantisation.log" + ], + "deleted": [ + "stokes/SAP2/BEAM73/L526105_SAP2_BEAM73.fits" + ], + "input_name": "L526107_SAP002_B073_P000_bf.tar", + "input_size": 20353853440, + "input_size_str": "18.96 GB", + "output_name": "L526107_SAP002_B073_P000_bf.tar", + "output_size": 6024990720, + "output_size_str": "5.61 GB", + "rfi_percent": 11.167, + "size_ratio": 0.2960122876860019 + } + }, + "uv-coverage": "N/A" + }, + } + + outputs2 = { + "quality": { + "details": {}, + "observing-conditions": "N/A", + "sensitivity": "N/A", + "summary": { + "L526107_SAP002_B073_P000_bf.tar": { + "added": [ + "stokes/SAP2/BEAM73/L526105_SAP2_BEAM73_2bit.fits", + "stokes/SAP2/BEAM73/L526105_SAP2_BEAM73_2bit_ldv_psrfits_requantisation.log" + ], + "deleted": [ + "stokes/SAP2/BEAM73/L526105_SAP2_BEAM73.fits" + ], + "input_name": "L526107_SAP002_B073_P000_bf.tar", + "input_size": 20353853440, + "input_size_str": "18.96 GB", + "output_name": "L526107_SAP002_B073_P000_bf.tar", + "output_size": 6024990720, + "output_size_str": "5.61 GB", + "rfi_percent": 11.167, + "size_ratio": 0.2960122876860019 + } + }, + "uv-coverage": "N/A" + }, + } + + # Set up non-modified objects used by all test methods + workflow = Workflow() + workflow.save() + + # create a list of Tasks + Task.objects.get_or_create(sas_id=123, workflow = workflow, outputs = outputs1) + Task.objects.get_or_create(sas_id=456, workflow = workflow, outputs = outputs2) + Task.objects.get_or_create(sas_id=789, workflow = workflow) + + def test_url_exists_at_desired_location(self): + response = self.client.get('/atdb/quality') + self.assertEqual(response.status_code, 200) + + def test_url_accessible_by_name(self): + response = self.client.get(reverse('quality')) + self.assertEqual(response.status_code, 200) + + def test_uses_correct_template(self): + response = self.client.get(reverse('quality')) + self.assertEqual(response.status_code, 200) + self.assertTemplateUsed(response, 'taskdatabase/quality/page.html') + + def test_queryset_for_tasks_with_quality(self): + # this builds up the request and the session + request = RequestFactory().get('/atdb/quality') + middleware = SessionMiddleware() + middleware.process_request(request) + request.session.save() + + # access the class in views.py and its overridden get_queryset method + view = ShowQualityPage() + view.request = request + qs = view.get_queryset().object_list + sum_sasid_actual = 0 + for task in qs: + sum_sasid_actual += task.id + + # test against the list of (2) test tasks with quality information + tasks_with_quality = Task.objects.all().exclude(outputs__quality__isnull=True) + sum_sasid_test = 0 + for task in tasks_with_quality: + sum_sasid_test += task.id + + self.assertEqual(sum_sasid_actual, sum_sasid_test) diff --git a/atdb/taskdatabase/tests/test_views_tasks_page.py b/atdb/taskdatabase/tests/test_views_tasks_page.py new file mode 100644 index 0000000000000000000000000000000000000000..35ebbd0766af593e23e08ae12771bdca0fa8b1ce --- /dev/null +++ b/atdb/taskdatabase/tests/test_views_tasks_page.py @@ -0,0 +1,32 @@ +from django.test import TestCase +from django.urls import reverse + +from taskdatabase.models import Task, Workflow + +class TaskListViewTest(TestCase): + + @classmethod + def setUpTestData(cls): + + # Set up non-modified objects used by all test methods + workflow = Workflow() + workflow.save() + + # create a list of Tasks + Task.objects.get_or_create(sas_id=12345, workflow = workflow) + Task.objects.get_or_create(sas_id=12345, workflow = workflow) + Task.objects.get_or_create(sas_id=12345, workflow = workflow) + + def test_url_exists_at_desired_location(self): + response = self.client.get('/atdb/') + self.assertEqual(response.status_code, 200) + + def test_url_accessible_by_name(self): + response = self.client.get(reverse('index')) + self.assertEqual(response.status_code, 200) + + def test_uses_correct_template(self): + response = self.client.get(reverse('index')) + self.assertEqual(response.status_code, 200) + self.assertTemplateUsed(response, 'taskdatabase/index.html') + diff --git a/atdb/taskdatabase/tests/test_views_validation_page.py b/atdb/taskdatabase/tests/test_views_validation_page.py new file mode 100644 index 0000000000000000000000000000000000000000..da4283da15c74023e91966f72e6e82b05c687cbc --- /dev/null +++ b/atdb/taskdatabase/tests/test_views_validation_page.py @@ -0,0 +1,30 @@ +from django.test import TestCase +from django.urls import reverse + +from taskdatabase.models import Task, Workflow +class ValidationPageViewTest(TestCase): + + @classmethod + def setUpTestData(cls): + + # Set up non-modified objects used by all test methods + workflow = Workflow() + workflow.save() + + # create a list of Tasks + Task.objects.get_or_create(sas_id=12345, status='stored', workflow = workflow) + Task.objects.get_or_create(sas_id=12345, status='stored', workflow = workflow) + Task.objects.get_or_create(sas_id=12345, status='stored', workflow = workflow) + + def test_url_exists_at_desired_location(self): + response = self.client.get('/atdb/validation') + self.assertEqual(response.status_code, 200) + + def test_url_accessible_by_name(self): + response = self.client.get(reverse('validation')) + self.assertEqual(response.status_code, 200) + + def test_uses_correct_template(self): + response = self.client.get(reverse('validation')) + self.assertEqual(response.status_code, 200) + self.assertTemplateUsed(response, 'taskdatabase/validation/page.html') \ No newline at end of file diff --git a/atdb/taskdatabase/views.py b/atdb/taskdatabase/views.py index 1842db5a031c74635c27753da6ecb2fc95737258..fd2065c182ab0444e21bd3d207be811db63c1729 100644 --- a/atdb/taskdatabase/views.py +++ b/atdb/taskdatabase/views.py @@ -40,10 +40,6 @@ from .services import algorithms logger = logging.getLogger(__name__) -class Pages(Enum): - VALIDATION = "validation" - - def redirect_with_params(view_name, params): return redirect(reverse(view_name) + params) @@ -1160,9 +1156,6 @@ def TaskRetry(request, pk, new_status, page=0): @login_required def TaskDiscard(request, pk, new_status, page=0): - # TODO: when the cleanup service in place, - # make a change in this line in failures\tasks.html. Change 'discard' into 'discarded'. - # <a href="{% url 'task-discard-view' task.pk 'discarded' my_tasks.number %}" task = Task.objects.get(pk=pk) @@ -1203,9 +1196,6 @@ def TaskDiscard(request, pk, new_status, page=0): def TaskDiscardSasId(request, pk, new_status, page=0): - # TODO: when the cleanup service in place, - # make a change in this line in failures\tasks.html. Change 'discard' into 'discarded'. - # <a href="{% url 'task-discard-view' task.pk 'discarded' my_tasks.number %}" task = Task.objects.get(pk=pk) sas_id = task.sas_id @@ -1479,9 +1469,6 @@ class GetMinMaxTimeView(generics.ListAPIView): }) -from rest_framework.serializers import ListSerializer - - # /atdb/get_unique_values_for_key/{key} class GetUniqueValuesForKey(generics.ListAPIView): queryset = Task.objects.all()