Add the pytest files for post py files 25/40225/5
authorzhongjun <zhong.jun@zte.com.cn>
Fri, 25 Aug 2017 09:06:58 +0000 (17:06 +0800)
committerzhongjun <zhong.jun@zte.com.cn>
Fri, 25 Aug 2017 09:28:18 +0000 (17:28 +0800)
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 <zhong.jun@zte.com.cn>
requirements.txt
test-requirements.txt
tests/post/test_keystoneauth.py [new file with mode: 0644]
tests/post/test_post_execute.py [new file with mode: 0644]

index 99af97b..f393727 100644 (file)
@@ -6,3 +6,7 @@ pyyaml
 scp
 oslo_config
 deepdiff
+keystoneauth1
+python-glanceclient
+python-neutronclient
+python-novaclient
index e80bdb2..a22ef3d 100644 (file)
@@ -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 (file)
index 0000000..1b20895
--- /dev/null
@@ -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 (file)
index 0000000..38a67c0
--- /dev/null
@@ -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