
Several tests because non-functional after git removal and python 3.6 code update. This patchset will ensure that these tests function with current ranger codebase. Also removes erroneous use of rand_region functionality when testing flavors, flavor testing should always use real ranger regions, otherwise database will require manual purging of flavor after it goes into error status. Change-Id: I941b45b62ae1288e5594942d4567dc90fc968842
139 lines
5.2 KiB
Python
Executable File
139 lines
5.2 KiB
Python
Executable File
# 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.lib import decorators
|
|
from tempest.lib import exceptions
|
|
|
|
from tempest.lib.common.utils import data_utils
|
|
|
|
|
|
class TestTempestRegionGroup(base.BaseOrmTest):
|
|
|
|
@classmethod
|
|
def setup_credentials(cls):
|
|
cls.set_network_resources()
|
|
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))
|
|
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'])
|
|
|
|
for region_id in cls.setup_ids:
|
|
cls.addClassResourceCleanup(cls.client.delete_region, region_id)
|
|
for group_id in cls.group_ids:
|
|
cls.addClassResourceCleanup(cls.client.delete_region_group,
|
|
group_id)
|
|
|
|
super(TestTempestRegionGroup, cls).resource_setup()
|
|
|
|
@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.assertIn(
|
|
self.setup_ids[0],
|
|
region_group_details['regions']
|
|
)
|
|
self.assertIn(
|
|
self.setup_ids[1],
|
|
region_group_details['regions']
|
|
)
|
|
|
|
self.addCleanup(
|
|
self.client.delete_region_group,
|
|
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.assertIn(
|
|
self.setup_ids[0],
|
|
region_group_details['regions']
|
|
)
|
|
self.assertIn(
|
|
self.setup_ids[1],
|
|
region_group_details['regions']
|
|
)
|
|
|
|
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)
|
|
)
|