use env vars to specify OS_IDENTITY_API_VERSION

If the default identity API version were to change
in devstack, the v2.0 tests would fail today,
resulting in a broken OSC gate.

Change-Id: Id634ea7e0fab9f3772383b5512ccac19f5119ac0
This commit is contained in:
Steve Martinelli 2016-06-20 17:12:44 -04:00
parent f5ae23ab86
commit cb28fb5588
22 changed files with 62 additions and 61 deletions

View File

@ -10,6 +10,8 @@
# License for the specific language governing permissions and limitations
# under the License.
import os
from tempest.lib.common.utils import data_utils
from functional.common import test
@ -39,8 +41,11 @@ class IdentityTests(test.TestCase):
@classmethod
def setUpClass(cls):
if hasattr(super(IdentityTests, cls), 'setUpClass'):
super(IdentityTests, cls).setUpClass()
# prepare v2 env
os.environ['OS_IDENTITY_API_VERSION'] = '2.0'
auth_url = os.environ.get('OS_AUTH_URL')
auth_url = auth_url.replace('v3', 'v2.0')
os.environ['OS_AUTH_URL'] = auth_url
# create dummy project
cls.project_name = data_utils.rand_name('TestProject')

View File

@ -10,10 +10,10 @@
# License for the specific language governing permissions and limitations
# under the License.
from functional.tests.identity.v2 import test_identity
from functional.tests.identity.v2 import common
class CatalogTests(test_identity.IdentityTests):
class CatalogTests(common.IdentityTests):
def test_catalog_list(self):
raw_output = self.openstack('catalog list')

View File

@ -10,10 +10,10 @@
# License for the specific language governing permissions and limitations
# under the License.
from functional.tests.identity.v2 import test_identity
from functional.tests.identity.v2 import common
class EC2CredentialsTests(test_identity.IdentityTests):
class EC2CredentialsTests(common.IdentityTests):
def test_ec2_credentials_create(self):
self._create_dummy_ec2_credentials()

View File

@ -10,10 +10,10 @@
# License for the specific language governing permissions and limitations
# under the License.
from functional.tests.identity.v2 import test_identity
from functional.tests.identity.v2 import common
class EndpointTests(test_identity.IdentityTests):
class EndpointTests(common.IdentityTests):
def test_endpoint_create(self):
self._create_dummy_endpoint()

View File

@ -12,10 +12,10 @@
from tempest.lib.common.utils import data_utils
from functional.tests.identity.v2 import test_identity
from functional.tests.identity.v2 import common
class ProjectTests(test_identity.IdentityTests):
class ProjectTests(common.IdentityTests):
def test_project_create(self):
project_name = data_utils.rand_name('TestProject')
@ -49,7 +49,7 @@ class ProjectTests(test_identity.IdentityTests):
def test_project_list(self):
raw_output = self.openstack('project list')
items = self.parse_listing(raw_output)
self.assert_table_structure(items, test_identity.BASIC_LIST_HEADERS)
self.assert_table_structure(items, common.BASIC_LIST_HEADERS)
def test_project_set(self):
project_name = self._create_dummy_project()

View File

@ -10,10 +10,10 @@
# License for the specific language governing permissions and limitations
# under the License.
from functional.tests.identity.v2 import test_identity
from functional.tests.identity.v2 import common
class RoleTests(test_identity.IdentityTests):
class RoleTests(common.IdentityTests):
def test_role_create(self):
self._create_dummy_role()
@ -27,7 +27,7 @@ class RoleTests(test_identity.IdentityTests):
self._create_dummy_role()
raw_output = self.openstack('role list')
items = self.parse_listing(raw_output)
self.assert_table_structure(items, test_identity.BASIC_LIST_HEADERS)
self.assert_table_structure(items, common.BASIC_LIST_HEADERS)
def test_role_list_with_user_project(self):
project_name = self._create_dummy_project()
@ -58,7 +58,7 @@ class RoleTests(test_identity.IdentityTests):
'' % {'project': project_name,
'user': username})
items = self.parse_listing(raw_output)
self.assert_table_structure(items, test_identity.BASIC_LIST_HEADERS)
self.assert_table_structure(items, common.BASIC_LIST_HEADERS)
self.assertEqual(1, len(items))
def test_role_show(self):

View File

@ -10,10 +10,10 @@
# License for the specific language governing permissions and limitations
# under the License.
from functional.tests.identity.v2 import test_identity
from functional.tests.identity.v2 import common
class ServiceTests(test_identity.IdentityTests):
class ServiceTests(common.IdentityTests):
def test_service_create(self):
self._create_dummy_service()
@ -27,7 +27,7 @@ class ServiceTests(test_identity.IdentityTests):
self._create_dummy_service()
raw_output = self.openstack('service list')
items = self.parse_listing(raw_output)
self.assert_table_structure(items, test_identity.BASIC_LIST_HEADERS)
self.assert_table_structure(items, common.BASIC_LIST_HEADERS)
def test_service_show(self):
service_name = self._create_dummy_service()

