interactions: - request: body: username=mastodonpy_test_2%40localhost%3A3000&password=5fc638e0e53eafd9c4145b6bb852667d&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&grant_type=password&client_id=__MASTODON_PY_TEST_CLIENT_ID&client_secret=__MASTODON_PY_TEST_CLIENT_SECRET&scope=read+write+follow+push headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate Connection: - keep-alive Content-Length: - '271' Content-Type: - application/x-www-form-urlencoded User-Agent: - tests/v311 method: POST uri: http://localhost:3000/oauth/token response: body: string: '{"access_token":"__MASTODON_PY_TEST_ACCESS_TOKEN_3","token_type":"Bearer","scope":"read write follow push","created_at":1669069472}' headers: Cache-Control: - no-store Content-Security-Policy: - 'base-uri ''none''; default-src ''none''; frame-ancestors ''none''; font-src ''self'' http://localhost:3000; img-src ''self'' https: data: blob: http://localhost:3000; style-src ''self'' http://localhost:3000 ''nonce-2hAAmzxVIF2o8Dybbe/Nlw==''; media-src ''self'' https: data: http://localhost:3000; frame-src ''self'' https:; manifest-src ''self'' http://localhost:3000; connect-src ''self'' data: blob: http://localhost:3000 http://localhost:3000 ws://localhost:4000 ws://localhost:3035 http://localhost:3035; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' http://localhost:3000; child-src ''self'' blob: http://localhost:3000; worker-src ''self'' blob: http://localhost:3000' Content-Type: - application/json; charset=utf-8 ETag: - W/"2f20b949ed12ddfc15861ec448b5551f" Pragma: - no-cache Referrer-Policy: - strict-origin-when-cross-origin Transfer-Encoding: - chunked Vary: - Accept, Origin X-Content-Type-Options: - nosniff X-Download-Options: - noopen X-Frame-Options: - SAMEORIGIN X-Permitted-Cross-Domain-Policies: - none X-Request-Id: - 8e26834c-db67-484e-bf41-80e3a1e48c83 X-Runtime: - '0.056343' X-XSS-Protection: - 1; mode=block status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate Authorization: - Bearer __MASTODON_PY_TEST_ACCESS_TOKEN_3 Connection: - keep-alive User-Agent: - tests/v311 method: GET uri: http://localhost:3000/api/v1/instance/ response: body: 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":1,"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":[]}' headers: Cache-Control: - max-age=180, public Content-Security-Policy: - 'base-uri ''none''; default-src ''none''; frame-ancestors ''none''; font-src ''self'' http://localhost:3000; img-src ''self'' https: data: blob: http://localhost:3000; style-src ''self'' http://localhost:3000 ''nonce-p/U3iDcksaJMkQ5IvZDsGQ==''; media-src ''self'' https: data: http://localhost:3000; frame-src ''self'' https:; manifest-src ''self'' http://localhost:3000; connect-src ''self'' data: blob: http://localhost:3000 http://localhost:3000 ws://localhost:4000 ws://localhost:3035 http://localhost:3035; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' http://localhost:3000; child-src ''self'' blob: http://localhost:3000; worker-src ''self'' blob: http://localhost:3000' Content-Type: - application/json; charset=utf-8 Date: - Mon, 21 Nov 2022 20:24:59 GMT ETag: - W/"bf317ffab393d8d1da7195269f28968a" Referrer-Policy: - strict-origin-when-cross-origin Transfer-Encoding: - chunked Vary: - Accept, Origin X-Content-Type-Options: - nosniff X-Download-Options: - noopen X-Frame-Options: - SAMEORIGIN X-Permitted-Cross-Domain-Policies: - none X-Request-Id: - 1d68749b-1782-4ee2-b0b4-f3b08b1253eb X-Runtime: - '0.029627' X-XSS-Protection: - 1; mode=block status: code: 200 message: OK - request: body: client_id=__MASTODON_PY_TEST_CLIENT_ID&client_secret=__MASTODON_PY_TEST_CLIENT_SECRET&token=__MASTODON_PY_TEST_ACCESS_TOKEN_3 headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate Authorization: - Bearer __MASTODON_PY_TEST_ACCESS_TOKEN_3 Connection: - keep-alive Content-Length: - '125' Content-Type: - application/x-www-form-urlencoded User-Agent: - tests/v311 method: POST uri: http://localhost:3000/oauth/revoke response: body: string: '{}' headers: Cache-Control: - max-age=0, private, must-revalidate Content-Security-Policy: - 'base-uri ''none''; default-src ''none''; frame-ancestors ''none''; font-src ''self'' http://localhost:3000; img-src ''self'' https: data: blob: http://localhost:3000; style-src ''self'' http://localhost:3000 ''nonce-DWtDMY1MqGERclXgCGbr0Q==''; media-src ''self'' https: data: http://localhost:3000; frame-src ''self'' https:; manifest-src ''self'' http://localhost:3000; connect-src ''self'' data: blob: http://localhost:3000 http://localhost:3000 ws://localhost:4000 ws://localhost:3035 http://localhost:3035; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' http://localhost:3000; child-src ''self'' blob: http://localhost:3000; worker-src ''self'' blob: http://localhost:3000' Content-Type: - application/json; charset=utf-8 ETag: - W/"44136fa355b3678a1146ad16f7e8649e" Referrer-Policy: - strict-origin-when-cross-origin Transfer-Encoding: - chunked Vary: - Accept X-Content-Type-Options: - nosniff X-Download-Options: - noopen X-Frame-Options: - SAMEORIGIN X-Permitted-Cross-Domain-Policies: - none X-Request-Id: - a63c3472-347e-48f5-8a11-4e5b6ebf4836 X-Runtime: - '0.025417' X-XSS-Protection: - 1; mode=block status: code: 200 message: OK - request: body: status=illegal+access+detected headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate Connection: - keep-alive Content-Length: - '30' Content-Type: - application/x-www-form-urlencoded User-Agent: - tests/v311 method: POST uri: http://localhost:3000/api/v1/statuses response: body: string: '{"error":"The access token is invalid"}' headers: Cache-Control: - no-store Content-Security-Policy: - 'base-uri ''none''; default-src ''none''; frame-ancestors ''none''; font-src ''self'' http://localhost:3000; img-src ''self'' https: data: blob: http://localhost:3000; style-src ''self'' http://localhost:3000 ''nonce-8Wq3rXCQa6b3gM8cbtEXVQ==''; media-src ''self'' https: data: http://localhost:3000; frame-src ''self'' https:; manifest-src ''self'' http://localhost:3000; connect-src ''self'' data: blob: http://localhost:3000 http://localhost:3000 ws://localhost:4000 ws://localhost:3035 http://localhost:3035; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' http://localhost:3000; child-src ''self'' blob: http://localhost:3000; worker-src ''self'' blob: http://localhost:3000' Content-Type: - application/json; charset=utf-8 Pragma: - no-cache Referrer-Policy: - strict-origin-when-cross-origin Transfer-Encoding: - chunked Vary: - Accept, Origin WWW-Authenticate: - Bearer realm="Doorkeeper", error="invalid_token", error_description="The access token is invalid" X-Content-Type-Options: - nosniff X-Download-Options: - noopen X-Frame-Options: - SAMEORIGIN X-Permitted-Cross-Domain-Policies: - none X-Request-Id: - 220822bd-2303-424b-96d7-babf8edfc5b9 X-Runtime: - '0.543121' X-XSS-Protection: - 1; mode=block status: code: 401 message: Unauthorized - request: body: status=illegal+access+detected headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate Connection: - keep-alive Content-Length: - '30' Content-Type: - application/x-www-form-urlencoded User-Agent: - tests/v311 method: POST uri: http://localhost:3000/api/v1/statuses response: body: string: '{"error":"The access token is invalid"}' headers: Cache-Control: - no-store Content-Security-Policy: - 'base-uri ''none''; default-src ''none''; frame-ancestors ''none''; font-src ''self'' http://localhost:3000; img-src ''self'' https: data: blob: http://localhost:3000; style-src ''self'' http://localhost:3000 ''nonce-fMWth9zD7qWcG79MyycwRQ==''; media-src ''self'' https: data: http://localhost:3000; frame-src ''self'' https:; manifest-src ''self'' http://localhost:3000; connect-src ''self'' data: blob: http://localhost:3000 http://localhost:3000 ws://localhost:4000 ws://localhost:3035 http://localhost:3035; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' http://localhost:3000; child-src ''self'' blob: http://localhost:3000; worker-src ''self'' blob: http://localhost:3000' Content-Type: - application/json; charset=utf-8 Pragma: - no-cache Referrer-Policy: - strict-origin-when-cross-origin Transfer-Encoding: - chunked Vary: - Accept, Origin WWW-Authenticate: - Bearer realm="Doorkeeper", error="invalid_token", error_description="The access token is invalid" X-Content-Type-Options: - nosniff X-Download-Options: - noopen X-Frame-Options: - SAMEORIGIN X-Permitted-Cross-Domain-Policies: - none X-Request-Id: - 17a0fa0b-62a6-44ef-90a4-91a90dcd68c8 X-Runtime: - '0.005676' X-XSS-Protection: - 1; mode=block status: code: 401 message: Unauthorized version: 1