@@ -395,6 +395,112 @@ def test_limit_set_resource_limit(self):
395395 )
396396 self .assertEqual (datalist , data )
397397
398+ def test_limit_set_resource_limit_zero (self ):
399+ resource_limit = 0
400+ limit = sdk_fakes .generate_fake_resource (
401+ resource_type = _limit .Limit ,
402+ project_id = self .project .id ,
403+ service_id = self .service .id ,
404+ resource_name = 'foobars' ,
405+ description = None ,
406+ resource_limit = resource_limit ,
407+ region_id = None ,
408+ )
409+ self .identity_sdk_client .update_limit .return_value = limit
410+
411+ arglist = [
412+ '--resource-limit' ,
413+ str (resource_limit ),
414+ limit .id ,
415+ ]
416+ verifylist = [
417+ ('resource_limit' , resource_limit ),
418+ ('limit_id' , limit .id ),
419+ ]
420+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
421+
422+ columns , data = self .cmd .take_action (parsed_args )
423+
424+ self .identity_sdk_client .update_limit .assert_called_with (
425+ limit .id ,
426+ resource_limit = resource_limit ,
427+ )
428+
429+ collist = (
430+ 'description' ,
431+ 'id' ,
432+ 'project_id' ,
433+ 'region_id' ,
434+ 'resource_limit' ,
435+ 'resource_name' ,
436+ 'service_id' ,
437+ )
438+ self .assertEqual (collist , columns )
439+ datalist = (
440+ None ,
441+ limit .id ,
442+ self .project .id ,
443+ None ,
444+ resource_limit ,
445+ limit .resource_name ,
446+ self .service .id ,
447+ )
448+ self .assertEqual (datalist , data )
449+
450+ def test_limit_set_without_resource_limit (self ):
451+ limit = sdk_fakes .generate_fake_resource (
452+ resource_type = _limit .Limit ,
453+ project_id = self .project .id ,
454+ service_id = self .service .id ,
455+ resource_name = 'foobars' ,
456+ description = None ,
457+ resource_limit = 20 ,
458+ region_id = None ,
459+ )
460+
461+ self .identity_sdk_client .update_limit .return_value = limit
462+
463+ arglist = [
464+ limit .id ,
465+ ]
466+ verifylist = [
467+ ('limit_id' , limit .id ),
468+ ]
469+
470+ parsed_args = self .check_parser (
471+ self .cmd ,
472+ arglist ,
473+ verifylist ,
474+ )
475+
476+ columns , data = self .cmd .take_action (parsed_args )
477+
478+ self .identity_sdk_client .update_limit .assert_called_once_with (
479+ limit .id ,
480+ )
481+
482+ collist = (
483+ 'description' ,
484+ 'id' ,
485+ 'project_id' ,
486+ 'region_id' ,
487+ 'resource_limit' ,
488+ 'resource_name' ,
489+ 'service_id' ,
490+ )
491+ self .assertEqual (collist , columns )
492+
493+ datalist = (
494+ None ,
495+ limit .id ,
496+ self .project .id ,
497+ None ,
498+ 20 ,
499+ limit .resource_name ,
500+ self .service .id ,
501+ )
502+ self .assertEqual (datalist , data )
503+
398504
399505class TestLimitList (identity_fakes .TestIdentity ):
400506 def setUp (self ):
0 commit comments