View File

@ -10,10 +10,10 @@
# License for the specific language governing permissions and limitations
# under the License.
from functional.tests.identity.v2 import test_identity
from functional.tests.identity.v2 import common
class TokenTests(test_identity.IdentityTests):
class TokenTests(common.IdentityTests):
def test_token_issue(self):
self._create_dummy_token()

View File

@ -13,10 +13,10 @@
from tempest.lib.common.utils import data_utils
from tempest.lib import exceptions
from functional.tests.identity.v2 import test_identity
from functional.tests.identity.v2 import common
class UserTests(test_identity.IdentityTests):
class UserTests(common.IdentityTests):
def test_user_create(self):
self._create_dummy_user()
@ -29,7 +29,7 @@ class UserTests(test_identity.IdentityTests):
def test_user_list(self):
raw_output = self.openstack('user list')
items = self.parse_listing(raw_output)
self.assert_table_structure(items, test_identity.BASIC_LIST_HEADERS)
self.assert_table_structure(items, common.BASIC_LIST_HEADERS)
def test_user_set(self):
username = self._create_dummy_user()

View File

@ -51,15 +51,11 @@ class IdentityTests(test.TestCase):
@classmethod
def setUpClass(cls):
if hasattr(super(IdentityTests, cls), 'setUpClass'):
super(IdentityTests, cls).setUpClass()
# prepare v3 env
os.environ['OS_IDENTITY_API_VERSION'] = '3'
auth_url = os.environ.get('OS_AUTH_URL')
auth_url = auth_url.replace('v2.0', 'v3')
os.environ['OS_AUTH_URL'] = auth_url
os.environ['OS_IDENTITY_API_VERSION'] = '3'
os.environ['OS_AUTH_TYPE'] = 'v3password'
# create dummy domain
cls.domain_name = data_utils.rand_name('TestDomain')

View File

@ -10,10 +10,10 @@
# License for the specific language governing permissions and limitations
# under the License.
from functional.tests.identity.v3 import test_identity
from functional.tests.identity.v3 import common
class CatalogTests(test_identity.IdentityTests):
class CatalogTests(common.IdentityTests):
def test_catalog_list(self):
raw_output = self.openstack('catalog list')

View File

@ -13,10 +13,10 @@
from tempest.lib.common.utils import data_utils
from tempest.lib import exceptions
from functional.tests.identity.v3 import test_identity
from functional.tests.identity.v3 import common
class DomainTests(test_identity.IdentityTests):
class DomainTests(common.IdentityTests):
def test_domain_create(self):
domain_name = data_utils.rand_name('TestDomain')
@ -33,7 +33,7 @@ class DomainTests(test_identity.IdentityTests):
self._create_dummy_domain()
raw_output = self.openstack('domain list')
items = self.parse_listing(raw_output)
self.assert_table_structure(items, test_identity.BASIC_LIST_HEADERS)
self.assert_table_structure(items, common.BASIC_LIST_HEADERS)
def test_domain_delete(self):
domain_name = self._create_dummy_domain(add_clean_up=False)

View File

@ -12,10 +12,10 @@
from tempest.lib.common.utils import data_utils
from functional.tests.identity.v3 import test_identity
from functional.tests.identity.v3 import common
class EndpointTests(test_identity.IdentityTests):
class EndpointTests(common.IdentityTests):
def test_endpoint_create(self):
self._create_dummy_endpoint(interface='public')

View File

@ -12,10 +12,10 @@
from tempest.lib.common.utils import data_utils
from functional.tests.identity.v3 import test_identity
from functional.tests.identity.v3 import common
class GroupTests(test_identity.IdentityTests):
class GroupTests(common.IdentityTests):
def test_group_create(self):
self._create_dummy_group()
@ -24,7 +24,7 @@ class GroupTests(test_identity.IdentityTests):
group_name = self._create_dummy_group()
raw_output = self.openstack('group list')
items = self.parse_listing(raw_output)
self.assert_table_structure(items, test_identity.BASIC_LIST_HEADERS)
self.assert_table_structure(items, common.BASIC_LIST_HEADERS)
self.assertIn(group_name, raw_output)
def test_group_list_with_domain(self):
@ -32,7 +32,7 @@ class GroupTests(test_identity.IdentityTests):
raw_output = self.openstack(
'group list --domain %s' % self.domain_name)
items = self.parse_listing(raw_output)
self.assert_table_structure(items, test_identity.BASIC_LIST_HEADERS)
self.assert_table_structure(items, common.BASIC_LIST_HEADERS)
self.assertIn(group_name, raw_output)
def test_group_delete(self):

View File

@ -10,11 +10,11 @@
# License for the specific language governing permissions and limitations
# under the License.
from functional.tests.identity.v3 import test_identity
from functional.tests.identity.v3 import common
from tempest.lib.common.utils import data_utils
class IdentityProviderTests(test_identity.IdentityTests):
class IdentityProviderTests(common.IdentityTests):
# Introduce functional test case for command 'Identity Provider'
def test_idp_create(self):

