Merge "Extend test cases for customer service"

This commit is contained in:
Zuul 2019-11-26 14:45:28 +00:00 committed by Gerrit Code Review
commit f79ac16d20

View File

@ -14,6 +14,7 @@
# under the License.
import random
import uuid
from ranger_tempest_plugin.data_utils import data_utils
from ranger_tempest_plugin.tests.api import cms_base
@ -68,6 +69,14 @@ class TestTempestCms(cms_base.CmsBaseOrmTest):
region_name)
return region
def _create_customer(self, post_body):
customer_id = self._create_cust_validate_creation_on_dcp_and_lcp(
**post_body)
self.addCleanup(
self._del_cust_validate_deletion_on_dcp_and_lcp,
customer_id)
return customer_id
@decorators.idempotent_id('6072c438-1e45-4c0b-97a6-e5127bd33d89')
def test_get_customer(self):
"""Execute 'get_customer' using the following options
@ -88,6 +97,7 @@ class TestTempestCms(cms_base.CmsBaseOrmTest):
- no filter (i.e. list all customers)
- filter by metadata key
- filter by metadata key value pair
- filter by region
- filter by default user id
- customer name contains a substring
@ -103,18 +113,23 @@ class TestTempestCms(cms_base.CmsBaseOrmTest):
# get the first key from metadata as the metadata key filter
metadata_key = list(self.setup_customer['metadata'].keys())[0]
metadata_value = self.setup_customer['metadata'][metadata_key]
# define the list customer filters to be used for this test
no_filter = None
metadata_filter = {'metadata': metadata_key}
metadata_kv_filter = {
'metadata': '%s:%s' % (metadata_key, metadata_value)
}
region_filter = {'region': region_name[0]}
user_filter = {'user': userid[0]}
contains_filter = {'contains': cust_name[substr_name:]}
startswith_filter = {'starts_with': cust_name[:substr_name]}
# execute list_customers with the available filters
for list_filter in [no_filter, metadata_filter, region_filter,
user_filter, contains_filter, startswith_filter]:
for list_filter in [no_filter, metadata_filter, metadata_kv_filter,
region_filter, user_filter,
contains_filter, startswith_filter]:
_, body = self.client.list_customers(list_filter)
customers = [cust['id'] for cust in body['customers']]
self.assertIn(self.setup_customer_id, customers)
@ -354,12 +369,14 @@ class TestTempestCms(cms_base.CmsBaseOrmTest):
def test_replace_customer(self):
customer = self._get_bare_customer_params()
customer['name'] = self.setup_customer['name']
customer['description'] = 'test customer'
customer['regions'] = [{'name': CONF.identity.region}]
_, body = self.client.update_customer(self.setup_customer_id,
customer)
self._wait_for_status(self.setup_customer_id, 'Success')
_, body = self.client.get_customer(self.setup_customer_id)
self.assert_expected(customer, body, ['name', 'regions'])
self.assert_expected(customer, body,
['name', 'description', 'regions'])
for region in customer['regions']:
self.assertIn(region['name'], [x['name'] for x in body['regions']])
@ -425,3 +442,40 @@ class TestTempestCms(cms_base.CmsBaseOrmTest):
# Notification to ORD failed
self.assertEqual(body['status'], 'Error')
self.assertEqual(body['custId'], test_customer_id)
@decorators.idempotent_id('49e08cd0-4d33-4ec4-95a0-500974b3a9bf')
def test_list_customer_additional_fields(self):
_, customer = self.client.get_customer(self.setup_customer_id)
self.assertIn('status', customer)
self.assertIn('regions', customer)
@decorators.idempotent_id('edf3a30a-fca8-49d0-acc6-c3190c6feb43')
def test_disable_customer(self):
self.client.enable_customer(self.setup_customer_id, False)
self._wait_for_status(self.setup_customer_id, 'Success')
_, body = self.client.get_customer(self.setup_customer_id)
self.assertFalse(body['enabled'])
@decorators.idempotent_id('7787b712-c398-47b6-8bf6-345be85e6daa')
def test_create_customer_with_uuid(self):
post_body = self._get_customer_params(quota=False)
uuid_ = uuid.uuid4().hex
post_body['uuid'] = uuid_
test_customer_id = self._create_customer(post_body)
_, customer = self.client.get_customer(test_customer_id)
self.assertEqual(customer['uuid'], uuid_)
@decorators.idempotent_id('8bd31cee-825a-4542-aa1d-bf2d79dbac62')
def test_replace_customer_quota(self):
customer = self._get_bare_customer_params()
customer['name'] = self.setup_customer['name']
customer['regions'] = [{'name': CONF.identity.region}]
quota = self.setup_customer['defaultQuotas'][0]
quota['compute'][0]['ram'] = '20'
customer['defaultQuotas'] = [quota]
_, body = self.client.update_customer(self.setup_customer_id,
customer)
self._wait_for_status(self.setup_customer_id, 'Success')
_, body = self.client.get_customer(self.setup_customer_id)
self.assertEqual(len(body['defaultQuotas']), 1)
self.assertDictEqual(quota, body['defaultQuotas'][0])