Add playbook filtering by status

This allows to search playbook by status (running, failed, completed,
etc.)

Change-Id: I05bba5611bb1f18e48791d570575b6f57c5862d9
This commit is contained in:
David Moreau Simard 2018-12-06 18:03:43 -05:00
parent 90ac1acc51
commit c5890ea0cc
No known key found for this signature in database
GPG Key ID: CBEB466764A9E621
2 changed files with 8 additions and 1 deletions

View File

@ -121,6 +121,13 @@ class PlaybookTestCase(APITestCase):
self.assertEqual(1, len(request.data["results"]))
self.assertEqual(playbook.name, request.data["results"][0]["name"])
def test_get_playbook_by_status(self):
playbook = factories.PlaybookFactory(status="failed")
factories.PlaybookFactory(status="completed")
request = self.client.get("/api/v1/playbooks?status=failed")
self.assertEqual(1, len(request.data["results"]))
self.assertEqual(playbook.status, request.data["results"][0]["status"])
def test_get_playbook_duration(self):
started = timezone.now()
ended = started + datetime.timedelta(hours=1)

View File

@ -29,7 +29,7 @@ class LabelViewSet(viewsets.ModelViewSet):
class PlaybookViewSet(viewsets.ModelViewSet):
queryset = models.Playbook.objects.all()
serializer_class = serializers.PlaybookSerializer
filter_fields = ("name",)
filter_fields = ("name", "status")
class PlaybookFilesDetail(NestedViewSetMixin, viewsets.ModelViewSet):