Private flavor tenant minor fix

Issue error message when tenant list in add_tenant request does not
contain any valid tenant for flavor already assigned to region(s).
Also update corresponding unit tests.

Change-Id: Iea81e812ba26038a06fbb80f7a7ca6d4274c3884
This commit is contained in:
st6218 2020-01-16 16:30:06 -08:00
parent 93d6e9d115
commit 4a5726139e
2 changed files with 15 additions and 12 deletions

View File

@ -379,13 +379,11 @@ def add_tenants(flavor_uuid, tenants, transaction_id):
validate_tenants_regions_list(tenants.tenants,
existing_region_list,
'create', datamanager)
# replace tenants.tenants with only the valid tenants
tenants.tenants = valid_tenants_list
else:
if not valid_tenants_list:
raise ValueError("At least one valid tenant must be provided")
for tenant in tenants.tenants:
for tenant in valid_tenants_list:
if not isinstance(tenant, str):
raise ValueError("tenant type must be a string type,"
" got {} type".format(type(tenant)))

View File

@ -502,11 +502,13 @@ class TestFlavorLogic(FunctionalTest):
@patch.object(flavor_logic, 'send_to_rds_if_needed')
@patch.object(flavor_logic, 'get_flavor_by_uuid')
def test_add_tenants_success(self, mock_gfbu, mock_strin):
@patch.object(flavor_logic, 'validate_tenants_regions_list')
def test_add_tenants_success(self, mock_val, mock_gfbu, mock_strin):
ret_flavor = MagicMock()
tenants = ['test_tenant']
ret_flavor.flavor.tenants = tenants
mock_gfbu.return_value = ret_flavor
mock_val.return_value = ['test_tenant'], ['test_region']
global error
error = 31
injector.override_injected_dependency(
@ -519,11 +521,13 @@ class TestFlavorLogic(FunctionalTest):
@patch.object(flavor_logic, 'send_to_rds_if_needed')
@patch.object(flavor_logic, 'get_flavor_by_uuid')
def test_add_tenants_errors(self, mock_gfbu, mock_strin):
@patch.object(flavor_logic, 'validate_tenants_regions_list')
def test_add_tenants_errors(self, mock_val, mock_gfbu, mock_strin):
ret_flavor = MagicMock()
tenants = ['test_tenant']
ret_flavor.flavor.tenants = tenants
mock_gfbu.return_value = ret_flavor
mock_val.return_value = ['test_tenant'], ['test_region']
global error
error = 1
@ -541,14 +545,15 @@ class TestFlavorLogic(FunctionalTest):
TenantWrapper(tenants),
'transaction')
# test that no valid tenant found
error = 31
moq = MagicMock()
# moq.tenants = [1337]
# self.assertRaises(flavor_logic.ErrorStatus,
# flavor_logic.add_tenants, 'uuid',
# moq,
# 'transaction')
mock_val.return_value = [], ['test_region']
self.assertRaises(ValueError,
flavor_logic.add_tenants, 'uuid',
TenantWrapper(tenants),
'transaction')
mock_val.return_value = ['test_tenant'], ['test_region']
mock_strin.side_effect = exc.FlushError(
'conflicts with persistent instance')
self.assertRaises(flavor_logic.ConflictError,