Add result filtering by status

Change-Id: I8c4e8e4bbb6f0957b8c42a0328e00b12129d717a
This commit is contained in:
David Moreau Simard 2018-10-16 11:26:47 -04:00
parent 075e790eba
commit 63878f733e
No known key found for this signature in database
GPG Key ID: CBEB466764A9E621
2 changed files with 11 additions and 1 deletions

View File

@ -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"])

View File

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