Ejemplo n.º 1
0
 def test_config_dir(self):
     from pecan import configuration
     if sys.version_info >= (2, 6):
         conf = configuration.Config({})
         self.assertEqual([], dir(conf))
         conf = configuration.Config({'a': 1})
         self.assertEqual(['a'], dir(conf))
Ejemplo n.º 2
0
    def test_config_with_bad_import(self):
        from pecan import configuration
        path = ('bad', 'importerror.py')
        configuration.Config({})

        self.assertRaises(ImportError, configuration.conf_from_file,
                          os.path.join(__here__, 'config_fixtures', *path))
Ejemplo n.º 3
0
 def test_config_illegal_ids(self):
     from pecan import configuration
     conf = configuration.Config({})
     conf.update(
         configuration.conf_from_file(
             os.path.join(__here__,
                          'config_fixtures/bad/module_and_underscore.py')))
     self.assertEqual([], list(conf))
Ejemplo n.º 4
0
    def test_config_with_syntax_error(self):
        from pecan import configuration
        with tempfile.NamedTemporaryFile('wb') as f:
            f.write(b_('\n'.join(['if false', 'var = 3'])))
            f.flush()
            configuration.Config({})

            self.assertRaises(SyntaxError, configuration.conf_from_file,
                              f.name)
Ejemplo n.º 5
0
    def test_update_config_fail_message(self):
        """When failing, the __force_dict__ key is suggested"""
        from pecan import configuration
        bad_dict = {'bad name': 'value'}

        try:
            configuration.Config(bad_dict)
        except ValueError as error:
            assert "consider using the '__force_dict__'" in str(error)
Ejemplo n.º 6
0
 def test_config_missing_file(self):
     from pecan import configuration
     path = ('doesnotexist.py',)
     configuration.Config({})
     self.assertRaises(
         RuntimeError,
         configuration.conf_from_file,
         os.path.join(__here__, 'config_fixtures', *path)
     )
Ejemplo n.º 7
0
    def test_config_with_non_package_relative_import(self):
        from pecan import configuration
        with tempfile.NamedTemporaryFile('wb', suffix='.py') as f:
            f.write(b_('\n'.join(['from . import variables'])))
            f.flush()
            configuration.Config({})

            try:
                configuration.conf_from_file(f.name)
            except (ValueError, SystemError, ImportError) as e:
                assert 'relative import' in str(e)
            else:
                raise AssertionError(
                    "A relative import-related error should have been raised")
Ejemplo n.º 8
0
 def test_config_repr(self):
     from pecan import configuration
     conf = configuration.Config({'a': 1})
     self.assertEqual(repr(conf), "Config({'a': 1})")
Ejemplo n.º 9
0
 def test_config_get_invalid_key_return_default(self):
     from pecan import configuration
     conf = configuration.Config({'a': 1})
     assert conf.get('b', True) is True
Ejemplo n.º 10
0
 def test_config_get_invalid_key(self):
     from pecan import configuration
     conf = configuration.Config({'a': 1})
     assert conf.get('b') is None
Ejemplo n.º 11
0
 def test_config_bad_key(self):
     from pecan import configuration
     conf = configuration.Config({'a': 1})
     assert conf.a == 1
     self.assertRaises(AttributeError, getattr, conf, 'b')
Ejemplo n.º 12
0
 def test_config_dir(self):
     from pecan import configuration
     conf = configuration.Config({})
     self.assertEqual([], dir(conf))
     conf = configuration.Config({'a': 1})
     self.assertEqual(['a'], dir(conf))