From 1cf9f49c5167d7bbf4969ed9146599c73a73fbcc Mon Sep 17 00:00:00 2001 From: zhongjun Date: Fri, 25 Aug 2017 17:06:58 +0800 Subject: Add the pytest files for post py files 1.add the test_keystoneauth.py and test_post_execute.py 2.modify the test-requirements.txt to update the dependent python package. Change-Id: I0957c723bd82faa9060c7d5ae021d46feaed05ae Signed-off-by: zhongjun --- requirements.txt | 4 ++ test-requirements.txt | 5 +++ tests/post/test_keystoneauth.py | 20 +++++++++ tests/post/test_post_execute.py | 97 +++++++++++++++++++++++++++++++++++++++++ 4 files changed, 126 insertions(+) create mode 100644 tests/post/test_keystoneauth.py create mode 100644 tests/post/test_post_execute.py diff --git a/requirements.txt b/requirements.txt index 99af97bb..f3937271 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,3 +6,7 @@ pyyaml scp oslo_config deepdiff +keystoneauth1 +python-glanceclient +python-neutronclient +python-novaclient diff --git a/test-requirements.txt b/test-requirements.txt index e80bdb21..a22ef3d5 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -10,3 +10,8 @@ pyyaml scp oslo_config deepdiff +keystoneauth1 +python-glanceclient +python-neutronclient +python-novaclient + diff --git a/tests/post/test_keystoneauth.py b/tests/post/test_keystoneauth.py new file mode 100644 index 00000000..1b208952 --- /dev/null +++ b/tests/post/test_keystoneauth.py @@ -0,0 +1,20 @@ +############################################################################## +# Copyright (c) 2017 ZTE Corp and others. +# +# 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 pytest + +from deploy.post.keystoneauth import Keystoneauth + + +@pytest.mark.parametrize('openrc, expected', [ + ('/etc/kolla/admin-openrc.sh', '/etc/kolla/admin-openrc.sh'), + (None, '/etc/kolla/admin-openrc.sh')]) +def test_create_Keystoneauth_instance_(openrc, expected): + KeystoneClient = Keystoneauth(openrc) + assert KeystoneClient.openrc == expected diff --git a/tests/post/test_post_execute.py b/tests/post/test_post_execute.py new file mode 100644 index 00000000..38a67c0e --- /dev/null +++ b/tests/post/test_post_execute.py @@ -0,0 +1,97 @@ +############################################################################## +# Copyright (c) 2017 ZTE Corp and others. +# +# 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 pytest + +from deploy.post.execute import ( + _config_external_network, + _config_icmp_security_group_rule, + _config_ssh_security_group_rule +) + + +@pytest.mark.parametrize('ext_name, physnet, expected', [ + ('EXTERNAL', 'ens8', + { + 'network': { + 'name': 'EXTERNAL', + 'admin_state_up': True, + 'shared': False, + 'provider:network_type': 'flat', + 'provider:physical_network': 'ens8', + 'router:external': True + } + }), + ('EXTERNAL', 'ens3', + { + 'network': { + 'name': 'EXTERNAL', + 'admin_state_up': True, + 'shared': False, + 'provider:network_type': 'flat', + 'provider:physical_network': 'ens3', + 'router:external': True + } + })]) +def test__config_external_network(ext_name, physnet, expected): + assert _config_external_network(ext_name, physnet) == expected + + +@pytest.mark.parametrize('security_group_id, expected', [ + ('0x1111', + { + 'security_group_rule': { + 'direction': 'ingress', + 'ethertype': 'IPv4', + 'protocol': 'icmp', + 'remote_ip_prefix': '0.0.0.0/0', + 'security_group_id': '0x1111' + } + }), + ('0xaaaa', + { + 'security_group_rule': { + 'direction': 'ingress', + 'ethertype': 'IPv4', + 'protocol': 'icmp', + 'remote_ip_prefix': '0.0.0.0/0', + 'security_group_id': '0xaaaa' + } + })]) +def test__config_icmp_security_group_rule(security_group_id, expected): + assert _config_icmp_security_group_rule(security_group_id) == expected + + +@pytest.mark.parametrize('security_group_id, expected', [ + ('0x1111', + { + 'security_group_rule': { + 'direction': 'ingress', + 'ethertype': 'IPv4', + 'protocol': 'tcp', + 'port_range_min': 22, + 'port_range_max': 22, + 'remote_ip_prefix': '0.0.0.0/0', + 'security_group_id': '0x1111' + } + }), + ('0xaaaa', + { + 'security_group_rule': { + 'direction': 'ingress', + 'ethertype': 'IPv4', + 'protocol': 'tcp', + 'port_range_min': 22, + 'port_range_max': 22, + 'remote_ip_prefix': '0.0.0.0/0', + 'security_group_id': '0xaaaa' + } + })]) +def test__config_ssh_security_group_rule(security_group_id, expected): + assert _config_ssh_security_group_rule(security_group_id) == expected -- cgit 1.2.3-korg