|
15 | 15 | from .conftest import ActorFactory
|
16 | 16 |
|
17 | 17 |
|
18 |
| -class TestActorPushData: |
19 |
| - async def test_push_data(self: TestActorPushData, make_actor: ActorFactory) -> None: |
20 |
| - desired_item_count = 100 # Also change inside main() if you're changing this |
| 18 | +async def test_push_and_verify_data_in_default_dataset(make_actor: ActorFactory) -> None: |
| 19 | + desired_item_count = 100 # Also change inside main() if you're changing this |
21 | 20 |
|
22 |
| - async def main() -> None: |
23 |
| - desired_item_count = 100 |
24 |
| - async with Actor: |
25 |
| - await Actor.push_data([{'id': i} for i in range(desired_item_count)]) |
| 21 | + async def main() -> None: |
| 22 | + desired_item_count = 100 |
| 23 | + async with Actor: |
| 24 | + await Actor.push_data([{'id': i} for i in range(desired_item_count)]) |
| 25 | + |
| 26 | + actor = await make_actor('push-data', main_func=main) |
| 27 | + |
| 28 | + run_result = await actor.call() |
| 29 | + |
| 30 | + assert run_result is not None |
| 31 | + assert run_result['status'] == 'SUCCEEDED' |
| 32 | + list_page = await actor.last_run().dataset().list_items() |
| 33 | + assert list_page.items[0]['id'] == 0 |
| 34 | + assert list_page.items[-1]['id'] == desired_item_count - 1 |
| 35 | + assert len(list_page.items) == list_page.count == desired_item_count |
26 | 36 |
|
27 |
| - actor = await make_actor('push-data', main_func=main) |
28 | 37 |
|
29 |
| - run_result = await actor.call() |
| 38 | +async def test_push_large_data_chunks_over_9mb(make_actor: ActorFactory) -> None: |
| 39 | + async def main() -> None: |
| 40 | + async with Actor: |
| 41 | + await Actor.push_data([{'str': 'x' * 10000} for _ in range(5000)]) # ~50MB |
30 | 42 |
|
31 |
| - assert run_result is not None |
32 |
| - assert run_result['status'] == 'SUCCEEDED' |
33 |
| - list_page = await actor.last_run().dataset().list_items() |
34 |
| - assert list_page.items[0]['id'] == 0 |
35 |
| - assert list_page.items[-1]['id'] == desired_item_count - 1 |
36 |
| - assert len(list_page.items) == list_page.count == desired_item_count |
| 43 | + actor = await make_actor('push-data-over-9mb', main_func=main) |
37 | 44 |
|
38 |
| - async def test_push_data_over_9mb(self: TestActorPushData, make_actor: ActorFactory) -> None: |
39 |
| - async def main() -> None: |
40 |
| - async with Actor: |
41 |
| - await Actor.push_data([{'str': 'x' * 10000} for _ in range(5000)]) # ~50MB |
| 45 | + run_result = await actor.call() |
42 | 46 |
|
43 |
| - actor = await make_actor('push-data-over-9mb', main_func=main) |
| 47 | + assert run_result is not None |
| 48 | + assert run_result['status'] == 'SUCCEEDED' |
| 49 | + async for item in actor.last_run().dataset().iterate_items(): |
| 50 | + assert item['str'] == 'x' * 10000 |
44 | 51 |
|
45 |
| - run_result = await actor.call() |
46 | 52 |
|
47 |
| - assert run_result is not None |
48 |
| - assert run_result['status'] == 'SUCCEEDED' |
49 |
| - async for item in actor.last_run().dataset().iterate_items(): |
50 |
| - assert item['str'] == 'x' * 10000 |
| 53 | +async def test_same_references_in_default_dataset(make_actor: ActorFactory) -> None: |
| 54 | + async def main() -> None: |
| 55 | + async with Actor: |
| 56 | + dataset1 = await Actor.open_dataset() |
| 57 | + dataset2 = await Actor.open_dataset() |
| 58 | + assert dataset1 is dataset2 |
51 | 59 |
|
| 60 | + actor = await make_actor('dataset-same-ref-default', main_func=main) |
52 | 61 |
|
53 |
| -class TestActorOpenDataset: |
54 |
| - async def test_same_references_default(self: TestActorOpenDataset, make_actor: ActorFactory) -> None: |
55 |
| - async def main() -> None: |
56 |
| - async with Actor: |
57 |
| - dataset1 = await Actor.open_dataset() |
58 |
| - dataset2 = await Actor.open_dataset() |
59 |
| - assert dataset1 is dataset2 |
| 62 | + run_result = await actor.call() |
| 63 | + assert run_result is not None |
| 64 | + assert run_result['status'] == 'SUCCEEDED' |
60 | 65 |
|
61 |
| - actor = await make_actor('dataset-same-ref-default', main_func=main) |
62 | 66 |
|
63 |
| - run_result = await actor.call() |
64 |
| - assert run_result is not None |
65 |
| - assert run_result['status'] == 'SUCCEEDED' |
| 67 | +async def test_same_references_in_named_dataset(make_actor: ActorFactory) -> None: |
| 68 | + dataset_name = generate_unique_resource_name('dataset') |
66 | 69 |
|
67 |
| - async def test_same_references_named(self: TestActorOpenDataset, make_actor: ActorFactory) -> None: |
68 |
| - dataset_name = generate_unique_resource_name('dataset') |
| 70 | + async def main() -> None: |
| 71 | + async with Actor: |
| 72 | + input_object = await Actor.get_input() |
| 73 | + dataset_name = input_object['datasetName'] |
| 74 | + dataset_by_name_1 = await Actor.open_dataset(name=dataset_name) |
| 75 | + dataset_by_name_2 = await Actor.open_dataset(name=dataset_name) |
| 76 | + assert dataset_by_name_1 is dataset_by_name_2 |
69 | 77 |
|
70 |
| - async def main() -> None: |
71 |
| - async with Actor: |
72 |
| - input_object = await Actor.get_input() |
73 |
| - dataset_name = input_object['datasetName'] |
74 |
| - dataset_by_name_1 = await Actor.open_dataset(name=dataset_name) |
75 |
| - dataset_by_name_2 = await Actor.open_dataset(name=dataset_name) |
76 |
| - assert dataset_by_name_1 is dataset_by_name_2 |
| 78 | + dataset_by_id_1 = await Actor.open_dataset(id=dataset_by_name_1._id) |
| 79 | + dataset_by_id_2 = await Actor.open_dataset(id=dataset_by_name_1._id) |
| 80 | + assert dataset_by_id_1 is dataset_by_name_1 |
| 81 | + assert dataset_by_id_2 is dataset_by_id_1 |
77 | 82 |
|
78 |
| - dataset_by_id_1 = await Actor.open_dataset(id=dataset_by_name_1._id) |
79 |
| - dataset_by_id_2 = await Actor.open_dataset(id=dataset_by_name_1._id) |
80 |
| - assert dataset_by_id_1 is dataset_by_name_1 |
81 |
| - assert dataset_by_id_2 is dataset_by_id_1 |
| 83 | + await dataset_by_name_1.drop() |
82 | 84 |
|
83 |
| - await dataset_by_name_1.drop() |
| 85 | + actor = await make_actor('dataset-same-ref-named', main_func=main) |
84 | 86 |
|
85 |
| - actor = await make_actor('dataset-same-ref-named', main_func=main) |
| 87 | + run_result = await actor.call(run_input={'datasetName': dataset_name}) |
| 88 | + assert run_result is not None |
| 89 | + assert run_result['status'] == 'SUCCEEDED' |
86 | 90 |
|
87 |
| - run_result = await actor.call(run_input={'datasetName': dataset_name}) |
88 |
| - assert run_result is not None |
89 |
| - assert run_result['status'] == 'SUCCEEDED' |
90 | 91 |
|
91 |
| - async def test_force_cloud( |
92 |
| - self: TestActorOpenDataset, |
93 |
| - apify_client_async: ApifyClientAsync, |
94 |
| - monkeypatch: pytest.MonkeyPatch, |
95 |
| - ) -> None: |
96 |
| - assert apify_client_async.token is not None |
97 |
| - monkeypatch.setenv(ApifyEnvVars.TOKEN, apify_client_async.token) |
| 92 | +async def test_force_cloud(apify_client_async: ApifyClientAsync, monkeypatch: pytest.MonkeyPatch) -> None: |
| 93 | + assert apify_client_async.token is not None |
| 94 | + monkeypatch.setenv(ApifyEnvVars.TOKEN, apify_client_async.token) |
98 | 95 |
|
99 |
| - dataset_name = generate_unique_resource_name('dataset') |
100 |
| - dataset_item = {'foo': 'bar'} |
| 96 | + dataset_name = generate_unique_resource_name('dataset') |
| 97 | + dataset_item = {'foo': 'bar'} |
101 | 98 |
|
102 |
| - async with Actor: |
103 |
| - dataset = await Actor.open_dataset(name=dataset_name, force_cloud=True) |
104 |
| - dataset_id = dataset._id |
| 99 | + async with Actor: |
| 100 | + dataset = await Actor.open_dataset(name=dataset_name, force_cloud=True) |
| 101 | + dataset_id = dataset._id |
105 | 102 |
|
106 |
| - await dataset.push_data(dataset_item) |
| 103 | + await dataset.push_data(dataset_item) |
107 | 104 |
|
108 |
| - dataset_client = apify_client_async.dataset(dataset_id) |
| 105 | + dataset_client = apify_client_async.dataset(dataset_id) |
109 | 106 |
|
110 |
| - try: |
111 |
| - dataset_details = await dataset_client.get() |
112 |
| - assert dataset_details is not None |
113 |
| - assert dataset_details.get('name') == dataset_name |
| 107 | + try: |
| 108 | + dataset_details = await dataset_client.get() |
| 109 | + assert dataset_details is not None |
| 110 | + assert dataset_details.get('name') == dataset_name |
114 | 111 |
|
115 |
| - dataset_items = await dataset_client.list_items() |
116 |
| - assert dataset_items.items == [dataset_item] |
117 |
| - finally: |
118 |
| - await dataset_client.delete() |
| 112 | + dataset_items = await dataset_client.list_items() |
| 113 | + assert dataset_items.items == [dataset_item] |
| 114 | + finally: |
| 115 | + await dataset_client.delete() |
0 commit comments