summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZhijiang Hu <hu.zhijiang@zte.com.cn>2017-08-26 07:02:13 +0000
committerGerrit Code Review <gerrit@opnfv.org>2017-08-26 07:02:13 +0000
commit544d8d7eb12bca66df726ba55aa7164d22a47ff6 (patch)
treeb8971766b04426c05747d70782d6c36a297be7e1
parent5f51dc664600f8259f5880b1c76ffe5f95292ba2 (diff)
parent1cf9f49c5167d7bbf4969ed9146599c73a73fbcc (diff)
Merge "Add the pytest files for post py files"
-rw-r--r--requirements.txt4
-rw-r--r--test-requirements.txt5
-rw-r--r--tests/post/test_keystoneauth.py20
-rw-r--r--tests/post/test_post_execute.py97
4 files changed, 126 insertions, 0 deletions
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