From 70f248c24ffeaa164f74d98ad5654de073fba7b7 Mon Sep 17 00:00:00 2001 From: David Moreau Simard Date: Tue, 16 Oct 2018 10:16:17 -0400 Subject: [PATCH] Add play filtering by playbook id Change-Id: Ic863b9bd9323dc13b31b8a700be9fe429a69774d --- ara/api/tests/tests_play.py | 7 +++++++ ara/api/views.py | 2 ++ 2 files changed, 9 insertions(+) diff --git a/ara/api/tests/tests_play.py b/ara/api/tests/tests_play.py index d9eb28e..e7833f2 100644 --- a/ara/api/tests/tests_play.py +++ b/ara/api/tests/tests_play.py @@ -89,6 +89,13 @@ class PlayTestCase(APITestCase): request = self.client.get("/api/v1/plays/%s" % play.id) self.assertEqual(play.name, request.data["name"]) + def test_get_play_by_playbook(self): + play = factories.PlayFactory(name="play1") + factories.PlayFactory(name="play2") + request = self.client.get("/api/v1/plays?playbook=1") + self.assertEqual(1, len(request.data["results"])) + self.assertEqual(play.name, request.data["results"][0]["name"]) + def test_get_play_duration(self): started = timezone.now() ended = started + datetime.timedelta(hours=1) diff --git a/ara/api/views.py b/ara/api/views.py index e6c4fef..0ea0fff 100644 --- a/ara/api/views.py +++ b/ara/api/views.py @@ -48,6 +48,8 @@ class PlaybookFilesDetail(NestedViewSetMixin, viewsets.ModelViewSet): class PlayViewSet(viewsets.ModelViewSet): queryset = models.Play.objects.all() serializer_class = serializers.PlaySerializer + filter_backends = (DjangoFilterBackend,) + filter_fields = ("playbook",) class TaskViewSet(viewsets.ModelViewSet):