View File

@ -12,10 +12,10 @@
from tempest.lib.common.utils import data_utils
from functional.tests.identity.v3 import test_identity
from functional.tests.identity.v3 import common
class ProjectTests(test_identity.IdentityTests):
class ProjectTests(common.IdentityTests):
def test_project_create(self):
project_name = data_utils.rand_name('TestProject')
@ -57,14 +57,14 @@ class ProjectTests(test_identity.IdentityTests):
def test_project_list(self):
raw_output = self.openstack('project list')
items = self.parse_listing(raw_output)
self.assert_table_structure(items, test_identity.BASIC_LIST_HEADERS)
self.assert_table_structure(items, common.BASIC_LIST_HEADERS)
def test_project_list_with_domain(self):
project_name = self._create_dummy_project()
raw_output = self.openstack(
'project list --domain %s' % self.domain_name)
items = self.parse_listing(raw_output)
self.assert_table_structure(items, test_identity.BASIC_LIST_HEADERS)
self.assert_table_structure(items, common.BASIC_LIST_HEADERS)
self.assertIn(project_name, raw_output)
self.assertTrue(len(items) > 0)

View File

@ -10,10 +10,10 @@
# License for the specific language governing permissions and limitations
# under the License.
from functional.tests.identity.v3 import test_identity
from functional.tests.identity.v3 import common
class RegionTests(test_identity.IdentityTests):
class RegionTests(common.IdentityTests):
def test_region_create(self):
self._create_dummy_region()

View File

@ -12,10 +12,10 @@
from tempest.lib.common.utils import data_utils
from functional.tests.identity.v3 import test_identity
from functional.tests.identity.v3 import common
class RoleTests(test_identity.IdentityTests):
class RoleTests(common.IdentityTests):
def test_role_create(self):
self._create_dummy_role()
@ -29,7 +29,7 @@ class RoleTests(test_identity.IdentityTests):
self._create_dummy_role()
raw_output = self.openstack('role list')
items = self.parse_listing(raw_output)
self.assert_table_structure(items, test_identity.BASIC_LIST_HEADERS)
self.assert_table_structure(items, common.BASIC_LIST_HEADERS)
def test_role_list_with_user_project(self):
role_name = self._create_dummy_role()
@ -69,7 +69,7 @@ class RoleTests(test_identity.IdentityTests):
'user': username,
'user_domain': self.domain_name})
items = self.parse_listing(raw_output)
self.assert_table_structure(items, test_identity.BASIC_LIST_HEADERS)
self.assert_table_structure(items, common.BASIC_LIST_HEADERS)
self.assertEqual(1, len(items))
def test_role_show(self):

View File

@ -12,10 +12,10 @@
from tempest.lib.common.utils import data_utils
from functional.tests.identity.v3 import test_identity
from functional.tests.identity.v3 import common
class ServiceTests(test_identity.IdentityTests):
class ServiceTests(common.IdentityTests):
def test_service_create(self):
self._create_dummy_service()
@ -29,7 +29,7 @@ class ServiceTests(test_identity.IdentityTests):
self._create_dummy_service()
raw_output = self.openstack('service list')
items = self.parse_listing(raw_output)
self.assert_table_structure(items, test_identity.BASIC_LIST_HEADERS)
self.assert_table_structure(items, common.BASIC_LIST_HEADERS)
def test_service_set(self):
service_name = self._create_dummy_service()

View File

@ -10,11 +10,11 @@
# License for the specific language governing permissions and limitations
# under the License.
from functional.tests.identity.v3 import test_identity
from functional.tests.identity.v3 import common
from tempest.lib.common.utils import data_utils
class ServiceProviderTests(test_identity.IdentityTests):
class ServiceProviderTests(common.IdentityTests):
# Introduce functional test cases for command 'Service Provider'
def test_sp_create(self):

View File

@ -10,10 +10,10 @@
# License for the specific language governing permissions and limitations
# under the License.
from functional.tests.identity.v3 import test_identity
from functional.tests.identity.v3 import common
class TokenTests(test_identity.IdentityTests):
class TokenTests(common.IdentityTests):
def test_token_issue(self):
raw_output = self.openstack('token issue')

View File

@ -12,10 +12,10 @@
from tempest.lib.common.utils import data_utils
from functional.tests.identity.v3 import test_identity
from functional.tests.identity.v3 import common
class UserTests(test_identity.IdentityTests):
class UserTests(common.IdentityTests):
def test_user_create(self):
self._create_dummy_user()
@ -31,7 +31,7 @@ class UserTests(test_identity.IdentityTests):
def test_user_list(self):
raw_output = self.openstack('user list')
items = self.parse_listing(raw_output)
self.assert_table_structure(items, test_identity.BASIC_LIST_HEADERS)
self.assert_table_structure(items, common.BASIC_LIST_HEADERS)
def test_user_set(self):
username = self._create_dummy_user()