X-Git-Url: https://v.licheni.net/stack/cam.git/blobdiff_plain/de74ecfb399e9c18e476104744856fde67ea2e81..112c04e3926d62291efd902a1dcb0b2d24feeb59:/cam/tests/test_config.py?ds=sidebyside diff --git a/cam/tests/test_config.py b/cam/tests/test_config.py new file mode 100644 index 0000000..174df09 --- /dev/null +++ b/cam/tests/test_config.py @@ -0,0 +1,51 @@ +import mox +import os +import tempfile +import unittest +from cam import config + + +class ConfigTest(unittest.TestCase): + + def setUp(self): + self.tmpdir = tempfile.mkdtemp() + self.mox = mox.Mox() + + def tearDown(self): + self.mox.VerifyAll() + self.mox.UnsetStubs() + os.system("rm -fr '%s'" % self.tmpdir) + + def test_read_config(self): + test_cfg = ''' +[global] +root_dir = root + +[ca] +something = else + +[cert1] +cn = test.com +''' + cf_file = os.path.join(self.tmpdir, 'config') + cf_fd = open(cf_file, 'w') + cf_fd.write(test_cfg) + cf_fd.close() + self.mox.StubOutWithMock(config.ca, 'CA', use_mock_anything=True) + config.ca.CA('root', {'something': 'else'}).AndReturn('ca') + self.mox.StubOutWithMock(config.cert, 'Cert', use_mock_anything=True) + config.cert.Cert('ca', 'cert1', {'cn': 'test.com'}).AndReturn('cert1') + self.mox.ReplayAll() + + global_config, ca_obj, certs = config.read_config(cf_file) + self.assertEquals('ca', ca_obj) + self.assertEquals(['cert1'], certs) + + def test_read_config_nonexist(self): + def f(): + config.read_config('nonexist.conf') + self.assertRaises(config.ConfigError, f) + + +if __name__ == '__main__': + unittest.main()