From a349a240a116319a72dde88007aa37b4b3d14e4e Mon Sep 17 00:00:00 2001 From: Tres Seaver <tseaver@agendaless.com> Date: Mon, 26 Apr 2010 01:16:49 +0200 Subject: [PATCH] Added ``repoze.who.config:make_api_factory_with_config``. --- repoze/who/tests/test_config.py | 62 +++++++++++++++++++++++++++++++ 1 files changed, 62 insertions(+), 0 deletions(-) diff --git a/repoze/who/tests/test_config.py b/repoze/who/tests/test_config.py index 023a133..35690ac 100644 --- a/repoze/who/tests/test_config.py +++ b/repoze/who/tests/test_config.py @@ -407,6 +407,68 @@ self.assertEqual(middleware.logger.getEffectiveLevel(), logging.INFO) logging.shutdown() +class Test_make_api_with_config(unittest.TestCase): + tempdir = None + + def setUp(self): + pass + + def tearDown(self): + if self.tempdir is not None: + import shutil + shutil.rmtree(self.tempdir) + + def _getFactory(self): + from repoze.who.config import make_api_factory_with_config + return make_api_factory_with_config + + def _getTempfile(self, text): + import os + import tempfile + tempdir = self.tempdir = tempfile.mkdtemp() + path = os.path.join(tempdir, 'who.ini') + config = open(path, 'w') + config.write(text) + config.flush() + config.close() + return path + + def test_sample_config_no_logger(self): + factory = self._getFactory() + path = self._getTempfile(SAMPLE_CONFIG) + global_conf = {'here': '/'} + api_factory = factory(global_conf, config_file=path) + self.assertEqual(len(api_factory.identifiers), 3) + self.assertEqual(len(api_factory.authenticators), 1) + self.assertEqual(len(api_factory.challengers), 2) + self.assertEqual(len(api_factory.mdproviders), 0) + self.assertEqual(api_factory.remote_user_key, 'REMOTE_USER') + self.failUnless(api_factory.logger is None) + + def test_sample_config_w_remote_user_key(self): + factory = self._getFactory() + path = self._getTempfile(SAMPLE_CONFIG) + global_conf = {'here': '/'} + api_factory = factory(global_conf, config_file=path, + remote_user_key = 'X-OTHER-USER') + self.assertEqual(len(api_factory.identifiers), 3) + self.assertEqual(len(api_factory.authenticators), 1) + self.assertEqual(len(api_factory.challengers), 2) + self.assertEqual(len(api_factory.mdproviders), 0) + self.assertEqual(api_factory.remote_user_key, 'X-OTHER-USER') + + def test_sample_config_w_logger(self): + factory = self._getFactory() + path = self._getTempfile(SAMPLE_CONFIG) + global_conf = {'here': '/'} + logger = object() + api_factory = factory(global_conf, config_file=path, logger=logger) + self.assertEqual(len(api_factory.identifiers), 3) + self.assertEqual(len(api_factory.authenticators), 1) + self.assertEqual(len(api_factory.challengers), 2) + self.assertEqual(len(api_factory.mdproviders), 0) + self.failUnless(api_factory.logger is logger) + SAMPLE_CONFIG = """\ [plugin:form] use = repoze.who.plugins.form:make_plugin -- Gitblit v1.9.3