@@ -113,111 +113,66 @@ def test_delete_subcategory(self, create_authenticated_headers, create_subcatego
113113 assert get_resp .status_code == 404
114114 self ._verify_subcategory_in_db ("ToDelete" , should_exist = False )
115115
116- def test_create_subcategory_expired_token (self ):
117- headers = utils .get_expired_token_headers (self .client .application .app_context ())
116+ @pytest .mark .parametrize (
117+ "get_headers, expected_code" ,
118+ [
119+ (lambda self : utils .get_expired_token_headers (self .client .application .app_context ()), "token_expired" ),
120+ (lambda self : utils .get_invalid_token_headers (), "invalid_token" ),
121+ (lambda self : None , "authorization_required" )
122+ ]
123+ )
124+ def test_create_subcategory_token_error (self , get_headers , expected_code ):
125+ headers = get_headers (self )
118126 response = self .client .post (
119- "/subcategory/create" , json = {"name" : "TestExpired " }, headers = headers
127+ "/subcategory/create" , json = {"name" : "CreateTokenError " }, headers = headers
120128 )
121-
122- utils .verify_token_error_response (response , "token_expired" )
123- self ._verify_subcategory_in_db ("TestExpired" , should_exist = False )
124-
125- def test_create_subcategory_invalid_token (self ):
126- headers = utils .get_invalid_token_headers ()
127- response = self .client .post (
128- "/subcategory/create" , json = {"name" : "TestInvalid" }, headers = headers
129- )
130-
131- utils .verify_token_error_response (response , "invalid_token" )
132- self ._verify_subcategory_in_db ("TestInvalid" , should_exist = False )
133-
134- def test_create_subcategory_missing_token (self ):
135- response = self .client .post ("/subcategory/create" , json = {"name" : "TestMissing" })
136- utils .verify_token_error_response (response , "authorization_required" )
137- self ._verify_subcategory_in_db ("TestMissing" , should_exist = False )
138-
139- def test_update_subcategory_expired_token (self , create_subcategory , create_authenticated_headers ):
140- headers = create_authenticated_headers ()
141- response = create_subcategory ("UpdateExpired" , headers = headers )
142- data = response .get_json ()
143- sc_id = data ["id" ]
144-
145- expired_headers = utils .get_expired_token_headers (self .client .application .app_context ())
146- update_resp = self .client .put (
147- f"/subcategory/{ sc_id } /update" ,
148- json = {"name" : "UpdatedName" },
149- headers = expired_headers ,
150- )
151-
152- utils .verify_token_error_response (update_resp , "token_expired" )
153- self ._verify_subcategory_in_db ("UpdateExpired" )
154- self ._verify_subcategory_in_db ("UpdatedName" , should_exist = False )
155-
156- def test_update_subcategory_invalid_token (self , create_subcategory , create_authenticated_headers ):
129+ utils .verify_token_error_response (response , expected_code )
130+ self ._verify_subcategory_in_db ("CreateTokenError" , should_exist = False )
131+
132+ @pytest .mark .parametrize (
133+ "get_headers, expected_code" ,
134+ [
135+ (lambda self : utils .get_expired_token_headers (self .client .application .app_context ()), "token_expired" ),
136+ (lambda self : utils .get_invalid_token_headers (), "invalid_token" ),
137+ (lambda self : None , "authorization_required" )
138+ ]
139+ )
140+ def test_update_subcategory_token_error (self , get_headers , create_subcategory , create_authenticated_headers , expected_code ):
157141 headers = create_authenticated_headers ()
158- response = create_subcategory ("UpdateInvalid " , headers = headers )
142+ response = create_subcategory ("UpdateTokenError " , headers = headers )
159143 data = response .get_json ()
160144 sc_id = data ["id" ]
161145
162- invalid_headers = utils . get_invalid_token_headers ( )
146+ update_headers = get_headers ( self )
163147 update_resp = self .client .put (
164148 f"/subcategory/{ sc_id } /update" ,
165149 json = {"name" : "UpdatedName" },
166- headers = invalid_headers ,
150+ headers = update_headers ,
167151 )
168152
169- utils .verify_token_error_response (update_resp , "invalid_token" )
170- self ._verify_subcategory_in_db ("UpdateInvalid " )
153+ utils .verify_token_error_response (update_resp , expected_code )
154+ self ._verify_subcategory_in_db ("UpdateTokenError " )
171155 self ._verify_subcategory_in_db ("UpdatedName" , should_exist = False )
172156
173- def test_update_subcategory_missing_token (self , create_subcategory , create_authenticated_headers ):
174- headers = create_authenticated_headers ()
175- response = create_subcategory ("UpdateMissing" , headers = headers )
176- data = response .get_json ()
177- sc_id = data ["id" ]
178-
179- update_resp = self .client .put (
180- f"/subcategory/{ sc_id } /update" , json = {"name" : "UpdatedName" }
181- )
182-
183- utils .verify_token_error_response (update_resp , "authorization_required" )
184- self ._verify_subcategory_in_db ("UpdateMissing" )
185- self ._verify_subcategory_in_db ("UpdatedName" , should_exist = False )
186-
187- def test_delete_subcategory_expired_token (self , create_subcategory , create_authenticated_headers ):
188- headers = create_authenticated_headers ()
189- response = create_subcategory ("DeleteExpired" , headers = headers )
190- data = response .get_json ()
191- sc_id = data ["id" ]
192-
193- expired_headers = utils .get_expired_token_headers (self .client .application .app_context ())
194- delete_resp = self .client .delete (f"/subcategory/{ sc_id } " , headers = expired_headers )
195-
196- utils .verify_token_error_response (delete_resp , "token_expired" )
197- self ._verify_subcategory_in_db ("DeleteExpired" )
198-
199- def test_delete_subcategory_invalid_token (self , create_subcategory , create_authenticated_headers ):
200- headers = create_authenticated_headers ()
201- response = create_subcategory ("DeleteInvalid" , headers = headers )
202- data = response .get_json ()
203- sc_id = data ["id" ]
204-
205- invalid_headers = utils .get_invalid_token_headers ()
206- delete_resp = self .client .delete (f"/subcategory/{ sc_id } " , headers = invalid_headers )
207-
208- utils .verify_token_error_response (delete_resp , "invalid_token" )
209- self ._verify_subcategory_in_db ("DeleteInvalid" )
210-
211- def test_delete_subcategory_missing_token (self , create_subcategory , create_authenticated_headers ):
157+ @pytest .mark .parametrize (
158+ "get_headers, expected_code" ,
159+ [
160+ (lambda self : utils .get_expired_token_headers (self .client .application .app_context ()), "token_expired" ),
161+ (lambda self : utils .get_invalid_token_headers (), "invalid_token" ),
162+ (lambda self : None , "authorization_required" )
163+ ]
164+ )
165+ def test_delete_subcategory_token_error (self , get_headers , create_subcategory , create_authenticated_headers , expected_code ):
212166 headers = create_authenticated_headers ()
213- response = create_subcategory ("DeleteMissing " , headers = headers )
167+ response = create_subcategory ("DeleteTokenError " , headers = headers )
214168 data = response .get_json ()
215169 sc_id = data ["id" ]
216170
217- delete_resp = self .client .delete (f"/subcategory/{ sc_id } " )
171+ delete_headers = get_headers (self )
172+ delete_resp = self .client .delete (f"/subcategory/{ sc_id } " , headers = delete_headers )
218173
219- utils .verify_token_error_response (delete_resp , "authorization_required" )
220- self ._verify_subcategory_in_db ("DeleteMissing " )
174+ utils .verify_token_error_response (delete_resp , expected_code )
175+ self ._verify_subcategory_in_db ("DeleteTokenError " )
221176
222177 def test_get_subcategory_categories_empty (self , create_subcategory ):
223178 response = create_subcategory ("NoCatRel" )
0 commit comments