aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorGuido Günther <agx@sigxcpu.org>2016-09-28 08:00:09 +0200
committerDaniel Lobato García <me@daniellobato.me>2016-09-28 08:00:09 +0200
commite5a037a619a73435a7c9fe8105fdeaabae68e42d (patch)
treea79bf7ee77c60dc34b985afd9f41555ef3dead8e /tests
parent3cbbdc6a6eefddbb085cea8f3397e64fb6f1f5d6 (diff)
Improve error message with broken config file
So far we passed on the python exception. Be a bit more verbose and use defaults for everything but the basic foreman interaction.
Diffstat (limited to 'tests')
-rw-r--r--tests/test_read_settings.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/test_read_settings.py b/tests/test_read_settings.py
new file mode 100644
index 0000000..65cb0ae
--- /dev/null
+++ b/tests/test_read_settings.py
@@ -0,0 +1,38 @@
+# vim: set fileencoding=utf-8 :
+
+from __future__ import print_function
+
+
+import os
+import unittest
+import tempfile
+
+from foreman_ansible_inventory import ForemanInventory
+
+
+class TestReadSettings(unittest.TestCase):
+ def setUp(self):
+ self.inv = ForemanInventory()
+
+ def test_parse_nonexistent(self):
+ os.environ['FOREMAN_INI_PATH'] = '/doesnot/exist'
+ self.inv.config_paths = []
+ self.assertFalse(self.inv.read_settings())
+
+ def test_parse_params(self):
+ with tempfile.NamedTemporaryFile() as t:
+ print("""
+[foreman]
+url=http://127.0.0.1
+user=admin
+password=secret
+ssl_verify=True
+ """, file=t)
+ t.flush()
+ os.environ['FOREMAN_INI_PATH'] = t.name
+ self.inv.config_paths = []
+ self.assertTrue(self.inv.read_settings())
+ self.assertEqual(self.inv.foreman_url, 'http://127.0.0.1')
+ self.assertEqual(self.inv.foreman_user, 'admin')
+ self.assertEqual(self.inv.foreman_pw, 'secret')
+ self.assertTrue(self.inv.foreman_ssl_verify)