diff options
author | Morgan Richomme <morgan.richomme@orange.com> | 2016-12-09 07:43:21 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@opnfv.org> | 2016-12-09 07:43:21 +0000 |
commit | 3e8707b400695269f2f9737fb8e094419a461f6a (patch) | |
tree | 36883bae34483534b2a5074605ea117dab2c152e /functest/opnfv_tests/openstack | |
parent | 77458d72140c0e2a4ffc608bb36f64249abf2777 (diff) | |
parent | d334e0e1e56d265c95d79c551c315add252e58cd (diff) |
Merge "Added test cases for running the Python Tests included with SNAPS."
Diffstat (limited to 'functest/opnfv_tests/openstack')
-rw-r--r-- | functest/opnfv_tests/openstack/snaps/__init__.py | 0 | ||||
-rw-r--r-- | functest/opnfv_tests/openstack/snaps/api_check.py | 31 | ||||
-rw-r--r-- | functest/opnfv_tests/openstack/snaps/connection_check.py | 31 | ||||
-rw-r--r-- | functest/opnfv_tests/openstack/snaps/smoke.py | 40 | ||||
-rw-r--r-- | functest/opnfv_tests/openstack/snaps/snaps_utils.py | 22 |
5 files changed, 124 insertions, 0 deletions
diff --git a/functest/opnfv_tests/openstack/snaps/__init__.py b/functest/opnfv_tests/openstack/snaps/__init__.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/functest/opnfv_tests/openstack/snaps/__init__.py diff --git a/functest/opnfv_tests/openstack/snaps/api_check.py b/functest/opnfv_tests/openstack/snaps/api_check.py new file mode 100644 index 00000000..e6ee81e9 --- /dev/null +++ b/functest/opnfv_tests/openstack/snaps/api_check.py @@ -0,0 +1,31 @@ +# Copyright (c) 2015 All rights reserved +# This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# +# http://www.apache.org/licenses/LICENSE-2.0 + +import functest.utils.functest_utils as ft_utils +from functest.core.pytest_suite_runner import PyTestSuiteRunner +from functest.opnfv_tests.openstack.snaps import snaps_utils +from snaps import test_suite_builder +import unittest + + +class ApiCheck(PyTestSuiteRunner): + """ + This test executes the Python Tests included with the SNAPS libraries + that exercise many of the OpenStack APIs within Keystone, Glance, Neutron, + and Nova + """ + def __init__(self): + super(ApiCheck, self).__init__() + + self.suite = unittest.TestSuite() + creds_file = ft_utils.get_functest_config('general.openstack.creds') + use_key = ft_utils.get_functest_config('snaps.use_keystone') + ext_net_name = snaps_utils.get_ext_net_name() + + test_suite_builder.add_openstack_api_tests(self.suite, creds_file, + ext_net_name, + use_keystone=use_key) diff --git a/functest/opnfv_tests/openstack/snaps/connection_check.py b/functest/opnfv_tests/openstack/snaps/connection_check.py new file mode 100644 index 00000000..42e38d67 --- /dev/null +++ b/functest/opnfv_tests/openstack/snaps/connection_check.py @@ -0,0 +1,31 @@ +# Copyright (c) 2015 All rights reserved +# This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# +# http://www.apache.org/licenses/LICENSE-2.0 + +import functest.utils.functest_utils as ft_utils +from functest.core.pytest_suite_runner import PyTestSuiteRunner +from functest.opnfv_tests.openstack.snaps import snaps_utils +from snaps import test_suite_builder +import unittest + + +class ConnectionCheck(PyTestSuiteRunner): + """ + This test executes the Python Tests included with the SNAPS libraries + that simply obtain the different OpenStack clients and may perform + simple queries + """ + def __init__(self): + super(ConnectionCheck, self).__init__() + + self.suite = unittest.TestSuite() + creds_file = ft_utils.get_functest_config('general.openstack.creds') + use_key = ft_utils.get_functest_config('snaps.use_keystone') + ext_net_name = snaps_utils.get_ext_net_name() + + test_suite_builder.add_openstack_client_tests(self.suite, creds_file, + ext_net_name, + use_keystone=use_key) diff --git a/functest/opnfv_tests/openstack/snaps/smoke.py b/functest/opnfv_tests/openstack/snaps/smoke.py new file mode 100644 index 00000000..25433a32 --- /dev/null +++ b/functest/opnfv_tests/openstack/snaps/smoke.py @@ -0,0 +1,40 @@ +# Copyright (c) 2015 All rights reserved +# This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# +# http://www.apache.org/licenses/LICENSE-2.0 + +import functest.utils.functest_utils as ft_utils +from functest.core.pytest_suite_runner import PyTestSuiteRunner +from functest.opnfv_tests.openstack.snaps import snaps_utils +from snaps import test_suite_builder +import unittest +import os + + +class SnapsSmoke(PyTestSuiteRunner): + """ + This test executes the Python Tests included with the SNAPS libraries + that exercise many of the OpenStack APIs within Keystone, Glance, Neutron, + and Nova + """ + def __init__(self): + super(SnapsSmoke, self).__init__() + + self.suite = unittest.TestSuite() + creds_file = ft_utils.get_functest_config('general.openstack.creds') + use_key = ft_utils.get_functest_config('snaps.use_keystone') + use_fip = ft_utils.get_functest_config('snaps.use_floating_ips') + ext_net_name = snaps_utils.get_ext_net_name() + + # Tests requiring floating IPs leverage files contained within the + # SNAPS repository and are found relative to that path + if use_fip: + snaps_dir = ft_utils.get_functest_config( + 'general.directories.dir_repo_snaps') + '/snaps' + os.chdir(snaps_dir) + + test_suite_builder.add_openstack_integration_tests( + self.suite, creds_file, ext_net_name, use_keystone=use_key, + use_floating_ips=use_fip) diff --git a/functest/opnfv_tests/openstack/snaps/snaps_utils.py b/functest/opnfv_tests/openstack/snaps/snaps_utils.py new file mode 100644 index 00000000..a25ad3e0 --- /dev/null +++ b/functest/opnfv_tests/openstack/snaps/snaps_utils.py @@ -0,0 +1,22 @@ +# Copyright (c) 2015 All rights reserved +# This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# +# http://www.apache.org/licenses/LICENSE-2.0 + +import functest.utils.functest_utils as ft_utils +from snaps.openstack.tests import openstack_tests +from snaps.openstack.utils import neutron_utils + + +def get_ext_net_name(): + """ + Returns the first external network name + :return: + """ + os_env_file = ft_utils.get_functest_config('general.openstack.creds') + os_creds = openstack_tests.get_credentials(os_env_file=os_env_file) + neutron = neutron_utils.neutron_client(os_creds) + ext_nets = neutron_utils.get_external_networks(neutron) + return ext_nets[0]['network']['name'] |