@@ -108,124 +108,63 @@ def test_delete_category(self, create_authenticated_headers, create_category):
108108 assert get_resp .status_code == 404
109109 self ._verify_category_in_db ("ToDelete" , should_exist = False )
110110
111- def test_create_category_expired_token (self ):
112- headers = utils .get_expired_token_headers (self .client .application .app_context ())
111+ @pytest .mark .parametrize (
112+ "get_headers, expected_code" ,
113+ [
114+ (lambda self : utils .get_expired_token_headers (self .client .application .app_context ()), "token_expired" ),
115+ (lambda self : utils .get_invalid_token_headers (), "invalid_token" ),
116+ (lambda self : None , "authorization_required" )
117+ ]
118+ )
119+ def test_create_category_token_error (self , get_headers , expected_code ):
120+ headers = get_headers (self )
113121 response = self .client .post (
114- "/category/create" , json = {"name" : "TestExpired " }, headers = headers
122+ "/category/create" , json = {"name" : "CreateTokenError " }, headers = headers
115123 )
116-
117- utils .verify_token_error_response (response , "token_expired" )
118- self ._verify_category_in_db ("TestExpired" , should_exist = False )
119-
120- def test_create_category_invalid_token (self ):
121- headers = utils .get_invalid_token_headers ()
122- response = self .client .post (
123- "/category/create" , json = {"name" : "TestInvalid" }, headers = headers
124- )
125-
126- utils .verify_token_error_response (response , "invalid_token" )
127- self ._verify_category_in_db ("TestInvalid" , should_exist = False )
128-
129- def test_create_category_missing_token (self ):
130- response = self .client .post ("/category/create" , json = {"name" : "TestMissing" })
131- utils .verify_token_error_response (response , "authorization_required" )
132- self ._verify_category_in_db ("TestMissing" , should_exist = False )
133-
134- def test_update_category_expired_token (
135- self , create_category , create_authenticated_headers
136- ):
124+ utils .verify_token_error_response (response , expected_code )
125+ self ._verify_category_in_db ("CreateTokenError" , should_exist = False )
126+
127+ @pytest .mark .parametrize (
128+ "get_headers, expected_code" ,
129+ [
130+ (lambda self : utils .get_expired_token_headers (self .client .application .app_context ()), "token_expired" ),
131+ (lambda self : utils .get_invalid_token_headers (), "invalid_token" ),
132+ (lambda self : None , "authorization_required" )
133+ ]
134+ )
135+ def test_update_category_token_error (self , get_headers , create_category , create_authenticated_headers , expected_code ):
137136 headers = create_authenticated_headers ()
138- response = create_category ("UpdateExpired " , headers )
137+ response = create_category ("UpdateTokenError " , headers )
139138 data = response .get_json ()
140139 cat_id = data ["id" ]
141140
142- expired_headers = utils .get_expired_token_headers (
143- self .client .application .app_context ()
144- )
141+ update_headers = get_headers (self )
145142 update_resp = self .client .put (
146143 f"/category/{ cat_id } /update" ,
147144 json = {"name" : "UpdatedName" },
148- headers = expired_headers ,
145+ headers = update_headers ,
149146 )
150147
151- utils .verify_token_error_response (update_resp , "token_expired" )
152- self ._verify_category_in_db ("UpdateExpired " )
148+ utils .verify_token_error_response (update_resp , expected_code )
149+ self ._verify_category_in_db ("UpdateTokenError " )
153150 self ._verify_category_in_db ("UpdatedName" , should_exist = False )
154151
155- def test_update_category_invalid_token (
156- self , create_category , create_authenticated_headers
157- ):
158- headers = create_authenticated_headers ()
159- response = create_category ("UpdateInvalid" , headers )
160- data = response .get_json ()
161- cat_id = data ["id" ]
162-
163- invalid_headers = utils .get_invalid_token_headers ()
164- update_resp = self .client .put (
165- f"/category/{ cat_id } /update" ,
166- json = {"name" : "UpdatedName" },
167- headers = invalid_headers ,
168- )
169-
170- utils .verify_token_error_response (update_resp , "invalid_token" )
171- self ._verify_category_in_db ("UpdateInvalid" )
172- self ._verify_category_in_db ("UpdatedName" , should_exist = False )
173-
174- def test_update_category_missing_token (
175- self , create_category , create_authenticated_headers
176- ):
177- headers = create_authenticated_headers ()
178- response = create_category ("UpdateMissing" , headers )
179- data = response .get_json ()
180- cat_id = data ["id" ]
181-
182- update_resp = self .client .put (
183- f"/category/{ cat_id } /update" , json = {"name" : "UpdatedName" }
184- )
185-
186- utils .verify_token_error_response (update_resp , "authorization_required" )
187- self ._verify_category_in_db ("UpdateMissing" )
188- self ._verify_category_in_db ("UpdatedName" , should_exist = False )
189-
190- def test_delete_category_expired_token (
191- self , create_category , create_authenticated_headers
192- ):
193- headers = create_authenticated_headers ()
194- response = create_category ("DeleteExpired" , headers )
195- data = response .get_json ()
196- cat_id = data ["id" ]
197-
198- expired_headers = utils .get_expired_token_headers (
199- self .client .application .app_context ()
200- )
201- delete_resp = self .client .delete (f"/category/{ cat_id } " , headers = expired_headers )
202-
203- utils .verify_token_error_response (delete_resp , "token_expired" )
204- self ._verify_category_in_db ("DeleteExpired" )
205-
206- def test_delete_category_invalid_token (
207- self , create_category , create_authenticated_headers
208- ):
209- headers = create_authenticated_headers ()
210- response = create_category ("DeleteInvalid" , headers )
211- data = response .get_json ()
212- cat_id = data ["id" ]
213-
214- invalid_headers = utils .get_invalid_token_headers ()
215- delete_resp = self .client .delete (f"/category/{ cat_id } " , headers = invalid_headers )
216-
217- utils .verify_token_error_response (delete_resp , "invalid_token" )
218- self ._verify_category_in_db ("DeleteInvalid" )
219-
220- def test_delete_category_missing_token (
221- self , create_category , create_authenticated_headers
222- ):
152+ @pytest .mark .parametrize (
153+ "get_headers, expected_code" ,
154+ [
155+ (lambda self : utils .get_expired_token_headers (self .client .application .app_context ()), "token_expired" ),
156+ (lambda self : utils .get_invalid_token_headers (), "invalid_token" ),
157+ (lambda self : None , "authorization_required" )
158+ ]
159+ )
160+ def test_delete_category_token_error (self , get_headers , create_category , create_authenticated_headers , expected_code ):
223161 headers = create_authenticated_headers ()
224- response = create_category ("DeleteMissing " , headers )
162+ response = create_category ("DeleteTokenError " , headers )
225163 data = response .get_json ()
226164 cat_id = data ["id" ]
227165
228- delete_resp = self .client .delete (f"/category/{ cat_id } " )
166+ delete_headers = get_headers (self )
167+ delete_resp = self .client .delete (f"/category/{ cat_id } " , headers = delete_headers )
229168
230- utils .verify_token_error_response (delete_resp , "authorization_required" )
231- self ._verify_category_in_db ("DeleteMissing " )
169+ utils .verify_token_error_response (delete_resp , expected_code )
170+ self ._verify_category_in_db ("DeleteTokenError " )
0 commit comments