Private flavor tenant minor fix (python2)

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: Id1a532b60f35a4c3fef8f9bcd16b13334bf5b2ff
This commit is contained in:
stewie925
2020-01-16 22:44:53 -08:00
parent c2ad3f03db
commit 83166e7c33
2 changed files with 13 additions and 10 deletions

View File

@@ -381,13 +381,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, basestring):
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,15 +545,16 @@ class TestFlavorLogic(FunctionalTest):
TenantWrapper(tenants),
'transaction')
# test that no valid tenant found
error = 31
moq = MagicMock()
mock_strin.side_effect = exc.FlushError(
'conflicts with persistent instance')
self.assertRaises(flavor_logic.ConflictError,
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('')
self.assertRaises(exc.FlushError,
flavor_logic.add_tenants, 'uuid',