From 299883fd353cdab63897b4e497daa2350dd73432 Mon Sep 17 00:00:00 2001 From: David Moreau Simard Date: Tue, 16 Oct 2018 11:33:21 -0400 Subject: [PATCH] Add stats filtering by host Change-Id: Ib716398e45a9cd4ce9aef1308339c347aab95449 --- ara/api/tests/tests_stats.py | 11 +++++++++++ ara/api/views.py | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/ara/api/tests/tests_stats.py b/ara/api/tests/tests_stats.py index f51d03b..2a61b9f 100644 --- a/ara/api/tests/tests_stats.py +++ b/ara/api/tests/tests_stats.py @@ -71,6 +71,17 @@ class StatsTestCase(APITestCase): self.assertEqual(stats.ok, request.data["results"][0]["ok"]) self.assertEqual(host_two.id, request.data["results"][1]["id"]) + def test_get_stats_by_host(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?host=%s" % host_one.id) + self.assertEqual(1, len(request.data["results"])) + self.assertEqual(stats.ok, request.data["results"][0]["ok"]) + self.assertEqual(host_one.id, request.data["results"][0]["id"]) + def test_get_stats_id(self): stats = factories.StatsFactory() request = self.client.get("/api/v1/stats/%s" % stats.id) diff --git a/ara/api/views.py b/ara/api/views.py index 2229fa0..b528d83 100644 --- a/ara/api/views.py +++ b/ara/api/views.py @@ -87,4 +87,4 @@ class StatsViewSet(viewsets.ModelViewSet): queryset = models.Stats.objects.all() serializer_class = serializers.StatsSerializer filter_backends = (DjangoFilterBackend,) - filter_fields = ("playbook",) + filter_fields = ("playbook", "host")