interactions: - request: body: subscription%5Bendpoint%5D=https%3A%2F%2Fexample.com&subscription%5Bkeys%5D%5Bp256dh%5D=BH72dVKCtwzGbBmsPorboI4pSaarfpNx4xHFfN6V2ntAj0GL03wwl%2B8dTIU119u8AGGFkHjrW2GjyCAseavkwFY%3D&subscription%5Bkeys%5D%5Bauth%5D=B94kDiV%2BSmhgaK9WqD%2FYBw%3D%3D&policy=all&data%5Balerts%5D%5Bfollow%5D=0&data%5Balerts%5D%5Bfavourite%5D=0&data%5Balerts%5D%5Breblog%5D=0&data%5Balerts%5D%5Bmention%5D=0 headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate Authorization: - Bearer __MASTODON_PY_TEST_ACCESS_TOKEN Connection: - keep-alive Content-Length: - '385' Content-Type: - application/x-www-form-urlencoded User-Agent: - tests/v311 method: POST uri: http://localhost:3000/api/v1/push/subscription response: body: string: '{"id":2,"endpoint":"https://example.com","alerts":{"mention":false,"reblog":false,"follow":false,"favourite":false},"server_key":"BAXUE0TaUgsrhjLqzO_370WUzChXfo5ss7qFTZeLYPeo_wUOf25JdejEjdssCvwKgGIHcrwvQ26Bjz7DdYWqKHY="}' 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-JKF51y+xFDG/RRouWyfd6Q==''; 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/"61074eb86678e0a109a4a3451889fe3c" 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: - 637bb507-235a-4b20-8a7a-f670da78a694 X-Runtime: - '0.014053' X-XSS-Protection: - 1; mode=block status: code: 200 message: OK - request: body: data%5Balerts%5D%5Bfollow%5D=1&data%5Balerts%5D%5Bfavourite%5D=1&data%5Balerts%5D%5Breblog%5D=1&data%5Balerts%5D%5Bmention%5D=1 headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate Authorization: - Bearer __MASTODON_PY_TEST_ACCESS_TOKEN Connection: - keep-alive Content-Length: - '127' Content-Type: - application/x-www-form-urlencoded User-Agent: - tests/v311 method: PUT uri: http://localhost:3000/api/v1/push/subscription response: body: string: '{"id":2,"endpoint":"https://example.com","alerts":{"mention":true,"reblog":true,"follow":true,"favourite":true},"server_key":"BAXUE0TaUgsrhjLqzO_370WUzChXfo5ss7qFTZeLYPeo_wUOf25JdejEjdssCvwKgGIHcrwvQ26Bjz7DdYWqKHY="}' 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-O2a91HoFNexN5OfQsVfBJA==''; 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/"950f430c1ffb02f2af009622a55a0207" 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: - 4b8c7e6f-e9c7-4382-b0e9-3406f05ebc67 X-Runtime: - '0.011043' 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 Connection: - keep-alive User-Agent: - tests/v311 method: GET uri: http://localhost:3000/api/v1/push/subscription response: body: string: '{"id":2,"endpoint":"https://example.com","alerts":{"mention":true,"reblog":true,"follow":true,"favourite":true},"server_key":"BAXUE0TaUgsrhjLqzO_370WUzChXfo5ss7qFTZeLYPeo_wUOf25JdejEjdssCvwKgGIHcrwvQ26Bjz7DdYWqKHY="}' 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-QWk7g2Ndi2nNIhKZ807PDg==''; 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/"950f430c1ffb02f2af009622a55a0207" 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: - 9dce15b7-0c6e-4fd1-a2ad-e0b481bcd840 X-Runtime: - '0.008438' X-XSS-Protection: - 1; mode=block status: code: 200 message: OK - request: body: data%5Balerts%5D%5Bfollow%5D=0&data%5Balerts%5D%5Bfavourite%5D=0&data%5Balerts%5D%5Breblog%5D=0&data%5Balerts%5D%5Bmention%5D=0 headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate Authorization: - Bearer __MASTODON_PY_TEST_ACCESS_TOKEN Connection: - keep-alive Content-Length: - '127' Content-Type: - application/x-www-form-urlencoded User-Agent: - tests/v311 method: PUT uri: http://localhost:3000/api/v1/push/subscription response: body: string: '{"id":2,"endpoint":"https://example.com","alerts":{"mention":false,"reblog":false,"follow":false,"favourite":false},"server_key":"BAXUE0TaUgsrhjLqzO_370WUzChXfo5ss7qFTZeLYPeo_wUOf25JdejEjdssCvwKgGIHcrwvQ26Bjz7DdYWqKHY="}' 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-/2BrkB70WpaYNmBfn16Evw==''; 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/"61074eb86678e0a109a4a3451889fe3c" 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: - 75d351e3-d05d-47d5-95da-aacc33307b8d X-Runtime: - '0.021481' 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 Connection: - keep-alive User-Agent: - tests/v311 method: GET uri: http://localhost:3000/api/v1/push/subscription response: body: string: '{"id":2,"endpoint":"https://example.com","alerts":{"mention":false,"reblog":false,"follow":false,"favourite":false},"server_key":"BAXUE0TaUgsrhjLqzO_370WUzChXfo5ss7qFTZeLYPeo_wUOf25JdejEjdssCvwKgGIHcrwvQ26Bjz7DdYWqKHY="}' 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-yIWPPCRUY7YlA6Jn2AK0Qw==''; 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/"61074eb86678e0a109a4a3451889fe3c" 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: - fb7fdbce-b103-4169-8496-6e855052d4df X-Runtime: - '0.008194' 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 Connection: - keep-alive User-Agent: - tests/v311 method: GET uri: http://localhost:3000/api/v1/push/subscription response: body: string: '{"id":2,"endpoint":"https://example.com","alerts":{"mention":false,"reblog":false,"follow":false,"favourite":false},"server_key":"BAXUE0TaUgsrhjLqzO_370WUzChXfo5ss7qFTZeLYPeo_wUOf25JdejEjdssCvwKgGIHcrwvQ26Bjz7DdYWqKHY="}' 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-VNuvGBqXtT47ksn6j+R4TQ==''; 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/"61074eb86678e0a109a4a3451889fe3c" 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: - 4231bd4a-e8da-4c52-aeb4-1d3e6a05177c X-Runtime: - '0.007460' X-XSS-Protection: - 1; mode=block status: code: 200 message: OK version: 1