Convert the imported API tests to Tempest Plugin interface

Having tests exporting a Tempest Plugin interface allow them
to be executed together with other Tempest tests.

Change-Id: If25c343fb4871755dbb32eedc724268a3a617270
This commit is contained in:
Luigi Toscano 2016-04-12 13:55:23 +02:00
parent af89d1b886
commit baf526ef90
16 changed files with 118 additions and 7 deletions

View File

@ -0,0 +1,4 @@
---
features:
- Sahara API tests have been imported from Tempest and
made available using the Tempest Plugin Interface.

View File

@ -0,0 +1,5 @@
===============================================
Tempest Integration of Sahara
===============================================
This directory contains Tempest tests to cover the Sahara project.

View File

@ -0,0 +1,43 @@
# 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
data_processing_group = cfg.OptGroup(name="data-processing",
title="Data Processing options")
DataProcessingGroup = [
cfg.StrOpt('catalog_type',
default='data-processing',
help="Catalog type of the data processing service."),
cfg.StrOpt('endpoint_type',
default='publicURL',
choices=['public', 'admin', 'internal',
'publicURL', 'adminURL', 'internalURL'],
help="The endpoint type to use for the data processing "
"service."),
]
data_processing_feature_group = cfg.OptGroup(
name="data-processing-feature-enabled",
title="Enabled Data Processing features")
DataProcessingFeaturesGroup = [
cfg.ListOpt('plugins',
default=["vanilla", "cdh"],
help="List of enabled data processing plugins")
]

View File

@ -0,0 +1,55 @@
# 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 oslo_config import cfg
from tempest import config
from tempest.test_discover import plugins
from sahara_tempest_plugin import config as sahara_config
class SaharaTempestPlugin(plugins.TempestPlugin):
def load_tests(self):
base_path = os.path.split(os.path.dirname(
os.path.abspath(__file__)))[0]
test_dir = "sahara_tempest_plugin/tests"
full_test_dir = os.path.join(base_path, test_dir)
return full_test_dir, base_path
def register_opts(self, conf):
# Ignore the duplicate error: it means that the same content
# is (still) defined in Tempest
try:
config.register_opt_group(conf,
sahara_config.data_processing_group,
sahara_config.DataProcessingGroup)
except cfg.DuplicateOptError:
pass
try:
config.register_opt_group(conf, sahara_config.
data_processing_feature_group,
sahara_config.
DataProcessingFeaturesGroup)
except cfg.DuplicateOptError:
pass
def get_opt_lists(self):
return [(sahara_config.data_processing_group.name,
sahara_config.DataProcessingGroup),
(sahara_config.data_processing_feature_group.name,
sahara_config.DataProcessingFeaturesGroup)]

View File

View File

@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
from tempest.api.data_processing import base as dp_base
from sahara_tempest_plugin.tests.api import base as dp_base
from tempest.common.utils import data_utils
from tempest import exceptions
from tempest import test

View File

@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
from tempest.api.data_processing import base as dp_base
from sahara_tempest_plugin.tests.api import base as dp_base
from tempest.common.utils import data_utils
from tempest import test

View File

@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
from tempest.api.data_processing import base as dp_base
from sahara_tempest_plugin.tests.api import base as dp_base
from tempest.common.utils import data_utils
from tempest import test

View File

@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
from tempest.api.data_processing import base as dp_base
from sahara_tempest_plugin.tests.api import base as dp_base
from tempest.common.utils import data_utils
from tempest import test

View File

@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
from tempest.api.data_processing import base as dp_base
from sahara_tempest_plugin.tests.api import base as dp_base
from tempest.common.utils import data_utils
from tempest import test

View File

@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
from tempest.api.data_processing import base as dp_base
from sahara_tempest_plugin.tests.api import base as dp_base
from tempest.common.utils import data_utils
from tempest import test

View File

@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
from tempest.api.data_processing import base as dp_base
from sahara_tempest_plugin.tests.api import base as dp_base
from tempest import config
from tempest import test

View File

@ -22,6 +22,7 @@ setup-hooks = pbr.hooks.setup_hook
[files]
packages =
sahara_tests
sahara_tempest_plugin
data_files =
etc/sahara-scenario = etc/*
@ -30,6 +31,9 @@ data_files =
console_scripts =
sahara-scenario = sahara_tests.scenario.runner:main
tempest.test_plugins =
sahara_tempest_tests = sahara_tempest_plugin.plugin:SaharaTempestPlugin
[build_sphinx]
all_files = 1
build-dir = doc/build