Skip to content
Snippets Groups Projects
Commit 8fb3991c authored by Nico Vermaas's avatar Nico Vermaas
Browse files

add unit tests

parent fcae12e2
No related branches found
No related tags found
1 merge request!349SDC-1148 Summary endpoints
Pipeline #76799 passed
...@@ -4,18 +4,6 @@ from django.urls import reverse ...@@ -4,18 +4,6 @@ from django.urls import reverse
from taskdatabase.models import Task, Workflow from taskdatabase.models import Task, Workflow
class DiagramPageViewTest(TestCase): 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): def test_url_exists_at_desired_location(self):
response = self.client.get('/atdb/diagram/') response = self.client.get('/atdb/diagram/')
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
......
...@@ -4,18 +4,6 @@ from django.urls import reverse ...@@ -4,18 +4,6 @@ from django.urls import reverse
from taskdatabase.models import Task, Workflow from taskdatabase.models import Task, Workflow
class DiscardedPageViewTest(TestCase): 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): def test_url_exists_at_desired_location(self):
response = self.client.get('/atdb/discarded') response = self.client.get('/atdb/discarded')
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
......
...@@ -4,17 +4,6 @@ from django.urls import reverse ...@@ -4,17 +4,6 @@ from django.urls import reverse
from taskdatabase.models import Task, Workflow from taskdatabase.models import Task, Workflow
class FailuresPageViewTest(TestCase): 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): def test_url_exists_at_desired_location(self):
response = self.client.get('/atdb/failures') response = self.client.get('/atdb/failures')
......
...@@ -4,18 +4,6 @@ from django.urls import reverse ...@@ -4,18 +4,6 @@ from django.urls import reverse
from taskdatabase.models import Task, Workflow from taskdatabase.models import Task, Workflow
class FilterPageViewTest(TestCase): 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): def test_url_exists_at_desired_location(self):
response = self.client.get('/atdb/query/') response = self.client.get('/atdb/query/')
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
......
...@@ -4,17 +4,6 @@ from django.urls import reverse ...@@ -4,17 +4,6 @@ from django.urls import reverse
from taskdatabase.models import Task, Workflow from taskdatabase.models import Task, Workflow
class FinishedPageViewTest(TestCase): 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): def test_url_exists_at_desired_location(self):
response = self.client.get('/atdb/finished') response = self.client.get('/atdb/finished')
......
from django.test import TestCase
from django.urls import reverse
from django.http import JsonResponse, HttpResponse
from taskdatabase.models import Task, Workflow
import taskdatabase.tests.test_calculated_qualities_outputs as outputs
import json
class GetSummaryTestCase(TestCase):
def setUp(self):
print("setUp: Run once for every test method to setup clean data.")
workflow_requantisation = Workflow(workflow_uri="psrfits_requantisation")
workflow_requantisation.save()
# rfi_percent=0
Task.objects.get_or_create(sas_id=54321, status='processed',
outputs=outputs.default_summary_flavour_with_rfi_percent_zero_1,
workflow=workflow_requantisation)
# rfi_percent 11,22,31,52
Task.objects.get_or_create(sas_id=54321, status='processed', outputs=outputs.default_summary_flavour_with_rfi_1,
workflow=workflow_requantisation)
Task.objects.get_or_create(sas_id=54321, status='processed', outputs=outputs.default_summary_flavour_with_rfi_2,
workflow=workflow_requantisation)
Task.objects.get_or_create(sas_id=54321, status='processed', outputs=outputs.default_summary_flavour_with_rfi_3,
workflow=workflow_requantisation)
Task.objects.get_or_create(sas_id=54321, status='processed', outputs=outputs.default_summary_flavour_with_rfi_4,
workflow=workflow_requantisation)
def test_summary_json_response(self):
# Mock request
response = self.client.get(reverse('get-summary', args=['54321', 'json']))
# Check if response is JsonResponse
self.assertIsInstance(response, JsonResponse)
def test_summary_json_contents(self):
response = self.client.get(reverse('get-summary', args=['54321', 'json']))
# Check if response is JsonResponse
self.assertIsInstance(response, JsonResponse)
# Add more assertions as needed
json_data = json.loads(response.content.decode('utf-8'))
# is this json generated for the expected SAS_ID?
expected = "Summary File for SAS_ID 54321"
actual = json_data['summary']['title']
self.assertEqual(expected, actual)
# are all the tasks in the json?
tasks = json_data['summary']['tasks']
actual = len(tasks)
expected = 5
self.assertEqual(expected, actual)
# check 1 task for correct contents
t = tasks[0]
self.assertEqual(t['file'], 'L526107_summaryIS.tar')
self.assertEqual(t['input_name'], 'L526107_summaryIS.tar')
self.assertEqual(t['input_size'], 495749120)
self.assertEqual(t['output_size'], 283791360)
self.assertEqual(t['size_ratio'], '0.572')
def test_summary_html_response(self):
# Mock request
response = self.client.get(reverse('get-summary', args=['your_sas_id', 'html']))
# Check if response is HttpResponse
self.assertIsInstance(response, HttpResponse)
def test_summary_html_contents(self):
response = self.client.get(reverse('get-summary', args=['54321', 'html']))
# Check if response is JsonResponse
self.assertIsInstance(response, HttpResponse)
# Add more assertions as needed
html_data = response.content.decode('utf-8')
# is this html generated for the expected SAS_ID?
title = "Summary File for SAS_ID 54321"
found = False
if title in html_data:
found = True
self.assertEqual(found, True)
# does this filename exist in the html?
input_name = "L526107_summaryIS.tar"
found = False
if input_name in html_data:
found = True
self.assertEqual(found, True)
def test_summary_pdf_response(self):
# Mock request
response = self.client.get(reverse('get-summary', args=['your_sas_id', 'pdf']))
# Check if response is HttpResponse
self.assertIsInstance(response, HttpResponse)
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment