コード例 #1
0
    def setUp(self):
        super(TestCase, self).setUp()
        self.__config_overrides_called = False
        self.addCleanup(CONF.reset)
        self.config_fixture = self.useFixture(config_fixture.Config(CONF))
        self.addCleanup(delattr, self, 'config_fixture')
        self.config(self.config_files())

        # NOTE(morganfainberg): mock the auth plugin setup to use the config
        # fixture which automatically unregisters options when performing
        # cleanup.
        def mocked_register_auth_plugin_opt(conf, opt):
            self.config_fixture.register_opt(opt, group='auth')

        self.useFixture(
            mockpatch.PatchObject(config,
                                  '_register_auth_plugin_opt',
                                  new=mocked_register_auth_plugin_opt))

        self.sql_driver_version_overrides = {}
        self.config_overrides()
        # NOTE(morganfainberg): ensure config_overrides has been called.
        self.addCleanup(self._assert_config_overrides_called)

        self.useFixture(fixtures.FakeLogger(level=logging.DEBUG))

        # NOTE(morganfainberg): This code is a copy from the oslo-incubator
        # log module. This is not in a function or otherwise available to use
        # without having a CONF object to setup logging. This should help to
        # reduce the log size by limiting what we log (similar to how Keystone
        # would run under mod_wsgi or eventlet).
        for pair in CONF.default_log_levels:
            mod, _sep, level_name = pair.partition('=')
            logger = logging.getLogger(mod)
            logger.setLevel(level_name)

        self.useFixture(ksfixtures.Cache())

        # Clear the registry of providers so that providers from previous
        # tests aren't used.
        self.addCleanup(dependency.reset)

        self.addCleanup(kvs.INMEMDB.clear)

        # Ensure Notification subscriptions and resource types are empty
        self.addCleanup(notifications.clear_subscribers)
        self.addCleanup(notifications.reset_notifier)

        # Reset the auth-plugin registry
        self.addCleanup(self.clear_auth_plugin_registry)

        self.addCleanup(setattr, controllers, '_VERSIONS', [])
コード例 #2
0
ファイル: core.py プロジェクト: openbhoukal/keystone
    def setUp(self):
        super(TestCase, self).setUp()
        self.__config_overrides_called = False
        self.__load_backends_called = False
        self.config_fixture = self.useFixture(config_fixture.Config(CONF))
        self.addCleanup(delattr, self, 'config_fixture')
        self.config(self.config_files())

        # NOTE(morganfainberg): mock the auth plugin setup to use the config
        # fixture which automatically unregisters options when performing
        # cleanup.
        def mocked_register_auth_plugin_opt(conf, opt):
            self.config_fixture.register_opt(opt, group='auth')

        self.useFixture(
            fixtures.MockPatchObject(keystone.conf.auth,
                                     '_register_auth_plugin_opt',
                                     new=mocked_register_auth_plugin_opt))

        self.config_overrides()
        # explicitly load auth configuration
        keystone.conf.auth.setup_authentication()
        # NOTE(morganfainberg): ensure config_overrides has been called.
        self.addCleanup(self._assert_config_overrides_called)

        self.useFixture(fixtures.FakeLogger(level=log.DEBUG))

        # NOTE(morganfainberg): This code is a copy from the oslo-incubator
        # log module. This is not in a function or otherwise available to use
        # without having a CONF object to setup logging. This should help to
        # reduce the log size by limiting what we log (similar to how Keystone
        # would run under mod_wsgi).
        for pair in CONF.default_log_levels:
            mod, _sep, level_name = pair.partition('=')
            logger = log.getLogger(mod)
            logger.logger.setLevel(level_name)

        self.useFixture(ksfixtures.Cache())

        # Clear the registry of providers so that providers from previous
        # tests aren't used.
        self.addCleanup(provider_api.ProviderAPIs._clear_registry_instances)

        # Clear the registry of JSON Home Resources
        self.addCleanup(json_home.JsonHomeResources._reset)

        # Ensure Notification subscriptions and resource types are empty
        self.addCleanup(notifications.clear_subscribers)
        self.addCleanup(notifications.reset_notifier)

        self.addCleanup(setattr, keystone.api.discovery, '_VERSIONS', [])
コード例 #3
0
    def setUp(self):
        super(TestCase, self).setUp()
        self.addCleanup(
            self.cleanup_instance('maxDiff', 'config_fixture', 'logger'))

        # show complete diffs on failure
        self.maxDiff = None

        self.addCleanup(CONF.reset)

        self.useFixture(
            mockpatch.PatchObject(sys, 'exit', side_effect=UnexpectedExit))
        self.useFixture(
            mockpatch.PatchObject(logging.Handler,
                                  'handleError',
                                  side_effect=BadLog))
        self.config_fixture = self.useFixture(config_fixture.Config(CONF))
        self.config(self.config_files())

        # NOTE(morganfainberg): mock the auth plugin setup to use the config
        # fixture which automatically unregisters options when performing
        # cleanup.
        def mocked_register_auth_plugin_opt(conf, opt):
            self.config_fixture.register_opt(opt, group='auth')

        self.register_auth_plugin_opt_patch = self.useFixture(
            mockpatch.PatchObject(common_cfg,
                                  '_register_auth_plugin_opt',
                                  new=mocked_register_auth_plugin_opt))

        self.config_overrides()

        self.logger = self.useFixture(fixtures.FakeLogger(level=logging.DEBUG))

        # NOTE(morganfainberg): This code is a copy from the oslo-incubator
        # log module. This is not in a function or otherwise available to use
        # without having a CONF object to setup logging. This should help to
        # reduce the log size by limiting what we log (similar to how Keystone
        # would run under mod_wsgi or eventlet).
        for pair in CONF.default_log_levels:
            mod, _sep, level_name = pair.partition('=')
            logger = logging.getLogger(mod)
            if sys.version_info < (2, 7):
                level = logging.getLevelName(level_name)
                logger.setLevel(level)
            else:
                logger.setLevel(level_name)

        warnings.filterwarnings('error',
                                category=DeprecationWarning,
                                module='^keystone\\.')
        warnings.simplefilter('error', exc.SAWarning)
        self.addCleanup(warnings.resetwarnings)

        self.useFixture(ksfixtures.Cache())

        # Clear the registry of providers so that providers from previous
        # tests aren't used.
        self.addCleanup(dependency.reset)

        self.addCleanup(kvs.INMEMDB.clear)

        # Ensure Notification subscriotions and resource types are empty
        self.addCleanup(notifications.clear_subscribers)
        self.addCleanup(notifications.reset_notifier)

        # Reset the auth-plugin registry
        self.addCleanup(self.clear_auth_plugin_registry)

        self.addCleanup(setattr, controllers, '_VERSIONS', [])