Add stats filtering by playbook id

Change-Id: I37a83ee40f1756ba5b35b93de1fc4a738f68790d
This commit is contained in:
David Moreau Simard 2018-10-16 10:54:48 -04:00
parent 2e863887eb
commit 3d2ed79cd9
No known key found for this signature in database
GPG Key ID: CBEB466764A9E621
2 changed files with 14 additions and 0 deletions

View File

@ -59,6 +59,18 @@ class StatsTestCase(APITestCase):
self.assertEqual(1, len(request.data["results"]))
self.assertEqual(stats.ok, request.data["results"][0]["ok"])
def test_get_stats_by_playbook(self):
playbook = factories.PlaybookFactory()
host_one = factories.HostFactory(name="one")
host_two = factories.HostFactory(name="two")
stats = factories.StatsFactory(host=host_one, playbook=playbook, ok=9001)
factories.StatsFactory(host=host_two, playbook=playbook)
request = self.client.get("/api/v1/stats?playbook=%s" % playbook.id)
self.assertEqual(2, len(request.data["results"]))
self.assertEqual(host_one.id, request.data["results"][0]["id"])
self.assertEqual(stats.ok, request.data["results"][0]["ok"])
self.assertEqual(host_two.id, request.data["results"][1]["id"])
def test_get_stats_id(self):
stats = factories.StatsFactory()
request = self.client.get("/api/v1/stats/%s" % stats.id)

View File

@ -84,3 +84,5 @@ class RecordViewSet(viewsets.ModelViewSet):
class StatsViewSet(viewsets.ModelViewSet):
queryset = models.Stats.objects.all()
serializer_class = serializers.StatsSerializer
filter_backends = (DjangoFilterBackend,)
filter_fields = ("playbook",)