From 63878f733e5f51e5942e6871b391b8327c152b15 Mon Sep 17 00:00:00 2001 From: David Moreau Simard Date: Tue, 16 Oct 2018 11:26:47 -0400 Subject: [PATCH] Add result filtering by status Change-Id: I8c4e8e4bbb6f0957b8c42a0328e00b12129d717a --- ara/api/tests/tests_result.py | 10 ++++++++++ ara/api/views.py | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/ara/api/tests/tests_result.py b/ara/api/tests/tests_result.py index 25e46ce..268854d 100644 --- a/ara/api/tests/tests_result.py +++ b/ara/api/tests/tests_result.py @@ -112,3 +112,13 @@ class ResultTestCase(APITestCase): self.assertEqual(2, len(request.data["results"])) self.assertEqual(result.status, request.data["results"][0]["status"]) self.assertEqual("skipped", request.data["results"][1]["status"]) + + def test_get_result_by_status(self): + playbook = factories.PlaybookFactory() + host_one = factories.HostFactory(name="one") + host_two = factories.HostFactory(name="two") + result = factories.ResultFactory(playbook=playbook, host=host_one, status="failed") + factories.ResultFactory(playbook=playbook, host=host_two, status="skipped") + request = self.client.get("/api/v1/results?status=failed") + self.assertEqual(1, len(request.data["results"])) + self.assertEqual(result.status, request.data["results"][0]["status"]) diff --git a/ara/api/views.py b/ara/api/views.py index ec06b9e..2229fa0 100644 --- a/ara/api/views.py +++ b/ara/api/views.py @@ -70,7 +70,7 @@ class ResultViewSet(viewsets.ModelViewSet): queryset = models.Result.objects.all() serializer_class = serializers.ResultSerializer filter_backends = (DjangoFilterBackend,) - filter_fields = ("playbook",) + filter_fields = ("playbook", "status") class FileViewSet(viewsets.ModelViewSet):