summaryrefslogtreecommitdiffstats
path: root/tests/test_apex_deploy_settings.py
diff options
context:
space:
mode:
authorDan Radez <dradez@redhat.com>2016-08-23 16:22:40 -0400
committerDan Radez <dradez@redhat.com>2016-08-23 18:50:33 -0400
commit6c2e34e0ecaaa5c57a24811ebb8a422924537417 (patch)
tree872a096286762625ce62865794d1f552dbf04c57 /tests/test_apex_deploy_settings.py
parent234ed195befdea6a18c875c3ff7d7565aa0ee978 (diff)
converiting the deploy settings obj to a dict
The deploy settings values are embedded in a dictionary inside a generic object. This patch makes the deploy settings object a dictionary so the values can be accessed directly without having to unnecessarily drill down through an empty object to the dict that holds the content intended to be managed by the deploy settings object. - adding tests to cover DeploySettings 100% Change-Id: I4ba625cd7b51cfb6c1f91c74f1d332d1e3dd9a8e Signed-off-by: Dan Radez <dradez@redhat.com>
Diffstat (limited to 'tests/test_apex_deploy_settings.py')
-rw-r--r--tests/test_apex_deploy_settings.py103
1 files changed, 103 insertions, 0 deletions
diff --git a/tests/test_apex_deploy_settings.py b/tests/test_apex_deploy_settings.py
new file mode 100644
index 00000000..1e26b287
--- /dev/null
+++ b/tests/test_apex_deploy_settings.py
@@ -0,0 +1,103 @@
+##############################################################################
+# Copyright (c) 2016 Dan Radez (Red Hat)
+#
+# 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 io
+# https://docs.python.org/3/library/io.html
+
+from apex.deploy_settings import DeploySettings
+from apex.deploy_settings import DeploySettingsException
+
+from nose.tools import assert_equal
+from nose.tools import assert_raises
+from nose.tools import assert_is_instance
+
+deploy_files = ('deploy_settings.yaml',
+ 'os-nosdn-nofeature-noha.yaml',
+ 'os-nosdn-ovs-noha.yaml',
+ 'os-ocl-nofeature-ha.yaml',
+ 'os-odl_l2-sdnvpn-ha.yaml',
+ 'os-odl_l3-nofeature-ha.yaml',
+ 'os-nosdn-nofeature-ha.yaml',
+ 'os-nosdn-ovs-ha.yaml',
+ 'os-nosdn-performance-ha.yaml',
+ 'os-odl_l2-nofeature-ha.yaml',
+ 'os-odl_l2-sfc-noha.yaml',
+ 'os-onos-nofeature-ha.yaml',
+ 'os-onos-sfc-ha.yaml')
+
+test_deploy_content = (
+ 'global_params:',
+ 'deploy_options: string',
+ """deploy_options: string
+global_params:""",
+ """global_params:
+deploy_options:
+ error: error
+""",
+ """global_params:
+deploy_options:
+ performance: string
+""",
+ """global_params:
+deploy_options:
+ dataplane: invalid
+""",
+ """global_params:
+deploy_options:
+ performance:
+ Controller:
+ error: error
+""",
+ """global_params:
+deploy_options:
+ performance:
+ InvalidRole:
+ error: error
+""",)
+
+
+class TestIpUtils(object):
+ @classmethod
+ def setup_class(klass):
+ """This method is run once for each class before any tests are run"""
+
+ @classmethod
+ def teardown_class(klass):
+ """This method is run once for each class _after_ all tests are run"""
+
+ def setUp(self):
+ """This method is run once before _each_ test method is executed"""
+
+ def teardown(self):
+ """This method is run once after _each_ test method is executed"""
+
+ def test_init(self):
+ for f in deploy_files:
+ ds = DeploySettings('../config/deploy/{}'.format(f))
+ ds = DeploySettings(ds)
+
+ def test__validate_settings(self):
+ for c in test_deploy_content:
+ f = open('/tmp/apex_deploy_test_file', 'w')
+ f.write(c)
+ f.close()
+ assert_raises(DeploySettingsException,
+ DeploySettings, '/tmp/apex_deploy_test_file')
+
+ def test_dump_bash(self):
+ # the performance file has the most use of the function
+ # so using that as the test case
+ ds = DeploySettings('../config/deploy/os-nosdn-performance-ha.yaml')
+ assert_equal(ds.dump_bash(), None)
+ assert_equal(ds.dump_bash(path='/dev/null'), None)
+
+ def test_exception(sefl):
+ e = DeploySettingsException("test")
+ print(e)
+ assert_is_instance(e, DeploySettingsException)