@@ -351,7 +351,17 @@ def test_build_no_remove_process(self, mock_requests):
351351 self .assertEqual (response .status_code , 200 , response .data )
352352 self .assertEqual (response .json ()['structure' ], {'web' : 1 , 'task' : 1 , 'worker' : 1 })
353353
354- # clean worker
354+ # clean worker, repicas 1 not allow
355+ response = self .client .post ('/v2/apps/{}/ptypes/clean' .format (app_id ), {"ptypes" : "task" })
356+ self .assertEqual (response .status_code , 400 , response .data )
357+
358+ # scale task
359+ url = f"/v2/apps/{ app_id } /ptypes/scale"
360+ body = {'task' : 0 }
361+ response = self .client .post (url , body )
362+ self .assertEqual (response .status_code , 204 , response .data )
363+
364+ # clean worker, repicas 0 allow
355365 response = self .client .post ('/v2/apps/{}/ptypes/clean' .format (app_id ), {"ptypes" : "task" })
356366 self .assertEqual (response .status_code , 204 , response .data )
357367
@@ -361,8 +371,19 @@ def test_build_no_remove_process(self, mock_requests):
361371 self .assertEqual (response .status_code , 200 , response .data )
362372 self .assertEqual (response .json ()['structure' ], {'web' : 1 , 'worker' : 1 })
363373
364- # clean all worker
374+ # ptypes is a required field
365375 response = self .client .post ('/v2/apps/{}/ptypes/clean' .format (app_id ))
376+ self .assertEqual (response .status_code , 400 , response .data )
377+
378+ url = f"/v2/apps/{ app_id } /ptypes/scale"
379+ body = {'worker' : 0 }
380+ response = self .client .post (url , body )
381+ self .assertEqual (response .status_code , 204 , response .data )
382+
383+ # clean worker
384+ response = self .client .post (
385+ '/v2/apps/{}/ptypes/clean' .format (app_id ),
386+ {"ptypes" : "worker" })
366387 self .assertEqual (response .status_code , 204 , response .data )
367388
368389 # look at the app structure
0 commit comments