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:
@@ -381,13 +381,11 @@ def add_tenants(flavor_uuid, tenants, transaction_id):
|
|||||||
validate_tenants_regions_list(tenants.tenants,
|
validate_tenants_regions_list(tenants.tenants,
|
||||||
existing_region_list,
|
existing_region_list,
|
||||||
'create', datamanager)
|
'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")
|
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):
|
if not isinstance(tenant, basestring):
|
||||||
raise ValueError("tenant type must be a string type,"
|
raise ValueError("tenant type must be a string type,"
|
||||||
" got {} type".format(type(tenant)))
|
" got {} type".format(type(tenant)))
|
||||||
|
@@ -502,11 +502,13 @@ class TestFlavorLogic(FunctionalTest):
|
|||||||
|
|
||||||
@patch.object(flavor_logic, 'send_to_rds_if_needed')
|
@patch.object(flavor_logic, 'send_to_rds_if_needed')
|
||||||
@patch.object(flavor_logic, 'get_flavor_by_uuid')
|
@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()
|
ret_flavor = MagicMock()
|
||||||
tenants = ['test_tenant']
|
tenants = ['test_tenant']
|
||||||
ret_flavor.flavor.tenants = tenants
|
ret_flavor.flavor.tenants = tenants
|
||||||
mock_gfbu.return_value = ret_flavor
|
mock_gfbu.return_value = ret_flavor
|
||||||
|
mock_val.return_value = ['test_tenant'], ['test_region']
|
||||||
global error
|
global error
|
||||||
error = 31
|
error = 31
|
||||||
injector.override_injected_dependency(
|
injector.override_injected_dependency(
|
||||||
@@ -519,11 +521,13 @@ class TestFlavorLogic(FunctionalTest):
|
|||||||
|
|
||||||
@patch.object(flavor_logic, 'send_to_rds_if_needed')
|
@patch.object(flavor_logic, 'send_to_rds_if_needed')
|
||||||
@patch.object(flavor_logic, 'get_flavor_by_uuid')
|
@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()
|
ret_flavor = MagicMock()
|
||||||
tenants = ['test_tenant']
|
tenants = ['test_tenant']
|
||||||
ret_flavor.flavor.tenants = tenants
|
ret_flavor.flavor.tenants = tenants
|
||||||
mock_gfbu.return_value = ret_flavor
|
mock_gfbu.return_value = ret_flavor
|
||||||
|
mock_val.return_value = ['test_tenant'], ['test_region']
|
||||||
global error
|
global error
|
||||||
|
|
||||||
error = 1
|
error = 1
|
||||||
@@ -541,15 +545,16 @@ class TestFlavorLogic(FunctionalTest):
|
|||||||
TenantWrapper(tenants),
|
TenantWrapper(tenants),
|
||||||
'transaction')
|
'transaction')
|
||||||
|
|
||||||
|
# test that no valid tenant found
|
||||||
error = 31
|
error = 31
|
||||||
moq = MagicMock()
|
mock_val.return_value = [], ['test_region']
|
||||||
mock_strin.side_effect = exc.FlushError(
|
self.assertRaises(ValueError,
|
||||||
'conflicts with persistent instance')
|
|
||||||
self.assertRaises(flavor_logic.ConflictError,
|
|
||||||
flavor_logic.add_tenants, 'uuid',
|
flavor_logic.add_tenants, 'uuid',
|
||||||
TenantWrapper(tenants),
|
TenantWrapper(tenants),
|
||||||
'transaction')
|
'transaction')
|
||||||
|
|
||||||
|
mock_val.return_value = ['test_tenant'], ['test_region']
|
||||||
|
|
||||||
mock_strin.side_effect = exc.FlushError('')
|
mock_strin.side_effect = exc.FlushError('')
|
||||||
self.assertRaises(exc.FlushError,
|
self.assertRaises(exc.FlushError,
|
||||||
flavor_logic.add_tenants, 'uuid',
|
flavor_logic.add_tenants, 'uuid',
|
||||||
|
Reference in New Issue
Block a user