diff options
author | spisarski <s.pisarski@cablelabs.com> | 2016-12-02 17:26:07 -0700 |
---|---|---|
committer | spisarski <s.pisarski@cablelabs.com> | 2016-12-08 08:51:54 -0700 |
commit | d334e0e1e56d265c95d79c551c315add252e58cd (patch) | |
tree | 053423db590d96b34b54e5f98a9c630f66a39360 /functest/opnfv_tests/openstack/snaps | |
parent | 122445d0b7b3836a3617905ab1c293412983c394 (diff) |
Added test cases for running the Python Tests included with SNAPS.
JIRA: FUNCTEST-570
The three new tests are:
1. healthcheck/connecton_check - Retrieves different OpenStack clients and may exercise a query function
2. healthcheck/api_check - Exercises many of the OpenStack APIs by performing basic CRUD operations
3. smoke/snaps_smoke - Creates VMs and some optionally test SSH into floating IPs
Removed configured exernal network name and replaced it with a dynamic lookup.
Fixed typo in run_tests.py
Change-Id: Icb87a77c7cdd99dd9aa3a66bcc5a25b4b5935fef
Signed-off-by: spisarski <s.pisarski@cablelabs.com>
Diffstat (limited to 'functest/opnfv_tests/openstack/snaps')
-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'] |