From e5a037a619a73435a7c9fe8105fdeaabae68e42d Mon Sep 17 00:00:00 2001 From: Guido Günther Date: Wed, 28 Sep 2016 08:00:09 +0200 Subject: 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. --- tests/test_read_settings.py | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 tests/test_read_settings.py (limited to 'tests') 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) -- cgit v1.2.3