Migrates Apex to Python
[apex.git] / apex / tests / test_apex_common_utils.py
similarity index 58%
rename from tests/test_apex_common_utils.py
rename to apex/tests/test_apex_common_utils.py
index 9459865..357ad1b 100644 (file)
@@ -7,9 +7,17 @@
 # http://www.apache.org/licenses/LICENSE-2.0
 ##############################################################################
 
+import ipaddress
 import nose.tools
+import os
 
 from apex.common import utils
+from apex.settings.network_settings import NetworkSettings
+from apex.tests.constants import (
+    TEST_CONFIG_DIR,
+    TEST_PLAYBOOK_DIR)
+
+NET_SETS = os.path.join(TEST_CONFIG_DIR, 'network', 'network_settings.yaml')
 
 
 class TestCommonUtils(object):
@@ -34,6 +42,18 @@ class TestCommonUtils(object):
         nose.tools.assert_equal(utils.str2bool("YES"), True)
 
     def test_parse_yaml(self):
-        nose.tools.assert_is_instance(
-            utils.parse_yaml('../config/network/network_settings.yaml'),
-            dict)
+        nose.tools.assert_is_instance(utils.parse_yaml(NET_SETS), dict)
+
+    def test_dict_to_string(self):
+        net_settings = NetworkSettings(NET_SETS)
+        output = utils.dict_objects_to_str(net_settings)
+        nose.tools.assert_is_instance(output, dict)
+        for k, v in output.items():
+            nose.tools.assert_is_instance(k, str)
+            nose.tools.assert_not_is_instance(v, ipaddress.IPv4Address)
+
+    def test_run_ansible(self):
+        playbook = 'apex/tests/playbooks/test_playbook.yaml'
+        nose.tools.assert_equal(
+            utils.run_ansible(None, os.path.join(playbook),
+                              dry_run=True), None)