aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/cassettes/test_account_pinned.yaml231
-rw-r--r--tests/cassettes/test_status_pin_unpin.yaml116
-rw-r--r--tests/conftest.py6
-rw-r--r--tests/test_account.py10
-rw-r--r--tests/test_constructor.py4
-rw-r--r--tests/test_instance.py2
-rw-r--r--tests/test_status.py8
7 files changed, 374 insertions, 3 deletions
diff --git a/tests/cassettes/test_account_pinned.yaml b/tests/cassettes/test_account_pinned.yaml
new file mode 100644
index 0000000..a803ef6
--- /dev/null
+++ b/tests/cassettes/test_account_pinned.yaml
@@ -0,0 +1,231 @@
1interactions:
2- request:
3 body: status=Toot%21
4 headers:
5 Accept: ['*/*']
6 Accept-Encoding: ['gzip, deflate']
7 Authorization: [Bearer __MASTODON_PY_TEST_ACCESS_TOKEN]
8 Connection: [keep-alive]
9 Content-Length: ['14']
10 Content-Type: [application/x-www-form-urlencoded]
11 User-Agent: [python-requests/2.9.1]
12 method: POST
13 uri: http://localhost:3000/api/v1/statuses
14 response:
15 body: {string: '{"id":"100148083981231904","created_at":"2018-06-04T18:54:48.491Z","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/100148083981231904","content":"\u003cp\u003eToot!\u003c/p\u003e","url":"http://localhost:3000/@mastodonpy_test/100148083981231904","reblogs_count":0,"favourites_count":0,"favourited":false,"reblogged":false,"muted":false,"pinned":false,"reblog":null,"application":{"name":"Mastodon.py
16 test suite","website":null},"account":{"id":"1234567890123456","username":"mastodonpy_test","acct":"mastodonpy_test","display_name":"John
17 Lennon","locked":true,"created_at":"2018-05-07T00:38:05.405Z","note":"\u003cp\u003eI
18 walk funny\u003c/p\u003e","url":"http://localhost:3000/@mastodonpy_test","avatar":"http://localhost:3000/system/accounts/avatars/123/456/789/012/345/original/mastodonpyupload_.jpe","avatar_static":"http://localhost:3000/system/accounts/avatars/123/456/789/012/345/original/mastodonpyupload_.jpe","header":"http://localhost:3000/system/accounts/headers/123/456/789/012/345/original/mastodonpyupload_.jpe","header_static":"http://localhost:3000/system/accounts/headers/123/456/789/012/345/original/mastodonpyupload_.jpe","followers_count":0,"following_count":0,"statuses_count":5},"media_attachments":[],"mentions":[],"tags":[],"emojis":[]}'}
19 headers:
20 Cache-Control: ['max-age=0, private, must-revalidate']
21 Content-Type: [application/json; charset=utf-8]
22 ETag: [W/"27b169f2c3a47c34c96e80742d4d4f53"]
23 Transfer-Encoding: [chunked]
24 Vary: ['Accept-Encoding, Origin']
25 X-Content-Type-Options: [nosniff]
26 X-Frame-Options: [SAMEORIGIN]
27 X-Request-Id: [94dacd68-7f37-4329-a801-3f598e70d14a]
28 X-Runtime: ['0.210785']
29 X-XSS-Protection: [1; mode=block]
30 content-length: ['1399']
31 status: {code: 200, message: OK}
32- request:
33 body: status=Toot%2C+too%21
34 headers:
35 Accept: ['*/*']
36 Accept-Encoding: ['gzip, deflate']
37 Authorization: [Bearer __MASTODON_PY_TEST_ACCESS_TOKEN]
38 Connection: [keep-alive]
39 Content-Length: ['21']
40 Content-Type: [application/x-www-form-urlencoded]
41 User-Agent: [python-requests/2.9.1]
42 method: POST
43 uri: http://localhost:3000/api/v1/statuses
44 response:
45 body: {string: '{"id":"100148083999835817","created_at":"2018-06-04T18:54:48.795Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"mi","uri":"http://localhost:3000/users/mastodonpy_test/statuses/100148083999835817","content":"\u003cp\u003eToot,
46 too!\u003c/p\u003e","url":"http://localhost:3000/@mastodonpy_test/100148083999835817","reblogs_count":0,"favourites_count":0,"favourited":false,"reblogged":false,"muted":false,"pinned":false,"reblog":null,"application":{"name":"Mastodon.py
47 test suite","website":null},"account":{"id":"1234567890123456","username":"mastodonpy_test","acct":"mastodonpy_test","display_name":"John
48 Lennon","locked":true,"created_at":"2018-05-07T00:38:05.405Z","note":"\u003cp\u003eI
49 walk funny\u003c/p\u003e","url":"http://localhost:3000/@mastodonpy_test","avatar":"http://localhost:3000/system/accounts/avatars/123/456/789/012/345/original/mastodonpyupload_.jpe","avatar_static":"http://localhost:3000/system/accounts/avatars/123/456/789/012/345/original/mastodonpyupload_.jpe","header":"http://localhost:3000/system/accounts/headers/123/456/789/012/345/original/mastodonpyupload_.jpe","header_static":"http://localhost:3000/system/accounts/headers/123/456/789/012/345/original/mastodonpyupload_.jpe","followers_count":0,"following_count":0,"statuses_count":6},"media_attachments":[],"mentions":[],"tags":[],"emojis":[]}'}
50 headers:
51 Cache-Control: ['max-age=0, private, must-revalidate']
52 Content-Type: [application/json; charset=utf-8]
53 ETag: [W/"f8eb615a2b076b4d31bb7c96fd907bd7"]
54 Transfer-Encoding: [chunked]
55 Vary: ['Accept-Encoding, Origin']
56 X-Content-Type-Options: [nosniff]
57 X-Frame-Options: [SAMEORIGIN]
58 X-Request-Id: [5d5d8954-754c-4410-a964-75ad0c2ca3f1]
59 X-Runtime: ['0.296913']
60 X-XSS-Protection: [1; mode=block]
61 content-length: ['1404']
62 status: {code: 200, message: OK}
63- request:
64 body: null
65 headers:
66 Accept: ['*/*']
67 Accept-Encoding: ['gzip, deflate']
68 Authorization: [Bearer __MASTODON_PY_TEST_ACCESS_TOKEN]
69 Connection: [keep-alive]
70 Content-Length: ['0']
71 User-Agent: [python-requests/2.9.1]
72 method: POST
73 uri: http://localhost:3000/api/v1/statuses/100148083981231904/pin
74 response:
75 body: {string: '{"id":"100148083981231904","created_at":"2018-06-04T18:54:48.491Z","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/100148083981231904","content":"\u003cp\u003eToot!\u003c/p\u003e","url":"http://localhost:3000/@mastodonpy_test/100148083981231904","reblogs_count":0,"favourites_count":0,"favourited":false,"reblogged":false,"muted":false,"pinned":true,"reblog":null,"application":{"name":"Mastodon.py
76 test suite","website":null},"account":{"id":"1234567890123456","username":"mastodonpy_test","acct":"mastodonpy_test","display_name":"John
77 Lennon","locked":true,"created_at":"2018-05-07T00:38:05.405Z","note":"\u003cp\u003eI
78 walk funny\u003c/p\u003e","url":"http://localhost:3000/@mastodonpy_test","avatar":"http://localhost:3000/system/accounts/avatars/123/456/789/012/345/original/mastodonpyupload_.jpe","avatar_static":"http://localhost:3000/system/accounts/avatars/123/456/789/012/345/original/mastodonpyupload_.jpe","header":"http://localhost:3000/system/accounts/headers/123/456/789/012/345/original/mastodonpyupload_.jpe","header_static":"http://localhost:3000/system/accounts/headers/123/456/789/012/345/original/mastodonpyupload_.jpe","followers_count":0,"following_count":0,"statuses_count":6},"media_attachments":[],"mentions":[],"tags":[],"emojis":[]}'}
79 headers:
80 Cache-Control: ['max-age=0, private, must-revalidate']
81 Content-Type: [application/json; charset=utf-8]
82 ETag: [W/"3069d241974170b0fdf5638f101c1d14"]
83 Transfer-Encoding: [chunked]
84 Vary: ['Accept-Encoding, Origin']
85 X-Content-Type-Options: [nosniff]
86 X-Frame-Options: [SAMEORIGIN]
87 X-Request-Id: [91f5a2ce-5896-4879-80c6-a5fc318d8957]
88 X-Runtime: ['0.128018']
89 X-XSS-Protection: [1; mode=block]
90 content-length: ['1398']
91 status: {code: 200, message: OK}
92- request:
93 body: null
94 headers:
95 Accept: ['*/*']
96 Accept-Encoding: ['gzip, deflate']
97 Authorization: [Bearer __MASTODON_PY_TEST_ACCESS_TOKEN]
98 Connection: [keep-alive]
99 User-Agent: [python-requests/2.9.1]
100 method: GET
101 uri: http://localhost:3000/api/v1/accounts/verify_credentials
102 response:
103 body: {string: '{"id":"1234567890123456","username":"mastodonpy_test","acct":"mastodonpy_test","display_name":"John
104 Lennon","locked":true,"created_at":"2018-05-07T00:38:05.405Z","note":"\u003cp\u003eI
105 walk funny\u003c/p\u003e","url":"http://localhost:3000/@mastodonpy_test","avatar":"http://localhost:3000/system/accounts/avatars/123/456/789/012/345/original/mastodonpyupload_.jpe","avatar_static":"http://localhost:3000/system/accounts/avatars/123/456/789/012/345/original/mastodonpyupload_.jpe","header":"http://localhost:3000/system/accounts/headers/123/456/789/012/345/original/mastodonpyupload_.jpe","header_static":"http://localhost:3000/system/accounts/headers/123/456/789/012/345/original/mastodonpyupload_.jpe","followers_count":0,"following_count":0,"statuses_count":6,"source":{"privacy":"public","sensitive":false,"note":"I
106 walk funny"}}'}
107 headers:
108 Cache-Control: ['max-age=0, private, must-revalidate']
109 Content-Type: [application/json; charset=utf-8]
110 ETag: [W/"0426e9ed5782090a9f08f3fe041e73e5"]
111 Transfer-Encoding: [chunked]
112 Vary: ['Accept-Encoding, Origin']
113 X-Content-Type-Options: [nosniff]
114 X-Frame-Options: [SAMEORIGIN]
115 X-Request-Id: [19835760-298b-4cda-8b00-321025061f97]
116 X-Runtime: ['0.028631']
117 X-XSS-Protection: [1; mode=block]
118 content-length: ['833']
119 status: {code: 200, message: OK}
120- request:
121 body: null
122 headers:
123 Accept: ['*/*']
124 Accept-Encoding: ['gzip, deflate']
125 Authorization: [Bearer __MASTODON_PY_TEST_ACCESS_TOKEN]
126 Connection: [keep-alive]
127 User-Agent: [python-requests/2.9.1]
128 method: GET
129 uri: http://localhost:3000/api/v1/accounts/1234567890123456/statuses?pinned=True
130 response:
131 body: {string: '[{"id":"100148083981231904","created_at":"2018-06-04T18:54:48.491Z","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/100148083981231904","content":"\u003cp\u003eToot!\u003c/p\u003e","url":"http://localhost:3000/@mastodonpy_test/100148083981231904","reblogs_count":0,"favourites_count":0,"favourited":false,"reblogged":false,"muted":false,"pinned":true,"reblog":null,"application":{"name":"Mastodon.py
132 test suite","website":null},"account":{"id":"1234567890123456","username":"mastodonpy_test","acct":"mastodonpy_test","display_name":"John
133 Lennon","locked":true,"created_at":"2018-05-07T00:38:05.405Z","note":"\u003cp\u003eI
134 walk funny\u003c/p\u003e","url":"http://localhost:3000/@mastodonpy_test","avatar":"http://localhost:3000/system/accounts/avatars/123/456/789/012/345/original/mastodonpyupload_.jpe","avatar_static":"http://localhost:3000/system/accounts/avatars/123/456/789/012/345/original/mastodonpyupload_.jpe","header":"http://localhost:3000/system/accounts/headers/123/456/789/012/345/original/mastodonpyupload_.jpe","header_static":"http://localhost:3000/system/accounts/headers/123/456/789/012/345/original/mastodonpyupload_.jpe","followers_count":0,"following_count":0,"statuses_count":6},"media_attachments":[],"mentions":[],"tags":[],"emojis":[]}]'}
135 headers:
136 Cache-Control: ['max-age=0, private, must-revalidate']
137 Content-Type: [application/json; charset=utf-8]
138 ETag: [W/"164c9bc09aa3b6f2851768a66047b329"]
139 Link: ['<http://localhost:3000/api/v1/accounts/1234567890123456/statuses?since_id=100148083981231904>;
140 rel="prev"']
141 Transfer-Encoding: [chunked]
142 Vary: ['Accept-Encoding, Origin']
143 X-Content-Type-Options: [nosniff]
144 X-Frame-Options: [SAMEORIGIN]
145 X-Request-Id: [222b6664-b99e-48e0-8f20-5aad2764e032]
146 X-Runtime: ['0.055145']
147 X-XSS-Protection: [1; mode=block]
148 content-length: ['1400']
149 status: {code: 200, message: OK}
150- request:
151 body: null
152 headers:
153 Accept: ['*/*']
154 Accept-Encoding: ['gzip, deflate']
155 Authorization: [Bearer __MASTODON_PY_TEST_ACCESS_TOKEN]
156 Connection: [keep-alive]
157 Content-Length: ['0']
158 User-Agent: [python-requests/2.9.1]
159 method: POST
160 uri: http://localhost:3000/api/v1/statuses/100148083981231904/unpin
161 response:
162 body: {string: '{"id":"100148083981231904","created_at":"2018-06-04T18:54:48.491Z","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/100148083981231904","content":"\u003cp\u003eToot!\u003c/p\u003e","url":"http://localhost:3000/@mastodonpy_test/100148083981231904","reblogs_count":0,"favourites_count":0,"favourited":false,"reblogged":false,"muted":false,"pinned":false,"reblog":null,"application":{"name":"Mastodon.py
163 test suite","website":null},"account":{"id":"1234567890123456","username":"mastodonpy_test","acct":"mastodonpy_test","display_name":"John
164 Lennon","locked":true,"created_at":"2018-05-07T00:38:05.405Z","note":"\u003cp\u003eI
165 walk funny\u003c/p\u003e","url":"http://localhost:3000/@mastodonpy_test","avatar":"http://localhost:3000/system/accounts/avatars/123/456/789/012/345/original/mastodonpyupload_.jpe","avatar_static":"http://localhost:3000/system/accounts/avatars/123/456/789/012/345/original/mastodonpyupload_.jpe","header":"http://localhost:3000/system/accounts/headers/123/456/789/012/345/original/mastodonpyupload_.jpe","header_static":"http://localhost:3000/system/accounts/headers/123/456/789/012/345/original/mastodonpyupload_.jpe","followers_count":0,"following_count":0,"statuses_count":6},"media_attachments":[],"mentions":[],"tags":[],"emojis":[]}'}
166 headers:
167 Cache-Control: ['max-age=0, private, must-revalidate']
168 Content-Type: [application/json; charset=utf-8]
169 ETag: [W/"271e3f2fb752c467b8e7670a490f8c89"]
170 Transfer-Encoding: [chunked]
171 Vary: ['Accept-Encoding, Origin']
172 X-Content-Type-Options: [nosniff]
173 X-Frame-Options: [SAMEORIGIN]
174 X-Request-Id: [d8e811f8-f682-4c21-a414-394f31b90886]
175 X-Runtime: ['0.074775']
176 X-XSS-Protection: [1; mode=block]
177 content-length: ['1399']
178 status: {code: 200, message: OK}
179- request:
180 body: null
181 headers:
182 Accept: ['*/*']
183 Accept-Encoding: ['gzip, deflate']
184 Authorization: [Bearer __MASTODON_PY_TEST_ACCESS_TOKEN]
185 Connection: [keep-alive]
186 Content-Length: ['0']
187 User-Agent: [python-requests/2.9.1]
188 method: DELETE
189 uri: http://localhost:3000/api/v1/statuses/100148083999835817
190 response:
191 body: {string: '{}'}
192 headers:
193 Cache-Control: ['max-age=0, private, must-revalidate']
194 Content-Type: [application/json; charset=utf-8]
195 ETag: [W/"5448afda8ed9c69797f461b0b52bef34"]
196 Transfer-Encoding: [chunked]
197 Vary: ['Accept-Encoding, Origin']
198 X-Content-Type-Options: [nosniff]
199 X-Frame-Options: [SAMEORIGIN]
200 X-Request-Id: [a950980c-ebcf-4b43-8f9d-489068a0b006]
201 X-Runtime: ['0.034879']
202 X-XSS-Protection: [1; mode=block]
203 content-length: ['2']
204 status: {code: 200, message: OK}
205- request:
206 body: null
207 headers:
208 Accept: ['*/*']
209 Accept-Encoding: ['gzip, deflate']
210 Authorization: [Bearer __MASTODON_PY_TEST_ACCESS_TOKEN]
211 Connection: [keep-alive]
212 Content-Length: ['0']
213 User-Agent: [python-requests/2.9.1]
214 method: DELETE
215 uri: http://localhost:3000/api/v1/statuses/100148083981231904
216 response:
217 body: {string: '{}'}
218 headers:
219 Cache-Control: ['max-age=0, private, must-revalidate']
220 Content-Type: [application/json; charset=utf-8]
221 ETag: [W/"5448afda8ed9c69797f461b0b52bef34"]
222 Transfer-Encoding: [chunked]
223 Vary: ['Accept-Encoding, Origin']
224 X-Content-Type-Options: [nosniff]
225 X-Frame-Options: [SAMEORIGIN]
226 X-Request-Id: [b8a1de16-05df-4caa-8dd9-414d3d0a36d4]
227 X-Runtime: ['0.094459']
228 X-XSS-Protection: [1; mode=block]
229 content-length: ['2']
230 status: {code: 200, message: OK}
231version: 1
diff --git a/tests/cassettes/test_status_pin_unpin.yaml b/tests/cassettes/test_status_pin_unpin.yaml
new file mode 100644
index 0000000..116681b
--- /dev/null
+++ b/tests/cassettes/test_status_pin_unpin.yaml
@@ -0,0 +1,116 @@
1interactions:
2- request:
3 body: status=Toot%21
4 headers:
5 Accept: ['*/*']
6 Accept-Encoding: ['gzip, deflate']
7 Authorization: [Bearer __MASTODON_PY_TEST_ACCESS_TOKEN]
8 Connection: [keep-alive]
9 Content-Length: ['14']
10 Content-Type: [application/x-www-form-urlencoded]
11 User-Agent: [python-requests/2.9.1]
12 method: POST
13 uri: http://localhost:3000/api/v1/statuses
14 response:
15 body: {string: '{"id":"100148044136641620","created_at":"2018-06-04T18:44:40.693Z","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/100148044136641620","content":"\u003cp\u003eToot!\u003c/p\u003e","url":"http://localhost:3000/@mastodonpy_test/100148044136641620","reblogs_count":0,"favourites_count":0,"favourited":false,"reblogged":false,"muted":false,"pinned":false,"reblog":null,"application":{"name":"Mastodon.py
16 test suite","website":null},"account":{"id":"1234567890123456","username":"mastodonpy_test","acct":"mastodonpy_test","display_name":"John
17 Lennon","locked":true,"created_at":"2018-05-07T00:38:05.405Z","note":"\u003cp\u003eI
18 walk funny\u003c/p\u003e","url":"http://localhost:3000/@mastodonpy_test","avatar":"http://localhost:3000/system/accounts/avatars/123/456/789/012/345/original/mastodonpyupload_.jpe","avatar_static":"http://localhost:3000/system/accounts/avatars/123/456/789/012/345/original/mastodonpyupload_.jpe","header":"http://localhost:3000/system/accounts/headers/123/456/789/012/345/original/mastodonpyupload_.jpe","header_static":"http://localhost:3000/system/accounts/headers/123/456/789/012/345/original/mastodonpyupload_.jpe","followers_count":0,"following_count":0,"statuses_count":5},"media_attachments":[],"mentions":[],"tags":[],"emojis":[]}'}
19 headers:
20 Cache-Control: ['max-age=0, private, must-revalidate']
21 Content-Type: [application/json; charset=utf-8]
22 ETag: [W/"de530492b63d03f8014765dfefb58aec"]
23 Transfer-Encoding: [chunked]
24 Vary: ['Accept-Encoding, Origin']
25 X-Content-Type-Options: [nosniff]
26 X-Frame-Options: [SAMEORIGIN]
27 X-Request-Id: [fb394353-7fd5-4df4-9325-cd8b848b1d41]
28 X-Runtime: ['0.644297']
29 X-XSS-Protection: [1; mode=block]
30 content-length: ['1399']
31 status: {code: 200, message: OK}
32- request:
33 body: null
34 headers:
35 Accept: ['*/*']
36 Accept-Encoding: ['gzip, deflate']
37 Authorization: [Bearer __MASTODON_PY_TEST_ACCESS_TOKEN]
38 Connection: [keep-alive]
39 Content-Length: ['0']
40 User-Agent: [python-requests/2.9.1]
41 method: POST
42 uri: http://localhost:3000/api/v1/statuses/100148044136641620/pin
43 response:
44 body: {string: '{"id":"100148044136641620","created_at":"2018-06-04T18:44:40.693Z","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/100148044136641620","content":"\u003cp\u003eToot!\u003c/p\u003e","url":"http://localhost:3000/@mastodonpy_test/100148044136641620","reblogs_count":0,"favourites_count":0,"favourited":false,"reblogged":false,"muted":false,"pinned":true,"reblog":null,"application":{"name":"Mastodon.py
45 test suite","website":null},"account":{"id":"1234567890123456","username":"mastodonpy_test","acct":"mastodonpy_test","display_name":"John
46 Lennon","locked":true,"created_at":"2018-05-07T00:38:05.405Z","note":"\u003cp\u003eI
47 walk funny\u003c/p\u003e","url":"http://localhost:3000/@mastodonpy_test","avatar":"http://localhost:3000/system/accounts/avatars/123/456/789/012/345/original/mastodonpyupload_.jpe","avatar_static":"http://localhost:3000/system/accounts/avatars/123/456/789/012/345/original/mastodonpyupload_.jpe","header":"http://localhost:3000/system/accounts/headers/123/456/789/012/345/original/mastodonpyupload_.jpe","header_static":"http://localhost:3000/system/accounts/headers/123/456/789/012/345/original/mastodonpyupload_.jpe","followers_count":0,"following_count":0,"statuses_count":5},"media_attachments":[],"mentions":[],"tags":[],"emojis":[]}'}
48 headers:
49 Cache-Control: ['max-age=0, private, must-revalidate']
50 Content-Type: [application/json; charset=utf-8]
51 ETag: [W/"5fd67eeb141fb09e42623a6165d262d4"]
52 Transfer-Encoding: [chunked]
53 Vary: ['Accept-Encoding, Origin']
54 X-Content-Type-Options: [nosniff]
55 X-Frame-Options: [SAMEORIGIN]
56 X-Request-Id: [b022a70b-3902-4b7a-aa46-6536cda62141]
57 X-Runtime: ['0.523419']
58 X-XSS-Protection: [1; mode=block]
59 content-length: ['1398']
60 status: {code: 200, message: OK}
61- request:
62 body: null
63 headers:
64 Accept: ['*/*']
65 Accept-Encoding: ['gzip, deflate']
66 Authorization: [Bearer __MASTODON_PY_TEST_ACCESS_TOKEN]
67 Connection: [keep-alive]
68 Content-Length: ['0']
69 User-Agent: [python-requests/2.9.1]
70 method: POST
71 uri: http://localhost:3000/api/v1/statuses/100148044136641620/unpin
72 response:
73 body: {string: '{"id":"100148044136641620","created_at":"2018-06-04T18:44:40.693Z","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/100148044136641620","content":"\u003cp\u003eToot!\u003c/p\u003e","url":"http://localhost:3000/@mastodonpy_test/100148044136641620","reblogs_count":0,"favourites_count":0,"favourited":false,"reblogged":false,"muted":false,"pinned":false,"reblog":null,"application":{"name":"Mastodon.py
74 test suite","website":null},"account":{"id":"1234567890123456","username":"mastodonpy_test","acct":"mastodonpy_test","display_name":"John
75 Lennon","locked":true,"created_at":"2018-05-07T00:38:05.405Z","note":"\u003cp\u003eI
76 walk funny\u003c/p\u003e","url":"http://localhost:3000/@mastodonpy_test","avatar":"http://localhost:3000/system/accounts/avatars/123/456/789/012/345/original/mastodonpyupload_.jpe","avatar_static":"http://localhost:3000/system/accounts/avatars/123/456/789/012/345/original/mastodonpyupload_.jpe","header":"http://localhost:3000/system/accounts/headers/123/456/789/012/345/original/mastodonpyupload_.jpe","header_static":"http://localhost:3000/system/accounts/headers/123/456/789/012/345/original/mastodonpyupload_.jpe","followers_count":0,"following_count":0,"statuses_count":5},"media_attachments":[],"mentions":[],"tags":[],"emojis":[]}'}
77 headers:
78 Cache-Control: ['max-age=0, private, must-revalidate']
79 Content-Type: [application/json; charset=utf-8]
80 ETag: [W/"de530492b63d03f8014765dfefb58aec"]
81 Transfer-Encoding: [chunked]
82 Vary: ['Accept-Encoding, Origin']
83 X-Content-Type-Options: [nosniff]
84 X-Frame-Options: [SAMEORIGIN]
85 X-Request-Id: [e25b5197-5dbc-4081-af76-613189ee5ce2]
86 X-Runtime: ['0.197095']
87 X-XSS-Protection: [1; mode=block]
88 content-length: ['1399']
89 status: {code: 200, message: OK}
90- request:
91 body: null
92 headers:
93 Accept: ['*/*']
94 Accept-Encoding: ['gzip, deflate']
95 Authorization: [Bearer __MASTODON_PY_TEST_ACCESS_TOKEN]
96 Connection: [keep-alive]
97 Content-Length: ['0']
98 User-Agent: [python-requests/2.9.1]
99 method: DELETE
100 uri: http://localhost:3000/api/v1/statuses/100148044136641620
101 response:
102 body: {string: '{}'}
103 headers:
104 Cache-Control: ['max-age=0, private, must-revalidate']
105 Content-Type: [application/json; charset=utf-8]
106 ETag: [W/"8a3f21770b7f7baf86839a319201f71c"]
107 Transfer-Encoding: [chunked]
108 Vary: ['Accept-Encoding, Origin']
109 X-Content-Type-Options: [nosniff]
110 X-Frame-Options: [SAMEORIGIN]
111 X-Request-Id: [829c8268-0b7f-4495-a9bc-6326c73399b3]
112 X-Runtime: ['0.134719']
113 X-XSS-Protection: [1; mode=block]
114 content-length: ['2']
115 status: {code: 200, message: OK}
116version: 1
diff --git a/tests/conftest.py b/tests/conftest.py
index a1dc161..b472eed 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -23,7 +23,6 @@ def api_low_version():
23def api2(): 23def api2():
24 return _api(access_token='__MASTODON_PY_TEST_ACCESS_TOKEN_2') 24 return _api(access_token='__MASTODON_PY_TEST_ACCESS_TOKEN_2')
25 25
26
27@pytest.fixture 26@pytest.fixture
28def api_anonymous(): 27def api_anonymous():
29 return _api(access_token=None) 28 return _api(access_token=None)
@@ -34,6 +33,11 @@ def status(api):
34 yield _status 33 yield _status
35 api.status_delete(_status['id']) 34 api.status_delete(_status['id'])
36 35
36@pytest.fixture()
37def status2(api):
38 _status = api.status_post('Toot, too!')
39 yield _status
40 api.status_delete(_status['id'])
37 41
38@pytest.fixture() 42@pytest.fixture()
39def vcr_config(): 43def vcr_config():
diff --git a/tests/test_account.py b/tests/test_account.py
index 2716ad1..3befdd5 100644
--- a/tests/test_account.py
+++ b/tests/test_account.py
@@ -112,3 +112,13 @@ def test_account_update_credentials_no_avatar(api):
112 header = image, 112 header = image,
113 header_mime_type = "image/jpeg") 113 header_mime_type = "image/jpeg")
114 assert account 114 assert account
115
116@pytest.mark.vcr()
117def test_account_pinned(status, status2, api):
118 try:
119 status = api.status_pin(status['id'])
120 pinned = api.account_statuses(api.account_verify_credentials(), pinned = True)
121 assert status in pinned
122 assert not status2 in pinned
123 finally:
124 api.status_unpin(status['id']) \ No newline at end of file
diff --git a/tests/test_constructor.py b/tests/test_constructor.py
index 950845a..1512939 100644
--- a/tests/test_constructor.py
+++ b/tests/test_constructor.py
@@ -38,4 +38,6 @@ def test_verify_version(api):
38 assert api.verify_minimum_version("2.4.3") == False 38 assert api.verify_minimum_version("2.4.3") == False
39 assert api.verify_minimum_version("3.3.3") == False 39 assert api.verify_minimum_version("3.3.3") == False
40 assert api.verify_minimum_version("1.0.0") == True 40 assert api.verify_minimum_version("1.0.0") == True
41 \ No newline at end of file 41
42def test_supported_version(api):
43 assert Mastodon.get_supported_version() \ No newline at end of file
diff --git a/tests/test_instance.py b/tests/test_instance.py
index 199e654..0eebc57 100644
--- a/tests/test_instance.py
+++ b/tests/test_instance.py
@@ -31,4 +31,4 @@ def test_low_version(api_low_version):
31 31
32@pytest.mark.vcr() 32@pytest.mark.vcr()
33def test_emoji(api): 33def test_emoji(api):
34 assert len(api.custom_emojis()) == 0 \ No newline at end of file 34 assert len(api.custom_emojis()) == 0
diff --git a/tests/test_status.py b/tests/test_status.py
index 95390b3..d36c000 100644
--- a/tests/test_status.py
+++ b/tests/test_status.py
@@ -104,3 +104,11 @@ def test_status_mute_unmute(status, api):
104 104
105 status = api.status_unmute(status['id']) 105 status = api.status_unmute(status['id'])
106 assert not status['muted'] 106 assert not status['muted']
107
108@pytest.mark.vcr()
109def test_status_pin_unpin(status, api):
110 status = api.status_pin(status['id'])
111 assert status['pinned']
112
113 status = api.status_unpin(status['id'])
114 assert not status['pinned']
Powered by cgit v1.2.3 (git 2.41.0)