API: Add support for searching plays by name
This allows users to query the API like so: /api/v1/plays?name=deploy The search above would return plays with "deploy" in the name of the play. Change-Id: I88cabd33c0a7d42f36eccc7a556c71749f3ff616
This commit is contained in:
parent
36aacd09cf
commit
821b0fe880
@ -83,6 +83,7 @@ class PlayFilter(DateFilter):
|
|||||||
status = django_filters.MultipleChoiceFilter(
|
status = django_filters.MultipleChoiceFilter(
|
||||||
field_name="status", choices=ara_models.Play.STATUS, lookup_expr="iexact"
|
field_name="status", choices=ara_models.Play.STATUS, lookup_expr="iexact"
|
||||||
)
|
)
|
||||||
|
name = django_filters.CharFilter(field_name="name", lookup_expr="icontains")
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
order = django_filters.OrderingFilter(
|
order = django_filters.OrderingFilter(
|
||||||
|
@ -98,6 +98,17 @@ class PlayTestCase(APITestCase):
|
|||||||
self.assertEqual(1, len(request.data["results"]))
|
self.assertEqual(1, len(request.data["results"]))
|
||||||
self.assertEqual(play.name, request.data["results"][0]["name"])
|
self.assertEqual(play.name, request.data["results"][0]["name"])
|
||||||
|
|
||||||
|
def test_get_plays_by_name(self):
|
||||||
|
# Create a playbook and two plays
|
||||||
|
playbook = factories.PlaybookFactory()
|
||||||
|
play = factories.PlayFactory(name="first_play", playbook=playbook)
|
||||||
|
factories.TaskFactory(name="second_play", playbook=playbook)
|
||||||
|
|
||||||
|
# Query for the first play name and expect one result
|
||||||
|
request = self.client.get("/api/v1/plays?name=%s" % play.name)
|
||||||
|
self.assertEqual(1, len(request.data["results"]))
|
||||||
|
self.assertEqual(play.name, request.data["results"][0]["name"])
|
||||||
|
|
||||||
def test_get_play_by_uuid(self):
|
def test_get_play_by_uuid(self):
|
||||||
play = factories.PlayFactory(name="play1", uuid="6b838b6f-cfc7-4e11-a264-73df8683ee0e")
|
play = factories.PlayFactory(name="play1", uuid="6b838b6f-cfc7-4e11-a264-73df8683ee0e")
|
||||||
factories.PlayFactory(name="play2")
|
factories.PlayFactory(name="play2")
|
||||||
|
Loading…
Reference in New Issue
Block a user