|
1 |
| -import time |
2 |
| - |
3 | 1 | import pandas as pd
|
4 | 2 | import pytest
|
5 | 3 |
|
6 | 4 | import awswrangler as wr
|
7 | 5 |
|
| 6 | +from ._utils import ExecutionTimer |
| 7 | + |
8 | 8 |
|
9 | 9 | @pytest.mark.repeat(1)
|
10 | 10 | @pytest.mark.parametrize("benchmark_time", [150])
|
11 | 11 | def test_s3_select(benchmark_time):
|
12 |
| - start = time.time() |
13 | 12 |
|
14 | 13 | path = "s3://ursa-labs-taxi-data/2018/1*.parquet"
|
15 |
| - wr.s3.select_query( |
16 |
| - sql="SELECT * FROM s3object", |
17 |
| - path=path, |
18 |
| - input_serialization="Parquet", |
19 |
| - input_serialization_params={}, |
20 |
| - scan_range_chunk_size=16 * 1024 * 1024, |
21 |
| - ) |
22 |
| - end = time.time() |
| 14 | + with ExecutionTimer("elapsed time of wr.s3.select_query()") as timer: |
| 15 | + wr.s3.select_query( |
| 16 | + sql="SELECT * FROM s3object", |
| 17 | + path=path, |
| 18 | + input_serialization="Parquet", |
| 19 | + input_serialization_params={}, |
| 20 | + scan_range_chunk_size=16 * 1024 * 1024, |
| 21 | + ) |
23 | 22 |
|
24 |
| - elapsed_time = end - start |
25 |
| - assert elapsed_time < benchmark_time |
| 23 | + assert timer.elapsed_time < benchmark_time |
26 | 24 |
|
27 | 25 |
|
28 |
| -def test_s3_delete_objects(path, path2): |
| 26 | +@pytest.mark.parametrize("benchmark_time", [15]) |
| 27 | +def test_s3_delete_objects(path, path2, benchmark_time): |
29 | 28 | df = pd.DataFrame({"id": [1, 2, 3]})
|
30 | 29 | objects_per_bucket = 505
|
31 | 30 | paths1 = [f"{path}delete-test{i}.json" for i in range(objects_per_bucket)]
|
32 | 31 | paths2 = [f"{path2}delete-test{i}.json" for i in range(objects_per_bucket)]
|
33 | 32 | paths = paths1 + paths2
|
34 | 33 | for path in paths:
|
35 | 34 | wr.s3.to_json(df, path)
|
36 |
| - start = time.time() |
37 |
| - wr.s3.delete_objects(path=paths) |
38 |
| - end = time.time() |
39 |
| - print(f"elapsed time: {end - start}") |
| 35 | + with ExecutionTimer("elapsed time of wr.s3.delete_objects()") as timer: |
| 36 | + wr.s3.delete_objects(path=paths) |
| 37 | + assert timer.elapsed_time < benchmark_time |
40 | 38 | assert len(wr.s3.list_objects(f"{path}delete-test*")) == 0
|
41 | 39 | assert len(wr.s3.list_objects(f"{path2}delete-test*")) == 0
|
0 commit comments