Added Test List Region and Region Groups
- Test Create Region Group - Test Delete Region Group - Validate Region Group with Non Existent Region - Validate Delete Region Metadata - Test Create Region - Test Delete Region - Test List Multiple Filter Change-Id: I78651d4f334f0f37482f446b47c5ef0c16056ff8
This commit is contained in:
parent
60b0b50f05
commit
7f83000e45
@ -13,6 +13,8 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License
|
||||
|
||||
# pylint: disable=C0103
|
||||
|
||||
_metadata = {
|
||||
'type': 'object',
|
||||
'items': {
|
||||
@ -205,3 +207,7 @@ list_region_groups = {
|
||||
delete_region_group = {
|
||||
'status_code': [204]
|
||||
}
|
||||
|
||||
delete_region_metadata = {
|
||||
'status_code': [204]
|
||||
}
|
||||
|
@ -113,7 +113,7 @@ class RmsClient(base_client.RangerClientBase):
|
||||
def list_regions(self, filter=None):
|
||||
uri = '%s/%s/orm/regions' % (self.rms_url, self.version)
|
||||
if filter is not None:
|
||||
uri += '?' + urllib.parse.urlencode(filter)
|
||||
uri += '?' + urllib.urlencode(filter)
|
||||
return self.get_request(uri, schema.list_region)
|
||||
|
||||
def delete_region(self, region_id):
|
||||
@ -125,15 +125,11 @@ class RmsClient(base_client.RangerClientBase):
|
||||
% (self.rms_url, self.version, region_id)
|
||||
post_body = json.dumps(kwargs)
|
||||
return self.post_request(uri, post_body, schema.update_metadata)
|
||||
#
|
||||
# def delete_region_metadata(self, region_id, key):
|
||||
# uri = '%s/%s/orm/regions/%s/metadata/%s' % (
|
||||
# self.rms_url, self.version, region_id, key)
|
||||
# ex_headers = self.get_headers()
|
||||
# resp, body = self.delete(uri, extra_headers=ex_headers)
|
||||
# self.expected_success(200, resp.status)
|
||||
# body = json.loads(body)
|
||||
# return rest_client.ResponseBody(resp, body)
|
||||
|
||||
def delete_region_metadata(self, region_id, key):
|
||||
uri = '%s/%s/orm/regions/%s/metadata/%s' % (
|
||||
self.rms_url, self.version, region_id, key)
|
||||
return self.delete_request(uri, schema.delete_region_metadata)
|
||||
|
||||
def create_region_group(self, **kwargs):
|
||||
uri = '%s/%s/orm/groups' % (self.rms_url, self.version)
|
||||
|
@ -1,87 +1,133 @@
|
||||
# Copyright 2016 AT&T Corp
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License. You may obtain
|
||||
# a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from ranger_tempest_plugin import data_utils as orm_data_utils
|
||||
from ranger_tempest_plugin.tests.api import base
|
||||
|
||||
from tempest import config
|
||||
|
||||
from tempest.lib import decorators
|
||||
|
||||
from tempest.lib.common.utils import data_utils
|
||||
|
||||
CONF = config.CONF
|
||||
|
||||
|
||||
class TestTempestRegionGroup(base.BaseOrmTest):
|
||||
|
||||
@classmethod
|
||||
def setup_credentials(cls):
|
||||
super(TestTempestRegionGroup, cls).setup_credentials()
|
||||
|
||||
@classmethod
|
||||
def setup_clients(cls):
|
||||
super(TestTempestRegionGroup, cls).setup_clients()
|
||||
cls.client = cls.os_primary.rms_client
|
||||
|
||||
@classmethod
|
||||
def resource_setup(cls):
|
||||
cls.setup_ids = []
|
||||
cls.group_ids = []
|
||||
# create standard region
|
||||
_, cls.region_1 = cls.client.create_region(data_utils.rand_name())
|
||||
cls.setup_ids.append(cls.region_1['id'])
|
||||
# create region sharing region_1 properties
|
||||
_, cls.region_2 = cls.client.create_region(data_utils.rand_name())
|
||||
cls.setup_ids.append(cls.region_2['id'])
|
||||
|
||||
_, cls.group_1 = cls.client.create_region_group(
|
||||
**orm_data_utils.rand_region_group([cls.setup_ids[0]])
|
||||
)
|
||||
cls.group_ids.append(cls.group_1['group']['id'])
|
||||
_, cls.group_2 = cls.client.create_region_group(
|
||||
**orm_data_utils.rand_region_group(cls.setup_ids)
|
||||
)
|
||||
cls.group_ids.append(cls.group_2['group']['id'])
|
||||
|
||||
super(TestTempestRegionGroup, cls).resource_setup()
|
||||
|
||||
@classmethod
|
||||
def resource_cleanup(cls):
|
||||
for region_id in cls.setup_ids:
|
||||
cls.client.delete_region(region_id)
|
||||
for group_id in cls.group_ids:
|
||||
cls.client.delete_region_group(group_id)
|
||||
super(TestTempestRegionGroup, cls).resource_cleanup()
|
||||
|
||||
@decorators.idempotent_id('0d377eb2-754d-49c1-9a4f-c7019dfe80ca')
|
||||
def test_update_group(self):
|
||||
_id = self.group_ids[-1]
|
||||
group = orm_data_utils.rand_region_group(self.setup_ids, _id)
|
||||
_, body = self.client.update_region_group(_id, **group)
|
||||
self.assert_expected(group, body['group'], ['regions'])
|
||||
|
||||
@decorators.idempotent_id('b946c6c4-d601-42b9-befd-ba40992a3c53')
|
||||
def test_list_groups(self):
|
||||
_, body = self.client.list_region_groups()
|
||||
groups = [x['id'] for x in body['groups']]
|
||||
self.assertIn(self.group_1['group']['id'], groups)
|
||||
self.assertIn(self.group_2['group']['id'], groups)
|
||||
|
||||
@decorators.idempotent_id('9a37d966-4416-4ff3-8f3b-6847810662d7')
|
||||
def test_get_group(self):
|
||||
_id = self.group_1['group']['id']
|
||||
_, body = self.client.get_region_group(_id)
|
||||
self.assert_expected(self.group_1['group'], body, ['links'])
|
||||
# Copyright 2016 AT&T Corp
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License. You may obtain
|
||||
# a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from ranger_tempest_plugin import data_utils as orm_data_utils
|
||||
from ranger_tempest_plugin.tests.api import base
|
||||
|
||||
from tempest import config
|
||||
|
||||
from tempest.lib import decorators
|
||||
from tempest.lib import exceptions
|
||||
|
||||
from tempest.lib.common.utils import data_utils
|
||||
|
||||
CONF = config.CONF
|
||||
|
||||
|
||||
class TestTempestRegionGroup(base.BaseOrmTest):
|
||||
|
||||
@classmethod
|
||||
def setup_credentials(cls):
|
||||
super(TestTempestRegionGroup, cls).setup_credentials()
|
||||
|
||||
@classmethod
|
||||
def setup_clients(cls):
|
||||
super(TestTempestRegionGroup, cls).setup_clients()
|
||||
cls.client = cls.os_primary.rms_client
|
||||
|
||||
@classmethod
|
||||
def resource_setup(cls):
|
||||
cls.setup_ids = []
|
||||
cls.group_ids = []
|
||||
# create standard region
|
||||
_, cls.region_1 = cls.client.create_region(data_utils.rand_name())
|
||||
cls.setup_ids.append(cls.region_1['id'])
|
||||
# create region sharing region_1 properties
|
||||
_, cls.region_2 = cls.client.create_region(data_utils.rand_name())
|
||||
cls.setup_ids.append(cls.region_2['id'])
|
||||
|
||||
_, cls.group_1 = cls.client.create_region_group(
|
||||
**orm_data_utils.rand_region_group([cls.setup_ids[0]])
|
||||
)
|
||||
cls.group_ids.append(cls.group_1['group']['id'])
|
||||
_, cls.group_2 = cls.client.create_region_group(
|
||||
**orm_data_utils.rand_region_group(cls.setup_ids)
|
||||
)
|
||||
cls.group_ids.append(cls.group_2['group']['id'])
|
||||
|
||||
super(TestTempestRegionGroup, cls).resource_setup()
|
||||
|
||||
@classmethod
|
||||
def resource_cleanup(cls):
|
||||
for region_id in cls.setup_ids:
|
||||
cls.client.delete_region(region_id)
|
||||
for group_id in cls.group_ids:
|
||||
cls.client.delete_region_group(group_id)
|
||||
super(TestTempestRegionGroup, cls).resource_cleanup()
|
||||
|
||||
@decorators.idempotent_id('0d377eb2-754d-49c1-9a4f-c7019dfe80ca')
|
||||
def test_update_group(self):
|
||||
_id = self.group_ids[-1]
|
||||
group = orm_data_utils.rand_region_group(self.setup_ids, _id)
|
||||
_, body = self.client.update_region_group(_id, **group)
|
||||
self.assert_expected(group, body['group'], ['regions'])
|
||||
|
||||
@decorators.idempotent_id('b946c6c4-d601-42b9-befd-ba40992a3c53')
|
||||
def test_list_groups(self):
|
||||
_, body = self.client.list_region_groups()
|
||||
groups = [x['id'] for x in body['groups']]
|
||||
self.assertIn(self.group_1['group']['id'], groups)
|
||||
self.assertIn(self.group_2['group']['id'], groups)
|
||||
|
||||
@decorators.idempotent_id('9a37d966-4416-4ff3-8f3b-6847810662d7')
|
||||
def test_get_group(self):
|
||||
_id = self.group_1['group']['id']
|
||||
_, body = self.client.get_region_group(_id)
|
||||
self.assert_expected(self.group_1['group'], body, ['links'])
|
||||
|
||||
@decorators.idempotent_id('504cc5cb-bc19-48ea-9456-16f5b24c9529')
|
||||
def test_create_region_group(self):
|
||||
_, region_group = self.client.create_region_group(
|
||||
**orm_data_utils.rand_region_group(self.setup_ids)
|
||||
)
|
||||
_, region_group_details = self.client.get_region_group(
|
||||
region_group['group']['id']
|
||||
)
|
||||
self.assertEqual(
|
||||
region_group_details['regions'],
|
||||
[self.region_1['id'], self.region_2['id']]
|
||||
)
|
||||
# add to cleanup
|
||||
self.group_ids.append(region_group['group']['id'])
|
||||
|
||||
@decorators.idempotent_id('504cc5cb-bc19-48ea-9456-16f5b24c9530')
|
||||
def test_delete_region_group(self):
|
||||
_, region_group = self.client.create_region_group(
|
||||
**orm_data_utils.rand_region_group(self.setup_ids)
|
||||
)
|
||||
_, region_group_details = self.client.get_region_group(
|
||||
region_group['group']['id']
|
||||
)
|
||||
self.assertEqual(
|
||||
region_group_details['regions'],
|
||||
[self.region_1['id'], self.region_2['id']]
|
||||
)
|
||||
|
||||
self.client.delete_region_group(region_group['group']['id'])
|
||||
self.assertRaises(
|
||||
exceptions.NotFound, self.client.get_region_group,
|
||||
region_group['group']['id']
|
||||
)
|
||||
|
||||
@decorators.idempotent_id('504cc5cb-bc19-48ea-9456-16f5b24c9531')
|
||||
def test_validate_region_group(self):
|
||||
# Validate the Regions added to group are present in Ranger
|
||||
# try to add NON-EXISTENANT Region in the payload to create Group
|
||||
ids = ['some_non_existenant_region']
|
||||
|
||||
self.assertRaises(
|
||||
exceptions.BadRequest, self.client.create_region_group,
|
||||
**orm_data_utils.rand_region_group(ids)
|
||||
)
|
||||
|
@ -1,177 +1,194 @@
|
||||
# Copyright 2016 AT&T Corp
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License. You may obtain
|
||||
# a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from ranger_tempest_plugin import data_utils as orm_data_utils
|
||||
from ranger_tempest_plugin.tests.api import rms_base
|
||||
|
||||
from tempest import config
|
||||
|
||||
from tempest.lib import decorators
|
||||
from tempest.lib import exceptions
|
||||
|
||||
from tempest.lib.common.utils import data_utils
|
||||
|
||||
CONF = config.CONF
|
||||
|
||||
|
||||
class TestTempestRegion(rms_base.RmsBaseOrmTest):
|
||||
|
||||
@classmethod
|
||||
def resource_setup(cls):
|
||||
cls.setup_ids = []
|
||||
# create standard region
|
||||
_, cls.region_1 = cls.client.create_region(data_utils.rand_name())
|
||||
cls.setup_ids.append(cls.region_1['id'])
|
||||
# create region sharing region_1 properties
|
||||
_, cls.region_2 = cls.client.create_region(data_utils.rand_name())
|
||||
cls.setup_ids.append(cls.region_2['id'])
|
||||
# create region with differing properties
|
||||
_, cls.region_3 = cls.client.create_region(
|
||||
data_utils.rand_name(),
|
||||
**{'status': 'down',
|
||||
'rangerAgentVersion': '3.0',
|
||||
'OSVersion': 'mitaka',
|
||||
'CLLI': '123450',
|
||||
'address': {'country': 'Mexico', 'state': 'Sonora',
|
||||
'city': 'Nogales', 'street': '12 main',
|
||||
'zip': '84000'},
|
||||
'metadata': {'meta1': ['val1']},
|
||||
'designType': 'large'})
|
||||
cls.setup_ids.append(cls.region_3['id'])
|
||||
|
||||
super(TestTempestRegion, cls).resource_setup()
|
||||
|
||||
@classmethod
|
||||
def resource_cleanup(cls):
|
||||
for region_id in cls.setup_ids:
|
||||
cls.client.delete_region(region_id)
|
||||
super(TestTempestRegion, cls).resource_cleanup()
|
||||
|
||||
@decorators.idempotent_id('829c7da0-2332-4f80-ad35-24306b67ed0e')
|
||||
def test_create_and_delete_region(self):
|
||||
# create new region for API test
|
||||
region = orm_data_utils.rand_region()
|
||||
_, region_body = self.client.create_region(region['id'], **region)
|
||||
|
||||
test_region_name = region_body['name']
|
||||
test_region_id = region_body['id']
|
||||
_, body = self.client.get_region(test_region_name)
|
||||
self.assertEqual(test_region_id, body['id'])
|
||||
|
||||
# now delete the region
|
||||
self.client.delete_region(test_region_id)
|
||||
self.assertRaises(exceptions.NotFound, self.client.get_region,
|
||||
test_region_id)
|
||||
|
||||
@decorators.idempotent_id('eecedcb0-9c96-453d-bd72-71dba26fa1c5')
|
||||
def test_list_region(self):
|
||||
_, body = self.client.list_regions()
|
||||
regions = [x['id'] for x in body['regions']]
|
||||
self.assertIn(self.region_1['id'], regions)
|
||||
|
||||
@decorators.idempotent_id('0164e040-7775-4837-9ac2-aaa0f71cdfca')
|
||||
def test_list_region_v1(self):
|
||||
_, body = self.client.list_regions_v1()
|
||||
regions = [x['id'] for x in body]
|
||||
self.assertIn(self.region_1['id'], regions)
|
||||
|
||||
@decorators.idempotent_id('e6c6fdfe-5fa2-45f5-8bd8-fb9cf79e99fc')
|
||||
def test_list_region_with_name(self):
|
||||
filter = {'regionname': self.region_1['name']}
|
||||
self._list_regions_with_filter(filter, 'name')
|
||||
|
||||
@decorators.idempotent_id('b3310e32-0c31-4d37-9789-cc3c4639dabe')
|
||||
def test_list_region_with_osversion(self):
|
||||
filter = {'osversion': self.region_1['OSVersion']}
|
||||
self._list_regions_with_filter(filter, 'OSVersion')
|
||||
|
||||
@decorators.idempotent_id('0b2d3e79-c14a-4527-94b0-04eeae053a80')
|
||||
def test_list_region_with_status(self):
|
||||
filter = {'status': self.region_1['status']}
|
||||
self._list_regions_with_filter(filter, 'status')
|
||||
|
||||
@decorators.idempotent_id('871be582-ecaa-4a46-a403-4d6b5e59d7de')
|
||||
def test_list_region_with_ranger_version(self):
|
||||
filter = {'ranger_agent_version': self.region_1['rangerAgentVersion']}
|
||||
self._list_regions_with_filter(filter, 'rangerAgentVersion')
|
||||
|
||||
@decorators.idempotent_id('ac18be48-c787-4a65-913f-a0b0a80fbd1d')
|
||||
def test_list_region_with_clli(self):
|
||||
filter = {'clli': self.region_1['CLLI']}
|
||||
self._list_regions_with_filter(filter, 'CLLI')
|
||||
|
||||
@decorators.idempotent_id('f2b2361d-ce71-43a8-9f01-acb529835880')
|
||||
def test_list_region_with_metadata(self):
|
||||
filter = {'metadata': list(self.region_1['metadata'].keys())[0]}
|
||||
self._list_regions_with_filter(filter, 'metadata')
|
||||
|
||||
@decorators.idempotent_id('4533b31a-115d-466d-bf75-8ac24338c1a5')
|
||||
def test_list_region_with_address(self):
|
||||
filter = {
|
||||
'country': self.region_1['address']['country'],
|
||||
'city': self.region_1['address']['city'],
|
||||
'street': self.region_1['address']['street'],
|
||||
'zip': self.region_1['address']['zip']
|
||||
}
|
||||
self._list_regions_with_filter(filter, 'address')
|
||||
|
||||
@decorators.idempotent_id('726b8215-af10-4385-83c7-32b51502dff1')
|
||||
def test_list_region_with_type(self):
|
||||
filter = {'type': self.region_1['designType']}
|
||||
self._list_regions_with_filter(filter, 'designType')
|
||||
|
||||
@decorators.idempotent_id('4875ea70-a5a1-4b46-b752-246221670d26')
|
||||
def test_list_region_with_vlcp(self):
|
||||
filter = {'vlcp_name': self.region_1['vlcpName']}
|
||||
self._list_regions_with_filter(filter, 'vlcpName')
|
||||
|
||||
@decorators.idempotent_id('358f3cbc-4ae5-4b43-be36-6df55eae8fd9')
|
||||
def test_get_region(self):
|
||||
_, body = self.client.get_region(self.region_1['id'])
|
||||
self.assert_expected(self.region_1, body, [])
|
||||
|
||||
@decorators.idempotent_id('cefb952f-7777-4878-87d2-d78ac345f0d2')
|
||||
def test_get_region_metadata(self):
|
||||
_, body = self.client.get_region_metadata(self.region_1['id'])
|
||||
self.assert_expected(self.region_1['metadata'], body['metadata'], [])
|
||||
|
||||
@decorators.idempotent_id('b2c3baf5-22af-4bf9-bcad-b6a1a74e82d9')
|
||||
def test_update_region(self):
|
||||
_id = self.setup_ids[-1]
|
||||
region = orm_data_utils.rand_region(_id)
|
||||
_, body = self.client.update_region(_id, **region)
|
||||
self.assert_expected(region, body, [])
|
||||
|
||||
@decorators.idempotent_id('0d5644d8-92bc-497c-8fc5-b57417d86e6d')
|
||||
def test_update_region_status(self):
|
||||
status = {}
|
||||
status['status'] = orm_data_utils.rand_region_status(
|
||||
[self.region_1['status']])
|
||||
_, body = self.client.update_region_status(self.region_1['id'], status)
|
||||
self.assert_expected(status, body, ['links'])
|
||||
|
||||
@decorators.idempotent_id('5c1a2624-6abe-49e7-82c8-30e8df1377d0')
|
||||
def test_update_region_metadata(self):
|
||||
metadata = {}
|
||||
metadata['metadata'] = orm_data_utils.rand_region_metadata()
|
||||
_, body = self.client.update_region_metadata(self.region_1['id'],
|
||||
metadata)
|
||||
self.assert_expected(metadata, body, [])
|
||||
|
||||
def _list_regions_with_filter(self, filter, key):
|
||||
_, body = self.client.list_regions(filter)
|
||||
regions = [x for x in body['regions']]
|
||||
self.assertTrue(
|
||||
all([region[key] == self.region_1[key] for region in regions]))
|
||||
# Copyright 2016 AT&T Corp
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License. You may obtain
|
||||
# a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from ranger_tempest_plugin import data_utils as orm_data_utils
|
||||
from ranger_tempest_plugin.tests.api import rms_base
|
||||
|
||||
from tempest import config
|
||||
|
||||
from tempest.lib import decorators
|
||||
from tempest.lib import exceptions
|
||||
|
||||
from tempest.lib.common.utils import data_utils
|
||||
|
||||
CONF = config.CONF
|
||||
|
||||
|
||||
class TestTempestRegion(rms_base.RmsBaseOrmTest):
|
||||
|
||||
@classmethod
|
||||
def resource_setup(cls):
|
||||
cls.setup_ids = []
|
||||
# create standard region
|
||||
_, cls.region_1 = cls.client.create_region(data_utils.rand_name())
|
||||
cls.setup_ids.append(cls.region_1['id'])
|
||||
# create region sharing region_1 properties
|
||||
_, cls.region_2 = cls.client.create_region(data_utils.rand_name())
|
||||
cls.setup_ids.append(cls.region_2['id'])
|
||||
# create region with differing properties
|
||||
_, cls.region_3 = cls.client.create_region(
|
||||
data_utils.rand_name(),
|
||||
**{'status': 'down',
|
||||
'rangerAgentVersion': '3.0',
|
||||
'OSVersion': 'mitaka',
|
||||
'CLLI': '123450',
|
||||
'address': {'country': 'Mexico', 'state': 'Sonora',
|
||||
'city': 'Nogales', 'street': '12 main',
|
||||
'zip': '84000'},
|
||||
'metadata': {'meta1': ['val1']},
|
||||
'designType': 'large'})
|
||||
cls.setup_ids.append(cls.region_3['id'])
|
||||
|
||||
super(TestTempestRegion, cls).resource_setup()
|
||||
|
||||
@classmethod
|
||||
def resource_cleanup(cls):
|
||||
for region_id in cls.setup_ids:
|
||||
cls.client.delete_region(region_id)
|
||||
super(TestTempestRegion, cls).resource_cleanup()
|
||||
|
||||
@decorators.idempotent_id('829c7da0-2332-4f80-ad35-24306b67ed0e')
|
||||
def test_create_and_delete_region(self):
|
||||
# create new region for API test
|
||||
region = orm_data_utils.rand_region()
|
||||
_, region_body = self.client.create_region(region['id'], **region)
|
||||
|
||||
test_region_name = region_body['name']
|
||||
test_region_id = region_body['id']
|
||||
_, body = self.client.get_region(test_region_name)
|
||||
self.assertEqual(test_region_id, body['id'])
|
||||
|
||||
# now delete the region
|
||||
self.client.delete_region(test_region_id)
|
||||
self.assertRaises(exceptions.NotFound, self.client.get_region,
|
||||
test_region_id)
|
||||
|
||||
@decorators.idempotent_id('eecedcb0-9c96-453d-bd72-71dba26fa1c5')
|
||||
def test_list_region(self):
|
||||
_, body = self.client.list_regions()
|
||||
regions = [x['id'] for x in body['regions']]
|
||||
self.assertIn(self.region_1['id'], regions)
|
||||
|
||||
@decorators.idempotent_id('0164e040-7775-4837-9ac2-aaa0f71cdfca')
|
||||
def test_list_region_v1(self):
|
||||
_, body = self.client.list_regions_v1()
|
||||
regions = [x['id'] for x in body]
|
||||
self.assertIn(self.region_1['id'], regions)
|
||||
|
||||
@decorators.idempotent_id('e6c6fdfe-5fa2-45f5-8bd8-fb9cf79e99fc')
|
||||
def test_list_region_with_name(self):
|
||||
filter = {'regionname': self.region_1['name']}
|
||||
self._list_regions_with_filter(filter, 'name')
|
||||
|
||||
@decorators.idempotent_id('b3310e32-0c31-4d37-9789-cc3c4639dabe')
|
||||
def test_list_region_with_osversion(self):
|
||||
filter = {'osversion': self.region_1['OSVersion']}
|
||||
self._list_regions_with_filter(filter, 'OSVersion')
|
||||
|
||||
@decorators.idempotent_id('0b2d3e79-c14a-4527-94b0-04eeae053a80')
|
||||
def test_list_region_with_status(self):
|
||||
filter = {'status': self.region_1['status']}
|
||||
self._list_regions_with_filter(filter, 'status')
|
||||
|
||||
@decorators.idempotent_id('871be582-ecaa-4a46-a403-4d6b5e59d7de')
|
||||
def test_list_region_with_ranger_version(self):
|
||||
filter = {'ranger_agent_version': self.region_1['rangerAgentVersion']}
|
||||
self._list_regions_with_filter(filter, 'rangerAgentVersion')
|
||||
|
||||
@decorators.idempotent_id('ac18be48-c787-4a65-913f-a0b0a80fbd1d')
|
||||
def test_list_region_with_clli(self):
|
||||
filter = {'clli': self.region_1['CLLI']}
|
||||
self._list_regions_with_filter(filter, 'CLLI')
|
||||
|
||||
@decorators.idempotent_id('f2b2361d-ce71-43a8-9f01-acb529835880')
|
||||
def test_list_region_with_metadata(self):
|
||||
filter = {'metadata': list(self.region_1['metadata'].keys())[0]}
|
||||
self._list_regions_with_filter(filter, 'metadata')
|
||||
|
||||
@decorators.idempotent_id('4533b31a-115d-466d-bf75-8ac24338c1a5')
|
||||
def test_list_region_with_address(self):
|
||||
filter = {
|
||||
'country': self.region_1['address']['country'],
|
||||
'city': self.region_1['address']['city'],
|
||||
'street': self.region_1['address']['street'],
|
||||
'zip': self.region_1['address']['zip']
|
||||
}
|
||||
self._list_regions_with_filter(filter, 'address')
|
||||
|
||||
@decorators.idempotent_id('726b8215-af10-4385-83c7-32b51502dff1')
|
||||
def test_list_region_with_type(self):
|
||||
filter = {'type': self.region_1['designType']}
|
||||
self._list_regions_with_filter(filter, 'designType')
|
||||
|
||||
@decorators.idempotent_id('4875ea70-a5a1-4b46-b752-246221670d26')
|
||||
def test_list_region_with_vlcp(self):
|
||||
filter = {'vlcp_name': self.region_1['vlcpName']}
|
||||
self._list_regions_with_filter(filter, 'vlcpName')
|
||||
|
||||
@decorators.idempotent_id('358f3cbc-4ae5-4b43-be36-6df55eae8fd9')
|
||||
def test_get_region(self):
|
||||
_, body = self.client.get_region(self.region_1['id'])
|
||||
self.assert_expected(self.region_1, body, [])
|
||||
|
||||
@decorators.idempotent_id('cefb952f-7777-4878-87d2-d78ac345f0d2')
|
||||
def test_get_region_metadata(self):
|
||||
_, body = self.client.get_region_metadata(self.region_1['id'])
|
||||
self.assert_expected(self.region_1['metadata'], body['metadata'], [])
|
||||
|
||||
@decorators.idempotent_id('b2c3baf5-22af-4bf9-bcad-b6a1a74e82d9')
|
||||
def test_update_region(self):
|
||||
_id = self.setup_ids[-1]
|
||||
region = orm_data_utils.rand_region(_id)
|
||||
_, body = self.client.update_region(_id, **region)
|
||||
self.assert_expected(region, body, [])
|
||||
|
||||
@decorators.idempotent_id('0d5644d8-92bc-497c-8fc5-b57417d86e6d')
|
||||
def test_update_region_status(self):
|
||||
status = {}
|
||||
status['status'] = orm_data_utils.rand_region_status(
|
||||
[self.region_1['status']])
|
||||
_, body = self.client.update_region_status(self.region_1['id'], status)
|
||||
self.assert_expected(status, body, ['links'])
|
||||
|
||||
@decorators.idempotent_id('5c1a2624-6abe-49e7-82c8-30e8df1377d0')
|
||||
def test_update_region_metadata(self):
|
||||
metadata = {}
|
||||
metadata['metadata'] = orm_data_utils.rand_region_metadata()
|
||||
_, body = self.client.update_region_metadata(self.region_1['id'],
|
||||
metadata)
|
||||
self.assert_expected(metadata, body, [])
|
||||
|
||||
def _list_regions_with_filter(self, filter, key):
|
||||
_, body = self.client.list_regions(filter)
|
||||
regions = [x for x in body['regions']]
|
||||
self.assertTrue(
|
||||
all([region[key] == self.region_1[key] for region in regions]))
|
||||
|
||||
@decorators.idempotent_id('77257e0c-e2f8-4b98-886c-359508a4a73d')
|
||||
def test_list_multiple_filter(self):
|
||||
filter = {
|
||||
'vlcp_name': self.region_1['vlcpName'],
|
||||
'status': self.region_1['status'],
|
||||
'regionname': self.region_1['name']
|
||||
}
|
||||
self._list_regions_with_filter(filter, 'name')
|
||||
|
||||
@decorators.idempotent_id('ce9bcbba-a97b-4da2-937e-69afbc5f93f8')
|
||||
def test_delete_region_metadata(self):
|
||||
_, body = self.client.delete_region_metadata(
|
||||
self.region_1['id'], 'key'
|
||||
)
|
||||
_, region = self.client.get_region(self.region_1['id'])
|
||||
self.assertEqual(region['metadata'], {})
|
||||
|
Loading…
x
Reference in New Issue
Block a user