Skip to content

Commit

Permalink
Fix tests
Browse files Browse the repository at this point in the history
  • Loading branch information
halcy authored and halcy committed Nov 17, 2022
1 parent ec0194c commit 725f794
Show file tree
Hide file tree
Showing 7 changed files with 114 additions and 96 deletions.
20 changes: 9 additions & 11 deletions mastodon/Mastodon.py
Original file line number Diff line number Diff line change
Expand Up @@ -3447,13 +3447,12 @@ def __consistent_isoformat_utc(datetime_val):
every time instead of randomly doing different things on some systems
and also it represents that time as the equivalent UTC time.
"""
isotime = datetime_val.astimezone(
pytz.utc).strftime("%Y-%m-%dT%H:%M:%S%z")
isotime = datetime_val.astimezone(pytz.utc).strftime("%Y-%m-%dT%H:%M:%S%z")
if isotime[-2] != ":":
isotime = isotime[:-2] + ":" + isotime[-2:]
return isotime

def __api_request(self, method, endpoint, params={}, files={}, headers={}, access_token_override=None, base_url_override=None, do_ratelimiting=True, use_json=False, parse=True):
def __api_request(self, method, endpoint, params={}, files={}, headers={}, access_token_override=None, base_url_override=None, do_ratelimiting=True, use_json=False, parse=True, return_response_object=False):
"""
Internal API request helper.
"""
Expand All @@ -3471,8 +3470,7 @@ def __api_request(self, method, endpoint, params={}, files={}, headers={}, acces
time.sleep(to_next)
else:
time_waited = time.time() - self.ratelimit_lastcall
time_wait = float(self.ratelimit_reset -
time.time()) / float(self.ratelimit_remaining)
time_wait = float(self.ratelimit_reset - time.time()) / float(self.ratelimit_remaining)
remaining_wait = time_wait - time_waited

if remaining_wait > 0:
Expand Down Expand Up @@ -3510,8 +3508,7 @@ def __api_request(self, method, endpoint, params={}, files={}, headers={}, acces

response_object = None
try:
kwargs = dict(headers=headers, files=files,
timeout=self.request_timeout)
kwargs = dict(headers=headers, files=files, timeout=self.request_timeout)
if use_json == False:
if method == 'GET':
kwargs['params'] = params
Expand Down Expand Up @@ -3565,10 +3562,8 @@ def __api_request(self, method, endpoint, params={}, files={}, headers={}, acces

# Adjust server time to local clock
if 'Date' in response_object.headers:
server_time_datetime = dateutil.parser.parse(
response_object.headers['Date'])
server_time = self.__datetime_to_epoch(
server_time_datetime)
server_time_datetime = dateutil.parser.parse(response_object.headers['Date'])
server_time = self.__datetime_to_epoch(server_time_datetime)
server_time_diff = time.time() - server_time
self.ratelimit_reset += server_time_diff
self.ratelimit_lastcall = time.time()
Expand Down Expand Up @@ -3637,6 +3632,9 @@ def __api_request(self, method, endpoint, params={}, files={}, headers={}, acces
response_object.status_code,
response_object.reason,
error_msg)

if return_response_object:
return response_object

if parse == True:
try:
Expand Down
56 changes: 28 additions & 28 deletions tests/cassettes/test_min_max_id_datetimes.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,17 +20,17 @@ interactions:
uri: http://localhost:3000/api/v1/statuses
response:
body:
string: '{"id":"109360644459818976","created_at":"2022-11-17T18:50:05.553Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"ja","uri":"http://localhost:3000/users/mastodonpy_test/statuses/109360644459818976","url":"http://localhost:3000/@mastodonpy_test/109360644459818976","replies_count":0,"reblogs_count":0,"favourites_count":0,"edited_at":null,"favourited":false,"reblogged":false,"muted":false,"bookmarked":false,"pinned":false,"content":"\u003cp\u003eToot!\u003c/p\u003e","filtered":[],"reblog":null,"application":{"name":"Mastodon.py
string: '{"id":"109360920389596939","created_at":"2022-11-17T20:00:15.907Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"ja","uri":"http://localhost:3000/users/mastodonpy_test/statuses/109360920389596939","url":"http://localhost:3000/@mastodonpy_test/109360920389596939","replies_count":0,"reblogs_count":0,"favourites_count":0,"edited_at":null,"favourited":false,"reblogged":false,"muted":false,"bookmarked":false,"pinned":false,"content":"\u003cp\u003eToot!\u003c/p\u003e","filtered":[],"reblog":null,"application":{"name":"Mastodon.py
test suite","website":null},"account":{"id":"109337440686176140","username":"mastodonpy_test","acct":"mastodonpy_test","display_name":"John
Lennon","locked":true,"bot":false,"discoverable":null,"group":false,"created_at":"2022-11-13T00:00:00.000Z","note":"\u003cp\u003eI
walk funny\u003c/p\u003e","url":"http://localhost:3000/@mastodonpy_test","avatar":"http://localhost:3000/system/accounts/avatars/109/337/440/686/176/140/original/d6cd9a5a5e65da30.jpg","avatar_static":"http://localhost:3000/system/accounts/avatars/109/337/440/686/176/140/original/d6cd9a5a5e65da30.jpg","header":"http://localhost:3000/system/accounts/headers/109/337/440/686/176/140/original/2b7760a42692fbde.jpg","header_static":"http://localhost:3000/system/accounts/headers/109/337/440/686/176/140/original/2b7760a42692fbde.jpg","followers_count":0,"following_count":0,"statuses_count":5,"last_status_at":"2022-11-17","noindex":false,"emojis":[],"fields":[{"name":"bread","value":"toasty.","verified_at":null},{"name":"lasagna","value":"no!!!","verified_at":null}]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"card":null,"poll":null}'
walk funny\u003c/p\u003e","url":"http://localhost:3000/@mastodonpy_test","avatar":"http://localhost:3000/system/accounts/avatars/109/337/440/686/176/140/original/d6cd9a5a5e65da30.jpg","avatar_static":"http://localhost:3000/system/accounts/avatars/109/337/440/686/176/140/original/d6cd9a5a5e65da30.jpg","header":"http://localhost:3000/system/accounts/headers/109/337/440/686/176/140/original/2b7760a42692fbde.jpg","header_static":"http://localhost:3000/system/accounts/headers/109/337/440/686/176/140/original/2b7760a42692fbde.jpg","followers_count":0,"following_count":0,"statuses_count":7,"last_status_at":"2022-11-17","noindex":false,"emojis":[],"fields":[{"name":"bread","value":"toasty.","verified_at":null},{"name":"lasagna","value":"no!!!","verified_at":null}]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"card":null,"poll":null}'
headers:
Cache-Control:
- no-store
Content-Security-Policy:
- 'base-uri ''none''; default-src ''none''; frame-ancestors ''none''; font-src
''self'' http://localhost:3000; img-src ''self'' https: data: blob: http://localhost:3000;
style-src ''self'' http://localhost:3000 ''nonce-GNnrTSvg1wDIabQ3kjtGyQ=='';
style-src ''self'' http://localhost:3000 ''nonce-eu9ApZVeWmOtnW3cjhpGVg=='';
media-src ''self'' https: data: http://localhost:3000; frame-src ''self''
https:; manifest-src ''self'' http://localhost:3000; connect-src ''self''
data: blob: http://localhost:3000 http://localhost:3000 ws://localhost:4000
Expand All @@ -40,7 +40,7 @@ interactions:
Content-Type:
- application/json; charset=utf-8
ETag:
- W/"58511b0f15d0c3ac192c75655d58aca2"
- W/"1b1f51ff5c8829fe893b287e7435a814"
Referrer-Policy:
- strict-origin-when-cross-origin
Transfer-Encoding:
Expand All @@ -58,13 +58,13 @@ interactions:
X-RateLimit-Limit:
- '300'
X-RateLimit-Remaining:
- '294'
- '291'
X-RateLimit-Reset:
- '2022-11-17T21:00:00.626208Z'
- '2022-11-17T21:00:00.931702Z'
X-Request-Id:
- 07b95dd9-1b8c-403d-84d7-9086e3d1f875
- 1d7fbb0b-3d84-4da4-8fd1-1a8eb47e6bdd
X-Runtime:
- '0.103956'
- '0.037621'
X-XSS-Protection:
- 1; mode=block
status:
Expand All @@ -84,20 +84,20 @@ interactions:
User-Agent:
- tests/v311
method: GET
uri: http://localhost:3000/api/v1/timelines/home?max_id=109360645734400000&min_id=109360643112960000
uri: http://localhost:3000/api/v1/timelines/home?max_id=109360921640960000&min_id=109360919019520000
response:
body:
string: '[{"id":"109360644459818976","created_at":"2022-11-17T18:50:05.553Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"ja","uri":"http://localhost:3000/users/mastodonpy_test/statuses/109360644459818976","url":"http://localhost:3000/@mastodonpy_test/109360644459818976","replies_count":0,"reblogs_count":0,"favourites_count":0,"edited_at":null,"favourited":false,"reblogged":false,"muted":false,"bookmarked":false,"pinned":false,"content":"\u003cp\u003eToot!\u003c/p\u003e","filtered":[],"reblog":null,"application":{"name":"Mastodon.py
string: '[{"id":"109360920389596939","created_at":"2022-11-17T20:00:15.907Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"ja","uri":"http://localhost:3000/users/mastodonpy_test/statuses/109360920389596939","url":"http://localhost:3000/@mastodonpy_test/109360920389596939","replies_count":0,"reblogs_count":0,"favourites_count":0,"edited_at":null,"favourited":false,"reblogged":false,"muted":false,"bookmarked":false,"pinned":false,"content":"\u003cp\u003eToot!\u003c/p\u003e","filtered":[],"reblog":null,"application":{"name":"Mastodon.py
test suite","website":null},"account":{"id":"109337440686176140","username":"mastodonpy_test","acct":"mastodonpy_test","display_name":"John
Lennon","locked":true,"bot":false,"discoverable":null,"group":false,"created_at":"2022-11-13T00:00:00.000Z","note":"\u003cp\u003eI
walk funny\u003c/p\u003e","url":"http://localhost:3000/@mastodonpy_test","avatar":"http://localhost:3000/system/accounts/avatars/109/337/440/686/176/140/original/d6cd9a5a5e65da30.jpg","avatar_static":"http://localhost:3000/system/accounts/avatars/109/337/440/686/176/140/original/d6cd9a5a5e65da30.jpg","header":"http://localhost:3000/system/accounts/headers/109/337/440/686/176/140/original/2b7760a42692fbde.jpg","header_static":"http://localhost:3000/system/accounts/headers/109/337/440/686/176/140/original/2b7760a42692fbde.jpg","followers_count":0,"following_count":0,"statuses_count":5,"last_status_at":"2022-11-17","noindex":false,"emojis":[],"fields":[{"name":"bread","value":"toasty.","verified_at":null},{"name":"lasagna","value":"no!!!","verified_at":null}]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"card":null,"poll":null}]'
walk funny\u003c/p\u003e","url":"http://localhost:3000/@mastodonpy_test","avatar":"http://localhost:3000/system/accounts/avatars/109/337/440/686/176/140/original/d6cd9a5a5e65da30.jpg","avatar_static":"http://localhost:3000/system/accounts/avatars/109/337/440/686/176/140/original/d6cd9a5a5e65da30.jpg","header":"http://localhost:3000/system/accounts/headers/109/337/440/686/176/140/original/2b7760a42692fbde.jpg","header_static":"http://localhost:3000/system/accounts/headers/109/337/440/686/176/140/original/2b7760a42692fbde.jpg","followers_count":0,"following_count":0,"statuses_count":7,"last_status_at":"2022-11-17","noindex":false,"emojis":[],"fields":[{"name":"bread","value":"toasty.","verified_at":null},{"name":"lasagna","value":"no!!!","verified_at":null}]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"card":null,"poll":null}]'
headers:
Cache-Control:
- no-store
Content-Security-Policy:
- 'base-uri ''none''; default-src ''none''; frame-ancestors ''none''; font-src
''self'' http://localhost:3000; img-src ''self'' https: data: blob: http://localhost:3000;
style-src ''self'' http://localhost:3000 ''nonce-S6/DmjeVOHI/8no8CZqoEA=='';
style-src ''self'' http://localhost:3000 ''nonce-BVkzXWWXoczXLIl9nwSoWw=='';
media-src ''self'' https: data: http://localhost:3000; frame-src ''self''
https:; manifest-src ''self'' http://localhost:3000; connect-src ''self''
data: blob: http://localhost:3000 http://localhost:3000 ws://localhost:4000
Expand All @@ -107,10 +107,10 @@ interactions:
Content-Type:
- application/json; charset=utf-8
ETag:
- W/"86a06105a5e70f233a95eea2721f69ee"
- W/"a0a4a89f2613e8efe1b7ff788d6a56f5"
Link:
- <http://localhost:3000/api/v1/timelines/home?max_id=109360644459818976>; rel="next",
<http://localhost:3000/api/v1/timelines/home?min_id=109360644459818976>; rel="prev"
- <http://localhost:3000/api/v1/timelines/home?max_id=109360920389596939>; rel="next",
<http://localhost:3000/api/v1/timelines/home?min_id=109360920389596939>; rel="prev"
Referrer-Policy:
- strict-origin-when-cross-origin
Transfer-Encoding:
Expand All @@ -126,9 +126,9 @@ interactions:
X-Permitted-Cross-Domain-Policies:
- none
X-Request-Id:
- 738b28f0-169a-49b8-89bf-97dfc60608c8
- f9e7cc0b-47e5-4b02-9da2-fc41574a8d2a
X-Runtime:
- '0.029525'
- '0.021379'
X-XSS-Protection:
- 1; mode=block
status:
Expand All @@ -148,7 +148,7 @@ interactions:
User-Agent:
- tests/v311
method: GET
uri: http://localhost:3000/api/v1/timelines/home?max_id=109360647045120000&min_id=109360645734400000
uri: http://localhost:3000/api/v1/timelines/home?max_id=109360922951680000&min_id=109360921640960000
response:
body:
string: '[]'
Expand All @@ -158,7 +158,7 @@ interactions:
Content-Security-Policy:
- 'base-uri ''none''; default-src ''none''; frame-ancestors ''none''; font-src
''self'' http://localhost:3000; img-src ''self'' https: data: blob: http://localhost:3000;
style-src ''self'' http://localhost:3000 ''nonce-V/vKOm6+nPmC5SpFFwp80w=='';
style-src ''self'' http://localhost:3000 ''nonce-pzcUQhXaLhmCAXOMbYOrTg=='';
media-src ''self'' https: data: http://localhost:3000; frame-src ''self''
https:; manifest-src ''self'' http://localhost:3000; connect-src ''self''
data: blob: http://localhost:3000 http://localhost:3000 ws://localhost:4000
Expand All @@ -184,9 +184,9 @@ interactions:
X-Permitted-Cross-Domain-Policies:
- none
X-Request-Id:
- e7c84272-bb28-42ca-a59e-cce7539844ad
- 01914c1c-b360-461d-a68e-e7b0bc156447
X-Runtime:
- '0.009517'
- '0.008764'
X-XSS-Protection:
- 1; mode=block
status:
Expand All @@ -208,20 +208,20 @@ interactions:
User-Agent:
- tests/v311
method: DELETE
uri: http://localhost:3000/api/v1/statuses/109360644459818976
uri: http://localhost:3000/api/v1/statuses/109360920389596939
response:
body:
string: '{"id":"109360644459818976","created_at":"2022-11-17T18:50:05.553Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"ja","uri":"http://localhost:3000/users/mastodonpy_test/statuses/109360644459818976","url":"http://localhost:3000/@mastodonpy_test/109360644459818976","replies_count":0,"reblogs_count":0,"favourites_count":0,"edited_at":null,"favourited":false,"reblogged":false,"muted":false,"bookmarked":false,"pinned":false,"text":"Toot!","filtered":[],"reblog":null,"application":{"name":"Mastodon.py
string: '{"id":"109360920389596939","created_at":"2022-11-17T20:00:15.907Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"ja","uri":"http://localhost:3000/users/mastodonpy_test/statuses/109360920389596939","url":"http://localhost:3000/@mastodonpy_test/109360920389596939","replies_count":0,"reblogs_count":0,"favourites_count":0,"edited_at":null,"favourited":false,"reblogged":false,"muted":false,"bookmarked":false,"pinned":false,"text":"Toot!","filtered":[],"reblog":null,"application":{"name":"Mastodon.py
test suite","website":null},"account":{"id":"109337440686176140","username":"mastodonpy_test","acct":"mastodonpy_test","display_name":"John
Lennon","locked":true,"bot":false,"discoverable":null,"group":false,"created_at":"2022-11-13T00:00:00.000Z","note":"\u003cp\u003eI
walk funny\u003c/p\u003e","url":"http://localhost:3000/@mastodonpy_test","avatar":"http://localhost:3000/system/accounts/avatars/109/337/440/686/176/140/original/d6cd9a5a5e65da30.jpg","avatar_static":"http://localhost:3000/system/accounts/avatars/109/337/440/686/176/140/original/d6cd9a5a5e65da30.jpg","header":"http://localhost:3000/system/accounts/headers/109/337/440/686/176/140/original/2b7760a42692fbde.jpg","header_static":"http://localhost:3000/system/accounts/headers/109/337/440/686/176/140/original/2b7760a42692fbde.jpg","followers_count":0,"following_count":0,"statuses_count":4,"last_status_at":"2022-11-17","noindex":false,"emojis":[],"fields":[{"name":"bread","value":"toasty.","verified_at":null},{"name":"lasagna","value":"no!!!","verified_at":null}]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"card":null,"poll":null}'
walk funny\u003c/p\u003e","url":"http://localhost:3000/@mastodonpy_test","avatar":"http://localhost:3000/system/accounts/avatars/109/337/440/686/176/140/original/d6cd9a5a5e65da30.jpg","avatar_static":"http://localhost:3000/system/accounts/avatars/109/337/440/686/176/140/original/d6cd9a5a5e65da30.jpg","header":"http://localhost:3000/system/accounts/headers/109/337/440/686/176/140/original/2b7760a42692fbde.jpg","header_static":"http://localhost:3000/system/accounts/headers/109/337/440/686/176/140/original/2b7760a42692fbde.jpg","followers_count":0,"following_count":0,"statuses_count":6,"last_status_at":"2022-11-17","noindex":false,"emojis":[],"fields":[{"name":"bread","value":"toasty.","verified_at":null},{"name":"lasagna","value":"no!!!","verified_at":null}]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"card":null,"poll":null}'
headers:
Cache-Control:
- no-store
Content-Security-Policy:
- 'base-uri ''none''; default-src ''none''; frame-ancestors ''none''; font-src
''self'' http://localhost:3000; img-src ''self'' https: data: blob: http://localhost:3000;
style-src ''self'' http://localhost:3000 ''nonce-+b0YxTzjfZxXGiiUjfZehw=='';
style-src ''self'' http://localhost:3000 ''nonce-JQ6J37EfMdjQbrYXpw7SOw=='';
media-src ''self'' https: data: http://localhost:3000; frame-src ''self''
https:; manifest-src ''self'' http://localhost:3000; connect-src ''self''
data: blob: http://localhost:3000 http://localhost:3000 ws://localhost:4000
Expand All @@ -231,7 +231,7 @@ interactions:
Content-Type:
- application/json; charset=utf-8
ETag:
- W/"02008e45c6ebce96f6e4e9ec2354008b"
- W/"1ae721011c6bf203187d567b52a82145"
Referrer-Policy:
- strict-origin-when-cross-origin
Transfer-Encoding:
Expand All @@ -247,9 +247,9 @@ interactions:
X-Permitted-Cross-Domain-Policies:
- none
X-Request-Id:
- 0eed8861-4f33-4cbc-85c4-cc45f270a344
- f82b9cd7-463b-4142-9034-ba19dfb323d0
X-Runtime:
- '0.036224'
- '0.023947'
X-XSS-Protection:
- 1; mode=block
status:
Expand Down
Binary file not shown.

0 comments on commit 725f794

Please sign in to comment.