Merge "Add result filtering by playbook id"

This commit is contained in:
Zuul 2018-10-16 22:46:04 +00:00 committed by Gerrit Code Review
commit 8f8ea1a9f7
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):