Base for keystone tempest plugin

This patch adds the basic files and configs in order to enable the
keystone tempest plugin interface using tempest-plugin-cookiecutter.
Since we are adding them inside keystone's repository, they can be
installed alongside keystone and to run the tests (when we have one)
we simply use `testr run keystone_tempest_plugin` in tempest.

For more details about the tempest plugin interface see [1]

[1] http://docs.openstack.org/developer/tempest/plugin.html

Change-Id: Ia42e79246251e8af1010aa8eaf462aacf75644a7
Partially-Implements: bp keystone-tempest-plugin-tests
This commit is contained in:
Rodrigo Duarte 2016-03-24 15:08:44 -03:00
parent 26ddb39a1e
commit 088393d521
9 changed files with 78 additions and 0 deletions

View File

@ -0,0 +1,6 @@
==========================
Tempest tests for keystone
==========================
This directory contains Tempest tests to cover the keystone project.

View File

View File

@ -0,0 +1,28 @@
# Copyright 2016 Red Hat, Inc.
# 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 oslo_config import cfg
identity_group = cfg.OptGroup(name='identity',
title="Keystone Configuration Options")
IdentityGroup = []
identity_feature_group = cfg.OptGroup(name='identity-feature-enabled',
title='Enabled Identity Features')
IdentityFeatureGroup = []

View File

@ -0,0 +1,39 @@
# Copyright 2016 Red Hat, Inc.
# 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.
import os
from tempest import config
from tempest.test_discover import plugins
from keystone_tempest_plugin import config as project_config
class KeystoneTempestPlugin(plugins.TempestPlugin):
def load_tests(self):
base_path = os.path.split(os.path.dirname(
os.path.abspath(__file__)))[0]
test_dir = "keystone_tempest_plugin/tests"
full_test_dir = os.path.join(base_path, test_dir)
return full_test_dir, base_path
def register_opts(self, conf):
config.register_opt_group(conf, project_config.identity_group,
project_config.IdentityGroup)
def get_opt_lists(self):
return [(project_config.identity_group.name,
project_config.IdentityGroup)]

View File

@ -19,6 +19,7 @@ classifier =
[files]
packages =
keystone
keystone_tempest_plugin
[extras]
ldap =
@ -204,3 +205,7 @@ paste.app_factory =
public_service = keystone.version.service:public_app_factory
public_version_service = keystone.version.service:public_version_app_factory
service_v3 = keystone.version.service:v3_app_factory
tempest.test_plugins =
keystone_tests = keystone_tempest_plugin.plugin:KeystoneTempestPlugin