Skip to content

Commit 4fd2c30

Browse files
author
SilviaSWR
committed
tests(webhdfs): address unawaited coroutine warnings
1 parent f62400b commit 4fd2c30

1 file changed

Lines changed: 51 additions & 33 deletions

File tree

tests/test_provider_webhdfs.py

Lines changed: 51 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -112,14 +112,17 @@ async def test_do_get_file(mock_provider, fake_request):
112112
}
113113

114114
mock_provider._get_dav_property_d0 = AsyncMock(
115-
return_value=(
116-
200,
117-
await mock_provider._create_dav_property_obj(
118-
fake_request, DAVPath("/testfile.txt"), fake_status
119-
),
120-
)
115+
return_value=(200, await mock_provider._create_dav_property_obj(
116+
fake_request, DAVPath("/testfile.txt"), fake_status
117+
))
118+
)
119+
120+
async def fake_generator():
121+
yield b"data"
122+
123+
mock_provider._dav_response_data_generator = MagicMock(
124+
return_value=fake_generator()
121125
)
122-
mock_provider._dav_response_data_generator = AsyncMock(return_value=AsyncMock())
123126

124127
fake_request.ranges = [DAVRequestRange(DAVRangeType.RANGE, 0, 100, 200)]
125128
status, basic_data, generator, _ = await mock_provider._do_get(fake_request)
@@ -138,14 +141,17 @@ async def test_do_get_file_non_range(mock_provider, fake_request):
138141
}
139142

140143
mock_provider._get_dav_property_d0 = AsyncMock(
141-
return_value=(
142-
200,
143-
await mock_provider._create_dav_property_obj(
144-
fake_request, DAVPath("/testfile.txt"), fake_status
145-
),
146-
)
144+
return_value=(200, await mock_provider._create_dav_property_obj(
145+
fake_request, DAVPath("/testfile.txt"), fake_status
146+
))
147+
)
148+
149+
async def fake_generator():
150+
yield b"data"
151+
152+
mock_provider._dav_response_data_generator = MagicMock(
153+
return_value=fake_generator()
147154
)
148-
mock_provider._dav_response_data_generator = AsyncMock(return_value=AsyncMock())
149155

150156
fake_request.ranges = None
151157
status, basic_data, generator, _ = await mock_provider._do_get(fake_request)
@@ -361,24 +367,28 @@ async def __aexit__(self, exc_type, exc_val, exc_tb):
361367

362368
@pytest.mark.asyncio
363369
async def test_do_put(mock_provider, fake_request):
364-
mock_response = MagicMock()
365-
mock_response.status_code = 200
366-
mock_response.json = MagicMock(return_value={"FileStatus": {}})
367-
mock_response.raise_for_status = MagicMock()
370+
mock_provider._precheck_source = AsyncMock(return_value=(True, False, False))
368371

369-
mock_provider.client.get.return_value = mock_response
372+
first_put = AsyncMock()
373+
first_put.status_code = 307
374+
first_put.headers = {"location": "http://fake-hdfs:9870/webhdfs/v1/file_put_location"}
375+
first_put.raise_for_status = MagicMock()
370376

371-
response = await mock_provider._do_put(fake_request)
377+
second_put = AsyncMock()
378+
second_put.status_code = 201
379+
second_put.raise_for_status = MagicMock()
372380

373-
assert response == 204
381+
mock_provider.client.put = AsyncMock(side_effect=[first_put, second_put])
374382

383+
response = await mock_provider._do_put(fake_request)
384+
assert response == 201
375385

376386
@pytest.mark.asyncio
377387
async def test_do_copy(mock_provider, fake_request):
378388
mock_response = MagicMock()
379389
mock_response.status_code = 200
380390
mock_response.json = MagicMock(return_value={"FileStatus": {}})
381-
mock_response.raise_for_status = AsyncMock()
391+
mock_response.raise_for_status = MagicMock()
382392

383393
mock_provider.client.get.return_value = mock_response
384394

@@ -391,7 +401,7 @@ async def test_do_mkcol(mock_provider, fake_request):
391401
mock_response = MagicMock()
392402
mock_response.status_code = 200
393403
mock_response.json = MagicMock(return_value={"FileStatus": {}})
394-
mock_response.raise_for_status = AsyncMock()
404+
mock_response.raise_for_status = MagicMock()
395405

396406
mock_provider.client.get.return_value = mock_response
397407

@@ -405,7 +415,7 @@ async def test_do_propfind(mock_provider, fake_request):
405415
mock_response = MagicMock()
406416
mock_response.status_code = 200
407417
mock_response.json = MagicMock(return_value={"FileStatus": {}})
408-
mock_response.raise_for_status = AsyncMock()
418+
mock_response.raise_for_status = MagicMock()
409419

410420
mock_provider.client.get.return_value = mock_response
411421

@@ -477,7 +487,7 @@ async def test_do_head(mock_provider, fake_request):
477487
mock_response = MagicMock()
478488
mock_response.status_code = 200
479489
mock_response.json = MagicMock(return_value={"FileStatus": {}})
480-
mock_response.raise_for_status = AsyncMock()
490+
mock_response.raise_for_status = MagicMock()
481491

482492
mock_provider.client.get.return_value = mock_response
483493

@@ -491,7 +501,7 @@ async def test_do_precheck_destination(mock_provider, fake_request):
491501
mock_response = MagicMock()
492502
mock_response.status_code = 200
493503
mock_response.json = MagicMock(return_value={"FileStatus": {}})
494-
mock_response.raise_for_status = AsyncMock()
504+
mock_response.raise_for_status = MagicMock()
495505

496506
mock_provider.client.get.return_value = mock_response
497507

@@ -502,16 +512,24 @@ async def test_do_precheck_destination(mock_provider, fake_request):
502512

503513
@pytest.mark.asyncio
504514
async def test_do_move(mock_provider, fake_request):
505-
mock_response = MagicMock()
506-
mock_response.status_code = 200
507-
mock_response.json = MagicMock(return_value={"FileStatus": {}})
508-
mock_response.raise_for_status = MagicMock()
515+
fake_request.overwrite = True
509516

510-
mock_provider.client.get.return_value = mock_response
517+
mock_provider._precheck_destination = AsyncMock(return_value=(True, False, True))
518+
519+
mock_delete_response = MagicMock()
520+
mock_delete_response.status_code = 204
521+
mock_delete_response.raise_for_status = MagicMock()
511522

512-
response = await mock_provider._do_move(fake_request)
523+
mock_provider.client.delete = AsyncMock(return_value=mock_delete_response)
513524

514-
assert response == 204
525+
mock_put_response = MagicMock()
526+
mock_put_response.status_code = 201
527+
mock_put_response.raise_for_status = MagicMock()
528+
529+
mock_provider.client.put = AsyncMock(return_value=mock_put_response)
530+
531+
result = await mock_provider._do_move(fake_request)
532+
assert result == 204
515533

516534

517535
@pytest.mark.asyncio

0 commit comments

Comments
 (0)