Skip to content

Commit 9cee8f0

Browse files
extra tests for create_search and update_search
1 parent edfa650 commit 9cee8f0

File tree

1 file changed

+80
-2
lines changed

1 file changed

+80
-2
lines changed

tests/integration/test_data_api.py

Lines changed: 80 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,8 @@ async def test_search_filter(item_descriptions,
211211

212212
cl = DataClient(session, base_url=TEST_URL)
213213
items_list = [
214-
i async for i in cl.search(['PSScene'], search_filter=search_filter)
214+
i async for i in cl.search(item_types=['PSScene'],
215+
search_filter=search_filter)
215216
]
216217

217218
# check that request is correct
@@ -332,7 +333,7 @@ async def test_create_search_basic(search_filter, session):
332333
respx.post(TEST_SEARCHES_URL).return_value = mock_resp
333334

334335
cl = DataClient(session, base_url=TEST_URL)
335-
search = await cl.create_search(['PSScene'],
336+
search = await cl.create_search(item_types=['PSScene'],
336337
search_filter=search_filter,
337338
name='test')
338339

@@ -350,6 +351,43 @@ async def test_create_search_basic(search_filter, session):
350351
assert search == page_response
351352

352353

354+
@respx.mock
355+
@pytest.mark.anyio
356+
async def test_create_search_basic_positional_args(search_filter, session):
357+
"""Test that positional arguments are accepted for create_search"""
358+
359+
page_response = {
360+
"__daily_email_enabled": False,
361+
"_links": {
362+
"_self": "string", "thumbnail": "string"
363+
},
364+
"created": "2019-08-24T14:15:22Z",
365+
"filter": search_filter,
366+
"id": "string",
367+
"last_executed": "2019-08-24T14:15:22Z",
368+
"name": "test",
369+
"updated": "2019-08-24T14:15:22Z"
370+
}
371+
mock_resp = httpx.Response(HTTPStatus.OK, json=page_response)
372+
respx.post(TEST_SEARCHES_URL).return_value = mock_resp
373+
374+
cl = DataClient(session, base_url=TEST_URL)
375+
search = await cl.create_search(['PSScene'], search_filter, name='test')
376+
377+
# check that request is correct
378+
expected_request = {
379+
"item_types": ["PSScene"],
380+
"filter": search_filter,
381+
"name": "test",
382+
"__daily_email_enabled": False
383+
}
384+
actual_body = json.loads(respx.calls[0].request.content)
385+
assert actual_body == expected_request
386+
387+
# check the response is returned unaltered
388+
assert search == page_response
389+
390+
353391
@respx.mock
354392
@pytest.mark.anyio
355393
async def test_create_search_email(search_filter, session):
@@ -457,6 +495,46 @@ async def test_update_search_basic(search_filter, session):
457495
assert search == page_response
458496

459497

498+
@respx.mock
499+
@pytest.mark.anyio
500+
async def test_update_search_basic_positional_args(search_filter, session):
501+
"""Test that positional arguments are accepted for update_search"""
502+
503+
page_response = {
504+
"__daily_email_enabled": False,
505+
"_links": {
506+
"_self": "string", "thumbnail": "string"
507+
},
508+
"created": "2019-08-24T14:15:22Z",
509+
"filter": search_filter,
510+
"id": VALID_SEARCH_ID,
511+
"last_executed": "2019-08-24T14:15:22Z",
512+
"name": "test",
513+
"updated": "2019-08-24T14:15:22Z"
514+
}
515+
mock_resp = httpx.Response(HTTPStatus.OK, json=page_response)
516+
respx.put(
517+
f'{TEST_SEARCHES_URL}/{VALID_SEARCH_ID}').return_value = mock_resp
518+
519+
cl = DataClient(session, base_url=TEST_URL)
520+
search = await cl.update_search(VALID_SEARCH_ID, ['PSScene'],
521+
search_filter,
522+
name='test')
523+
524+
# check that request is correct
525+
expected_request = {
526+
"item_types": ["PSScene"],
527+
"filter": search_filter,
528+
"name": "test",
529+
"__daily_email_enabled": False
530+
}
531+
actual_body = json.loads(respx.calls[0].request.content)
532+
assert actual_body == expected_request
533+
534+
# check the response is returned unaltered
535+
assert search == page_response
536+
537+
460538
@respx.mock
461539
@pytest.mark.anyio
462540
@pytest.mark.parametrize("limit, expected_list_length", [(None, 4), (3, 3)])

0 commit comments

Comments
 (0)