Allows functional tests to run individually

Registers logging options that memoized_controller checks for.

Change-Id: I80affa4bb996435b36a56c08cdf3d7ead7fd299d
This commit is contained in:
Isaac Mungai 2016-06-16 13:54:37 -04:00
parent afa41d88af
commit 8fad3f852d
3 changed files with 62 additions and 0 deletions

View File

@ -1,3 +1,6 @@
[DEFAULT]
log_config_append = tests/etc/logging.conf
[drivers]
providers = mock,maxcdn,akamai,fastly
transport = pecan

52
tests/etc/logging.conf Normal file
View File

@ -0,0 +1,52 @@
[loggers]
keys=root,server,combined
[formatters]
keys=normal,normal_with_name,debug,context
[handlers]
keys=production,file,devel
[logger_root]
level=NOTSET
handlers=devel
[logger_server]
level=DEBUG
handlers=devel
qualname=poppy-server
[logger_combined]
level=DEBUG
handlers=devel
qualname=poppy-combined
[handler_production]
class=handlers.SysLogHandler
level=ERROR
formatter=context
args=(('localhost', handlers.SYSLOG_UDP_PORT), handlers.SysLogHandler.LOG_USER)
[handler_file]
class=FileHandler
level=DEBUG
formatter=context
args=('poppy.log', 'w')
[handler_devel]
class=StreamHandler
level=NOTSET
formatter=context
args=(sys.stdout,)
[formatter_normal]
format=%(asctime)s %(levelname)s %(message)s
[formatter_normal_with_name]
format=(%(name)s): %(asctime)s %(levelname)s %(message)s
[formatter_debug]
format=(%(name)s): %(asctime)s %(levelname)s %(module)s %(funcName)s %(message)s
[formatter_context]
class = oslo_log.formatters.ContextFormatter

View File

@ -17,6 +17,7 @@ import os
import mock
from oslo_config import cfg
from oslo_log import log
import webtest
from poppy import bootstrap
@ -36,6 +37,12 @@ class BaseFunctionalTest(base.TestCase):
conf_path = os.path.join(tests_path, 'etc', 'default_functional.conf')
cfg.CONF(args=[], default_config_files=[conf_path])
self.b_obj = bootstrap.Bootstrap(cfg.CONF)
# memoized_controllers module looks for log options being registered
# register them here to avoid `cfg.ArgsAlreadyParsedError` when
# running individual functional tests
cfg.CONF.register_opts(log._options.logging_cli_opts)
# mock the persistence part for taskflow distributed_task
mock_persistence = mock.Mock()
mock_persistence.__enter__ = mock.Mock()