@@ -52,26 +52,27 @@ def test_get_posts(mock, api):
5252@patch .object (python_wpapi .WpApi , '_request' )
5353def test_get_post (mock , api ):
5454 api .get_post (3 )
55- mock .assert_called_with ('http://base.url/wp-json/wp/v2/posts/3' )
55+ mock .assert_called_with ('http://base.url/wp-json/wp/v2/posts/3' ,
56+ context = 'view' )
5657
5758@patch .object (python_wpapi .WpApi , '_request' )
5859def test_create_post (mock , api ):
5960 api .create_post (title = 'Title Here' , content = 'Content Here' )
60- kws = {
61- 'title' : 'Title Here' ,
62- 'content' : 'Content Here'
63- }
6461 mock .assert_called_with ('http://base.url/wp-json/wp/v2/posts' ,
65- method = 'POST' , ** kws )
62+ method = 'POST' , title = 'Title Here' , content = 'Content Here' )
6663
6764@patch .object (python_wpapi .WpApi , '_request' )
6865def test_update_post (mock , api ):
6966 api .update_post (id = 5 , title = 'Updated' )
70- kws = {
71- 'title' : 'Updated' ,
72- }
7367 mock .assert_called_with ('http://base.url/wp-json/wp/v2/posts/5' ,
74- method = 'POST' , ** kws )
68+ method = 'POST' , title = 'Updated' )
69+
70+ @patch .object (python_wpapi .WpApi , '_request' )
71+ def test_delete_post (mock , api ):
72+ api .delete_post (28 )
73+ mock .assert_called_with ('http://base.url/wp-json/wp/v2/posts/28' ,
74+ force = False ,
75+ method = 'DELETE' )
7576
7677@patch .object (python_wpapi .WpApi , '_request' )
7778def test_get_medias (mock , api ):
@@ -81,7 +82,35 @@ def test_get_medias(mock, api):
8182@patch .object (python_wpapi .WpApi , '_request' )
8283def test_get_media (mock , api ):
8384 api .get_media (5 )
84- mock .assert_called_with ('http://base.url/wp-json/wp/v2/media/5' )
85+ mock .assert_called_with ('http://base.url/wp-json/wp/v2/media/5' ,
86+ context = 'view' )
87+
88+ @patch .object (python_wpapi .WpApi , '_request' )
89+ def test_create_media (mock , api ):
90+ api .create_media (filename = 'file.png' ,
91+ content_type = 'image/png' ,
92+ file_data = b'123' )
93+ expected_headers = {'Content-Disposition' : 'attachment; filename="file.png"' }
94+ expected_files = {'file' : ('file.png' , b'123' , 'image/png' ,
95+ {'Expires' : '0' })}
96+ mock .assert_called_with ('http://base.url/wp-json/wp/v2/media' ,
97+ method = 'POST' ,
98+ headers = expected_headers ,
99+ files = expected_files )
100+
101+ @patch .object (python_wpapi .WpApi , '_request' )
102+ def test_update_media (mock , api ):
103+ api .update_media (6 , email = 'john@smith' )
104+ mock .assert_called_with ('http://base.url/wp-json/wp/v2/media/6' ,
105+ method = 'POST' ,
106+ email = 'john@smith' )
107+
108+ @patch .object (python_wpapi .WpApi , '_request' )
109+ def test_delete_media (mock , api ):
110+ api .delete_media (7 )
111+ mock .assert_called_with ('http://base.url/wp-json/wp/v2/media/7' ,
112+ force = False ,
113+ method = 'DELETE' )
85114
86115@patch .object (python_wpapi .WpApi , '_request' )
87116def test_get_users (mock , api ):
@@ -91,7 +120,31 @@ def test_get_users(mock, api):
91120@patch .object (python_wpapi .WpApi , '_request' )
92121def test_get_user (mock , api ):
93122 res = api .get_user (1 )
94- mock .assert_called_with ('http://base.url/wp-json/wp/v2/users/1' )
123+ mock .assert_called_with ('http://base.url/wp-json/wp/v2/users/1' ,
124+ context = 'view' )
125+
126+ @patch .object (python_wpapi .WpApi , '_request' )
127+ def test_create_user (mock , api ):
128+ api .create_user (username = 'johndoe' , email = 'john@doe' , password = '123' )
129+ mock .assert_called_with ('http://base.url/wp-json/wp/v2/users' ,
130+ method = 'POST' ,
131+ username = 'johndoe' ,
132+ email = 'john@doe' ,
133+ password = '123' )
134+
135+ @patch .object (python_wpapi .WpApi , '_request' )
136+ def test_update_user (mock , api ):
137+ api .update_user (2 , email = 'john@smith' )
138+ mock .assert_called_with ('http://base.url/wp-json/wp/v2/users/2' ,
139+ method = 'POST' ,
140+ email = 'john@smith' )
141+
142+ @patch .object (python_wpapi .WpApi , '_request' )
143+ def test_delete_user (mock , api ):
144+ api .delete_user (3 )
145+ mock .assert_called_with ('http://base.url/wp-json/wp/v2/users/3' ,
146+ force = True ,
147+ method = 'DELETE' )
95148
96149@patch .object (python_wpapi .WpApi , '_request' )
97150def test_get_taxonomies (mock , api ):
@@ -102,10 +155,74 @@ def test_get_taxonomies(mock, api):
102155 mock .assert_called_with ('http://base.url/wp-json/wp/v2/taxonomies' , type = 'slug' )
103156
104157@patch .object (python_wpapi .WpApi , '_request' )
105- def test_get_taxonomie (mock , api ):
158+ def test_get_taxonomy (mock , api ):
106159 api .get_taxonomy ('slug' )
107160 mock .assert_called_with ('http://base.url/wp-json/wp/v2/taxonomies/slug' )
108161
162+ @patch .object (python_wpapi .WpApi , '_request' )
163+ def test_get_categories (mock , api ):
164+ api .get_categories ()
165+ mock .assert_called_with ('http://base.url/wp-json/wp/v2/categories' )
166+
167+ @patch .object (python_wpapi .WpApi , '_request' )
168+ def test_get_category (mock , api ):
169+ api .get_category (43 )
170+ mock .assert_called_with ('http://base.url/wp-json/wp/v2/categories/43' ,
171+ context = 'view' )
172+
173+ @patch .object (python_wpapi .WpApi , '_request' )
174+ def test_create_category (mock , api ):
175+ api .create_category (name = 'Category Name' )
176+ mock .assert_called_with ('http://base.url/wp-json/wp/v2/categories' ,
177+ method = 'POST' ,
178+ name = 'Category Name' )
179+
180+ @patch .object (python_wpapi .WpApi , '_request' )
181+ def test_update_category (mock , api ):
182+ api .update_category (44 , description = 'desc' )
183+ mock .assert_called_with ('http://base.url/wp-json/wp/v2/categories/44' ,
184+ method = 'POST' ,
185+ description = 'desc' )
186+
187+ @patch .object (python_wpapi .WpApi , '_request' )
188+ def test_delete_category (mock , api ):
189+ api .delete_category (45 )
190+ mock .assert_called_with ('http://base.url/wp-json/wp/v2/categories/45' ,
191+ force = True ,
192+ method = 'DELETE' )
193+
194+ @patch .object (python_wpapi .WpApi , '_request' )
195+ def test_get_tags (mock , api ):
196+ api .get_tags ()
197+ mock .assert_called_with ('http://base.url/wp-json/wp/v2/tags' )
198+
199+ @patch .object (python_wpapi .WpApi , '_request' )
200+ def test_get_tag (mock , api ):
201+ api .get_tag (19 )
202+ mock .assert_called_with ('http://base.url/wp-json/wp/v2/tags/19' ,
203+ context = 'view' )
204+
205+ @patch .object (python_wpapi .WpApi , '_request' )
206+ def test_create_tag (mock , api ):
207+ api .create_tag (name = 'Category Name' )
208+ mock .assert_called_with ('http://base.url/wp-json/wp/v2/tags' ,
209+ method = 'POST' ,
210+ name = 'Category Name' )
211+
212+ @patch .object (python_wpapi .WpApi , '_request' )
213+ def test_update_tag (mock , api ):
214+ api .update_tag (20 , description = 'desc' )
215+ mock .assert_called_with ('http://base.url/wp-json/wp/v2/tags/20' ,
216+ method = 'POST' ,
217+ description = 'desc' )
218+
219+ @patch .object (python_wpapi .WpApi , '_request' )
220+ def test_delete_tag (mock , api ):
221+ api .delete_tag (21 )
222+ mock .assert_called_with ('http://base.url/wp-json/wp/v2/tags/21' ,
223+ force = True ,
224+ method = 'DELETE' )
225+
109226@patch .object (python_wpapi .requests , 'request' )
110227def test__request_get (mock , api ):
111228 mock .return_value .json .return_value = {}
@@ -117,6 +234,7 @@ def test__request_get(mock, api):
117234 auth = api .auth ,
118235 params = {'arg1' : 'value' },
119236 json = {},
237+ files = None ,
120238 headers = {}
121239 )
122240
@@ -132,6 +250,7 @@ def test__request_post(mock, api):
132250 auth = api .auth ,
133251 params = {},
134252 json = {'arg1' : 'value' },
253+ files = None ,
135254 headers = {'header1' : 'header2' }
136255 )
137256
@@ -167,6 +286,14 @@ def test__request_404(mock, api):
167286 api ._request ('endpoint4' )
168287 assert e .status_code == 404
169288
289+ @patch .object (python_wpapi .requests , 'request' )
290+ def test__request_500 (mock , api ):
291+ mock .return_value .json .return_value = {}
292+ mock .return_value .status_code = 500
293+ with pytest .raises (errors .InternalErrorWpApiError ) as e :
294+ api ._request ('endpoint4' )
295+ assert e .status_code == 500
296+
170297@patch .object (python_wpapi .requests , 'request' )
171298def test__request_generic (mock , api ):
172299 mock .return_value .json .return_value = {}
0 commit comments