Add result filtering by playbook id

Change-Id: Ia155c2d20df9133b9cf9bf1671b70d698aa06c7f
This commit is contained in:
David Moreau Simard 2018-10-16 10:59:15 -04:00
parent 3d2ed79cd9
commit 075e790eba
No known key found for this signature in database
GPG Key ID: CBEB466764A9E621
2 changed files with 13 additions and 0 deletions

View File

@ -101,3 +101,14 @@ class ResultTestCase(APITestCase):
result = factories.ResultFactory()
request = self.client.get("/api/v1/results/%s" % result.id)
self.assertEqual(result.status, request.data["status"])
def test_get_result_by_playbook(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?playbook=%s" % playbook.id)
self.assertEqual(2, len(request.data["results"]))
self.assertEqual(result.status, request.data["results"][0]["status"])
self.assertEqual("skipped", request.data["results"][1]["status"])

View File

@ -69,6 +69,8 @@ class HostViewSet(viewsets.ModelViewSet):
class ResultViewSet(viewsets.ModelViewSet):
queryset = models.Result.objects.all()
serializer_class = serializers.ResultSerializer
filter_backends = (DjangoFilterBackend,)
filter_fields = ("playbook",)
class FileViewSet(viewsets.ModelViewSet):