Skip to content

Commit a1fe776

Browse files
authored
Refactor file upload tests to remove hardcoded start_cursor and improve maintainability (#294)
* - Added several `file_upload_id` entries in `tests\conftest.py` to simplify file upload tests in `tests\test_endpoints.py` - Resolved hardcoded value issue in `test_file_uploads_list_with_start_cursor` * - Added several `file_upload_id` entries in `tests\conftest.py` * - Added new test YAML files under `tests\cassettes` * - Further simplified `uploaded_file_id` configuration * - Renamed and standardized the `part_uploaded_file_upload_id` function name for consistency * - ruff * - ruff * - Added `setup_file_uploads_for_start_cursor` function with `scope="module"` and `autouse=True` to ensure it runs once before the first test in the module, facilitating `test_file_uploads_list` * - Updated the decorator for `pending_multi_file_upload_id(client):` - Removed `scope="module"` and `autouse=True` - Changed to `scope="function"`
1 parent f7091c5 commit a1fe776

13 files changed

+431
-183
lines changed

tests/cassettes/test_file_uploads_complete.yaml

Lines changed: 25 additions & 59 deletions
Large diffs are not rendered by default.

tests/cassettes/test_file_uploads_create.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ interactions:
2222
uri: https://api.notion.com/v1/file_uploads
2323
response:
2424
body:
25-
string: '{"object":"file_upload","id":"28399f72-bada-810b-97ac-00b20c865368","created_time":"2025-10-05T10:55:00.000Z","created_by":{"id":"5b8183bd-8984-4417-b2a6-7dc8e439e679","type":"bot"},"last_edited_time":"2025-10-05T10:55:00.000Z","expiry_time":"2025-10-05T11:55:00.000Z","upload_url":"https://api.notion.com/v1/file_uploads/28399f72-bada-810b-97ac-00b20c865368/send","archived":false,"status":"pending","filename":"test_file.txt","content_type":"text/plain","content_length":null,"request_id":"8cc5f342-bcf1-45e2-a16e-713101606e3f"}'
25+
string: '{"object":"file_upload","id":"29a99f72-bada-81bb-8c36-00b230f59df7","created_time":"2025-10-28T10:43:00.000Z","created_by":{"id":"5b8183bd-8984-4417-b2a6-7dc8e439e679","type":"bot"},"last_edited_time":"2025-10-28T10:43:00.000Z","expiry_time":"2025-10-28T11:43:00.000Z","upload_url":"https://api.notion.com/v1/file_uploads/29a99f72-bada-81bb-8c36-00b230f59df7/send","archived":false,"status":"pending","filename":"test_file.txt","content_type":"text/plain","content_length":null,"request_id":"df9fbd92-fae9-4cac-81f9-ca5a60c549e9"}'
2626
headers:
2727
Content-Type:
2828
- application/json; charset=utf-8

tests/cassettes/test_file_uploads_create_external.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ interactions:
2222
uri: https://api.notion.com/v1/file_uploads
2323
response:
2424
body:
25-
string: '{"object":"file_upload","id":"28399f72-bada-8128-81d9-00b274d4d59a","created_time":"2025-10-05T10:55:00.000Z","created_by":{"id":"5b8183bd-8984-4417-b2a6-7dc8e439e679","type":"bot"},"last_edited_time":"2025-10-05T10:55:00.000Z","expiry_time":"2025-10-05T11:55:00.000Z","upload_url":"https://api.notion.com/v1/file_uploads/28399f72-bada-8128-81d9-00b274d4d59a/send","archived":false,"status":"pending","filename":"test_file.pdf","content_type":"application/pdf","content_length":null,"request_id":"ad3f2fb2-302d-4468-a80d-6e02616bb04c"}'
25+
string: '{"object":"file_upload","id":"29a99f72-bada-81ad-bd79-00b24375f304","created_time":"2025-10-28T10:43:00.000Z","created_by":{"id":"5b8183bd-8984-4417-b2a6-7dc8e439e679","type":"bot"},"last_edited_time":"2025-10-28T10:43:00.000Z","expiry_time":"2025-10-28T11:43:00.000Z","upload_url":"https://api.notion.com/v1/file_uploads/29a99f72-bada-81ad-bd79-00b24375f304/send","archived":false,"status":"pending","filename":"test_file.pdf","content_type":"application/pdf","content_length":null,"request_id":"52d46278-ca95-48fa-bfb9-531a4678731f"}'
2626
headers:
2727
Content-Type:
2828
- application/json; charset=utf-8

tests/cassettes/test_file_uploads_create_multipart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ interactions:
2222
uri: https://api.notion.com/v1/file_uploads
2323
response:
2424
body:
25-
string: '{"object":"file_upload","id":"28399f72-bada-817a-94b2-00b20d820231","created_time":"2025-10-05T10:55:00.000Z","created_by":{"id":"5b8183bd-8984-4417-b2a6-7dc8e439e679","type":"bot"},"last_edited_time":"2025-10-05T10:55:00.000Z","expiry_time":"2025-10-05T11:55:00.000Z","upload_url":"https://api.notion.com/v1/file_uploads/28399f72-bada-817a-94b2-00b20d820231/send","archived":false,"status":"pending","filename":"large_file.pdf","content_type":"application/pdf","content_length":null,"number_of_parts":{"total":3,"sent":0},"request_id":"1efdf66b-bf89-47ed-b9ea-55bb68b10835"}'
25+
string: '{"object":"file_upload","id":"29a99f72-bada-819c-b0ed-00b228b34c37","created_time":"2025-10-28T10:43:00.000Z","created_by":{"id":"5b8183bd-8984-4417-b2a6-7dc8e439e679","type":"bot"},"last_edited_time":"2025-10-28T10:43:00.000Z","expiry_time":"2025-10-28T11:43:00.000Z","upload_url":"https://api.notion.com/v1/file_uploads/29a99f72-bada-819c-b0ed-00b228b34c37/send","archived":false,"status":"pending","filename":"large_file.pdf","content_type":"application/pdf","content_length":null,"number_of_parts":{"total":3,"sent":0},"request_id":"2e7de576-9b2d-4376-aef0-fd8167447725"}'
2626
headers:
2727
Content-Type:
2828
- application/json; charset=utf-8

tests/cassettes/test_file_uploads_list.yaml

Lines changed: 2 additions & 2 deletions
Large diffs are not rendered by default.

tests/cassettes/test_file_uploads_list_with_pagination.yaml

Lines changed: 66 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,68 @@
11
interactions:
2+
- request:
3+
body: '{"mode":"single_part","filename":"cursor_test_0.txt","content_type":"text/plain"}'
4+
headers:
5+
accept:
6+
- '*/*'
7+
accept-encoding:
8+
- gzip, deflate
9+
authorization:
10+
- ntn_...
11+
connection:
12+
- keep-alive
13+
content-length:
14+
- '81'
15+
content-type:
16+
- application/json
17+
host:
18+
- api.notion.com
19+
notion-version:
20+
- '2025-09-03'
21+
method: POST
22+
uri: https://api.notion.com/v1/file_uploads
23+
response:
24+
body:
25+
string: '{"object":"file_upload","id":"29c99f72-bada-8120-9729-00b2bfd68811","created_time":"2025-10-30T12:38:00.000Z","created_by":{"id":"13b9509e-d081-40e9-ba54-a469aacab8c8","type":"bot"},"last_edited_time":"2025-10-30T12:38:00.000Z","expiry_time":"2025-10-30T13:38:00.000Z","upload_url":"https://api.notion.com/v1/file_uploads/29c99f72-bada-8120-9729-00b2bfd68811/send","archived":false,"status":"pending","filename":"cursor_test_0.txt","content_type":"text/plain","content_length":null,"request_id":"579d24de-a4c0-4831-9866-c9b94298857d"}'
26+
headers:
27+
Content-Type:
28+
- application/json; charset=utf-8
29+
content-length:
30+
- '534'
31+
status:
32+
code: 200
33+
message: OK
34+
- request:
35+
body: '{"mode":"single_part","filename":"cursor_test_1.txt","content_type":"text/plain"}'
36+
headers:
37+
accept:
38+
- '*/*'
39+
accept-encoding:
40+
- gzip, deflate
41+
authorization:
42+
- ntn_...
43+
connection:
44+
- keep-alive
45+
content-length:
46+
- '81'
47+
content-type:
48+
- application/json
49+
host:
50+
- api.notion.com
51+
notion-version:
52+
- '2025-09-03'
53+
method: POST
54+
uri: https://api.notion.com/v1/file_uploads
55+
response:
56+
body:
57+
string: '{"object":"file_upload","id":"29c99f72-bada-8111-959f-00b2e2eb917d","created_time":"2025-10-30T12:38:00.000Z","created_by":{"id":"13b9509e-d081-40e9-ba54-a469aacab8c8","type":"bot"},"last_edited_time":"2025-10-30T12:38:00.000Z","expiry_time":"2025-10-30T13:38:00.000Z","upload_url":"https://api.notion.com/v1/file_uploads/29c99f72-bada-8111-959f-00b2e2eb917d/send","archived":false,"status":"pending","filename":"cursor_test_1.txt","content_type":"text/plain","content_length":null,"request_id":"20a47eb8-3406-420e-9ddb-6e9b10c36a8e"}'
58+
headers:
59+
Content-Type:
60+
- application/json; charset=utf-8
61+
content-length:
62+
- '534'
63+
status:
64+
code: 200
65+
message: OK
266
- request:
367
body: ''
468
headers:
@@ -18,12 +82,12 @@ interactions:
1882
uri: https://api.notion.com/v1/file_uploads?page_size=5
1983
response:
2084
body:
21-
string: '{"object":"list","results":[{"object":"file_upload","id":"28399f72-bada-8173-bcc5-00b242881503","created_time":"2025-10-05T10:55:00.000Z","created_by":{"id":"5b8183bd-8984-4417-b2a6-7dc8e439e679","type":"bot"},"last_edited_time":"2025-10-05T10:55:00.000Z","expiry_time":"2025-10-05T11:55:00.000Z","upload_url":"https://api.notion.com/v1/file_uploads/28399f72-bada-8173-bcc5-00b242881503/send","archived":false,"status":"pending","filename":"retrieve_test.txt","content_type":"text/plain","content_length":null},{"object":"file_upload","id":"28399f72-bada-8128-81d9-00b274d4d59a","created_time":"2025-10-05T10:55:00.000Z","created_by":{"id":"5b8183bd-8984-4417-b2a6-7dc8e439e679","type":"bot"},"last_edited_time":"2025-10-05T10:55:00.000Z","expiry_time":"2025-10-05T11:55:00.000Z","archived":false,"status":"uploaded","filename":"test_file.pdf","content_type":"application/pdf","content_length":13264,"file_import_result":{"type":"success","success":{},"imported_time":"2025-10-05T10:55:29.000+00:00"}},{"object":"file_upload","id":"28399f72-bada-817a-94b2-00b20d820231","created_time":"2025-10-05T10:55:00.000Z","created_by":{"id":"5b8183bd-8984-4417-b2a6-7dc8e439e679","type":"bot"},"last_edited_time":"2025-10-05T10:55:00.000Z","expiry_time":"2025-10-05T11:55:00.000Z","upload_url":"https://api.notion.com/v1/file_uploads/28399f72-bada-817a-94b2-00b20d820231/send","archived":false,"status":"pending","filename":"large_file.pdf","content_type":"application/pdf","content_length":null,"number_of_parts":{"total":3,"sent":0}},{"object":"file_upload","id":"28399f72-bada-810b-97ac-00b20c865368","created_time":"2025-10-05T10:55:00.000Z","created_by":{"id":"5b8183bd-8984-4417-b2a6-7dc8e439e679","type":"bot"},"last_edited_time":"2025-10-05T10:55:00.000Z","expiry_time":"2025-10-05T11:55:00.000Z","upload_url":"https://api.notion.com/v1/file_uploads/28399f72-bada-810b-97ac-00b20c865368/send","archived":false,"status":"pending","filename":"test_file.txt","content_type":"text/plain","content_length":null},{"object":"file_upload","id":"28399f72-bada-8148-b990-00b29e88cfee","created_time":"2025-10-05T10:36:00.000Z","created_by":{"id":"5b8183bd-8984-4417-b2a6-7dc8e439e679","type":"bot"},"last_edited_time":"2025-10-05T10:36:00.000Z","expiry_time":"2025-10-05T11:36:00.000Z","archived":false,"status":"uploaded","filename":"large_test.pdf","content_type":"application/pdf","content_length":41943040,"number_of_parts":{"total":4,"sent":4}}],"next_cursor":"28399f72-bada-8131-97ec-00b26410a571","has_more":true,"type":"file_upload","file_upload":{},"request_id":"90d91ae3-33f4-4d57-a058-b111b3deb594"}'
85+
string: '{"object":"list","results":[{"object":"file_upload","id":"29c99f72-bada-8111-959f-00b2e2eb917d","created_time":"2025-10-30T12:38:00.000Z","created_by":{"id":"13b9509e-d081-40e9-ba54-a469aacab8c8","type":"bot"},"last_edited_time":"2025-10-30T12:38:00.000Z","expiry_time":"2025-10-30T13:38:00.000Z","upload_url":"https://api.notion.com/v1/file_uploads/29c99f72-bada-8111-959f-00b2e2eb917d/send","archived":false,"status":"pending","filename":"cursor_test_1.txt","content_type":"text/plain","content_length":null},{"object":"file_upload","id":"29c99f72-bada-8120-9729-00b2bfd68811","created_time":"2025-10-30T12:38:00.000Z","created_by":{"id":"13b9509e-d081-40e9-ba54-a469aacab8c8","type":"bot"},"last_edited_time":"2025-10-30T12:38:00.000Z","expiry_time":"2025-10-30T13:38:00.000Z","upload_url":"https://api.notion.com/v1/file_uploads/29c99f72-bada-8120-9729-00b2bfd68811/send","archived":false,"status":"pending","filename":"cursor_test_0.txt","content_type":"text/plain","content_length":null},{"object":"file_upload","id":"29c99f72-bada-813a-a2ab-00b2a164ba9e","created_time":"2025-10-30T12:38:00.000Z","created_by":{"id":"13b9509e-d081-40e9-ba54-a469aacab8c8","type":"bot"},"last_edited_time":"2025-10-30T12:38:00.000Z","expiry_time":"2025-10-30T13:38:00.000Z","upload_url":"https://api.notion.com/v1/file_uploads/29c99f72-bada-813a-a2ab-00b2a164ba9e/send","archived":false,"status":"pending","filename":"cursor_test_1.txt","content_type":"text/plain","content_length":null},{"object":"file_upload","id":"29c99f72-bada-813b-adc3-00b2837681f9","created_time":"2025-10-30T12:38:00.000Z","created_by":{"id":"13b9509e-d081-40e9-ba54-a469aacab8c8","type":"bot"},"last_edited_time":"2025-10-30T12:38:00.000Z","expiry_time":"2025-10-30T13:38:00.000Z","upload_url":"https://api.notion.com/v1/file_uploads/29c99f72-bada-813b-adc3-00b2837681f9/send","archived":false,"status":"pending","filename":"cursor_test_0.txt","content_type":"text/plain","content_length":null},{"object":"file_upload","id":"29c99f72-bada-8106-bdae-00b2d1438d51","created_time":"2025-10-30T12:38:00.000Z","created_by":{"id":"13b9509e-d081-40e9-ba54-a469aacab8c8","type":"bot"},"last_edited_time":"2025-10-30T12:38:00.000Z","expiry_time":"2025-10-30T13:38:00.000Z","upload_url":"https://api.notion.com/v1/file_uploads/29c99f72-bada-8106-bdae-00b2d1438d51/send","archived":false,"status":"pending","filename":"cursor_test_1.txt","content_type":"text/plain","content_length":null}],"next_cursor":"29c99f72-bada-81d2-bcae-00b2f97e7efe","has_more":true,"type":"file_upload","file_upload":{},"request_id":"f0fcf13b-554b-4fb8-9b52-692b99c96bf2"}'
2286
headers:
2387
Content-Type:
2488
- application/json; charset=utf-8
2589
content-length:
26-
- '2598'
90+
- '2603'
2791
status:
2892
code: 200
2993
message: OK

0 commit comments

Comments
 (0)