From 01e52ccd8fe9dda667e0a7cc1a872a0437a10c8e Mon Sep 17 00:00:00 2001 From: Lorenz Diener Date: Tue, 5 Jun 2018 22:52:18 +0200 Subject: Add push tests --- tests/cassettes/test_media_update.yaml | 1007 ++++++++++++++++++++++++++++++++ tests/cassettes/test_push_delete.yaml | 88 +++ tests/cassettes/test_push_set.yaml | 60 ++ tests/cassettes/test_push_update.yaml | 148 +++++ tests/conftest.py | 2 +- tests/test_media.py | 19 + tests/test_push.py | 48 +- 7 files changed, 1370 insertions(+), 2 deletions(-) create mode 100644 tests/cassettes/test_media_update.yaml create mode 100644 tests/cassettes/test_push_delete.yaml create mode 100644 tests/cassettes/test_push_set.yaml create mode 100644 tests/cassettes/test_push_update.yaml (limited to 'tests') diff --git a/tests/cassettes/test_media_update.yaml b/tests/cassettes/test_media_update.yaml new file mode 100644 index 0000000..738fcaa --- /dev/null +++ b/tests/cassettes/test_media_update.yaml @@ -0,0 +1,1007 @@ +interactions: +- request: + body: !!binary | + LS01MmI0OWE1MDJlNDE0NmU2ODNjYjY3ZTBiY2Q1OGM1Zg0KQ29udGVudC1EaXNwb3NpdGlvbjog + Zm9ybS1kYXRhOyBuYW1lPSJkZXNjcmlwdGlvbiINCg0KSm9obiBMZW5ub24gZG9pbmcgYSBmdW5u + eSB3YWxrDQotLTUyYjQ5YTUwMmU0MTQ2ZTY4M2NiNjdlMGJjZDU4YzVmDQpDb250ZW50LURpc3Bv + c2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9ImZvY3VzIg0KDQotMC41LDAuMw0KLS01MmI0OWE1MDJl + NDE0NmU2ODNjYjY3ZTBiY2Q1OGM1Zg0KQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBu + YW1lPSJmaWxlIjsgZmlsZW5hbWU9Im1hc3RvZG9ucHl1cGxvYWRfMTUyODIyOTc5OC4zNzA1OTQz + X09PMVUwNlJRUkEuanBlZyINCkNvbnRlbnQtVHlwZTogaW1hZ2UvanBlZw0KDQr/2P/gABBKRklG + AAEBAQBIAEgAAP/iAhxJQ0NfUFJPRklMRQABAQAAAgxsY21zAhAAAG1udHJSR0IgWFlaIAfcAAEA + GQADACkAOWFjc3BBUFBMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD21gABAAAAANMtbGNtcwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACmRlc2MAAAD8AAAA + XmNwcnQAAAFcAAAAC3d0cHQAAAFoAAAAFGJrcHQAAAF8AAAAFHJYWVoAAAGQAAAAFGdYWVoAAAGk + AAAAFGJYWVoAAAG4AAAAFHJUUkMAAAHMAAAAQGdUUkMAAAHMAAAAQGJUUkMAAAHMAAAAQGRlc2MA + AAAAAAAAA2MyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHRleHQAAAAARkIAAFhZWiAAAAAAAAD2 + 1gABAAAAANMtWFlaIAAAAAAAAAMWAAADMwAAAqRYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAA + AABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9jdXJ2AAAAAAAAABoAAADLAckDYwWSCGsL + 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 + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Authorization: [Bearer __MASTODON_PY_TEST_ACCESS_TOKEN] + Connection: [keep-alive] + Content-Length: ['53739'] + Content-Type: [multipart/form-data; boundary=52b49a502e4146e683cb67e0bcd58c5f] + User-Agent: [python-requests/2.9.1] + method: POST + uri: http://localhost:3000/api/v1/media + response: + body: {string: '{"id":"4","type":"image","url":"http://localhost:3000/system/media_attachments/files/000/000/004/original/be27660976cd8e56.jpeg","preview_url":"http://localhost:3000/system/media_attachments/files/000/000/004/small/be27660976cd8e56.jpeg","remote_url":null,"text_url":"http://localhost:3000/media/h-6ydf9fNKdXB15DwPY","meta":{"focus":{"x":-0.5,"y":0.3},"original":{"width":600,"height":600,"size":"600x600","aspect":1.0},"small":{"width":400,"height":400,"size":"400x400","aspect":1.0}},"description":"John + Lennon doing a funny walk"}'} + headers: + Cache-Control: ['max-age=0, private, must-revalidate'] + Content-Type: [application/json; charset=utf-8] + ETag: [W/"9211d3609ed5bda237bb8c65dbd811a6"] + Referrer-Policy: [strict-origin-when-cross-origin] + Transfer-Encoding: [chunked] + Vary: ['Accept-Encoding, Origin'] + X-Content-Type-Options: [nosniff] + X-Download-Options: [noopen] + X-Frame-Options: [SAMEORIGIN] + X-Permitted-Cross-Domain-Policies: [none] + X-Request-Id: [c2051848-2868-4d16-9111-cf803d397eed] + X-Runtime: ['0.145132'] + X-XSS-Protection: [1; mode=block] + content-length: ['533'] + status: {code: 200, message: OK} +- request: + body: description=John+Lennon+doing+a+cool+walk&focus=0.69%2C0.69 + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Authorization: [Bearer __MASTODON_PY_TEST_ACCESS_TOKEN] + Connection: [keep-alive] + Content-Length: ['59'] + Content-Type: [application/x-www-form-urlencoded] + User-Agent: [python-requests/2.9.1] + method: PUT + uri: http://localhost:3000/api/v1/media/4 + response: + body: {string: '{"id":"4","type":"image","url":"http://localhost:3000/system/media_attachments/files/000/000/004/original/be27660976cd8e56.jpeg","preview_url":"http://localhost:3000/system/media_attachments/files/000/000/004/small/be27660976cd8e56.jpeg","remote_url":null,"text_url":"http://localhost:3000/media/h-6ydf9fNKdXB15DwPY","meta":{"focus":{"x":0.69,"y":0.69},"original":{"width":600,"height":600,"size":"600x600","aspect":1.0},"small":{"width":400,"height":400,"size":"400x400","aspect":1.0}},"description":"John + Lennon doing a cool walk"}'} + headers: + Cache-Control: ['max-age=0, private, must-revalidate'] + Content-Type: [application/json; charset=utf-8] + ETag: [W/"012123bd2ebd69bed8202b7107977f5f"] + Referrer-Policy: [strict-origin-when-cross-origin] + Transfer-Encoding: [chunked] + Vary: ['Accept-Encoding, Origin'] + X-Content-Type-Options: [nosniff] + X-Download-Options: [noopen] + X-Frame-Options: [SAMEORIGIN] + X-Permitted-Cross-Domain-Policies: [none] + X-Request-Id: [a4111738-3312-4b9d-b342-6967af7dfbf6] + X-Runtime: ['0.031496'] + X-XSS-Protection: [1; mode=block] + content-length: ['533'] + status: {code: 200, message: OK} +version: 1 diff --git a/tests/cassettes/test_push_delete.yaml b/tests/cassettes/test_push_delete.yaml new file mode 100644 index 0000000..92c0acb --- /dev/null +++ b/tests/cassettes/test_push_delete.yaml @@ -0,0 +1,88 @@ +interactions: +- request: + body: subscription%5Bendpoint%5D=https%3A%2F%2Fexample.com&subscription%5Bkeys%5D%5Bp256dh%5D=BKf9D9Gl2PhY6ruoL5t03nMUM%2Fgrz%2FV2t7Ulu9jX8j0CFVp4uI05RdCwg3rc%2BZRauRej7WNr25EVZ6Xu36IjxKI%3D&subscription%5Bkeys%5D%5Bauth%5D=4WFT9tyJwbMJcYaGZ5cqLg%3D%3D + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Authorization: [Bearer __MASTODON_PY_TEST_ACCESS_TOKEN] + Connection: [keep-alive] + Content-Length: ['246'] + Content-Type: [application/x-www-form-urlencoded] + User-Agent: [python-requests/2.9.1] + method: POST + uri: http://localhost:3000/api/v1/push/subscription + response: + body: {string: '{"id":2,"endpoint":"https://example.com","alerts":{},"server_key":"BEFgv48oiSIH0eOGT7FydL1ukygGBCLjUDocQJQABVZuFedxZr3QRjZQQvaVVrtMALGqQj9Skemt34NvshOvhyo="}'} + headers: + Cache-Control: ['max-age=0, private, must-revalidate'] + Content-Type: [application/json; charset=utf-8] + ETag: [W/"2332b55e95a78e8117bad874f3a6dfe3"] + Referrer-Policy: [strict-origin-when-cross-origin] + Transfer-Encoding: [chunked] + Vary: ['Accept-Encoding, Origin'] + X-Content-Type-Options: [nosniff] + X-Download-Options: [noopen] + X-Frame-Options: [SAMEORIGIN] + X-Permitted-Cross-Domain-Policies: [none] + X-Request-Id: [7d00e007-87df-40a0-948b-149825c01b29] + X-Runtime: ['0.040019'] + X-XSS-Protection: [1; mode=block] + content-length: ['157'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Authorization: [Bearer __MASTODON_PY_TEST_ACCESS_TOKEN] + Connection: [keep-alive] + Content-Length: ['0'] + User-Agent: [python-requests/2.9.1] + method: DELETE + uri: http://localhost:3000/api/v1/push/subscription + response: + body: {string: '{}'} + headers: + Cache-Control: ['max-age=0, private, must-revalidate'] + Content-Type: [application/json; charset=utf-8] + ETag: [W/"ab10e86dced2746251206331ba63dcdc"] + Referrer-Policy: [strict-origin-when-cross-origin] + Transfer-Encoding: [chunked] + Vary: ['Accept-Encoding, Origin'] + X-Content-Type-Options: [nosniff] + X-Download-Options: [noopen] + X-Frame-Options: [SAMEORIGIN] + X-Permitted-Cross-Domain-Policies: [none] + X-Request-Id: [034c37de-98b0-443d-af63-d6c9e7245302] + X-Runtime: ['0.044571'] + X-XSS-Protection: [1; mode=block] + content-length: ['2'] + 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: [python-requests/2.9.1] + method: GET + uri: http://localhost:3000/api/v1/push/subscription + response: + body: {string: '{"error":"Record not found"}'} + headers: + Cache-Control: [no-cache] + Content-Type: [application/json; charset=utf-8] + Referrer-Policy: [strict-origin-when-cross-origin] + Transfer-Encoding: [chunked] + Vary: ['Accept-Encoding, Origin'] + X-Content-Type-Options: [nosniff] + X-Download-Options: [noopen] + X-Frame-Options: [SAMEORIGIN] + X-Permitted-Cross-Domain-Policies: [none] + X-Request-Id: [501bfcc2-0621-440b-bac8-57df49dcab3e] + X-Runtime: ['0.019924'] + X-XSS-Protection: [1; mode=block] + content-length: ['28'] + status: {code: 404, message: Not Found} +version: 1 diff --git a/tests/cassettes/test_push_set.yaml b/tests/cassettes/test_push_set.yaml new file mode 100644 index 0000000..5cb71e8 --- /dev/null +++ b/tests/cassettes/test_push_set.yaml @@ -0,0 +1,60 @@ +interactions: +- request: + body: subscription%5Bkeys%5D%5Bp256dh%5D=BN2C9y4bkh%2F4nE00yBj6MtIhI%2Bs2ZZsV2uDjzmlpNez5Y%2BL72Myw2T1B7wzPr4bnJZTjTuk6QorSXzOKignYviE%3D&subscription%5Bkeys%5D%5Bauth%5D=IRHAwv4FlkgqOeIFAStUFA%3D%3D&subscription%5Bendpoint%5D=https%3A%2F%2Fexample.com + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Authorization: [Bearer __MASTODON_PY_TEST_ACCESS_TOKEN] + Connection: [keep-alive] + Content-Length: ['246'] + Content-Type: [application/x-www-form-urlencoded] + User-Agent: [python-requests/2.9.1] + method: POST + uri: http://localhost:3000/api/v1/push/subscription + response: + body: {string: '{"id":9,"endpoint":"https://example.com","alerts":{},"server_key":"BEFgv48oiSIH0eOGT7FydL1ukygGBCLjUDocQJQABVZuFedxZr3QRjZQQvaVVrtMALGqQj9Skemt34NvshOvhyo="}'} + headers: + Cache-Control: ['max-age=0, private, must-revalidate'] + Content-Type: [application/json; charset=utf-8] + ETag: [W/"03197a3e0be5931be8c9e5de50a5decd"] + Referrer-Policy: [strict-origin-when-cross-origin] + Transfer-Encoding: [chunked] + Vary: ['Accept-Encoding, Origin'] + X-Content-Type-Options: [nosniff] + X-Download-Options: [noopen] + X-Frame-Options: [SAMEORIGIN] + X-Permitted-Cross-Domain-Policies: [none] + X-Request-Id: [b29b0737-bd98-49b1-b20b-b26ef35b62ac] + X-Runtime: ['0.039190'] + X-XSS-Protection: [1; mode=block] + content-length: ['157'] + 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: [python-requests/2.9.1] + method: GET + uri: http://localhost:3000/api/v1/push/subscription + response: + body: {string: '{"id":9,"endpoint":"https://example.com","alerts":{},"server_key":"BEFgv48oiSIH0eOGT7FydL1ukygGBCLjUDocQJQABVZuFedxZr3QRjZQQvaVVrtMALGqQj9Skemt34NvshOvhyo="}'} + headers: + Cache-Control: ['max-age=0, private, must-revalidate'] + Content-Type: [application/json; charset=utf-8] + ETag: [W/"03197a3e0be5931be8c9e5de50a5decd"] + Referrer-Policy: [strict-origin-when-cross-origin] + Transfer-Encoding: [chunked] + Vary: ['Accept-Encoding, Origin'] + X-Content-Type-Options: [nosniff] + X-Download-Options: [noopen] + X-Frame-Options: [SAMEORIGIN] + X-Permitted-Cross-Domain-Policies: [none] + X-Request-Id: [75c9bcf7-8ac4-449e-b590-0f728aa475cb] + X-Runtime: ['0.020819'] + X-XSS-Protection: [1; mode=block] + content-length: ['157'] + status: {code: 200, message: OK} +version: 1 diff --git a/tests/cassettes/test_push_update.yaml b/tests/cassettes/test_push_update.yaml new file mode 100644 index 0000000..d104e16 --- /dev/null +++ b/tests/cassettes/test_push_update.yaml @@ -0,0 +1,148 @@ +interactions: +- request: + body: data%5Balerts%5D%5Bfollow%5D=False&data%5Balerts%5D%5Bmention%5D=False&data%5Balerts%5D%5Bfavourite%5D=False&data%5Balerts%5D%5Breblog%5D=False&subscription%5Bkeys%5D%5Bauth%5D=h5Zt2UrWoYKx02aVC5L0%2Fg%3D%3D&subscription%5Bendpoint%5D=https%3A%2F%2Fexample.com&subscription%5Bkeys%5D%5Bp256dh%5D=BJ%2F4Tq2mAxlVXrgepITYrCU%2B%2F0628kF1nX1vzbBUP3s2C%2FiLo9v1%2FMVCgpMLHVuPNG4fRCjgowdx4D9O%2FDSfncY%3D + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Authorization: [Bearer __MASTODON_PY_TEST_ACCESS_TOKEN] + Connection: [keep-alive] + Content-Length: ['398'] + Content-Type: [application/x-www-form-urlencoded] + User-Agent: [python-requests/2.9.1] + method: POST + uri: http://localhost:3000/api/v1/push/subscription + response: + body: {string: '{"id":8,"endpoint":"https://example.com","alerts":{"follow":"False","favourite":"False","reblog":"False","mention":"False"},"server_key":"BEFgv48oiSIH0eOGT7FydL1ukygGBCLjUDocQJQABVZuFedxZr3QRjZQQvaVVrtMALGqQj9Skemt34NvshOvhyo="}'} + headers: + Cache-Control: ['max-age=0, private, must-revalidate'] + Content-Type: [application/json; charset=utf-8] + ETag: [W/"b5b71aae730fd5d31b23f14fdd57c42f"] + Referrer-Policy: [strict-origin-when-cross-origin] + Transfer-Encoding: [chunked] + Vary: ['Accept-Encoding, Origin'] + X-Content-Type-Options: [nosniff] + X-Download-Options: [noopen] + X-Frame-Options: [SAMEORIGIN] + X-Permitted-Cross-Domain-Policies: [none] + X-Request-Id: [9fada085-29a3-4666-8c07-2021409541bf] + X-Runtime: ['0.049096'] + X-XSS-Protection: [1; mode=block] + content-length: ['228'] + status: {code: 200, message: OK} +- request: + body: data%5Balerts%5D%5Bfollow%5D=True&data%5Balerts%5D%5Bmention%5D=True&data%5Balerts%5D%5Bfavourite%5D=True&data%5Balerts%5D%5Breblog%5D=True + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Authorization: [Bearer __MASTODON_PY_TEST_ACCESS_TOKEN] + Connection: [keep-alive] + Content-Length: ['139'] + Content-Type: [application/x-www-form-urlencoded] + User-Agent: [python-requests/2.9.1] + method: PUT + uri: http://localhost:3000/api/v1/push/subscription + response: + body: {string: '{"id":8,"endpoint":"https://example.com","alerts":{"follow":"True","favourite":"True","reblog":"True","mention":"True"},"server_key":"BEFgv48oiSIH0eOGT7FydL1ukygGBCLjUDocQJQABVZuFedxZr3QRjZQQvaVVrtMALGqQj9Skemt34NvshOvhyo="}'} + headers: + Cache-Control: ['max-age=0, private, must-revalidate'] + Content-Type: [application/json; charset=utf-8] + ETag: [W/"3fafedf49e495c0eb69b2da4d976d97d"] + Referrer-Policy: [strict-origin-when-cross-origin] + Transfer-Encoding: [chunked] + Vary: ['Accept-Encoding, Origin'] + X-Content-Type-Options: [nosniff] + X-Download-Options: [noopen] + X-Frame-Options: [SAMEORIGIN] + X-Permitted-Cross-Domain-Policies: [none] + X-Request-Id: [2f6d8ac9-9650-4ec4-b3fe-79885e3cfc56] + X-Runtime: ['0.029778'] + X-XSS-Protection: [1; mode=block] + content-length: ['224'] + 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: [python-requests/2.9.1] + method: GET + uri: http://localhost:3000/api/v1/push/subscription + response: + body: {string: '{"id":8,"endpoint":"https://example.com","alerts":{"follow":"True","favourite":"True","reblog":"True","mention":"True"},"server_key":"BEFgv48oiSIH0eOGT7FydL1ukygGBCLjUDocQJQABVZuFedxZr3QRjZQQvaVVrtMALGqQj9Skemt34NvshOvhyo="}'} + headers: + Cache-Control: ['max-age=0, private, must-revalidate'] + Content-Type: [application/json; charset=utf-8] + ETag: [W/"66ba38489a2226cf55fafd76860b1384"] + Referrer-Policy: [strict-origin-when-cross-origin] + Transfer-Encoding: [chunked] + Vary: ['Accept-Encoding, Origin'] + X-Content-Type-Options: [nosniff] + X-Download-Options: [noopen] + X-Frame-Options: [SAMEORIGIN] + X-Permitted-Cross-Domain-Policies: [none] + X-Request-Id: [36c25fd1-46b4-47aa-ada8-c8fe3e5d5a97] + X-Runtime: ['0.024214'] + X-XSS-Protection: [1; mode=block] + content-length: ['224'] + status: {code: 200, message: OK} +- request: + body: data%5Balerts%5D%5Bfollow%5D=False&data%5Balerts%5D%5Bmention%5D=False&data%5Balerts%5D%5Bfavourite%5D=False&data%5Balerts%5D%5Breblog%5D=False + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Authorization: [Bearer __MASTODON_PY_TEST_ACCESS_TOKEN] + Connection: [keep-alive] + Content-Length: ['143'] + Content-Type: [application/x-www-form-urlencoded] + User-Agent: [python-requests/2.9.1] + method: PUT + uri: http://localhost:3000/api/v1/push/subscription + response: + body: {string: '{"id":8,"endpoint":"https://example.com","alerts":{"follow":"False","favourite":"False","reblog":"False","mention":"False"},"server_key":"BEFgv48oiSIH0eOGT7FydL1ukygGBCLjUDocQJQABVZuFedxZr3QRjZQQvaVVrtMALGqQj9Skemt34NvshOvhyo="}'} + headers: + Cache-Control: ['max-age=0, private, must-revalidate'] + Content-Type: [application/json; charset=utf-8] + ETag: [W/"aaa8530ccca182b42e8f076f1da2f112"] + Referrer-Policy: [strict-origin-when-cross-origin] + Transfer-Encoding: [chunked] + Vary: ['Accept-Encoding, Origin'] + X-Content-Type-Options: [nosniff] + X-Download-Options: [noopen] + X-Frame-Options: [SAMEORIGIN] + X-Permitted-Cross-Domain-Policies: [none] + X-Request-Id: [40893dfd-87c5-4886-9938-69e93d0578c6] + X-Runtime: ['0.049371'] + X-XSS-Protection: [1; mode=block] + content-length: ['228'] + 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: [python-requests/2.9.1] + method: GET + uri: http://localhost:3000/api/v1/push/subscription + response: + body: {string: '{"id":8,"endpoint":"https://example.com","alerts":{"follow":"False","favourite":"False","reblog":"False","mention":"False"},"server_key":"BEFgv48oiSIH0eOGT7FydL1ukygGBCLjUDocQJQABVZuFedxZr3QRjZQQvaVVrtMALGqQj9Skemt34NvshOvhyo="}'} + headers: + Cache-Control: ['max-age=0, private, must-revalidate'] + Content-Type: [application/json; charset=utf-8] + ETag: [W/"e403993b72df1ff96f98eb99b4e6ff85"] + Referrer-Policy: [strict-origin-when-cross-origin] + Transfer-Encoding: [chunked] + Vary: ['Accept-Encoding, Origin'] + X-Content-Type-Options: [nosniff] + X-Download-Options: [noopen] + X-Frame-Options: [SAMEORIGIN] + X-Permitted-Cross-Domain-Policies: [none] + X-Request-Id: [bb02d1ad-37d7-4496-b136-ba085b60a774] + X-Runtime: ['0.022633'] + X-XSS-Protection: [1; mode=block] + content-length: ['228'] + status: {code: 200, message: OK} +version: 1 diff --git a/tests/conftest.py b/tests/conftest.py index b472eed..49eb453 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,6 +1,6 @@ import pytest -def _api(access_token='__MASTODON_PY_TEST_ACCESS_TOKEN', version="2.3.0", version_check_mode="created"): +def _api(access_token='__MASTODON_PY_TEST_ACCESS_TOKEN', version="2.4.0", version_check_mode="created"): import mastodon return mastodon.Mastodon( api_base_url='http://localhost:3000', diff --git a/tests/test_media.py b/tests/test_media.py index 6e7bf73..f2c3b2f 100644 --- a/tests/test_media.py +++ b/tests/test_media.py @@ -27,6 +27,25 @@ def test_media_post(api, sensitive): finally: api.status_delete(status['id']) +@pytest.mark.vcr(match_on=['path']) +def test_media_update(api): + media = api.media_post( + 'tests/image.jpg', + description="John Lennon doing a funny walk", + focus=(-0.5, 0.3)) + + assert media + + media_up = api.media_update( + media, + description="John Lennon doing a cool walk", + focus=(0.69, 0.69)) + + assert media_up + assert media_up['description'] == "John Lennon doing a cool walk" + assert media_up['meta']['focus']['x'] == 0.69 + assert media_up['meta']['focus']['y'] == 0.69 + @pytest.mark.vcr(match_on=['path']) def test_media_post_file(api): with open('tests/image.jpg', 'rb') as f: diff --git a/tests/test_push.py b/tests/test_push.py index 5313a3c..2ad215e 100644 --- a/tests/test_push.py +++ b/tests/test_push.py @@ -1,4 +1,6 @@ import pytest +import time +from mastodon.Mastodon import MastodonNotFoundError def test_decrypt(api): priv = { @@ -20,4 +22,48 @@ def test_decrypt(api): assert decrypted assert decrypted.title == 'You were mentioned by fake halcy' - \ No newline at end of file + +@pytest.mark.vcr(match_on=['path']) +def test_push_set(api): + priv, pub = api.push_subscription_generate_keys() + sub = api.push_subscription_set("example.com", pub) + + assert sub == api.push_subscription() + assert sub.endpoint == "https://example.com" + +@pytest.mark.vcr(match_on=['path']) +def test_push_update(api): + priv, pub = api.push_subscription_generate_keys() + sub = api.push_subscription_set("example.com", pub,follow_events=False, + favourite_events=False, reblog_events=False, + mention_events=False) + + sub2 = api.push_subscription_update(follow_events=True, favourite_events=True, + reblog_events=True, mention_events=True) + time.sleep(1) + assert sub2 == api.push_subscription() + + sub3 = api.push_subscription_update(follow_events=False, favourite_events=False, + reblog_events=False, mention_events=False) + time.sleep(1) + assert sub3 == api.push_subscription() + + assert sub3.alerts.follow == False + assert sub3.alerts.favourite == False + assert sub3.alerts.reblog == False + assert sub3.alerts.mention == False + assert sub2.alerts.follow == True + assert sub2.alerts.favourite == True + assert sub2.alerts.reblog == True + assert sub2.alerts.mention == True + + +@pytest.mark.vcr(match_on=['path']) +def test_push_delete(api): + priv, pub = api.push_subscription_generate_keys() + sub = api.push_subscription_set("example.com", pub) + assert sub + + api.push_subscription_delete() + with pytest.raises(MastodonNotFoundError): + api.push_subscription() \ No newline at end of file -- cgit v1.2.3