diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/cassettes/test_stream_user.yaml | 527 | ||||
-rw-r--r-- | tests/cassettes/test_stream_user_direct.yaml | 720 | ||||
-rw-r--r-- | tests/test_streaming.py | 28 |
3 files changed, 742 insertions, 533 deletions
diff --git a/tests/cassettes/test_stream_user.yaml b/tests/cassettes/test_stream_user.yaml deleted file mode 100644 index fd4562d..0000000 --- a/tests/cassettes/test_stream_user.yaml +++ /dev/null | |||
@@ -1,527 +0,0 @@ | |||
1 | interactions: | ||
2 | - request: | ||
3 | body: null | ||
4 | headers: | ||
5 | Accept: | ||
6 | - '*/*' | ||
7 | Accept-Encoding: | ||
8 | - gzip, deflate | ||
9 | Authorization: | ||
10 | - Bearer __MASTODON_PY_TEST_ACCESS_TOKEN_2 | ||
11 | Connection: | ||
12 | - keep-alive | ||
13 | User-Agent: | ||
14 | - tests/v311 | ||
15 | method: GET | ||
16 | uri: http://localhost:3000/api/v1/accounts/verify_credentials | ||
17 | response: | ||
18 | body: | ||
19 | string: '{"id":"109367691027217373","username":"admin","acct":"admin","display_name":"","locked":false,"bot":false,"discoverable":null,"group":false,"created_at":"2022-11-19T00:00:00.000Z","note":"","url":"http://localhost:3000/@admin","avatar":"http://localhost:3000/avatars/original/missing.png","avatar_static":"http://localhost:3000/avatars/original/missing.png","header":"http://localhost:3000/headers/original/missing.png","header_static":"http://localhost:3000/headers/original/missing.png","followers_count":0,"following_count":0,"statuses_count":1,"last_status_at":"2022-11-19","noindex":false,"source":{"privacy":"public","sensitive":false,"language":null,"note":"","fields":[],"follow_requests_count":0},"emojis":[],"fields":[],"role":{"id":"3","name":"Owner","permissions":"1048575","color":"","highlighted":true}}' | ||
20 | headers: | ||
21 | Cache-Control: | ||
22 | - no-store | ||
23 | Content-Security-Policy: | ||
24 | - 'base-uri ''none''; default-src ''none''; frame-ancestors ''none''; font-src | ||
25 | ''self'' http://localhost:3000; img-src ''self'' https: data: blob: http://localhost:3000; | ||
26 | style-src ''self'' http://localhost:3000 ''nonce-O3ZNtzAEPVPHGw7XRXG94g==''; | ||
27 | media-src ''self'' https: data: http://localhost:3000; frame-src ''self'' | ||
28 | https:; manifest-src ''self'' http://localhost:3000; connect-src ''self'' | ||
29 | data: blob: http://localhost:3000 http://localhost:3000 ws://localhost:4000 | ||
30 | ws://localhost:3035 http://localhost:3035; script-src ''self'' ''unsafe-inline'' | ||
31 | ''unsafe-eval'' http://localhost:3000; child-src ''self'' blob: http://localhost:3000; | ||
32 | worker-src ''self'' blob: http://localhost:3000' | ||
33 | Content-Type: | ||
34 | - application/json; charset=utf-8 | ||
35 | ETag: | ||
36 | - W/"5b9093665afc2a342b309f69154704b3" | ||
37 | Referrer-Policy: | ||
38 | - strict-origin-when-cross-origin | ||
39 | Transfer-Encoding: | ||
40 | - chunked | ||
41 | Vary: | ||
42 | - Accept, Origin | ||
43 | X-Content-Type-Options: | ||
44 | - nosniff | ||
45 | X-Download-Options: | ||
46 | - noopen | ||
47 | X-Frame-Options: | ||
48 | - SAMEORIGIN | ||
49 | X-Permitted-Cross-Domain-Policies: | ||
50 | - none | ||
51 | X-Request-Id: | ||
52 | - 3edc1043-eef2-49a4-8d0b-60a1f8124f46 | ||
53 | X-Runtime: | ||
54 | - '0.013476' | ||
55 | X-XSS-Protection: | ||
56 | - 1; mode=block | ||
57 | status: | ||
58 | code: 200 | ||
59 | message: OK | ||
60 | - request: | ||
61 | body: null | ||
62 | headers: | ||
63 | Accept: | ||
64 | - '*/*' | ||
65 | Accept-Encoding: | ||
66 | - gzip, deflate | ||
67 | Authorization: | ||
68 | - Bearer __MASTODON_PY_TEST_ACCESS_TOKEN | ||
69 | Connection: | ||
70 | - keep-alive | ||
71 | Content-Length: | ||
72 | - '0' | ||
73 | User-Agent: | ||
74 | - tests/v311 | ||
75 | method: POST | ||
76 | uri: http://localhost:3000/api/v1/accounts/109367691027217373/unfollow | ||
77 | response: | ||
78 | body: | ||
79 | string: '{"id":"109367691027217373","following":false,"showing_reblogs":false,"notifying":false,"languages":null,"followed_by":false,"blocking":false,"blocked_by":false,"muting":false,"muting_notifications":false,"requested":false,"domain_blocking":false,"endorsed":false,"note":"top | ||
80 | ebayer gerne wieder"}' | ||
81 | headers: | ||
82 | Cache-Control: | ||
83 | - no-store | ||
84 | Content-Security-Policy: | ||
85 | - 'base-uri ''none''; default-src ''none''; frame-ancestors ''none''; font-src | ||
86 | ''self'' http://localhost:3000; img-src ''self'' https: data: blob: http://localhost:3000; | ||
87 | style-src ''self'' http://localhost:3000 ''nonce-m+JYKcVWVLPax0N7LqNvTg==''; | ||
88 | media-src ''self'' https: data: http://localhost:3000; frame-src ''self'' | ||
89 | https:; manifest-src ''self'' http://localhost:3000; connect-src ''self'' | ||
90 | data: blob: http://localhost:3000 http://localhost:3000 ws://localhost:4000 | ||
91 | ws://localhost:3035 http://localhost:3035; script-src ''self'' ''unsafe-inline'' | ||
92 | ''unsafe-eval'' http://localhost:3000; child-src ''self'' blob: http://localhost:3000; | ||
93 | worker-src ''self'' blob: http://localhost:3000' | ||
94 | Content-Type: | ||
95 | - application/json; charset=utf-8 | ||
96 | ETag: | ||
97 | - W/"08cbbe52317052ef8ec82a9714a02c24" | ||
98 | Referrer-Policy: | ||
99 | - strict-origin-when-cross-origin | ||
100 | Transfer-Encoding: | ||
101 | - chunked | ||
102 | Vary: | ||
103 | - Accept, Origin | ||
104 | X-Content-Type-Options: | ||
105 | - nosniff | ||
106 | X-Download-Options: | ||
107 | - noopen | ||
108 | X-Frame-Options: | ||
109 | - SAMEORIGIN | ||
110 | X-Permitted-Cross-Domain-Policies: | ||
111 | - none | ||
112 | X-Request-Id: | ||
113 | - 0d91aac4-11aa-4ea2-9340-0d7988465036 | ||
114 | X-Runtime: | ||
115 | - '0.014779' | ||
116 | X-XSS-Protection: | ||
117 | - 1; mode=block | ||
118 | status: | ||
119 | code: 200 | ||
120 | message: OK | ||
121 | - request: | ||
122 | body: null | ||
123 | headers: | ||
124 | Accept: | ||
125 | - '*/*' | ||
126 | Accept-Encoding: | ||
127 | - gzip, deflate | ||
128 | Authorization: | ||
129 | - Bearer __MASTODON_PY_TEST_ACCESS_TOKEN | ||
130 | Connection: | ||
131 | - keep-alive | ||
132 | User-Agent: | ||
133 | - tests/v311 | ||
134 | method: GET | ||
135 | uri: http://localhost:3000/api/v1/instance/ | ||
136 | response: | ||
137 | body: | ||
138 | string: '{"uri":"localhost:3000","title":"Mastodon","short_description":"","description":"","email":"","version":"4.0.0rc2","urls":{"streaming_api":"ws://localhost:4000"},"stats":{"user_count":4,"status_count":4,"domain_count":0},"thumbnail":"http://localhost:3000/packs/media/images/preview-6399aebd96ccf025654e2977454f168f.png","languages":["en"],"registrations":true,"approval_required":false,"invites_enabled":true,"configuration":{"accounts":{"max_featured_tags":10},"statuses":{"max_characters":500,"max_media_attachments":4,"characters_reserved_per_url":23},"media_attachments":{"supported_mime_types":["image/jpeg","image/png","image/gif","image/heic","image/heif","image/webp","image/avif","video/webm","video/mp4","video/quicktime","video/ogg","audio/wave","audio/wav","audio/x-wav","audio/x-pn-wave","audio/vnd.wave","audio/ogg","audio/vorbis","audio/mpeg","audio/mp3","audio/webm","audio/flac","audio/aac","audio/m4a","audio/x-m4a","audio/mp4","audio/3gpp","video/x-ms-asf"],"image_size_limit":10485760,"image_matrix_limit":16777216,"video_size_limit":41943040,"video_frame_rate_limit":60,"video_matrix_limit":2304000},"polls":{"max_options":4,"max_characters_per_option":50,"min_expiration":300,"max_expiration":2629746}},"contact_account":null,"rules":[]}' | ||
139 | headers: | ||
140 | Cache-Control: | ||
141 | - max-age=180, public | ||
142 | Content-Security-Policy: | ||
143 | - 'base-uri ''none''; default-src ''none''; frame-ancestors ''none''; font-src | ||
144 | ''self'' http://localhost:3000; img-src ''self'' https: data: blob: http://localhost:3000; | ||
145 | style-src ''self'' http://localhost:3000 ''nonce-ZUQGY+4miQDPh7ObVRADdQ==''; | ||
146 | media-src ''self'' https: data: http://localhost:3000; frame-src ''self'' | ||
147 | https:; manifest-src ''self'' http://localhost:3000; connect-src ''self'' | ||
148 | data: blob: http://localhost:3000 http://localhost:3000 ws://localhost:4000 | ||
149 | ws://localhost:3035 http://localhost:3035; script-src ''self'' ''unsafe-inline'' | ||
150 | ''unsafe-eval'' http://localhost:3000; child-src ''self'' blob: http://localhost:3000; | ||
151 | worker-src ''self'' blob: http://localhost:3000' | ||
152 | Content-Type: | ||
153 | - application/json; charset=utf-8 | ||
154 | Date: | ||
155 | - Sat, 19 Nov 2022 00:44:18 GMT | ||
156 | ETag: | ||
157 | - W/"bccac95ee3a5b2a47f646f4b8052d0de" | ||
158 | Referrer-Policy: | ||
159 | - strict-origin-when-cross-origin | ||
160 | Transfer-Encoding: | ||
161 | - chunked | ||
162 | Vary: | ||
163 | - Accept, Origin | ||
164 | X-Content-Type-Options: | ||
165 | - nosniff | ||
166 | X-Download-Options: | ||
167 | - noopen | ||
168 | X-Frame-Options: | ||
169 | - SAMEORIGIN | ||
170 | X-Permitted-Cross-Domain-Policies: | ||
171 | - none | ||
172 | X-Request-Id: | ||
173 | - fcbd5fba-98a8-4732-8f0f-2208d6ad5d1b | ||
174 | X-Runtime: | ||
175 | - '0.014583' | ||
176 | X-XSS-Protection: | ||
177 | - 1; mode=block | ||
178 | status: | ||
179 | code: 200 | ||
180 | message: OK | ||
181 | - request: | ||
182 | body: status=only+real+cars+respond. | ||
183 | headers: | ||
184 | Accept: | ||
185 | - '*/*' | ||
186 | Accept-Encoding: | ||
187 | - gzip, deflate | ||
188 | Authorization: | ||
189 | - Bearer __MASTODON_PY_TEST_ACCESS_TOKEN | ||
190 | Connection: | ||
191 | - keep-alive | ||
192 | Content-Length: | ||
193 | - '30' | ||
194 | Content-Type: | ||
195 | - application/x-www-form-urlencoded | ||
196 | User-Agent: | ||
197 | - tests/v311 | ||
198 | method: POST | ||
199 | uri: http://localhost:3000/api/v1/statuses | ||
200 | response: | ||
201 | body: | ||
202 | string: '{"id":"109367699921291445","created_at":"2022-11-19T00:44:23.351Z","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/109367699921291445","url":"http://localhost:3000/@mastodonpy_test/109367699921291445","replies_count":0,"reblogs_count":0,"favourites_count":0,"edited_at":null,"favourited":false,"reblogged":false,"muted":false,"bookmarked":false,"pinned":false,"content":"\u003cp\u003eonly | ||
203 | real cars respond.\u003c/p\u003e","filtered":[],"reblog":null,"application":{"name":"Mastodon.py | ||
204 | test suite","website":null},"account":{"id":"109367691239664003","username":"mastodonpy_test","acct":"mastodonpy_test","display_name":"John | ||
205 | Lennon","locked":true,"bot":false,"discoverable":null,"group":false,"created_at":"2022-11-19T00:00:00.000Z","note":"\u003cp\u003eI | ||
206 | walk funny\u003c/p\u003e","url":"http://localhost:3000/@mastodonpy_test","avatar":"http://localhost:3000/system/accounts/avatars/109/367/691/239/664/003/original/1063e26998b14a98.jpg","avatar_static":"http://localhost:3000/system/accounts/avatars/109/367/691/239/664/003/original/1063e26998b14a98.jpg","header":"http://localhost:3000/system/accounts/headers/109/367/691/239/664/003/original/a07903ff76e88927.jpg","header_static":"http://localhost:3000/system/accounts/headers/109/367/691/239/664/003/original/a07903ff76e88927.jpg","followers_count":0,"following_count":0,"statuses_count":4,"last_status_at":"2022-11-19","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}' | ||
207 | headers: | ||
208 | Cache-Control: | ||
209 | - no-store | ||
210 | Content-Security-Policy: | ||
211 | - 'base-uri ''none''; default-src ''none''; frame-ancestors ''none''; font-src | ||
212 | ''self'' http://localhost:3000; img-src ''self'' https: data: blob: http://localhost:3000; | ||
213 | style-src ''self'' http://localhost:3000 ''nonce-yaxVWTVsScKR3xUZ4eF6vg==''; | ||
214 | media-src ''self'' https: data: http://localhost:3000; frame-src ''self'' | ||
215 | https:; manifest-src ''self'' http://localhost:3000; connect-src ''self'' | ||
216 | data: blob: http://localhost:3000 http://localhost:3000 ws://localhost:4000 | ||
217 | ws://localhost:3035 http://localhost:3035; script-src ''self'' ''unsafe-inline'' | ||
218 | ''unsafe-eval'' http://localhost:3000; child-src ''self'' blob: http://localhost:3000; | ||
219 | worker-src ''self'' blob: http://localhost:3000' | ||
220 | Content-Type: | ||
221 | - application/json; charset=utf-8 | ||
222 | ETag: | ||
223 | - W/"34d28289bc71d5b9c6804423f47d6487" | ||
224 | Referrer-Policy: | ||
225 | - strict-origin-when-cross-origin | ||
226 | Transfer-Encoding: | ||
227 | - chunked | ||
228 | Vary: | ||
229 | - Accept, Origin | ||
230 | X-Content-Type-Options: | ||
231 | - nosniff | ||
232 | X-Download-Options: | ||
233 | - noopen | ||
234 | X-Frame-Options: | ||
235 | - SAMEORIGIN | ||
236 | X-Permitted-Cross-Domain-Policies: | ||
237 | - none | ||
238 | X-RateLimit-Limit: | ||
239 | - '300' | ||
240 | X-RateLimit-Remaining: | ||
241 | - '197' | ||
242 | X-RateLimit-Reset: | ||
243 | - '2022-11-19T03:00:00.373872Z' | ||
244 | X-Request-Id: | ||
245 | - 11cb9926-88b8-4cea-a8e7-9d789c2caace | ||
246 | X-Runtime: | ||
247 | - '0.036137' | ||
248 | X-XSS-Protection: | ||
249 | - 1; mode=block | ||
250 | status: | ||
251 | code: 200 | ||
252 | message: OK | ||
253 | - request: | ||
254 | body: status=%40mastodonpy_test+beep+beep+I%27m+a+jeep | ||
255 | headers: | ||
256 | Accept: | ||
257 | - '*/*' | ||
258 | Accept-Encoding: | ||
259 | - gzip, deflate | ||
260 | Authorization: | ||
261 | - Bearer __MASTODON_PY_TEST_ACCESS_TOKEN_2 | ||
262 | Connection: | ||
263 | - keep-alive | ||
264 | Content-Length: | ||
265 | - '48' | ||
266 | Content-Type: | ||
267 | - application/x-www-form-urlencoded | ||
268 | User-Agent: | ||
269 | - tests/v311 | ||
270 | method: POST | ||
271 | uri: http://localhost:3000/api/v1/statuses | ||
272 | response: | ||
273 | body: | ||
274 | string: '{"id":"109367699924056287","created_at":"2022-11-19T00:44:23.392Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"http://localhost:3000/users/admin/statuses/109367699924056287","url":"http://localhost:3000/@admin/109367699924056287","replies_count":0,"reblogs_count":0,"favourites_count":0,"edited_at":null,"favourited":false,"reblogged":false,"muted":false,"bookmarked":false,"pinned":false,"content":"\u003cp\u003e\u003cspan | ||
275 | class=\"h-card\"\u003e\u003ca href=\"http://localhost:3000/@mastodonpy_test\" | ||
276 | class=\"u-url mention\"\u003e@\u003cspan\u003emastodonpy_test\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e | ||
277 | beep beep I\u0026#39;m a jeep\u003c/p\u003e","filtered":[],"reblog":null,"application":{"name":"Mastodon.py | ||
278 | test suite","website":null},"account":{"id":"109367691027217373","username":"admin","acct":"admin","display_name":"","locked":false,"bot":false,"discoverable":null,"group":false,"created_at":"2022-11-19T00:00:00.000Z","note":"","url":"http://localhost:3000/@admin","avatar":"http://localhost:3000/avatars/original/missing.png","avatar_static":"http://localhost:3000/avatars/original/missing.png","header":"http://localhost:3000/headers/original/missing.png","header_static":"http://localhost:3000/headers/original/missing.png","followers_count":0,"following_count":0,"statuses_count":2,"last_status_at":"2022-11-19","noindex":false,"emojis":[],"fields":[]},"media_attachments":[],"mentions":[{"id":"109367691239664003","username":"mastodonpy_test","url":"http://localhost:3000/@mastodonpy_test","acct":"mastodonpy_test"}],"tags":[],"emojis":[],"card":null,"poll":null}' | ||
279 | headers: | ||
280 | Cache-Control: | ||
281 | - no-store | ||
282 | Content-Security-Policy: | ||
283 | - 'base-uri ''none''; default-src ''none''; frame-ancestors ''none''; font-src | ||
284 | ''self'' http://localhost:3000; img-src ''self'' https: data: blob: http://localhost:3000; | ||
285 | style-src ''self'' http://localhost:3000 ''nonce-ikjD+DBbQitYrSnFeAsFpQ==''; | ||
286 | media-src ''self'' https: data: http://localhost:3000; frame-src ''self'' | ||
287 | https:; manifest-src ''self'' http://localhost:3000; connect-src ''self'' | ||
288 | data: blob: http://localhost:3000 http://localhost:3000 ws://localhost:4000 | ||
289 | ws://localhost:3035 http://localhost:3035; script-src ''self'' ''unsafe-inline'' | ||
290 | ''unsafe-eval'' http://localhost:3000; child-src ''self'' blob: http://localhost:3000; | ||
291 | worker-src ''self'' blob: http://localhost:3000' | ||
292 | Content-Type: | ||
293 | - application/json; charset=utf-8 | ||
294 | ETag: | ||
295 | - W/"dea24ce5a1114ebcc070153368ae7c87" | ||
296 | Referrer-Policy: | ||
297 | - strict-origin-when-cross-origin | ||
298 | Transfer-Encoding: | ||
299 | - chunked | ||
300 | Vary: | ||
301 | - Accept, Origin | ||
302 | X-Content-Type-Options: | ||
303 | - nosniff | ||
304 | X-Download-Options: | ||
305 | - noopen | ||
306 | X-Frame-Options: | ||
307 | - SAMEORIGIN | ||
308 | X-Permitted-Cross-Domain-Policies: | ||
309 | - none | ||
310 | X-RateLimit-Limit: | ||
311 | - '300' | ||
312 | X-RateLimit-Remaining: | ||
313 | - '292' | ||
314 | X-RateLimit-Reset: | ||
315 | - '2022-11-19T03:00:00.420318Z' | ||
316 | X-Request-Id: | ||
317 | - 09808480-5f85-4056-a5cf-66d77d39387f | ||
318 | X-Runtime: | ||
319 | - '0.041923' | ||
320 | X-XSS-Protection: | ||
321 | - 1; mode=block | ||
322 | status: | ||
323 | code: 200 | ||
324 | message: OK | ||
325 | - request: | ||
326 | body: status=on+the+internet%2C+nobody+knows+you%27re+a+plane | ||
327 | headers: | ||
328 | Accept: | ||
329 | - '*/*' | ||
330 | Accept-Encoding: | ||
331 | - gzip, deflate | ||
332 | Authorization: | ||
333 | - Bearer __MASTODON_PY_TEST_ACCESS_TOKEN_2 | ||
334 | Connection: | ||
335 | - keep-alive | ||
336 | Content-Length: | ||
337 | - '55' | ||
338 | Content-Type: | ||
339 | - application/x-www-form-urlencoded | ||
340 | User-Agent: | ||
341 | - tests/v311 | ||
342 | method: POST | ||
343 | uri: http://localhost:3000/api/v1/statuses | ||
344 | response: | ||
345 | body: | ||
346 | string: '{"id":"109367699926909097","created_at":"2022-11-19T00:44:23.437Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"http://localhost:3000/users/admin/statuses/109367699926909097","url":"http://localhost:3000/@admin/109367699926909097","replies_count":0,"reblogs_count":0,"favourites_count":0,"edited_at":null,"favourited":false,"reblogged":false,"muted":false,"bookmarked":false,"pinned":false,"content":"\u003cp\u003eon | ||
347 | the internet, nobody knows you\u0026#39;re a plane\u003c/p\u003e","filtered":[],"reblog":null,"application":{"name":"Mastodon.py | ||
348 | test suite","website":null},"account":{"id":"109367691027217373","username":"admin","acct":"admin","display_name":"","locked":false,"bot":false,"discoverable":null,"group":false,"created_at":"2022-11-19T00:00:00.000Z","note":"","url":"http://localhost:3000/@admin","avatar":"http://localhost:3000/avatars/original/missing.png","avatar_static":"http://localhost:3000/avatars/original/missing.png","header":"http://localhost:3000/headers/original/missing.png","header_static":"http://localhost:3000/headers/original/missing.png","followers_count":0,"following_count":0,"statuses_count":3,"last_status_at":"2022-11-19","noindex":false,"emojis":[],"fields":[]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"card":null,"poll":null}' | ||
349 | headers: | ||
350 | Cache-Control: | ||
351 | - no-store | ||
352 | Content-Security-Policy: | ||
353 | - 'base-uri ''none''; default-src ''none''; frame-ancestors ''none''; font-src | ||
354 | ''self'' http://localhost:3000; img-src ''self'' https: data: blob: http://localhost:3000; | ||
355 | style-src ''self'' http://localhost:3000 ''nonce-QISgLKOQMPvBkfABjB8gDg==''; | ||
356 | media-src ''self'' https: data: http://localhost:3000; frame-src ''self'' | ||
357 | https:; manifest-src ''self'' http://localhost:3000; connect-src ''self'' | ||
358 | data: blob: http://localhost:3000 http://localhost:3000 ws://localhost:4000 | ||
359 | ws://localhost:3035 http://localhost:3035; script-src ''self'' ''unsafe-inline'' | ||
360 | ''unsafe-eval'' http://localhost:3000; child-src ''self'' blob: http://localhost:3000; | ||
361 | worker-src ''self'' blob: http://localhost:3000' | ||
362 | Content-Type: | ||
363 | - application/json; charset=utf-8 | ||
364 | ETag: | ||
365 | - W/"a7417f75daa14f0c89ad7b07ba17b650" | ||
366 | Referrer-Policy: | ||
367 | - strict-origin-when-cross-origin | ||
368 | Transfer-Encoding: | ||
369 | - chunked | ||
370 | Vary: | ||
371 | - Accept, Origin | ||
372 | X-Content-Type-Options: | ||
373 | - nosniff | ||
374 | X-Download-Options: | ||
375 | - noopen | ||
376 | X-Frame-Options: | ||
377 | - SAMEORIGIN | ||
378 | X-Permitted-Cross-Domain-Policies: | ||
379 | - none | ||
380 | X-RateLimit-Limit: | ||
381 | - '300' | ||
382 | X-RateLimit-Remaining: | ||
383 | - '291' | ||
384 | X-RateLimit-Reset: | ||
385 | - '2022-11-19T03:00:00.458817Z' | ||
386 | X-Request-Id: | ||
387 | - 8a0b34ba-9b12-48fd-8537-95e26592ac9b | ||
388 | X-Runtime: | ||
389 | - '0.033981' | ||
390 | X-XSS-Protection: | ||
391 | - 1; mode=block | ||
392 | status: | ||
393 | code: 200 | ||
394 | message: OK | ||
395 | - request: | ||
396 | body: null | ||
397 | headers: | ||
398 | Accept: | ||
399 | - '*/*' | ||
400 | Accept-Encoding: | ||
401 | - gzip, deflate | ||
402 | Authorization: | ||
403 | - Bearer __MASTODON_PY_TEST_ACCESS_TOKEN | ||
404 | Connection: | ||
405 | - keep-alive | ||
406 | Content-Length: | ||
407 | - '0' | ||
408 | User-Agent: | ||
409 | - tests/v311 | ||
410 | method: DELETE | ||
411 | uri: http://localhost:3000/api/v1/statuses/109367699921291445 | ||
412 | response: | ||
413 | body: | ||
414 | string: '{"id":"109367699921291445","created_at":"2022-11-19T00:44:23.351Z","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/109367699921291445","url":"http://localhost:3000/@mastodonpy_test/109367699921291445","replies_count":0,"reblogs_count":0,"favourites_count":0,"edited_at":null,"favourited":false,"reblogged":false,"muted":false,"bookmarked":false,"pinned":false,"text":"only | ||
415 | real cars respond.","filtered":[],"reblog":null,"application":{"name":"Mastodon.py | ||
416 | test suite","website":null},"account":{"id":"109367691239664003","username":"mastodonpy_test","acct":"mastodonpy_test","display_name":"John | ||
417 | Lennon","locked":true,"bot":false,"discoverable":null,"group":false,"created_at":"2022-11-19T00:00:00.000Z","note":"\u003cp\u003eI | ||
418 | walk funny\u003c/p\u003e","url":"http://localhost:3000/@mastodonpy_test","avatar":"http://localhost:3000/system/accounts/avatars/109/367/691/239/664/003/original/1063e26998b14a98.jpg","avatar_static":"http://localhost:3000/system/accounts/avatars/109/367/691/239/664/003/original/1063e26998b14a98.jpg","header":"http://localhost:3000/system/accounts/headers/109/367/691/239/664/003/original/a07903ff76e88927.jpg","header_static":"http://localhost:3000/system/accounts/headers/109/367/691/239/664/003/original/a07903ff76e88927.jpg","followers_count":0,"following_count":0,"statuses_count":3,"last_status_at":"2022-11-19","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}' | ||
419 | headers: | ||
420 | Cache-Control: | ||
421 | - no-store | ||
422 | Content-Security-Policy: | ||
423 | - 'base-uri ''none''; default-src ''none''; frame-ancestors ''none''; font-src | ||
424 | ''self'' http://localhost:3000; img-src ''self'' https: data: blob: http://localhost:3000; | ||
425 | style-src ''self'' http://localhost:3000 ''nonce-aDzpwxogW5FIyDBCXY45YA==''; | ||
426 | media-src ''self'' https: data: http://localhost:3000; frame-src ''self'' | ||
427 | https:; manifest-src ''self'' http://localhost:3000; connect-src ''self'' | ||
428 | data: blob: http://localhost:3000 http://localhost:3000 ws://localhost:4000 | ||
429 | ws://localhost:3035 http://localhost:3035; script-src ''self'' ''unsafe-inline'' | ||
430 | ''unsafe-eval'' http://localhost:3000; child-src ''self'' blob: http://localhost:3000; | ||
431 | worker-src ''self'' blob: http://localhost:3000' | ||
432 | Content-Type: | ||
433 | - application/json; charset=utf-8 | ||
434 | ETag: | ||
435 | - W/"caecd1af13a79dfcf8be78c44af330fc" | ||
436 | Referrer-Policy: | ||
437 | - strict-origin-when-cross-origin | ||
438 | Transfer-Encoding: | ||
439 | - chunked | ||
440 | Vary: | ||
441 | - Accept, Origin | ||
442 | X-Content-Type-Options: | ||
443 | - nosniff | ||
444 | X-Download-Options: | ||
445 | - noopen | ||
446 | X-Frame-Options: | ||
447 | - SAMEORIGIN | ||
448 | X-Permitted-Cross-Domain-Policies: | ||
449 | - none | ||
450 | X-Request-Id: | ||
451 | - ec084bf8-c76b-469e-b1fd-135c04b71403 | ||
452 | X-Runtime: | ||
453 | - '0.035232' | ||
454 | X-XSS-Protection: | ||
455 | - 1; mode=block | ||
456 | status: | ||
457 | code: 200 | ||
458 | message: OK | ||
459 | - request: | ||
460 | body: null | ||
461 | headers: | ||
462 | Accept: | ||
463 | - '*/*' | ||
464 | Accept-Encoding: | ||
465 | - gzip, deflate | ||
466 | Authorization: | ||
467 | - Bearer __MASTODON_PY_TEST_ACCESS_TOKEN | ||
468 | Connection: | ||
469 | - keep-alive | ||
470 | User-Agent: | ||
471 | - tests/v311 | ||
472 | method: GET | ||
473 | uri: http://localhost:4000/api/v1/streaming/user | ||
474 | response: | ||
475 | body: | ||
476 | string: ':) | ||
477 | |||
478 | event: update | ||
479 | |||
480 | data: {"id":"109367699921291445","created_at":"2022-11-19T00:44:23.351Z","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/109367699921291445","url":"http://localhost:3000/@mastodonpy_test/109367699921291445","replies_count":0,"reblogs_count":0,"favourites_count":0,"edited_at":null,"content":"<p>only | ||
481 | real cars respond.</p>","reblog":null,"application":{"name":"Mastodon.py test | ||
482 | suite","website":null},"account":{"id":"109367691239664003","username":"mastodonpy_test","acct":"mastodonpy_test","display_name":"John | ||
483 | Lennon","locked":true,"bot":false,"discoverable":null,"group":false,"created_at":"2022-11-19T00:00:00.000Z","note":"<p>I | ||
484 | walk funny</p>","url":"http://localhost:3000/@mastodonpy_test","avatar":"http://localhost:3000/system/accounts/avatars/109/367/691/239/664/003/original/1063e26998b14a98.jpg","avatar_static":"http://localhost:3000/system/accounts/avatars/109/367/691/239/664/003/original/1063e26998b14a98.jpg","header":"http://localhost:3000/system/accounts/headers/109/367/691/239/664/003/original/a07903ff76e88927.jpg","header_static":"http://localhost:3000/system/accounts/headers/109/367/691/239/664/003/original/a07903ff76e88927.jpg","followers_count":0,"following_count":0,"statuses_count":4,"last_status_at":"2022-11-19","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,"favourited":false,"reblogged":false,"muted":false,"bookmarked":false,"pinned":false,"filtered":[]} | ||
485 | |||
486 | |||
487 | event: notification | ||
488 | |||
489 | data: {"id":"17","type":"mention","created_at":"2022-11-19T00:44:23.807Z","account":{"id":"109367691027217373","username":"admin","acct":"admin","display_name":"","locked":false,"bot":false,"discoverable":null,"group":false,"created_at":"2022-11-19T00:00:00.000Z","note":"","url":"http://localhost:3000/@admin","avatar":"http://localhost:3000/avatars/original/missing.png","avatar_static":"http://localhost:3000/avatars/original/missing.png","header":"http://localhost:3000/headers/original/missing.png","header_static":"http://localhost:3000/headers/original/missing.png","followers_count":0,"following_count":0,"statuses_count":3,"last_status_at":"2022-11-19","noindex":false,"emojis":[],"fields":[]},"status":{"id":"109367699924056287","created_at":"2022-11-19T00:44:23.392Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"http://localhost:3000/users/admin/statuses/109367699924056287","url":"http://localhost:3000/@admin/109367699924056287","replies_count":0,"reblogs_count":0,"favourites_count":0,"edited_at":null,"favourited":false,"reblogged":false,"muted":false,"bookmarked":false,"content":"<p><span | ||
490 | class=\"h-card\"><a href=\"http://localhost:3000/@mastodonpy_test\" class=\"u-url | ||
491 | mention\">@<span>mastodonpy_test</span></a></span> beep beep I'm a jeep</p>","filtered":[],"reblog":null,"application":{"name":"Mastodon.py | ||
492 | test suite","website":null},"account":{"id":"109367691027217373","username":"admin","acct":"admin","display_name":"","locked":false,"bot":false,"discoverable":null,"group":false,"created_at":"2022-11-19T00:00:00.000Z","note":"","url":"http://localhost:3000/@admin","avatar":"http://localhost:3000/avatars/original/missing.png","avatar_static":"http://localhost:3000/avatars/original/missing.png","header":"http://localhost:3000/headers/original/missing.png","header_static":"http://localhost:3000/headers/original/missing.png","followers_count":0,"following_count":0,"statuses_count":3,"last_status_at":"2022-11-19","noindex":false,"emojis":[],"fields":[]},"media_attachments":[],"mentions":[{"id":"109367691239664003","username":"mastodonpy_test","url":"http://localhost:3000/@mastodonpy_test","acct":"mastodonpy_test"}],"tags":[],"emojis":[],"card":null,"poll":null}} | ||
493 | |||
494 | |||
495 | event: delete | ||
496 | |||
497 | data: 109367699921291445 | ||
498 | |||
499 | |||
500 | :' | ||
501 | headers: | ||
502 | Access-Control-Allow-Headers: | ||
503 | - Authorization, Accept, Cache-Control | ||
504 | Access-Control-Allow-Methods: | ||
505 | - GET, OPTIONS | ||
506 | Access-Control-Allow-Origin: | ||
507 | - '*' | ||
508 | Cache-Control: | ||
509 | - no-store | ||
510 | Connection: | ||
511 | - keep-alive | ||
512 | Content-Type: | ||
513 | - text/event-stream | ||
514 | Date: | ||
515 | - Sat, 19 Nov 2022 00:44:18 GMT | ||
516 | Keep-Alive: | ||
517 | - timeout=5 | ||
518 | Transfer-Encoding: | ||
519 | - chunked | ||
520 | X-Powered-By: | ||
521 | - Express | ||
522 | X-Request-Id: | ||
523 | - a22d2bc5-865d-4c8d-a980-1d7da5af8e95 | ||
524 | status: | ||
525 | code: 200 | ||
526 | message: OK | ||
527 | version: 1 | ||
diff --git a/tests/cassettes/test_stream_user_direct.yaml b/tests/cassettes/test_stream_user_direct.yaml new file mode 100644 index 0000000..0cbfab4 --- /dev/null +++ b/tests/cassettes/test_stream_user_direct.yaml | |||
@@ -0,0 +1,720 @@ | |||
1 | interactions: | ||
2 | - request: | ||
3 | body: null | ||
4 | headers: | ||
5 | Accept: | ||
6 | - '*/*' | ||
7 | Accept-Encoding: | ||
8 | - gzip, deflate | ||
9 | Authorization: | ||
10 | - Bearer __MASTODON_PY_TEST_ACCESS_TOKEN_2 | ||
11 | Connection: | ||
12 | - keep-alive | ||
13 | User-Agent: | ||
14 | - tests/v311 | ||
15 | method: GET | ||
16 | uri: http://localhost:3000/api/v1/accounts/verify_credentials | ||
17 | response: | ||
18 | body: | ||
19 | string: '{"id":"109383529410918485","username":"admin","acct":"admin","display_name":"","locked":false,"bot":false,"discoverable":null,"group":false,"created_at":"2022-11-21T00:00:00.000Z","note":"","url":"http://localhost:3000/@admin","avatar":"http://localhost:3000/avatars/original/missing.png","avatar_static":"http://localhost:3000/avatars/original/missing.png","header":"http://localhost:3000/headers/original/missing.png","header_static":"http://localhost:3000/headers/original/missing.png","followers_count":0,"following_count":0,"statuses_count":16,"last_status_at":"2022-11-21","noindex":false,"source":{"privacy":"public","sensitive":false,"language":null,"note":"","fields":[],"follow_requests_count":0},"emojis":[],"fields":[],"role":{"id":"3","name":"Owner","permissions":"1048575","color":"","highlighted":true}}' | ||
20 | headers: | ||
21 | Cache-Control: | ||
22 | - no-store | ||
23 | Content-Security-Policy: | ||
24 | - 'base-uri ''none''; default-src ''none''; frame-ancestors ''none''; font-src | ||
25 | ''self'' http://localhost:3000; img-src ''self'' https: data: blob: http://localhost:3000; | ||
26 | style-src ''self'' http://localhost:3000 ''nonce-ET94sC1kcWUi3ZBoLTM2wg==''; | ||
27 | media-src ''self'' https: data: http://localhost:3000; frame-src ''self'' | ||
28 | https:; manifest-src ''self'' http://localhost:3000; connect-src ''self'' | ||
29 | data: blob: http://localhost:3000 http://localhost:3000 ws://localhost:4000 | ||
30 | ws://localhost:3035 http://localhost:3035; script-src ''self'' ''unsafe-inline'' | ||
31 | ''unsafe-eval'' http://localhost:3000; child-src ''self'' blob: http://localhost:3000; | ||
32 | worker-src ''self'' blob: http://localhost:3000' | ||
33 | Content-Type: | ||
34 | - application/json; charset=utf-8 | ||
35 | ETag: | ||
36 | - W/"144b02ef94a45f45c374fb3a8922aaec" | ||
37 | Referrer-Policy: | ||
38 | - strict-origin-when-cross-origin | ||
39 | Transfer-Encoding: | ||
40 | - chunked | ||
41 | Vary: | ||
42 | - Accept, Origin | ||
43 | X-Content-Type-Options: | ||
44 | - nosniff | ||
45 | X-Download-Options: | ||
46 | - noopen | ||
47 | X-Frame-Options: | ||
48 | - SAMEORIGIN | ||
49 | X-Permitted-Cross-Domain-Policies: | ||
50 | - none | ||
51 | X-Request-Id: | ||
52 | - 25cbb607-979c-4224-9225-03d1a3d1457c | ||
53 | X-Runtime: | ||
54 | - '0.013782' | ||
55 | X-XSS-Protection: | ||
56 | - 1; mode=block | ||
57 | status: | ||
58 | code: 200 | ||
59 | message: OK | ||
60 | - request: | ||
61 | body: null | ||
62 | headers: | ||
63 | Accept: | ||
64 | - '*/*' | ||
65 | Accept-Encoding: | ||
66 | - gzip, deflate | ||
67 | Authorization: | ||
68 | - Bearer __MASTODON_PY_TEST_ACCESS_TOKEN | ||
69 | Connection: | ||
70 | - keep-alive | ||
71 | Content-Length: | ||
72 | - '0' | ||
73 | User-Agent: | ||
74 | - tests/v311 | ||
75 | method: POST | ||
76 | uri: http://localhost:3000/api/v1/accounts/109383529410918485/unfollow | ||
77 | response: | ||
78 | body: | ||
79 | string: '{"id":"109383529410918485","following":false,"showing_reblogs":false,"notifying":false,"languages":null,"followed_by":false,"blocking":false,"blocked_by":false,"muting":false,"muting_notifications":false,"requested":false,"domain_blocking":false,"endorsed":false,"note":""}' | ||
80 | headers: | ||
81 | Cache-Control: | ||
82 | - no-store | ||
83 | Content-Security-Policy: | ||
84 | - 'base-uri ''none''; default-src ''none''; frame-ancestors ''none''; font-src | ||
85 | ''self'' http://localhost:3000; img-src ''self'' https: data: blob: http://localhost:3000; | ||
86 | style-src ''self'' http://localhost:3000 ''nonce-+u1X84vonzotT6Qef/iMHw==''; | ||
87 | media-src ''self'' https: data: http://localhost:3000; frame-src ''self'' | ||
88 | https:; manifest-src ''self'' http://localhost:3000; connect-src ''self'' | ||
89 | data: blob: http://localhost:3000 http://localhost:3000 ws://localhost:4000 | ||
90 | ws://localhost:3035 http://localhost:3035; script-src ''self'' ''unsafe-inline'' | ||
91 | ''unsafe-eval'' http://localhost:3000; child-src ''self'' blob: http://localhost:3000; | ||
92 | worker-src ''self'' blob: http://localhost:3000' | ||
93 | Content-Type: | ||
94 | - application/json; charset=utf-8 | ||
95 | ETag: | ||
96 | - W/"7efb245175d0201afa91b82fea1ccd29" | ||
97 | Referrer-Policy: | ||
98 | - strict-origin-when-cross-origin | ||
99 | Transfer-Encoding: | ||
100 | - chunked | ||
101 | Vary: | ||
102 | - Accept, Origin | ||
103 | X-Content-Type-Options: | ||
104 | - nosniff | ||
105 | X-Download-Options: | ||
106 | - noopen | ||
107 | X-Frame-Options: | ||
108 | - SAMEORIGIN | ||
109 | X-Permitted-Cross-Domain-Policies: | ||
110 | - none | ||
111 | X-Request-Id: | ||
112 | - 0ca7ed70-c4df-4871-a7ec-113d51508d49 | ||
113 | X-Runtime: | ||
114 | - '0.012556' | ||
115 | X-XSS-Protection: | ||
116 | - 1; mode=block | ||
117 | status: | ||
118 | code: 200 | ||
119 | message: OK | ||
120 | - request: | ||
121 | body: null | ||
122 | headers: | ||
123 | Accept: | ||
124 | - '*/*' | ||
125 | Accept-Encoding: | ||
126 | - gzip, deflate | ||
127 | Authorization: | ||
128 | - Bearer __MASTODON_PY_TEST_ACCESS_TOKEN | ||
129 | Connection: | ||
130 | - keep-alive | ||
131 | User-Agent: | ||
132 | - tests/v311 | ||
133 | method: GET | ||
134 | uri: http://localhost:3000/api/v1/instance/ | ||
135 | response: | ||
136 | body: | ||
137 | string: '{"uri":"localhost:3000","title":"Mastodon","short_description":"","description":"","email":"","version":"4.0.0rc2","urls":{"streaming_api":"ws://localhost:4000"},"stats":{"user_count":4,"status_count":17,"domain_count":0},"thumbnail":"http://localhost:3000/packs/media/images/preview-6399aebd96ccf025654e2977454f168f.png","languages":["en"],"registrations":true,"approval_required":false,"invites_enabled":true,"configuration":{"accounts":{"max_featured_tags":10},"statuses":{"max_characters":500,"max_media_attachments":4,"characters_reserved_per_url":23},"media_attachments":{"supported_mime_types":["image/jpeg","image/png","image/gif","image/heic","image/heif","image/webp","image/avif","video/webm","video/mp4","video/quicktime","video/ogg","audio/wave","audio/wav","audio/x-wav","audio/x-pn-wave","audio/vnd.wave","audio/ogg","audio/vorbis","audio/mpeg","audio/mp3","audio/webm","audio/flac","audio/aac","audio/m4a","audio/x-m4a","audio/mp4","audio/3gpp","video/x-ms-asf"],"image_size_limit":10485760,"image_matrix_limit":16777216,"video_size_limit":41943040,"video_frame_rate_limit":60,"video_matrix_limit":2304000},"polls":{"max_options":4,"max_characters_per_option":50,"min_expiration":300,"max_expiration":2629746}},"contact_account":null,"rules":[]}' | ||
138 | headers: | ||
139 | Cache-Control: | ||
140 | - max-age=180, public | ||
141 | Content-Security-Policy: | ||
142 | - 'base-uri ''none''; default-src ''none''; frame-ancestors ''none''; font-src | ||
143 | ''self'' http://localhost:3000; img-src ''self'' https: data: blob: http://localhost:3000; | ||
144 | style-src ''self'' http://localhost:3000 ''nonce-5JMlVRDK8VKwBMhHf7JP8A==''; | ||
145 | media-src ''self'' https: data: http://localhost:3000; frame-src ''self'' | ||
146 | https:; manifest-src ''self'' http://localhost:3000; connect-src ''self'' | ||
147 | data: blob: http://localhost:3000 http://localhost:3000 ws://localhost:4000 | ||
148 | ws://localhost:3035 http://localhost:3035; script-src ''self'' ''unsafe-inline'' | ||
149 | ''unsafe-eval'' http://localhost:3000; child-src ''self'' blob: http://localhost:3000; | ||
150 | worker-src ''self'' blob: http://localhost:3000' | ||
151 | Content-Type: | ||
152 | - application/json; charset=utf-8 | ||
153 | Date: | ||
154 | - Mon, 21 Nov 2022 20:13:56 GMT | ||
155 | ETag: | ||
156 | - W/"7792b9fe75ecfce5f9baf0e462140af6" | ||
157 | Referrer-Policy: | ||
158 | - strict-origin-when-cross-origin | ||
159 | Transfer-Encoding: | ||
160 | - chunked | ||
161 | Vary: | ||
162 | - Accept, Origin | ||
163 | X-Content-Type-Options: | ||
164 | - nosniff | ||
165 | X-Download-Options: | ||
166 | - noopen | ||
167 | X-Frame-Options: | ||
168 | - SAMEORIGIN | ||
169 | X-Permitted-Cross-Domain-Policies: | ||
170 | - none | ||
171 | X-Request-Id: | ||
172 | - 2a6765ba-92fa-4fa5-adfa-29f4a073fd8c | ||
173 | X-Runtime: | ||
174 | - '0.014781' | ||
175 | X-XSS-Protection: | ||
176 | - 1; mode=block | ||
177 | status: | ||
178 | code: 200 | ||
179 | message: OK | ||
180 | - request: | ||
181 | body: null | ||
182 | headers: | ||
183 | Accept: | ||
184 | - '*/*' | ||
185 | Accept-Encoding: | ||
186 | - gzip, deflate | ||
187 | Authorization: | ||
188 | - Bearer __MASTODON_PY_TEST_ACCESS_TOKEN | ||
189 | Connection: | ||
190 | - keep-alive | ||
191 | User-Agent: | ||
192 | - tests/v311 | ||
193 | method: GET | ||
194 | uri: http://localhost:3000/api/v1/instance/ | ||
195 | response: | ||
196 | body: | ||
197 | string: '{"uri":"localhost:3000","title":"Mastodon","short_description":"","description":"","email":"","version":"4.0.0rc2","urls":{"streaming_api":"ws://localhost:4000"},"stats":{"user_count":4,"status_count":17,"domain_count":0},"thumbnail":"http://localhost:3000/packs/media/images/preview-6399aebd96ccf025654e2977454f168f.png","languages":["en"],"registrations":true,"approval_required":false,"invites_enabled":true,"configuration":{"accounts":{"max_featured_tags":10},"statuses":{"max_characters":500,"max_media_attachments":4,"characters_reserved_per_url":23},"media_attachments":{"supported_mime_types":["image/jpeg","image/png","image/gif","image/heic","image/heif","image/webp","image/avif","video/webm","video/mp4","video/quicktime","video/ogg","audio/wave","audio/wav","audio/x-wav","audio/x-pn-wave","audio/vnd.wave","audio/ogg","audio/vorbis","audio/mpeg","audio/mp3","audio/webm","audio/flac","audio/aac","audio/m4a","audio/x-m4a","audio/mp4","audio/3gpp","video/x-ms-asf"],"image_size_limit":10485760,"image_matrix_limit":16777216,"video_size_limit":41943040,"video_frame_rate_limit":60,"video_matrix_limit":2304000},"polls":{"max_options":4,"max_characters_per_option":50,"min_expiration":300,"max_expiration":2629746}},"contact_account":null,"rules":[]}' | ||
198 | headers: | ||
199 | Cache-Control: | ||
200 | - max-age=180, public | ||
201 | Content-Security-Policy: | ||
202 | - 'base-uri ''none''; default-src ''none''; frame-ancestors ''none''; font-src | ||
203 | ''self'' http://localhost:3000; img-src ''self'' https: data: blob: http://localhost:3000; | ||
204 | style-src ''self'' http://localhost:3000 ''nonce-TavEqr9+UNgt+zhP741V1w==''; | ||
205 | media-src ''self'' https: data: http://localhost:3000; frame-src ''self'' | ||
206 | https:; manifest-src ''self'' http://localhost:3000; connect-src ''self'' | ||
207 | data: blob: http://localhost:3000 http://localhost:3000 ws://localhost:4000 | ||
208 | ws://localhost:3035 http://localhost:3035; script-src ''self'' ''unsafe-inline'' | ||
209 | ''unsafe-eval'' http://localhost:3000; child-src ''self'' blob: http://localhost:3000; | ||
210 | worker-src ''self'' blob: http://localhost:3000' | ||
211 | Content-Type: | ||
212 | - application/json; charset=utf-8 | ||
213 | Date: | ||
214 | - Mon, 21 Nov 2022 20:13:56 GMT | ||
215 | ETag: | ||
216 | - W/"7792b9fe75ecfce5f9baf0e462140af6" | ||
217 | Referrer-Policy: | ||
218 | - strict-origin-when-cross-origin | ||
219 | Transfer-Encoding: | ||
220 | - chunked | ||
221 | Vary: | ||
222 | - Accept, Origin | ||
223 | X-Content-Type-Options: | ||
224 | - nosniff | ||
225 | X-Download-Options: | ||
226 | - noopen | ||
227 | X-Frame-Options: | ||
228 | - SAMEORIGIN | ||
229 | X-Permitted-Cross-Domain-Policies: | ||
230 | - none | ||
231 | X-Request-Id: | ||
232 | - 402737ac-96c3-4d4a-91a4-a1b804de990f | ||
233 | X-Runtime: | ||
234 | - '0.015024' | ||
235 | X-XSS-Protection: | ||
236 | - 1; mode=block | ||
237 | status: | ||
238 | code: 200 | ||
239 | message: OK | ||
240 | - request: | ||
241 | body: status=only+real+cars+respond. | ||
242 | headers: | ||
243 | Accept: | ||
244 | - '*/*' | ||
245 | Accept-Encoding: | ||
246 | - gzip, deflate | ||
247 | Authorization: | ||
248 | - Bearer __MASTODON_PY_TEST_ACCESS_TOKEN | ||
249 | Connection: | ||
250 | - keep-alive | ||
251 | Content-Length: | ||
252 | - '30' | ||
253 | Content-Type: | ||
254 | - application/x-www-form-urlencoded | ||
255 | User-Agent: | ||
256 | - tests/v311 | ||
257 | method: POST | ||
258 | uri: http://localhost:3000/api/v1/statuses | ||
259 | response: | ||
260 | body: | ||
261 | string: '{"id":"109383623709269987","created_at":"2022-11-21T20:14:01.073Z","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/109383623709269987","url":"http://localhost:3000/@mastodonpy_test/109383623709269987","replies_count":0,"reblogs_count":0,"favourites_count":0,"edited_at":null,"favourited":false,"reblogged":false,"muted":false,"bookmarked":false,"pinned":false,"content":"\u003cp\u003eonly | ||
262 | real cars respond.\u003c/p\u003e","filtered":[],"reblog":null,"application":{"name":"Mastodon.py | ||
263 | test suite","website":null},"account":{"id":"109383529633422716","username":"mastodonpy_test","acct":"mastodonpy_test","display_name":"","locked":true,"bot":false,"discoverable":null,"group":false,"created_at":"2022-11-21T00:00:00.000Z","note":"","url":"http://localhost:3000/@mastodonpy_test","avatar":"http://localhost:3000/avatars/original/missing.png","avatar_static":"http://localhost:3000/avatars/original/missing.png","header":"http://localhost:3000/headers/original/missing.png","header_static":"http://localhost:3000/headers/original/missing.png","followers_count":0,"following_count":0,"statuses_count":2,"last_status_at":"2022-11-21","noindex":false,"emojis":[],"fields":[]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"card":null,"poll":null}' | ||
264 | headers: | ||
265 | Cache-Control: | ||
266 | - no-store | ||
267 | Content-Security-Policy: | ||
268 | - 'base-uri ''none''; default-src ''none''; frame-ancestors ''none''; font-src | ||
269 | ''self'' http://localhost:3000; img-src ''self'' https: data: blob: http://localhost:3000; | ||
270 | style-src ''self'' http://localhost:3000 ''nonce-Zsmmvt1eANHAkGfCQKOf6g==''; | ||
271 | media-src ''self'' https: data: http://localhost:3000; frame-src ''self'' | ||
272 | https:; manifest-src ''self'' http://localhost:3000; connect-src ''self'' | ||
273 | data: blob: http://localhost:3000 http://localhost:3000 ws://localhost:4000 | ||
274 | ws://localhost:3035 http://localhost:3035; script-src ''self'' ''unsafe-inline'' | ||
275 | ''unsafe-eval'' http://localhost:3000; child-src ''self'' blob: http://localhost:3000; | ||
276 | worker-src ''self'' blob: http://localhost:3000' | ||
277 | Content-Type: | ||
278 | - application/json; charset=utf-8 | ||
279 | ETag: | ||
280 | - W/"e71985ba86e5e8d1bc4bcdab8da2c25d" | ||
281 | Referrer-Policy: | ||
282 | - strict-origin-when-cross-origin | ||
283 | Transfer-Encoding: | ||
284 | - chunked | ||
285 | Vary: | ||
286 | - Accept, Origin | ||
287 | X-Content-Type-Options: | ||
288 | - nosniff | ||
289 | X-Download-Options: | ||
290 | - noopen | ||
291 | X-Frame-Options: | ||
292 | - SAMEORIGIN | ||
293 | X-Permitted-Cross-Domain-Policies: | ||
294 | - none | ||
295 | X-RateLimit-Limit: | ||
296 | - '300' | ||
297 | X-RateLimit-Remaining: | ||
298 | - '285' | ||
299 | X-RateLimit-Reset: | ||
300 | - '2022-11-21T21:00:00.103374Z' | ||
301 | X-Request-Id: | ||
302 | - 157d7170-a9f4-497f-ba94-dbd4ab917866 | ||
303 | X-Runtime: | ||
304 | - '0.043576' | ||
305 | X-XSS-Protection: | ||
306 | - 1; mode=block | ||
307 | status: | ||
308 | code: 200 | ||
309 | message: OK | ||
310 | - request: | ||
311 | body: status=%40mastodonpy_test+beep+beep+I%27m+a+jeep | ||
312 | headers: | ||
313 | Accept: | ||
314 | - '*/*' | ||
315 | Accept-Encoding: | ||
316 | - gzip, deflate | ||
317 | Authorization: | ||
318 | - Bearer __MASTODON_PY_TEST_ACCESS_TOKEN_2 | ||
319 | Connection: | ||
320 | - keep-alive | ||
321 | Content-Length: | ||
322 | - '48' | ||
323 | Content-Type: | ||
324 | - application/x-www-form-urlencoded | ||
325 | User-Agent: | ||
326 | - tests/v311 | ||
327 | method: POST | ||
328 | uri: http://localhost:3000/api/v1/statuses | ||
329 | response: | ||
330 | body: | ||
331 | string: '{"id":"109383623712389313","created_at":"2022-11-21T20:14:01.120Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"http://localhost:3000/users/admin/statuses/109383623712389313","url":"http://localhost:3000/@admin/109383623712389313","replies_count":0,"reblogs_count":0,"favourites_count":0,"edited_at":null,"favourited":false,"reblogged":false,"muted":false,"bookmarked":false,"pinned":false,"content":"\u003cp\u003e\u003cspan | ||
332 | class=\"h-card\"\u003e\u003ca href=\"http://localhost:3000/@mastodonpy_test\" | ||
333 | class=\"u-url mention\"\u003e@\u003cspan\u003emastodonpy_test\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e | ||
334 | beep beep I\u0026#39;m a jeep\u003c/p\u003e","filtered":[],"reblog":null,"application":{"name":"Mastodon.py | ||
335 | test suite","website":null},"account":{"id":"109383529410918485","username":"admin","acct":"admin","display_name":"","locked":false,"bot":false,"discoverable":null,"group":false,"created_at":"2022-11-21T00:00:00.000Z","note":"","url":"http://localhost:3000/@admin","avatar":"http://localhost:3000/avatars/original/missing.png","avatar_static":"http://localhost:3000/avatars/original/missing.png","header":"http://localhost:3000/headers/original/missing.png","header_static":"http://localhost:3000/headers/original/missing.png","followers_count":0,"following_count":0,"statuses_count":17,"last_status_at":"2022-11-21","noindex":false,"emojis":[],"fields":[]},"media_attachments":[],"mentions":[{"id":"109383529633422716","username":"mastodonpy_test","url":"http://localhost:3000/@mastodonpy_test","acct":"mastodonpy_test"}],"tags":[],"emojis":[],"card":null,"poll":null}' | ||
336 | headers: | ||
337 | Cache-Control: | ||
338 | - no-store | ||
339 | Content-Security-Policy: | ||
340 | - 'base-uri ''none''; default-src ''none''; frame-ancestors ''none''; font-src | ||
341 | ''self'' http://localhost:3000; img-src ''self'' https: data: blob: http://localhost:3000; | ||
342 | style-src ''self'' http://localhost:3000 ''nonce-k7kmLJMj7sp9WP2u0pnraQ==''; | ||
343 | media-src ''self'' https: data: http://localhost:3000; frame-src ''self'' | ||
344 | https:; manifest-src ''self'' http://localhost:3000; connect-src ''self'' | ||
345 | data: blob: http://localhost:3000 http://localhost:3000 ws://localhost:4000 | ||
346 | ws://localhost:3035 http://localhost:3035; script-src ''self'' ''unsafe-inline'' | ||
347 | ''unsafe-eval'' http://localhost:3000; child-src ''self'' blob: http://localhost:3000; | ||
348 | worker-src ''self'' blob: http://localhost:3000' | ||
349 | Content-Type: | ||
350 | - application/json; charset=utf-8 | ||
351 | ETag: | ||
352 | - W/"b35f9915f1cece26792c44debca04eba" | ||
353 | Referrer-Policy: | ||
354 | - strict-origin-when-cross-origin | ||
355 | Transfer-Encoding: | ||
356 | - chunked | ||
357 | Vary: | ||
358 | - Accept, Origin | ||
359 | X-Content-Type-Options: | ||
360 | - nosniff | ||
361 | X-Download-Options: | ||
362 | - noopen | ||
363 | X-Frame-Options: | ||
364 | - SAMEORIGIN | ||
365 | X-Permitted-Cross-Domain-Policies: | ||
366 | - none | ||
367 | X-RateLimit-Limit: | ||
368 | - '300' | ||
369 | X-RateLimit-Remaining: | ||
370 | - '280' | ||
371 | X-RateLimit-Reset: | ||
372 | - '2022-11-21T21:00:00.149734Z' | ||
373 | X-Request-Id: | ||
374 | - d3d2d232-2fa5-49fa-8772-3b3b67064f54 | ||
375 | X-Runtime: | ||
376 | - '0.041829' | ||
377 | X-XSS-Protection: | ||
378 | - 1; mode=block | ||
379 | status: | ||
380 | code: 200 | ||
381 | message: OK | ||
382 | - request: | ||
383 | body: status=on+the+internet%2C+nobody+knows+you%27re+a+plane | ||
384 | headers: | ||
385 | Accept: | ||
386 | - '*/*' | ||
387 | Accept-Encoding: | ||
388 | - gzip, deflate | ||
389 | Authorization: | ||
390 | - Bearer __MASTODON_PY_TEST_ACCESS_TOKEN_2 | ||
391 | Connection: | ||
392 | - keep-alive | ||
393 | Content-Length: | ||
394 | - '55' | ||
395 | Content-Type: | ||
396 | - application/x-www-form-urlencoded | ||
397 | User-Agent: | ||
398 | - tests/v311 | ||
399 | method: POST | ||
400 | uri: http://localhost:3000/api/v1/statuses | ||
401 | response: | ||
402 | body: | ||
403 | string: '{"id":"109383623715420903","created_at":"2022-11-21T20:14:01.169Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"http://localhost:3000/users/admin/statuses/109383623715420903","url":"http://localhost:3000/@admin/109383623715420903","replies_count":0,"reblogs_count":0,"favourites_count":0,"edited_at":null,"favourited":false,"reblogged":false,"muted":false,"bookmarked":false,"pinned":false,"content":"\u003cp\u003eon | ||
404 | the internet, nobody knows you\u0026#39;re a plane\u003c/p\u003e","filtered":[],"reblog":null,"application":{"name":"Mastodon.py | ||
405 | test suite","website":null},"account":{"id":"109383529410918485","username":"admin","acct":"admin","display_name":"","locked":false,"bot":false,"discoverable":null,"group":false,"created_at":"2022-11-21T00:00:00.000Z","note":"","url":"http://localhost:3000/@admin","avatar":"http://localhost:3000/avatars/original/missing.png","avatar_static":"http://localhost:3000/avatars/original/missing.png","header":"http://localhost:3000/headers/original/missing.png","header_static":"http://localhost:3000/headers/original/missing.png","followers_count":0,"following_count":0,"statuses_count":18,"last_status_at":"2022-11-21","noindex":false,"emojis":[],"fields":[]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"card":null,"poll":null}' | ||
406 | headers: | ||
407 | Cache-Control: | ||
408 | - no-store | ||
409 | Content-Security-Policy: | ||
410 | - 'base-uri ''none''; default-src ''none''; frame-ancestors ''none''; font-src | ||
411 | ''self'' http://localhost:3000; img-src ''self'' https: data: blob: http://localhost:3000; | ||
412 | style-src ''self'' http://localhost:3000 ''nonce-9+Q9FOAegtpbnJdbGAkEug==''; | ||
413 | media-src ''self'' https: data: http://localhost:3000; frame-src ''self'' | ||
414 | https:; manifest-src ''self'' http://localhost:3000; connect-src ''self'' | ||
415 | data: blob: http://localhost:3000 http://localhost:3000 ws://localhost:4000 | ||
416 | ws://localhost:3035 http://localhost:3035; script-src ''self'' ''unsafe-inline'' | ||
417 | ''unsafe-eval'' http://localhost:3000; child-src ''self'' blob: http://localhost:3000; | ||
418 | worker-src ''self'' blob: http://localhost:3000' | ||
419 | Content-Type: | ||
420 | - application/json; charset=utf-8 | ||
421 | ETag: | ||
422 | - W/"3c61174bb890d47140b41b069ab12ac9" | ||
423 | Referrer-Policy: | ||
424 | - strict-origin-when-cross-origin | ||
425 | Transfer-Encoding: | ||
426 | - chunked | ||
427 | Vary: | ||
428 | - Accept, Origin | ||
429 | X-Content-Type-Options: | ||
430 | - nosniff | ||
431 | X-Download-Options: | ||
432 | - noopen | ||
433 | X-Frame-Options: | ||
434 | - SAMEORIGIN | ||
435 | X-Permitted-Cross-Domain-Policies: | ||
436 | - none | ||
437 | X-RateLimit-Limit: | ||
438 | - '300' | ||
439 | X-RateLimit-Remaining: | ||
440 | - '279' | ||
441 | X-RateLimit-Reset: | ||
442 | - '2022-11-21T21:00:00.191358Z' | ||
443 | X-Request-Id: | ||
444 | - ed13758c-2add-437f-b536-aa2ae20a5053 | ||
445 | X-Runtime: | ||
446 | - '0.037447' | ||
447 | X-XSS-Protection: | ||
448 | - 1; mode=block | ||
449 | status: | ||
450 | code: 200 | ||
451 | message: OK | ||
452 | - request: | ||
453 | body: status=%40mastodonpy_test_2+pssssst&visibility=direct | ||
454 | headers: | ||
455 | Accept: | ||
456 | - '*/*' | ||
457 | Accept-Encoding: | ||
458 | - gzip, deflate | ||
459 | Authorization: | ||
460 | - Bearer __MASTODON_PY_TEST_ACCESS_TOKEN | ||
461 | Connection: | ||
462 | - keep-alive | ||
463 | Content-Length: | ||
464 | - '53' | ||
465 | Content-Type: | ||
466 | - application/x-www-form-urlencoded | ||
467 | User-Agent: | ||
468 | - tests/v311 | ||
469 | method: POST | ||
470 | uri: http://localhost:3000/api/v1/statuses | ||
471 | response: | ||
472 | body: | ||
473 | string: '{"id":"109383623718220008","created_at":"2022-11-21T20:14:01.210Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"direct","language":"ja","uri":"http://localhost:3000/users/mastodonpy_test/statuses/109383623718220008","url":"http://localhost:3000/@mastodonpy_test/109383623718220008","replies_count":0,"reblogs_count":0,"favourites_count":0,"edited_at":null,"favourited":false,"reblogged":false,"muted":false,"bookmarked":false,"content":"\u003cp\u003e\u003cspan | ||
474 | class=\"h-card\"\u003e\u003ca href=\"http://localhost:3000/@mastodonpy_test_2\" | ||
475 | class=\"u-url mention\"\u003e@\u003cspan\u003emastodonpy_test_2\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e | ||
476 | pssssst\u003c/p\u003e","filtered":[],"reblog":null,"application":{"name":"Mastodon.py | ||
477 | test suite","website":null},"account":{"id":"109383529633422716","username":"mastodonpy_test","acct":"mastodonpy_test","display_name":"","locked":true,"bot":false,"discoverable":null,"group":false,"created_at":"2022-11-21T00:00:00.000Z","note":"","url":"http://localhost:3000/@mastodonpy_test","avatar":"http://localhost:3000/avatars/original/missing.png","avatar_static":"http://localhost:3000/avatars/original/missing.png","header":"http://localhost:3000/headers/original/missing.png","header_static":"http://localhost:3000/headers/original/missing.png","followers_count":0,"following_count":0,"statuses_count":2,"last_status_at":"2022-11-21","noindex":false,"emojis":[],"fields":[]},"media_attachments":[],"mentions":[{"id":"109383529748114399","username":"mastodonpy_test_2","url":"http://localhost:3000/@mastodonpy_test_2","acct":"mastodonpy_test_2"}],"tags":[],"emojis":[],"card":null,"poll":null}' | ||
478 | headers: | ||
479 | Cache-Control: | ||
480 | - no-store | ||
481 | Content-Security-Policy: | ||
482 | - 'base-uri ''none''; default-src ''none''; frame-ancestors ''none''; font-src | ||
483 | ''self'' http://localhost:3000; img-src ''self'' https: data: blob: http://localhost:3000; | ||
484 | style-src ''self'' http://localhost:3000 ''nonce-NMEtgbxDe9RTVEV5T0VkFQ==''; | ||
485 | media-src ''self'' https: data: http://localhost:3000; frame-src ''self'' | ||
486 | https:; manifest-src ''self'' http://localhost:3000; connect-src ''self'' | ||
487 | data: blob: http://localhost:3000 http://localhost:3000 ws://localhost:4000 | ||
488 | ws://localhost:3035 http://localhost:3035; script-src ''self'' ''unsafe-inline'' | ||
489 | ''unsafe-eval'' http://localhost:3000; child-src ''self'' blob: http://localhost:3000; | ||
490 | worker-src ''self'' blob: http://localhost:3000' | ||
491 | Content-Type: | ||
492 | - application/json; charset=utf-8 | ||
493 | ETag: | ||
494 | - W/"a1283cb3e5a11bb0564976ccbb7ebff5" | ||
495 | Referrer-Policy: | ||
496 | - strict-origin-when-cross-origin | ||
497 | Transfer-Encoding: | ||
498 | - chunked | ||
499 | Vary: | ||
500 | - Accept, Origin | ||
501 | X-Content-Type-Options: | ||
502 | - nosniff | ||
503 | X-Download-Options: | ||
504 | - noopen | ||
505 | X-Frame-Options: | ||
506 | - SAMEORIGIN | ||
507 | X-Permitted-Cross-Domain-Policies: | ||
508 | - none | ||
509 | X-RateLimit-Limit: | ||
510 | - '300' | ||
511 | X-RateLimit-Remaining: | ||
512 | - '284' | ||
513 | X-RateLimit-Reset: | ||
514 | - '2022-11-21T21:00:00.235386Z' | ||
515 | X-Request-Id: | ||
516 | - dc8e6c3d-f368-47a0-88cc-cd1a7c48ad46 | ||
517 | X-Runtime: | ||
518 | - '0.039590' | ||
519 | X-XSS-Protection: | ||
520 | - 1; mode=block | ||
521 | status: | ||
522 | code: 200 | ||
523 | message: OK | ||
524 | - request: | ||
525 | body: status=%40mastodonpy_test+pssssst%21&in_reply_to_id=109383623718220008&visibility=direct | ||
526 | headers: | ||
527 | Accept: | ||
528 | - '*/*' | ||
529 | Accept-Encoding: | ||
530 | - gzip, deflate | ||
531 | Authorization: | ||
532 | - Bearer __MASTODON_PY_TEST_ACCESS_TOKEN_3 | ||
533 | Connection: | ||
534 | - keep-alive | ||
535 | Content-Length: | ||
536 | - '88' | ||
537 | Content-Type: | ||
538 | - application/x-www-form-urlencoded | ||
539 | User-Agent: | ||
540 | - tests/v311 | ||
541 | method: POST | ||
542 | uri: http://localhost:3000/api/v1/statuses | ||
543 | response: | ||
544 | body: | ||
545 | string: '{"id":"109383623721213270","created_at":"2022-11-21T20:14:01.254Z","in_reply_to_id":"109383623718220008","in_reply_to_account_id":"109383529633422716","sensitive":false,"spoiler_text":"","visibility":"direct","language":"ja","uri":"http://localhost:3000/users/mastodonpy_test_2/statuses/109383623721213270","url":"http://localhost:3000/@mastodonpy_test_2/109383623721213270","replies_count":0,"reblogs_count":0,"favourites_count":0,"edited_at":null,"favourited":false,"reblogged":false,"muted":false,"bookmarked":false,"content":"\u003cp\u003e\u003cspan | ||
546 | class=\"h-card\"\u003e\u003ca href=\"http://localhost:3000/@mastodonpy_test\" | ||
547 | class=\"u-url mention\"\u003e@\u003cspan\u003emastodonpy_test\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e | ||
548 | pssssst!\u003c/p\u003e","filtered":[],"reblog":null,"application":{"name":"Mastodon.py | ||
549 | test suite","website":null},"account":{"id":"109383529748114399","username":"mastodonpy_test_2","acct":"mastodonpy_test_2","display_name":"","locked":false,"bot":false,"discoverable":true,"group":false,"created_at":"2022-11-21T00:00:00.000Z","note":"","url":"http://localhost:3000/@mastodonpy_test_2","avatar":"http://localhost:3000/avatars/original/missing.png","avatar_static":"http://localhost:3000/avatars/original/missing.png","header":"http://localhost:3000/headers/original/missing.png","header_static":"http://localhost:3000/headers/original/missing.png","followers_count":0,"following_count":0,"statuses_count":0,"last_status_at":null,"noindex":false,"emojis":[],"fields":[]},"media_attachments":[],"mentions":[{"id":"109383529633422716","username":"mastodonpy_test","url":"http://localhost:3000/@mastodonpy_test","acct":"mastodonpy_test"}],"tags":[],"emojis":[],"card":null,"poll":null}' | ||
550 | headers: | ||
551 | Cache-Control: | ||
552 | - no-store | ||
553 | Content-Security-Policy: | ||
554 | - 'base-uri ''none''; default-src ''none''; frame-ancestors ''none''; font-src | ||
555 | ''self'' http://localhost:3000; img-src ''self'' https: data: blob: http://localhost:3000; | ||
556 | style-src ''self'' http://localhost:3000 ''nonce-7YEjO6vMIqTvJKy3sj/xIA==''; | ||
557 | media-src ''self'' https: data: http://localhost:3000; frame-src ''self'' | ||
558 | https:; manifest-src ''self'' http://localhost:3000; connect-src ''self'' | ||
559 | data: blob: http://localhost:3000 http://localhost:3000 ws://localhost:4000 | ||
560 | ws://localhost:3035 http://localhost:3035; script-src ''self'' ''unsafe-inline'' | ||
561 | ''unsafe-eval'' http://localhost:3000; child-src ''self'' blob: http://localhost:3000; | ||
562 | worker-src ''self'' blob: http://localhost:3000' | ||
563 | Content-Type: | ||
564 | - application/json; charset=utf-8 | ||
565 | ETag: | ||
566 | - W/"59913e3afba82470c492a1dc9244a397" | ||
567 | Referrer-Policy: | ||
568 | - strict-origin-when-cross-origin | ||
569 | Transfer-Encoding: | ||
570 | - chunked | ||
571 | Vary: | ||
572 | - Accept, Origin | ||
573 | X-Content-Type-Options: | ||
574 | - nosniff | ||
575 | X-Download-Options: | ||
576 | - noopen | ||
577 | X-Frame-Options: | ||
578 | - SAMEORIGIN | ||
579 | X-Permitted-Cross-Domain-Policies: | ||
580 | - none | ||
581 | X-RateLimit-Limit: | ||
582 | - '300' | ||
583 | X-RateLimit-Remaining: | ||
584 | - '294' | ||
585 | X-RateLimit-Reset: | ||
586 | - '2022-11-21T21:00:00.280471Z' | ||
587 | X-Request-Id: | ||
588 | - 8680daf1-f5f8-479a-a914-eff562c2e6e6 | ||
589 | X-Runtime: | ||
590 | - '0.039804' | ||
591 | X-XSS-Protection: | ||
592 | - 1; mode=block | ||
593 | status: | ||
594 | code: 200 | ||
595 | message: OK | ||
596 | - request: | ||
597 | body: null | ||
598 | headers: | ||
599 | Accept: | ||
600 | - '*/*' | ||
601 | Accept-Encoding: | ||
602 | - gzip, deflate | ||
603 | Authorization: | ||
604 | - Bearer __MASTODON_PY_TEST_ACCESS_TOKEN | ||
605 | Connection: | ||
606 | - keep-alive | ||
607 | Content-Length: | ||
608 | - '0' | ||
609 | User-Agent: | ||
610 | - tests/v311 | ||
611 | method: DELETE | ||
612 | uri: http://localhost:3000/api/v1/statuses/109383623709269987 | ||
613 | response: | ||
614 | body: | ||
615 | string: '{"id":"109383623709269987","created_at":"2022-11-21T20:14:01.073Z","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/109383623709269987","url":"http://localhost:3000/@mastodonpy_test/109383623709269987","replies_count":0,"reblogs_count":0,"favourites_count":0,"edited_at":null,"favourited":false,"reblogged":false,"muted":false,"bookmarked":false,"pinned":false,"text":"only | ||
616 | real cars respond.","filtered":[],"reblog":null,"application":{"name":"Mastodon.py | ||
617 | test suite","website":null},"account":{"id":"109383529633422716","username":"mastodonpy_test","acct":"mastodonpy_test","display_name":"","locked":true,"bot":false,"discoverable":null,"group":false,"created_at":"2022-11-21T00:00:00.000Z","note":"","url":"http://localhost:3000/@mastodonpy_test","avatar":"http://localhost:3000/avatars/original/missing.png","avatar_static":"http://localhost:3000/avatars/original/missing.png","header":"http://localhost:3000/headers/original/missing.png","header_static":"http://localhost:3000/headers/original/missing.png","followers_count":0,"following_count":0,"statuses_count":1,"last_status_at":"2022-11-21","noindex":false,"emojis":[],"fields":[]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"card":null,"poll":null}' | ||
618 | headers: | ||
619 | Cache-Control: | ||
620 | - no-store | ||
621 | Content-Security-Policy: | ||
622 | - 'base-uri ''none''; default-src ''none''; frame-ancestors ''none''; font-src | ||
623 | ''self'' http://localhost:3000; img-src ''self'' https: data: blob: http://localhost:3000; | ||
624 | style-src ''self'' http://localhost:3000 ''nonce-1cfdgJeSR3MyZA7YkUvM6A==''; | ||
625 | media-src ''self'' https: data: http://localhost:3000; frame-src ''self'' | ||
626 | https:; manifest-src ''self'' http://localhost:3000; connect-src ''self'' | ||
627 | data: blob: http://localhost:3000 http://localhost:3000 ws://localhost:4000 | ||
628 | ws://localhost:3035 http://localhost:3035; script-src ''self'' ''unsafe-inline'' | ||
629 | ''unsafe-eval'' http://localhost:3000; child-src ''self'' blob: http://localhost:3000; | ||
630 | worker-src ''self'' blob: http://localhost:3000' | ||
631 | Content-Type: | ||
632 | - application/json; charset=utf-8 | ||
633 | ETag: | ||
634 | - W/"d42a2551941b52102f8958f3e13b0f6b" | ||
635 | Referrer-Policy: | ||
636 | - strict-origin-when-cross-origin | ||
637 | Transfer-Encoding: | ||
638 | - chunked | ||
639 | Vary: | ||
640 | - Accept, Origin | ||
641 | X-Content-Type-Options: | ||
642 | - nosniff | ||
643 | X-Download-Options: | ||
644 | - noopen | ||
645 | X-Frame-Options: | ||
646 | - SAMEORIGIN | ||
647 | X-Permitted-Cross-Domain-Policies: | ||
648 | - none | ||
649 | X-Request-Id: | ||
650 | - 4afaa85a-3032-4072-95b5-e39f5c021080 | ||
651 | X-Runtime: | ||
652 | - '0.025629' | ||
653 | X-XSS-Protection: | ||
654 | - 1; mode=block | ||
655 | status: | ||
656 | code: 200 | ||
657 | message: OK | ||
658 | - request: | ||
659 | body: null | ||
660 | headers: | ||
661 | Accept: | ||
662 | - '*/*' | ||
663 | Accept-Encoding: | ||
664 | - gzip, deflate | ||
665 | Authorization: | ||
666 | - Bearer __MASTODON_PY_TEST_ACCESS_TOKEN | ||
667 | Connection: | ||
668 | - keep-alive | ||
669 | User-Agent: | ||
670 | - tests/v311 | ||
671 | method: GET | ||
672 | uri: http://localhost:4000/api/v1/streaming/direct | ||
673 | response: | ||
674 | body: | ||
675 | string: ':) | ||
676 | |||
677 | event: conversation | ||
678 | |||
679 | data: {"id":"17","unread":false,"accounts":[{"id":"109383529748114399","username":"mastodonpy_test_2","acct":"mastodonpy_test_2","display_name":"","locked":false,"bot":false,"discoverable":true,"group":false,"created_at":"2022-11-21T00:00:00.000Z","note":"","url":"http://localhost:3000/@mastodonpy_test_2","avatar":"http://localhost:3000/avatars/original/missing.png","avatar_static":"http://localhost:3000/avatars/original/missing.png","header":"http://localhost:3000/headers/original/missing.png","header_static":"http://localhost:3000/headers/original/missing.png","followers_count":0,"following_count":0,"statuses_count":0,"last_status_at":null,"noindex":false,"emojis":[],"fields":[]}],"last_status":{"id":"109383623718220008","created_at":"2022-11-21T20:14:01.210Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"direct","language":"ja","uri":"http://localhost:3000/users/mastodonpy_test/statuses/109383623718220008","url":"http://localhost:3000/@mastodonpy_test/109383623718220008","replies_count":0,"reblogs_count":0,"favourites_count":0,"edited_at":null,"favourited":false,"reblogged":false,"muted":false,"bookmarked":false,"content":"<p><span | ||
680 | class=\"h-card\"><a href=\"http://localhost:3000/@mastodonpy_test_2\" class=\"u-url | ||
681 | mention\">@<span>mastodonpy_test_2</span></a></span> pssssst</p>","filtered":[],"reblog":null,"application":{"name":"Mastodon.py | ||
682 | test suite","website":null},"account":{"id":"109383529633422716","username":"mastodonpy_test","acct":"mastodonpy_test","display_name":"","locked":true,"bot":false,"discoverable":null,"group":false,"created_at":"2022-11-21T00:00:00.000Z","note":"","url":"http://localhost:3000/@mastodonpy_test","avatar":"http://localhost:3000/avatars/original/missing.png","avatar_static":"http://localhost:3000/avatars/original/missing.png","header":"http://localhost:3000/headers/original/missing.png","header_static":"http://localhost:3000/headers/original/missing.png","followers_count":0,"following_count":0,"statuses_count":2,"last_status_at":"2022-11-21","noindex":false,"emojis":[],"fields":[]},"media_attachments":[],"mentions":[{"id":"109383529748114399","username":"mastodonpy_test_2","url":"http://localhost:3000/@mastodonpy_test_2","acct":"mastodonpy_test_2"}],"tags":[],"emojis":[],"card":null,"poll":null}} | ||
683 | |||
684 | |||
685 | event: conversation | ||
686 | |||
687 | data: {"id":"17","unread":true,"accounts":[{"id":"109383529748114399","username":"mastodonpy_test_2","acct":"mastodonpy_test_2","display_name":"","locked":false,"bot":false,"discoverable":true,"group":false,"created_at":"2022-11-21T00:00:00.000Z","note":"","url":"http://localhost:3000/@mastodonpy_test_2","avatar":"http://localhost:3000/avatars/original/missing.png","avatar_static":"http://localhost:3000/avatars/original/missing.png","header":"http://localhost:3000/headers/original/missing.png","header_static":"http://localhost:3000/headers/original/missing.png","followers_count":0,"following_count":0,"statuses_count":0,"last_status_at":null,"noindex":false,"emojis":[],"fields":[]}],"last_status":{"id":"109383623721213270","created_at":"2022-11-21T20:14:01.254Z","in_reply_to_id":"109383623718220008","in_reply_to_account_id":"109383529633422716","sensitive":false,"spoiler_text":"","visibility":"direct","language":"ja","uri":"http://localhost:3000/users/mastodonpy_test_2/statuses/109383623721213270","url":"http://localhost:3000/@mastodonpy_test_2/109383623721213270","replies_count":0,"reblogs_count":0,"favourites_count":0,"edited_at":null,"favourited":false,"reblogged":false,"muted":false,"bookmarked":false,"content":"<p><span | ||
688 | class=\"h-card\"><a href=\"http://localhost:3000/@mastodonpy_test\" class=\"u-url | ||
689 | mention\">@<span>mastodonpy_test</span></a></span> pssssst!</p>","filtered":[],"reblog":null,"application":{"name":"Mastodon.py | ||
690 | test suite","website":null},"account":{"id":"109383529748114399","username":"mastodonpy_test_2","acct":"mastodonpy_test_2","display_name":"","locked":false,"bot":false,"discoverable":true,"group":false,"created_at":"2022-11-21T00:00:00.000Z","note":"","url":"http://localhost:3000/@mastodonpy_test_2","avatar":"http://localhost:3000/avatars/original/missing.png","avatar_static":"http://localhost:3000/avatars/original/missing.png","header":"http://localhost:3000/headers/original/missing.png","header_static":"http://localhost:3000/headers/original/missing.png","followers_count":0,"following_count":0,"statuses_count":0,"last_status_at":null,"noindex":false,"emojis":[],"fields":[]},"media_attachments":[],"mentions":[{"id":"109383529633422716","username":"mastodonpy_test","url":"http://localhost:3000/@mastodonpy_test","acct":"mastodonpy_test"}],"tags":[],"emojis":[],"card":null,"poll":null}} | ||
691 | |||
692 | |||
693 | :' | ||
694 | headers: | ||
695 | Access-Control-Allow-Headers: | ||
696 | - Authorization, Accept, Cache-Control | ||
697 | Access-Control-Allow-Methods: | ||
698 | - GET, OPTIONS | ||
699 | Access-Control-Allow-Origin: | ||
700 | - '*' | ||
701 | Cache-Control: | ||
702 | - no-store | ||
703 | Connection: | ||
704 | - keep-alive | ||
705 | Content-Type: | ||
706 | - text/event-stream | ||
707 | Date: | ||
708 | - Mon, 21 Nov 2022 20:13:56 GMT | ||
709 | Keep-Alive: | ||
710 | - timeout=5 | ||
711 | Transfer-Encoding: | ||
712 | - chunked | ||
713 | X-Powered-By: | ||
714 | - Express | ||
715 | X-Request-Id: | ||
716 | - f1606fe5-1e3e-4204-9a7a-e0a16cb080f1 | ||
717 | status: | ||
718 | code: 200 | ||
719 | message: OK | ||
720 | version: 1 | ||
diff --git a/tests/test_streaming.py b/tests/test_streaming.py index 53a71ee..721fabc 100644 --- a/tests/test_streaming.py +++ b/tests/test_streaming.py | |||
@@ -308,21 +308,31 @@ def test_multiline_payload(): | |||
308 | assert listener.updates == [{"foo": "bar"}] | 308 | assert listener.updates == [{"foo": "bar"}] |
309 | 309 | ||
310 | @pytest.mark.vcr(match_on=['path']) | 310 | @pytest.mark.vcr(match_on=['path']) |
311 | def test_stream_user(api, api2): | 311 | def test_stream_user_direct(api, api2, api3): |
312 | patch_streaming() | 312 | patch_streaming() |
313 | 313 | ||
314 | # Make sure we are in the right state to not receive updates from api2 | 314 | # Make sure we are in the right state to not receive updates from api2 |
315 | user = api2.account_verify_credentials() | 315 | user = api2.account_verify_credentials() |
316 | api.account_unfollow(user) | 316 | api.account_unfollow(user) |
317 | time.sleep(2) | 317 | time.sleep(2) |
318 | 318 | ||
319 | updates = [] | 319 | updates = [] |
320 | local_updates = [] | ||
320 | notifications = [] | 321 | notifications = [] |
321 | deletes = [] | 322 | deletes = [] |
323 | conversations = [] | ||
322 | listener = CallbackStreamListener( | 324 | listener = CallbackStreamListener( |
323 | update_handler = lambda x: updates.append(x), | 325 | update_handler = lambda x: updates.append(x), |
326 | local_update_handler = lambda x: local_updates.append(x), | ||
324 | notification_handler = lambda x: notifications.append(x), | 327 | notification_handler = lambda x: notifications.append(x), |
325 | delete_handler = lambda x: deletes.append(x) | 328 | delete_handler = lambda x: deletes.append(x), |
329 | conversation_handler = lambda x: conversations.append(x), | ||
330 | status_update_handler = lambda x: 0, # TODO | ||
331 | filters_changed_handler = lambda x: 0, | ||
332 | announcement_handler = lambda x: 0, | ||
333 | announcement_reaction_handler = lambda x: 0, | ||
334 | announcement_delete_handler = lambda x: 0, | ||
335 | encryted_message_handler = lambda x: 0, | ||
326 | ) | 336 | ) |
327 | 337 | ||
328 | posted = [] | 338 | posted = [] |
@@ -331,6 +341,8 @@ def test_stream_user(api, api2): | |||
331 | posted.append(api.status_post("only real cars respond.")) | 341 | posted.append(api.status_post("only real cars respond.")) |
332 | posted.append(api2.status_post("@mastodonpy_test beep beep I'm a jeep")) | 342 | posted.append(api2.status_post("@mastodonpy_test beep beep I'm a jeep")) |
333 | posted.append(api2.status_post("on the internet, nobody knows you're a plane")) | 343 | posted.append(api2.status_post("on the internet, nobody knows you're a plane")) |
344 | posted.append(api.status_post("@mastodonpy_test_2 pssssst", visibility="direct")) | ||
345 | posted.append(api3.status_post("@mastodonpy_test pssssst!", visibility="direct", in_reply_to_id=posted[-1])) | ||
334 | time.sleep(1) | 346 | time.sleep(1) |
335 | api.status_delete(posted[0]) | 347 | api.status_delete(posted[0]) |
336 | time.sleep(10) | 348 | time.sleep(10) |
@@ -340,13 +352,17 @@ def test_stream_user(api, api2): | |||
340 | t.start() | 352 | t.start() |
341 | 353 | ||
342 | stream = api.stream_user(listener, run_async=True) | 354 | stream = api.stream_user(listener, run_async=True) |
355 | stream2 = api.stream_direct(listener, run_async=True) | ||
343 | time.sleep(20) | 356 | time.sleep(20) |
344 | stream.close() | 357 | stream.close() |
358 | stream2.close() | ||
345 | 359 | ||
346 | assert len(updates) == 1 | 360 | assert len(updates) == 2 |
347 | assert len(notifications) == 1 | 361 | assert len(local_updates) == 2 |
362 | assert len(notifications) == 2 | ||
348 | assert len(deletes) == 1 | 363 | assert len(deletes) == 1 |
349 | 364 | assert len(conversations) == 2 | |
365 | |||
350 | assert updates[0].id == posted[0].id | 366 | assert updates[0].id == posted[0].id |
351 | assert deletes[0] == posted[0].id | 367 | assert deletes[0] == posted[0].id |
352 | assert notifications[0].status.id == posted[1].id | 368 | assert notifications[0].status.id == posted[1].id |