@@ -62,6 +62,9 @@ def setUp(self):
6262 self .app .client_manager .volume .quota_classes
6363 self .volume_quotas_class_mock .reset_mock ()
6464
65+ self .app .client_manager .network .quotas = mock .Mock ()
66+ self .network_quotas_mock = self .app .client_manager .network .quotas
67+
6568 self .app .client_manager .auth_ref = mock .Mock ()
6669 self .app .client_manager .auth_ref .service_catalog = mock .Mock ()
6770 self .service_catalog_mock = \
@@ -1154,3 +1157,107 @@ def test_network_quota_show_remove_empty(self):
11541157 self .assertEqual (len (network_fakes .QUOTA ) - 1 , len (result ))
11551158 # Go back to default mock
11561159 self .network .get_quota = orig_get_quota
1160+
1161+
1162+ class TestQuotaDelete (TestQuota ):
1163+ """Test cases for quota delete command"""
1164+
1165+ def setUp (self ):
1166+ super ().setUp ()
1167+
1168+ self .cmd = quota .DeleteQuota (self .app , None )
1169+
1170+ def test_delete (self ):
1171+ """Delete all quotas"""
1172+ arglist = [
1173+ self .projects [0 ].id ,
1174+ ]
1175+ verifylist = [
1176+ ('service' , 'all' ),
1177+ ('project' , self .projects [0 ].id ),
1178+ ]
1179+
1180+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
1181+
1182+ result = self .cmd .take_action (parsed_args )
1183+
1184+ self .assertIsNone (result )
1185+ self .projects_mock .get .assert_called_once_with (self .projects [0 ].id )
1186+ self .compute_quotas_mock .delete .assert_called_once_with (
1187+ self .projects [0 ],
1188+ )
1189+ self .volume_quotas_mock .delete .assert_called_once_with (
1190+ self .projects [0 ],
1191+ )
1192+ self .network_quotas_mock .delete .assert_called_once_with (
1193+ self .projects [0 ],
1194+ )
1195+
1196+ def test_delete__compute (self ):
1197+ """Delete compute quotas only"""
1198+ arglist = [
1199+ '--compute' ,
1200+ self .projects [0 ].id ,
1201+ ]
1202+ verifylist = [
1203+ ('service' , 'compute' ),
1204+ ('project' , self .projects [0 ].id ),
1205+ ]
1206+
1207+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
1208+
1209+ result = self .cmd .take_action (parsed_args )
1210+
1211+ self .assertIsNone (result )
1212+ self .projects_mock .get .assert_called_once_with (self .projects [0 ].id )
1213+ self .compute_quotas_mock .delete .assert_called_once_with (
1214+ self .projects [0 ],
1215+ )
1216+ self .volume_quotas_mock .delete .assert_not_called ()
1217+ self .network_quotas_mock .delete .assert_not_called ()
1218+
1219+ def test_delete__volume (self ):
1220+ """Delete volume quotas only"""
1221+ arglist = [
1222+ '--volume' ,
1223+ self .projects [0 ].id ,
1224+ ]
1225+ verifylist = [
1226+ ('service' , 'volume' ),
1227+ ('project' , self .projects [0 ].id ),
1228+ ]
1229+
1230+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
1231+
1232+ result = self .cmd .take_action (parsed_args )
1233+
1234+ self .assertIsNone (result )
1235+ self .projects_mock .get .assert_called_once_with (self .projects [0 ].id )
1236+ self .compute_quotas_mock .delete .assert_not_called ()
1237+ self .volume_quotas_mock .delete .assert_called_once_with (
1238+ self .projects [0 ],
1239+ )
1240+ self .network_quotas_mock .delete .assert_not_called ()
1241+
1242+ def test_delete__network (self ):
1243+ """Delete network quotas only"""
1244+ arglist = [
1245+ '--network' ,
1246+ self .projects [0 ].id ,
1247+ ]
1248+ verifylist = [
1249+ ('service' , 'network' ),
1250+ ('project' , self .projects [0 ].id ),
1251+ ]
1252+
1253+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
1254+
1255+ result = self .cmd .take_action (parsed_args )
1256+
1257+ self .assertIsNone (result )
1258+ self .projects_mock .get .assert_called_once_with (self .projects [0 ].id )
1259+ self .compute_quotas_mock .delete .assert_not_called ()
1260+ self .volume_quotas_mock .delete .assert_not_called ()
1261+ self .network_quotas_mock .delete .assert_called_once_with (
1262+ self .projects [0 ],
1263+ )
0 commit comments