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):