def test_status_detail_superuser(self):
     """Superusers should be able to access all status records."""
     self._login(self.superuser)
     response = self.client.get(
         reverse('usertaskstatus-detail', args=[self.status.uuid]))
     assert response.status_code == 200
     serializer = StatusSerializer(self.status, context=_context(response))
     assert _data(response) == serializer.data
示例#2
0
 def test_status_list(self):
     """
     Users should be able to access a list of their tasks' status records.
     """
     response = self.client.get(reverse('usertaskstatus-list'))
     assert response.status_code == 200
     serializer = StatusSerializer([self.status], context=_context(response), many=True)
     assert _data(response)['results'] == serializer.data
示例#3
0
 def test_status_detail(self):
     """
     Users should be able to access status records for tasks they triggered.
     """
     response = self.client.get(reverse('usertaskstatus-detail', args=[self.status.uuid]))
     assert response.status_code == 200
     serializer = StatusSerializer(self.status, context=_context(response))
     assert _data(response) == serializer.data
 def test_status_list_superuser(self):
     """Superusers should be able to access a list of all task status records."""
     self._login(self.superuser)
     response = self.client.get(reverse('usertaskstatus-list'))
     assert response.status_code == 200
     serializer = StatusSerializer([self.status, self.older_status],
                                   context=_context(response),
                                   many=True)
     assert _data(response) == serializer.data
示例#5
0
 def test_output(self):
     """The serializer should generate the expected data for a status record."""
     status = UserTaskStatus.objects.create(user=self.user,
                                            task_id=str(uuid4()),
                                            name='SampleTask',
                                            total_steps=4)
     expected = {
         'name': 'SampleTask',
         'state': 'Pending',
         'state_text': 'Pending',
         'completed_steps': 0,
         'total_steps': 4,
         'attempts': 1,
         'created': _format(status.created),
         'modified': _format(status.modified),
         'artifacts': []
     }
     serializer = StatusSerializer(status)
     assert serializer.data == expected
 def test_output_with_artifact(self):
     """The serializer should include URLs for any generated artifacts."""
     status = UserTaskStatus.objects.create(user=self.user,
                                            task_id=str(uuid4()),
                                            name='SampleTask',
                                            total_steps=4)
     artifact = UserTaskArtifact.objects.create(status=status,
                                                text='Lorem Ipsum')
     expected = {
         'name': 'SampleTask',
         'state': 'Pending',
         'state_text': 'Pending',
         'completed_steps': 0,
         'total_steps': 4,
         'attempts': 1,
         'created': _format(status.created),
         'modified': _format(status.modified),
         'artifacts': [f'http://testserver/artifacts/{artifact.uuid}/']
     }
     request = APIRequestFactory().get(
         reverse('usertaskstatus-detail', args=[status.uuid]))
     serializer = StatusSerializer(status, context={'request': request})
     assert serializer.data == expected