diff options
-rw-r--r-- | tests/cassettes/test_filter_update.yaml | 90 | ||||
-rw-r--r-- | tests/test_filters.py | 9 |
2 files changed, 98 insertions, 1 deletions
diff --git a/tests/cassettes/test_filter_update.yaml b/tests/cassettes/test_filter_update.yaml new file mode 100644 index 0000000..2e60073 --- /dev/null +++ b/tests/cassettes/test_filter_update.yaml | |||
@@ -0,0 +1,90 @@ | |||
1 | interactions: | ||
2 | - request: | ||
3 | body: whole_word=1&irreversible=0&phrase=anime&context%5B%5D=notifications | ||
4 | headers: | ||
5 | Accept: ['*/*'] | ||
6 | Accept-Encoding: ['gzip, deflate'] | ||
7 | Authorization: [Bearer __MASTODON_PY_TEST_ACCESS_TOKEN] | ||
8 | Connection: [keep-alive] | ||
9 | Content-Length: ['68'] | ||
10 | Content-Type: [application/x-www-form-urlencoded] | ||
11 | User-Agent: [python-requests/2.18.4] | ||
12 | method: POST | ||
13 | uri: http://localhost:3000/api/v1/filters | ||
14 | response: | ||
15 | body: {string: '{"id":27,"phrase":"anime","context":["notifications"],"whole_word":true,"expires_at":null,"irreversible":false}'} | ||
16 | headers: | ||
17 | Cache-Control: ['max-age=0, private, must-revalidate'] | ||
18 | Content-Type: [application/json; charset=utf-8] | ||
19 | ETag: [W/"f0354e35a12345b991a60a6952b5f2f5"] | ||
20 | Referrer-Policy: [strict-origin-when-cross-origin] | ||
21 | Transfer-Encoding: [chunked] | ||
22 | Vary: ['Accept-Encoding, Origin'] | ||
23 | X-Content-Type-Options: [nosniff] | ||
24 | X-Download-Options: [noopen] | ||
25 | X-Frame-Options: [SAMEORIGIN] | ||
26 | X-Permitted-Cross-Domain-Policies: [none] | ||
27 | X-Request-Id: [80b866be-fcf3-4310-9150-d1bd96f15872] | ||
28 | X-Runtime: ['0.040343'] | ||
29 | X-XSS-Protection: [1; mode=block] | ||
30 | content-length: ['111'] | ||
31 | status: {code: 200, message: OK} | ||
32 | - request: | ||
33 | body: phrase=japanimation | ||
34 | headers: | ||
35 | Accept: ['*/*'] | ||
36 | Accept-Encoding: ['gzip, deflate'] | ||
37 | Authorization: [Bearer __MASTODON_PY_TEST_ACCESS_TOKEN] | ||
38 | Connection: [keep-alive] | ||
39 | Content-Length: ['19'] | ||
40 | Content-Type: [application/x-www-form-urlencoded] | ||
41 | User-Agent: [python-requests/2.18.4] | ||
42 | method: PUT | ||
43 | uri: http://localhost:3000/api/v1/filters/27 | ||
44 | response: | ||
45 | body: {string: '{"id":27,"phrase":"japanimation","context":["notifications"],"whole_word":true,"expires_at":null,"irreversible":false}'} | ||
46 | headers: | ||
47 | Cache-Control: ['max-age=0, private, must-revalidate'] | ||
48 | Content-Type: [application/json; charset=utf-8] | ||
49 | ETag: [W/"7303cdcc74a1770f54b1eae6044fadea"] | ||
50 | Referrer-Policy: [strict-origin-when-cross-origin] | ||
51 | Transfer-Encoding: [chunked] | ||
52 | Vary: ['Accept-Encoding, Origin'] | ||
53 | X-Content-Type-Options: [nosniff] | ||
54 | X-Download-Options: [noopen] | ||
55 | X-Frame-Options: [SAMEORIGIN] | ||
56 | X-Permitted-Cross-Domain-Policies: [none] | ||
57 | X-Request-Id: [636839a6-6100-4a34-bd54-b5e00b607c78] | ||
58 | X-Runtime: ['0.031909'] | ||
59 | X-XSS-Protection: [1; mode=block] | ||
60 | content-length: ['118'] | ||
61 | status: {code: 200, message: OK} | ||
62 | - request: | ||
63 | body: null | ||
64 | headers: | ||
65 | Accept: ['*/*'] | ||
66 | Accept-Encoding: ['gzip, deflate'] | ||
67 | Authorization: [Bearer __MASTODON_PY_TEST_ACCESS_TOKEN] | ||
68 | Connection: [keep-alive] | ||
69 | User-Agent: [python-requests/2.18.4] | ||
70 | method: GET | ||
71 | uri: http://localhost:3000/api/v1/filters/27 | ||
72 | response: | ||
73 | body: {string: '{"id":27,"phrase":"japanimation","context":["notifications"],"whole_word":true,"expires_at":null,"irreversible":false}'} | ||
74 | headers: | ||
75 | Cache-Control: ['max-age=0, private, must-revalidate'] | ||
76 | Content-Type: [application/json; charset=utf-8] | ||
77 | ETag: [W/"7303cdcc74a1770f54b1eae6044fadea"] | ||
78 | Referrer-Policy: [strict-origin-when-cross-origin] | ||
79 | Transfer-Encoding: [chunked] | ||
80 | Vary: ['Accept-Encoding, Origin'] | ||
81 | X-Content-Type-Options: [nosniff] | ||
82 | X-Download-Options: [noopen] | ||
83 | X-Frame-Options: [SAMEORIGIN] | ||
84 | X-Permitted-Cross-Domain-Policies: [none] | ||
85 | X-Request-Id: [cc34f6fa-12fa-45d5-930a-e24b682e43ca] | ||
86 | X-Runtime: ['0.027439'] | ||
87 | X-XSS-Protection: [1; mode=block] | ||
88 | content-length: ['118'] | ||
89 | status: {code: 200, message: OK} | ||
90 | version: 1 | ||
diff --git a/tests/test_filters.py b/tests/test_filters.py index dc39ddb..631cfd1 100644 --- a/tests/test_filters.py +++ b/tests/test_filters.py | |||
@@ -31,7 +31,14 @@ def test_filter_create(api): | |||
31 | assert(keyword_filter == keyword_filter_2) | 31 | assert(keyword_filter == keyword_filter_2) |
32 | finally: | 32 | finally: |
33 | api.filter_delete(keyword_filter) | 33 | api.filter_delete(keyword_filter) |
34 | 34 | ||
35 | @pytest.mark.vcr() | ||
36 | def test_filter_update(api): | ||
37 | keyword_filter = api.filter_create("anime", ['notifications'], irreversible = False, whole_word = True, expires_in = None) | ||
38 | keyword_filter_2 = api.filter_update(keyword_filter, phrase = "japanimation") | ||
39 | keyword_filter = api.filter(keyword_filter.id) | ||
40 | assert(keyword_filter.phrase == "japanimation") | ||
41 | |||
35 | @pytest.mark.vcr() | 42 | @pytest.mark.vcr() |
36 | def test_filter_serverside(api, api2): | 43 | def test_filter_serverside(api, api2): |
37 | api.account_follow(api2.account_verify_credentials()) | 44 | api.account_follow(api2.account_verify_credentials()) |