aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorLorenz Diener <[email protected]>2019-04-28 19:46:20 +0200
committerLorenz Diener <[email protected]>2019-04-28 19:46:20 +0200
commitee4549acd0a6fa75bfea1a3e0498ef2029af5c9f (patch)
tree1784de5f257dd42fa7e40502e3478a43db05661e /tests
parent1cbf923494ef5e3457460534f386fd2bf5b648fc (diff)
downloadmastodon.py-ee4549acd0a6fa75bfea1a3e0498ef2029af5c9f.tar.gz
Fix tests, again
Diffstat (limited to 'tests')
-rw-r--r--tests/cassettes/test_scheduled_status.yaml60
-rw-r--r--tests/test_status.py5
2 files changed, 33 insertions, 32 deletions
diff --git a/tests/cassettes/test_scheduled_status.yaml b/tests/cassettes/test_scheduled_status.yaml
index 9f15214..04fec5a 100644
--- a/tests/cassettes/test_scheduled_status.yaml
+++ b/tests/cassettes/test_scheduled_status.yaml
@@ -1,23 +1,23 @@
1interactions: 1interactions:
2- request: 2- request:
3 body: scheduled_at=2019-04-28T17%3A55%3A56.132387%2B00%3A00&status=please+ensure+adequate+headroom 3 body: scheduled_at=4000-01-01T11%3A33%3A14%2B00%3A00&status=please+ensure+adequate+headroom
4 headers: 4 headers:
5 Accept: ['*/*'] 5 Accept: ['*/*']
6 Accept-Encoding: ['gzip, deflate'] 6 Accept-Encoding: ['gzip, deflate']
7 Authorization: [Bearer __MASTODON_PY_TEST_ACCESS_TOKEN] 7 Authorization: [Bearer __MASTODON_PY_TEST_ACCESS_TOKEN]
8 Connection: [keep-alive] 8 Connection: [keep-alive]
9 Content-Length: ['92'] 9 Content-Length: ['85']
10 Content-Type: [application/x-www-form-urlencoded] 10 Content-Type: [application/x-www-form-urlencoded]
11 User-Agent: [python-requests/2.18.4] 11 User-Agent: [python-requests/2.18.4]
12 method: POST 12 method: POST
13 uri: http://localhost:3000/api/v1/statuses 13 uri: http://localhost:3000/api/v1/statuses
14 response: 14 response:
15 body: {string: '{"id":"15","scheduled_at":"2019-04-28T17:55:56.132Z","params":{"text":"please 15 body: {string: '{"id":"18","scheduled_at":"4000-01-01T11:33:14.000Z","params":{"text":"please
16 ensure adequate headroom","media_ids":null,"sensitive":null,"spoiler_text":null,"visibility":null,"scheduled_at":null,"poll":null,"idempotency":null,"in_reply_to_id":null,"application_id":1234567890123456},"media_attachments":[]}'} 16 ensure adequate headroom","media_ids":null,"sensitive":null,"spoiler_text":null,"visibility":null,"scheduled_at":null,"poll":null,"idempotency":null,"in_reply_to_id":null,"application_id":1234567890123456},"media_attachments":[]}'}
17 headers: 17 headers:
18 Cache-Control: ['max-age=0, private, must-revalidate'] 18 Cache-Control: ['max-age=0, private, must-revalidate']
19 Content-Type: [application/json; charset=utf-8] 19 Content-Type: [application/json; charset=utf-8]
20 ETag: [W/"d9085bd3f4bda89b707e0d17e0c25606"] 20 ETag: [W/"55a21b75b918b4af7fdb4b8d90f7d6e7"]
21 Referrer-Policy: [strict-origin-when-cross-origin] 21 Referrer-Policy: [strict-origin-when-cross-origin]
22 Transfer-Encoding: [chunked] 22 Transfer-Encoding: [chunked]
23 Vary: ['Accept-Encoding, Origin'] 23 Vary: ['Accept-Encoding, Origin']
@@ -25,30 +25,30 @@ interactions:
25 X-Download-Options: [noopen] 25 X-Download-Options: [noopen]
26 X-Frame-Options: [SAMEORIGIN] 26 X-Frame-Options: [SAMEORIGIN]
27 X-Permitted-Cross-Domain-Policies: [none] 27 X-Permitted-Cross-Domain-Policies: [none]
28 X-Request-Id: [e3c02c5e-8bd8-4e7e-a85e-20729f54fe3a] 28 X-Request-Id: [0a550963-ff3c-46a1-b8b5-5e40dd64c746]
29 X-Runtime: ['0.045715'] 29 X-Runtime: ['0.042131']
30 X-XSS-Protection: [1; mode=block] 30 X-XSS-Protection: [1; mode=block]
31 content-length: ['307'] 31 content-length: ['307']
32 status: {code: 200, message: OK} 32 status: {code: 200, message: OK}
33- request: 33- request:
34 body: scheduled_at=2019-04-28T17%3A45%3A56.195854%2B00%3A00 34 body: scheduled_at=4000-01-01T11%3A23%3A14%2B00%3A00
35 headers: 35 headers:
36 Accept: ['*/*'] 36 Accept: ['*/*']
37 Accept-Encoding: ['gzip, deflate'] 37 Accept-Encoding: ['gzip, deflate']
38 Authorization: [Bearer __MASTODON_PY_TEST_ACCESS_TOKEN] 38 Authorization: [Bearer __MASTODON_PY_TEST_ACCESS_TOKEN]
39 Connection: [keep-alive] 39 Connection: [keep-alive]
40 Content-Length: ['53'] 40 Content-Length: ['46']
41 Content-Type: [application/x-www-form-urlencoded] 41 Content-Type: [application/x-www-form-urlencoded]
42 User-Agent: [python-requests/2.18.4] 42 User-Agent: [python-requests/2.18.4]
43 method: PUT 43 method: PUT
44 uri: http://localhost:3000/api/v1/scheduled_statuses/15 44 uri: http://localhost:3000/api/v1/scheduled_statuses/18
45 response: 45 response:
46 body: {string: '{"id":"15","scheduled_at":"2019-04-28T17:45:56.195Z","params":{"poll":null,"text":"please 46 body: {string: '{"id":"18","scheduled_at":"4000-01-01T11:23:14.000Z","params":{"poll":null,"text":"please
47 ensure adequate headroom","media_ids":null,"sensitive":null,"visibility":null,"idempotency":null,"scheduled_at":null,"spoiler_text":null,"application_id":1234567890123456,"in_reply_to_id":null},"media_attachments":[]}'} 47 ensure adequate headroom","media_ids":null,"sensitive":null,"visibility":null,"idempotency":null,"scheduled_at":null,"spoiler_text":null,"application_id":1234567890123456,"in_reply_to_id":null},"media_attachments":[]}'}
48 headers: 48 headers:
49 Cache-Control: ['max-age=0, private, must-revalidate'] 49 Cache-Control: ['max-age=0, private, must-revalidate']
50 Content-Type: [application/json; charset=utf-8] 50 Content-Type: [application/json; charset=utf-8]
51 ETag: [W/"d21355711617bb379ce78df652b0db2f"] 51 ETag: [W/"4211b1c063163578d72e0d9fee015aac"]
52 Referrer-Policy: [strict-origin-when-cross-origin] 52 Referrer-Policy: [strict-origin-when-cross-origin]
53 Transfer-Encoding: [chunked] 53 Transfer-Encoding: [chunked]
54 Vary: ['Accept-Encoding, Origin'] 54 Vary: ['Accept-Encoding, Origin']
@@ -56,8 +56,8 @@ interactions:
56 X-Download-Options: [noopen] 56 X-Download-Options: [noopen]
57 X-Frame-Options: [SAMEORIGIN] 57 X-Frame-Options: [SAMEORIGIN]
58 X-Permitted-Cross-Domain-Policies: [none] 58 X-Permitted-Cross-Domain-Policies: [none]
59 X-Request-Id: [209c6297-c6b8-4c24-909a-9fec28b3b84a] 59 X-Request-Id: [00ce2af1-000d-40fc-9765-9661b4fda8a5]
60 X-Runtime: ['0.023350'] 60 X-Runtime: ['0.023685']
61 X-XSS-Protection: [1; mode=block] 61 X-XSS-Protection: [1; mode=block]
62 content-length: ['307'] 62 content-length: ['307']
63 status: {code: 200, message: OK} 63 status: {code: 200, message: OK}
@@ -72,13 +72,13 @@ interactions:
72 method: GET 72 method: GET
73 uri: http://localhost:3000/api/v1/scheduled_statuses 73 uri: http://localhost:3000/api/v1/scheduled_statuses
74 response: 74 response:
75 body: {string: '[{"id":"15","scheduled_at":"2019-04-28T17:45:56.195Z","params":{"poll":null,"text":"please 75 body: {string: '[{"id":"18","scheduled_at":"4000-01-01T11:23:14.000Z","params":{"poll":null,"text":"please
76 ensure adequate headroom","media_ids":null,"sensitive":null,"visibility":null,"idempotency":null,"scheduled_at":null,"spoiler_text":null,"application_id":1234567890123456,"in_reply_to_id":null},"media_attachments":[]}]'} 76 ensure adequate headroom","media_ids":null,"sensitive":null,"visibility":null,"idempotency":null,"scheduled_at":null,"spoiler_text":null,"application_id":1234567890123456,"in_reply_to_id":null},"media_attachments":[]}]'}
77 headers: 77 headers:
78 Cache-Control: ['max-age=0, private, must-revalidate'] 78 Cache-Control: ['max-age=0, private, must-revalidate']
79 Content-Type: [application/json; charset=utf-8] 79 Content-Type: [application/json; charset=utf-8]
80 ETag: [W/"138781baa8c10ef9dbbc79f4b0de8fde"] 80 ETag: [W/"214cbc9aaa46dbb18c2d5a1437d145d5"]
81 Link: ['<http://localhost:3000/api/v1/scheduled_statuses?min_id=15>; rel="prev"'] 81 Link: ['<http://localhost:3000/api/v1/scheduled_statuses?min_id=18>; rel="prev"']
82 Referrer-Policy: [strict-origin-when-cross-origin] 82 Referrer-Policy: [strict-origin-when-cross-origin]
83 Transfer-Encoding: [chunked] 83 Transfer-Encoding: [chunked]
84 Vary: ['Accept-Encoding, Origin'] 84 Vary: ['Accept-Encoding, Origin']
@@ -86,8 +86,8 @@ interactions:
86 X-Download-Options: [noopen] 86 X-Download-Options: [noopen]
87 X-Frame-Options: [SAMEORIGIN] 87 X-Frame-Options: [SAMEORIGIN]
88 X-Permitted-Cross-Domain-Policies: [none] 88 X-Permitted-Cross-Domain-Policies: [none]
89 X-Request-Id: [0a077bac-40fc-450f-8c55-3a611f587dcf] 89 X-Request-Id: [9790aeb5-05f9-4d77-87bb-05e7add83909]
90 X-Runtime: ['0.018360'] 90 X-Runtime: ['0.017555']
91 X-XSS-Protection: [1; mode=block] 91 X-XSS-Protection: [1; mode=block]
92 content-length: ['309'] 92 content-length: ['309']
93 status: {code: 200, message: OK} 93 status: {code: 200, message: OK}
@@ -100,14 +100,14 @@ interactions:
100 Connection: [keep-alive] 100 Connection: [keep-alive]
101 User-Agent: [python-requests/2.18.4] 101 User-Agent: [python-requests/2.18.4]
102 method: GET 102 method: GET
103 uri: http://localhost:3000/api/v1/scheduled_statuses/15 103 uri: http://localhost:3000/api/v1/scheduled_statuses/18
104 response: 104 response:
105 body: {string: '{"id":"15","scheduled_at":"2019-04-28T17:45:56.195Z","params":{"poll":null,"text":"please 105 body: {string: '{"id":"18","scheduled_at":"4000-01-01T11:23:14.000Z","params":{"poll":null,"text":"please
106 ensure adequate headroom","media_ids":null,"sensitive":null,"visibility":null,"idempotency":null,"scheduled_at":null,"spoiler_text":null,"application_id":1234567890123456,"in_reply_to_id":null},"media_attachments":[]}'} 106 ensure adequate headroom","media_ids":null,"sensitive":null,"visibility":null,"idempotency":null,"scheduled_at":null,"spoiler_text":null,"application_id":1234567890123456,"in_reply_to_id":null},"media_attachments":[]}'}
107 headers: 107 headers:
108 Cache-Control: ['max-age=0, private, must-revalidate'] 108 Cache-Control: ['max-age=0, private, must-revalidate']
109 Content-Type: [application/json; charset=utf-8] 109 Content-Type: [application/json; charset=utf-8]
110 ETag: [W/"d21355711617bb379ce78df652b0db2f"] 110 ETag: [W/"4211b1c063163578d72e0d9fee015aac"]
111 Referrer-Policy: [strict-origin-when-cross-origin] 111 Referrer-Policy: [strict-origin-when-cross-origin]
112 Transfer-Encoding: [chunked] 112 Transfer-Encoding: [chunked]
113 Vary: ['Accept-Encoding, Origin'] 113 Vary: ['Accept-Encoding, Origin']
@@ -115,8 +115,8 @@ interactions:
115 X-Download-Options: [noopen] 115 X-Download-Options: [noopen]
116 X-Frame-Options: [SAMEORIGIN] 116 X-Frame-Options: [SAMEORIGIN]
117 X-Permitted-Cross-Domain-Policies: [none] 117 X-Permitted-Cross-Domain-Policies: [none]
118 X-Request-Id: [b4114f7e-4da9-4e0b-ae67-3a4f74f2ef98] 118 X-Request-Id: [720a388c-96a2-4159-951b-5e24012646be]
119 X-Runtime: ['0.017521'] 119 X-Runtime: ['0.015976']
120 X-XSS-Protection: [1; mode=block] 120 X-XSS-Protection: [1; mode=block]
121 content-length: ['307'] 121 content-length: ['307']
122 status: {code: 200, message: OK} 122 status: {code: 200, message: OK}
@@ -130,13 +130,13 @@ interactions:
130 Content-Length: ['0'] 130 Content-Length: ['0']
131 User-Agent: [python-requests/2.18.4] 131 User-Agent: [python-requests/2.18.4]
132 method: DELETE 132 method: DELETE
133 uri: http://localhost:3000/api/v1/scheduled_statuses/15 133 uri: http://localhost:3000/api/v1/scheduled_statuses/18
134 response: 134 response:
135 body: {string: '{}'} 135 body: {string: '{}'}
136 headers: 136 headers:
137 Cache-Control: ['max-age=0, private, must-revalidate'] 137 Cache-Control: ['max-age=0, private, must-revalidate']
138 Content-Type: [application/json; charset=utf-8] 138 Content-Type: [application/json; charset=utf-8]
139 ETag: [W/"827009f7d29340dc4283f20343805141"] 139 ETag: [W/"a97c68bcd1ca704122f54447e96fcb7a"]
140 Referrer-Policy: [strict-origin-when-cross-origin] 140 Referrer-Policy: [strict-origin-when-cross-origin]
141 Transfer-Encoding: [chunked] 141 Transfer-Encoding: [chunked]
142 Vary: ['Accept-Encoding, Origin'] 142 Vary: ['Accept-Encoding, Origin']
@@ -144,8 +144,8 @@ interactions:
144 X-Download-Options: [noopen] 144 X-Download-Options: [noopen]
145 X-Frame-Options: [SAMEORIGIN] 145 X-Frame-Options: [SAMEORIGIN]
146 X-Permitted-Cross-Domain-Policies: [none] 146 X-Permitted-Cross-Domain-Policies: [none]
147 X-Request-Id: [59ee7082-f753-4527-b2f8-ce856067fee6] 147 X-Request-Id: [b57c0e70-97bf-4777-8272-e0d06799291d]
148 X-Runtime: ['0.026622'] 148 X-Runtime: ['0.025188']
149 X-XSS-Protection: [1; mode=block] 149 X-XSS-Protection: [1; mode=block]
150 content-length: ['2'] 150 content-length: ['2']
151 status: {code: 200, message: OK} 151 status: {code: 200, message: OK}
@@ -164,7 +164,7 @@ interactions:
164 headers: 164 headers:
165 Cache-Control: ['max-age=0, private, must-revalidate'] 165 Cache-Control: ['max-age=0, private, must-revalidate']
166 Content-Type: [application/json; charset=utf-8] 166 Content-Type: [application/json; charset=utf-8]
167 ETag: [W/"432588bf7e5e8b3c9a1fa09d4823b9e1"] 167 ETag: [W/"a3f1c7eff68af7234bcf2a8d4233d0c1"]
168 Referrer-Policy: [strict-origin-when-cross-origin] 168 Referrer-Policy: [strict-origin-when-cross-origin]
169 Transfer-Encoding: [chunked] 169 Transfer-Encoding: [chunked]
170 Vary: ['Accept-Encoding, Origin'] 170 Vary: ['Accept-Encoding, Origin']
@@ -172,8 +172,8 @@ interactions:
172 X-Download-Options: [noopen] 172 X-Download-Options: [noopen]
173 X-Frame-Options: [SAMEORIGIN] 173 X-Frame-Options: [SAMEORIGIN]
174 X-Permitted-Cross-Domain-Policies: [none] 174 X-Permitted-Cross-Domain-Policies: [none]
175 X-Request-Id: [b35d8cb9-37b9-493f-9f27-03607a0f9b6e] 175 X-Request-Id: [e1152c40-5d88-410a-bd73-cb0c7dbc3f92]
176 X-Runtime: ['0.015168'] 176 X-Runtime: ['0.014370']
177 X-XSS-Protection: [1; mode=block] 177 X-XSS-Protection: [1; mode=block]
178 content-length: ['2'] 178 content-length: ['2']
179 status: {code: 200, message: OK} 179 status: {code: 200, message: OK}
diff --git a/tests/test_status.py b/tests/test_status.py
index c34db0d..c6d62ae 100644
--- a/tests/test_status.py
+++ b/tests/test_status.py
@@ -125,11 +125,12 @@ def test_status_pin_unpin(status, api):
125 125
126@pytest.mark.vcr() 126@pytest.mark.vcr()
127def test_scheduled_status(api): 127def test_scheduled_status(api):
128 the_future = datetime.datetime.now() + datetime.timedelta(minutes=20) 128 base_time = datetime.datetime(4000, 1, 1, 12, 13, 14)
129 the_future = base_time + datetime.timedelta(minutes=20)
129 scheduled_toot = api.status_post("please ensure adequate headroom", scheduled_at=the_future) 130 scheduled_toot = api.status_post("please ensure adequate headroom", scheduled_at=the_future)
130 assert scheduled_toot 131 assert scheduled_toot
131 132
132 the_immediate_future = datetime.datetime.now() + datetime.timedelta(minutes=10) 133 the_immediate_future = base_time + datetime.timedelta(minutes=10)
133 scheduled_toot_2 = api.scheduled_status_update(scheduled_toot, the_immediate_future) 134 scheduled_toot_2 = api.scheduled_status_update(scheduled_toot, the_immediate_future)
134 assert scheduled_toot_2 135 assert scheduled_toot_2
135 assert scheduled_toot_2.id == scheduled_toot.id 136 assert scheduled_toot_2.id == scheduled_toot.id
Powered by cgit v1.2.3 (git 2.41.0)