Beispiel #1
0
    def test_smtp_ssl_tls(self):
        defaults = init_defaults(APP, 'mail.smtp')
        defaults['mail.smtp']['ssl'] = True
        defaults['mail.smtp']['tls'] = True
        defaults['mail.smtp']['port'] = 25

        with mock.patch('smtplib.SMTP_SSL') as mock_smtp:
            self.app = self.make_app(APP,
                                     config_defaults=defaults,
                                     extensions=['smtp'],
                                     mail_handler='smtp',
                                     argv=[],
                                     )
            self.app.setup()
            self.app.run()
            self.app.mail.send('TEST MESSAGE',
                               to=['me@localhost'],
                               from_addr='noreply@localhost',
                               )

            instance = mock_smtp.return_value

            if int(sys.version[0]) >= 3:
                self.eq(instance.send_message.call_count, 1)
            else:
                self.eq(instance.sendmail.call_count, 1)

            self.eq(instance.starttls.call_count, 1)
Beispiel #2
0
    def test_load_order_presedence_four(self):
        # Multiple plugin configs, first plugin conf defines it as enabled,
        # but last read should make it disabled.
        defaults = init_defaults(APP, 'myplugin')

        f = open(os.path.join(self.tmp_dir, 'a.conf'), 'w')
        f.write(CONF)  # enabled config
        f.close()

        f = open(os.path.join(self.tmp_dir, 'b.conf'), 'w')
        f.write(CONF2)  # disabled config
        f.close()

        f = open(os.path.join(self.tmp_dir, 'myplugin.py'), 'w')
        f.write(PLUGIN)
        f.close()

        app = self.make_app(
            APP,
            config_defaults=defaults,
            config_files=[],
            plugin_config_dir=self.tmp_dir,
            plugin_dir=self.tmp_dir,
            plugin_bootstrap=None,
        )
        app.setup()
        res = 'myplugin' in app.plugin._disabled_plugins
        self.ok(res)

        res = 'myplugin' not in app.plugin._enabled_plugins
        self.ok(res)
Beispiel #3
0
    def test_load_plugins_from_config(self):
        f = open(os.path.join(self.tmp_dir, 'myplugin.py'), 'w')
        f.write(PLUGIN)
        f.close()

        defaults = init_defaults()
        defaults['myplugin'] = dict()
        defaults['myplugin']['enable_plugin'] = True
        defaults['myplugin2'] = dict()
        defaults['myplugin2']['enable_plugin'] = False
        app = self.make_app(APP, config_defaults=defaults,
                            config_files=[],
                            plugin_config_dir=self.tmp_dir,
                            plugin_dir=self.tmp_dir,
                            plugin_bootstrap=None,
                            )
        app.setup()
        han = app.handler.get('output', 'test_output_handler')()
        self.eq(han._meta.label, 'test_output_handler')

        # some more checks
        res = 'myplugin' in app.plugin.get_enabled_plugins()
        self.ok(res)

        res = 'myplugin' in app.plugin.get_loaded_plugins()
        self.ok(res)

        res = 'myplugin2' in app.plugin.get_disabled_plugins()
        self.ok(res)

        res = 'myplugin2' not in app.plugin.get_enabled_plugins()
        self.ok(res)

        res = 'myplugin2' not in app.plugin.get_loaded_plugins()
        self.ok(res)
Beispiel #4
0
    def test_load_order_presedence_four(self):
        # Multiple plugin configs, first plugin conf defines it as enabled,
        # but last read should make it disabled.
        defaults = init_defaults(APP, 'myplugin')

        f = open(os.path.join(self.tmp_dir, 'a.conf'), 'w')
        f.write(CONF)  # enabled config
        f.close()

        f = open(os.path.join(self.tmp_dir, 'b.conf'), 'w')
        f.write(CONF2)  # disabled config
        f.close()

        f = open(os.path.join(self.tmp_dir, 'myplugin.py'), 'w')
        f.write(PLUGIN)
        f.close()

        app = self.make_app(APP,
                            config_defaults=defaults,
                            config_files=[],
                            plugin_config_dir=self.tmp_dir,
                            plugin_dir=self.tmp_dir,
                            plugin_bootstrap=None,
                            )
        app.setup()
        res = 'myplugin' in app.plugin._disabled_plugins
        self.ok(res)

        res = 'myplugin' not in app.plugin._enabled_plugins
        self.ok(res)
Beispiel #5
0
def test_core_meta_override():
    defaults = init_defaults("test-app")
    defaults["test-app"]["mail_handler"] = "smtp"
    defaults["test-app"]["extensions"] = "smtp"
    with TestApp(label="test-app", config_defaults=defaults) as app:
        app.run()
        assert app._meta.mail_handler == "smtp"
Beispiel #6
0
    def test_smtp_ssl_tls(self):
        defaults = init_defaults(APP, 'mail.smtp')
        defaults['mail.smtp']['ssl'] = True
        defaults['mail.smtp']['tls'] = True
        defaults['mail.smtp']['port'] = 25

        with mock.patch('smtplib.SMTP_SSL') as mock_smtp:
            self.app = self.make_app(APP,
                                     config_defaults=defaults,
                                     extensions=['smtp'],
                                     mail_handler='smtp',
                                     argv=[],
                                     )
            self.app.setup()
            self.app.run()
            self.app.mail.send('TEST MESSAGE',
                               to=['me@localhost'],
                               from_addr='noreply@localhost',
                               )

            instance = mock_smtp.return_value

            if int(sys.version[0]) >= 3:
                self.eq(instance.send_message.call_count, 1)
            else:
                self.eq(instance.sendmail.call_count, 1)

            self.eq(instance.starttls.call_count, 1)
Beispiel #7
0
def test_defaults():
    defaults = misc.init_defaults('section1', 'section2')
    defaults['section1']['debug'] = True
    defaults['section2']['foo'] = 'bar'
    with TestApp(config_defaults=defaults) as app:
        assert app.config.get('section1', 'debug') is True
        assert app.config.get_section_dict('section2') == {'foo': 'bar'}
def test_alternate_namespaces(tmp):
    log_file = os.path.join(tmp.dir, 'test.log')
    defaults = init_defaults('log.logging')
    defaults['log.logging']['to_console'] = False
    defaults['log.logging']['file'] = log_file
    defaults['log.logging']['level'] = 'debug'

    with TestApp(config_defaults=defaults) as app:
        app.log.info('TEST', extra=dict(namespace=__name__))
        app.log.warning('TEST', extra=dict(namespace=__name__))
        app.log.error('TEST', extra=dict(namespace=__name__))
        app.log.fatal('TEST', extra=dict(namespace=__name__))
        app.log.debug('TEST', extra=dict(namespace=__name__))

        app.log.info('TEST', __name__, extra=dict(foo='bar'))
        app.log.warning('TEST', __name__, extra=dict(foo='bar'))
        app.log.error('TEST', __name__, extra=dict(foo='bar'))
        app.log.fatal('TEST', __name__, extra=dict(foo='bar'))
        app.log.debug('TEST', __name__, extra=dict(foo='bar'))

        app.log.info('TEST', __name__)
        app.log.warning('TEST', __name__)
        app.log.error('TEST', __name__)
        app.log.fatal('TEST', __name__)
        app.log.debug('TEST', __name__)

    assert os.path.exists(log_file)
    with open(log_file, 'r') as f:
        logs = f.readlines()
        for log in logs:
            assert __name__ in log
Beispiel #9
0
def test_colorize_console_log(tmp):
    # first test with colorize_file_log=true
    log_file = os.path.join(tmp.dir, 'test.log')
    defaults = init_defaults()
    defaults['log.colorlog'] = dict(
        file=log_file,
        level='DEBUG',
        colorize_console_log=True,
    )

    with ColorlogApp(config_defaults=defaults) as app:
        app.run()
        app.log.info('this is an info message')
        _format = app.log._meta.console_format
        klass = app.log._get_console_formatter(_format)
        assert isinstance(klass, ColoredFormatter)

    # then test with colorize_file_log=false
    defaults['log.colorlog']['colorize_console_log'] = False

    with ColorlogApp(config_defaults=defaults) as app:
        app.run()
        app.log.info('this is an info message')
        _format = app.log._meta.console_format
        klass = app.log._get_console_formatter(_format)
        assert isinstance(klass, logging.Formatter)
Beispiel #10
0
def test_alternate_namespaces(tmp):
    log_file = os.path.join(tmp.dir, "test.log")
    defaults = init_defaults("log.logging")
    defaults["log.logging"]["to_console"] = False
    defaults["log.logging"]["file"] = log_file
    defaults["log.logging"]["level"] = "debug"

    with TestApp(config_defaults=defaults) as app:
        app.log.info("TEST", extra=dict(namespace=__name__))
        app.log.warning("TEST", extra=dict(namespace=__name__))
        app.log.error("TEST", extra=dict(namespace=__name__))
        app.log.fatal("TEST", extra=dict(namespace=__name__))
        app.log.debug("TEST", extra=dict(namespace=__name__))

        app.log.info("TEST", __name__, extra=dict(foo="bar"))
        app.log.warning("TEST", __name__, extra=dict(foo="bar"))
        app.log.error("TEST", __name__, extra=dict(foo="bar"))
        app.log.fatal("TEST", __name__, extra=dict(foo="bar"))
        app.log.debug("TEST", __name__, extra=dict(foo="bar"))

        app.log.info("TEST", __name__)
        app.log.warning("TEST", __name__)
        app.log.error("TEST", __name__)
        app.log.fatal("TEST", __name__)
        app.log.debug("TEST", __name__)

    assert os.path.exists(log_file)
    with open(log_file) as f:
        logs = f.readlines()
        for log in logs:
            assert __name__ in log
Beispiel #11
0
 class Meta:
     label = 'eb'
     base_controller = base.EbBaseController
     defaults = init_defaults('eb', 'log.logging')
     defaults['log.logging']['level'] = 'WARN'
     config_defaults = defaults
     exit_on_close = True
Beispiel #12
0
    def test_load_order_presedence_one(self):
        # App config defines it as enabled, even though the plugin config has
        # it disabled... app trumps
        defaults = init_defaults(APP, 'myplugin')
        defaults['myplugin']['enable_plugin'] = True
        tmpdir = mkdtemp()

        f = open(os.path.join(tmpdir, 'myplugin.conf'), 'w')
        f.write(CONF2)
        f.close()

        f = open(os.path.join(tmpdir, 'myplugin.py'), 'w')
        f.write(PLUGIN)
        f.close()

        app = self.make_app(APP,
                            config_defaults=defaults,
                            config_files=[],
                            plugin_config_dir=tmpdir,
                            plugin_dir=tmpdir,
                            plugin_bootstrap=None,
                            )
        app.setup()

        try:
            res = 'myplugin' in app.plugin._enabled_plugins
            self.ok(res)

            res = 'myplugin' not in app.plugin._disabled_plugins
            self.ok(res)

        finally:
            shutil.rmtree(tmpdir)
def test_colorize_console_log(tmp):
    # first test with colorize_file_log=true
    log_file = os.path.join(tmp.dir, 'test.log')
    defaults = init_defaults()
    defaults['log.colorlog'] = dict(
        file=log_file,
        level='DEBUG',
        colorize_console_log=True,
    )

    with ColorlogApp(config_defaults=defaults) as app:
        app.run()
        app.log.info('this is an info message')
        _format = app.log._meta.console_format
        klass = app.log._get_console_formatter(_format)
        assert isinstance(klass, ColoredFormatter)

    # then test with colorize_file_log=false
    defaults['log.colorlog']['colorize_console_log'] = False

    with ColorlogApp(config_defaults=defaults) as app:
        app.run()
        app.log.info('this is an info message')
        _format = app.log._meta.console_format
        klass = app.log._get_console_formatter(_format)
        assert isinstance(klass, logging.Formatter)
Beispiel #14
0
    def test_load_order_presedence_one(self):
        # App config defines it as enabled, even though the plugin config has
        # it disabled... app trumps
        defaults = init_defaults(APP, 'myplugin')
        defaults['myplugin']['enable_plugin'] = True

        f = open(os.path.join(self.tmp_dir, 'myplugin.conf'), 'w')
        f.write(CONF2)
        f.close()

        f = open(os.path.join(self.tmp_dir, 'myplugin.py'), 'w')
        f.write(PLUGIN)
        f.close()

        app = self.make_app(
            APP,
            config_defaults=defaults,
            config_files=[],
            plugin_config_dir=self.tmp_dir,
            plugin_dir=self.tmp_dir,
            plugin_bootstrap=None,
        )
        app.setup()

        try:
            res = 'myplugin' in app.plugin._enabled_plugins
            self.ok(res)

            res = 'myplugin' not in app.plugin._disabled_plugins
            self.ok(res)

        finally:
            shutil.rmtree(self.tmp_dir)
Beispiel #15
0
    def test_colorize_file_log(self):
        # first test with colorize_file_log=true
        log_file = os.path.join(self.tmp_dir, '%s.log' % APP)
        defaults = init_defaults()
        defaults['log.colorlog'] = dict(
            file=log_file,
            level='DEBUG',
            colorize_file_log=True,
        )
        app = self.make_app(
            APP,
            config_defaults=defaults,
            extensions=['colorlog'],
            log_handler='colorlog',
        )
        with app:
            app.run()
            app.log.info('this is an info message')
            klass = app.log._get_file_formatter(app.log._meta.file_format)
            self.ok(isinstance(klass, ColoredFormatter))

        # then test with colorize_file_log=false
        self.reset_backend()
        defaults['log.colorlog']['colorize_file_log'] = False
        app = self.make_app(
            APP,
            config_defaults=defaults,
            extensions=['colorlog'],
            log_handler='colorlog',
        )
        with app:
            app.run()
            app.log.info('this is an info message')
            klass = app.log._get_file_formatter(app.log._meta.file_format)
            self.ok(isinstance(klass, logging.Formatter))
Beispiel #16
0
    def test_smtp_defaults(self):
        defaults = init_defaults(APP, 'mail.smtp')
        defaults['mail.smtp']['to'] = 'nobody@localhost'
        defaults['mail.smtp']['from_addr'] = 'nobody@localhost'
        defaults['mail.smtp']['cc'] = 'nobody@localhost'
        defaults['mail.smtp']['bcc'] = 'nobody@localhost'
        defaults['mail.smtp']['subject'] = 'Test Email To nobody@localhost'
        defaults['mail.smtp']['subject_prefix'] = 'PREFIX >'

        with mock.patch('smtplib.SMTP') as mock_smtp:
            self.app = self.make_app(APP,
                                     config_defaults=defaults,
                                     extensions=['smtp'],
                                     mail_handler='smtp',
                                     argv=[],
                                     )
            self.app.setup()
            self.app.run()
            self.app.mail.send('TEST MESSAGE')

            instance = mock_smtp.return_value

            if int(sys.version[0]) >= 3:
                self.eq(instance.send_message.call_count, 1)
            else:
                self.eq(instance.sendmail.call_count, 1)
Beispiel #17
0
def test_core_meta_override():
    defaults = init_defaults('test-app')
    defaults['test-app']['mail_handler'] = 'smtp'
    defaults['test-app']['extensions'] = 'smtp'
    with TestApp(label='test-app', config_defaults=defaults) as app:
        app.run()
        assert app._meta.mail_handler == 'smtp'
Beispiel #18
0
def test_memcache_str_type_config():
    defaults = init_defaults('tests', 'cache.memcached')
    defaults['cache.memcached']['hosts'] = "%s,%s" % (memcached_host,
                                                      memcached_host)
    with MemcachedApp(config_defaults=defaults) as app:
        assert app.config.get('cache.memcached', 'hosts') == \
            [memcached_host, memcached_host]
Beispiel #19
0
    def test_smtp_auth(self):
        defaults = init_defaults(APP, 'mail.smtp')
        defaults[APP]['debug'] = True
        defaults['mail.smtp']['auth'] = True
        defaults['mail.smtp']['username'] = '******'
        defaults['mail.smtp']['password'] = '******'

        with mock.patch('smtplib.SMTP') as mock_smtp:
            self.app = self.make_app(APP,
                                     config_defaults=defaults,
                                     extensions=['smtp'],
                                     mail_handler='smtp',
                                     argv=[],
                                     )
            self.app.setup()
            self.app.run()
            self.app.mail.send('TEST MESSAGE',
                               to=['me@localhost'],
                               from_addr='noreply@localhost',
                               )

            instance = mock_smtp.return_value
            self.eq(instance.login.call_count, 1)
            
            if int(sys.version[0]) >= 3:
                self.eq(instance.send_message.call_count, 1)
            else:
                self.eq(instance.sendmail.call_count, 1)
Beispiel #20
0
    def test_smtp_defaults(self):
        defaults = init_defaults(APP, 'mail.smtp')
        defaults['mail.smtp']['to'] = 'nobody@localhost'
        defaults['mail.smtp']['from_addr'] = 'nobody@localhost'
        defaults['mail.smtp']['cc'] = 'nobody@localhost'
        defaults['mail.smtp']['bcc'] = 'nobody@localhost'
        defaults['mail.smtp']['subject'] = 'Test Email To nobody@localhost'
        defaults['mail.smtp']['subject_prefix'] = 'PREFIX >'

        with mock.patch('smtplib.SMTP') as mock_smtp:
            self.app = self.make_app(APP,
                                     config_defaults=defaults,
                                     extensions=['smtp'],
                                     mail_handler='smtp',
                                     argv=[],
                                     )
            self.app.setup()
            self.app.run()
            self.app.mail.send('TEST MESSAGE')

            instance = mock_smtp.return_value

            if int(sys.version[0]) >= 3:
                self.eq(instance.send_message.call_count, 1)
            else:
                self.eq(instance.sendmail.call_count, 1)
Beispiel #21
0
    def test_colorize_console_log(self):
        # first test with colorize_file_log=true
        log_file = os.path.join(self.tmp_dir, '%s.log' % APP)
        defaults = init_defaults()
        defaults['log.colorlog'] = dict(
            file=log_file,
            level='DEBUG',
            colorize_console_log=True,
        )
        app = self.make_app(APP,
                            config_defaults=defaults,
                            extensions=['colorlog'],
                            log_handler='colorlog',
                            )
        with app:
            app.run()
            app.log.info('this is an info message')
            format = app.log._meta.console_format
            klass = app.log._get_console_formatter(format)
            self.ok(isinstance(klass, ColoredFormatter))

        # then test with colorize_file_log=false
        self.reset_backend()
        defaults['log.colorlog']['colorize_console_log'] = False
        app = self.make_app(APP,
                            config_defaults=defaults,
                            extensions=['colorlog'],
                            log_handler='colorlog',
                            )
        with app:
            app.run()
            app.log.info('this is an info message')
            klass = app.log._get_console_formatter(format)
            self.ok(isinstance(klass, logging.Formatter))
Beispiel #22
0
    def test_smtp_auth(self):
        defaults = init_defaults(APP, 'mail.smtp')
        defaults[APP]['debug'] = True
        defaults['mail.smtp']['auth'] = True
        defaults['mail.smtp']['username'] = '******'
        defaults['mail.smtp']['password'] = '******'

        with mock.patch('smtplib.SMTP') as mock_smtp:
            self.app = self.make_app(APP,
                                     config_defaults=defaults,
                                     extensions=['smtp'],
                                     mail_handler='smtp',
                                     argv=[],
                                     )
            self.app.setup()
            self.app.run()
            self.app.mail.send('TEST MESSAGE',
                               to=['me@localhost'],
                               from_addr='noreply@localhost',
                               )

            instance = mock_smtp.return_value
            self.eq(instance.login.call_count, 1)

            if int(sys.version[0]) >= 3:
                self.eq(instance.send_message.call_count, 1)
            else:
                self.eq(instance.sendmail.call_count, 1)
Beispiel #23
0
    def test_load_order_presedence_two(self):
        # App config defines it as false, even though the plugin config has
        # it enabled... app trumps
        defaults = init_defaults(APP, 'myplugin')
        defaults['myplugin']['enable_plugin'] = False

        f = open(os.path.join(self.tmp_dir, 'myplugin.conf'), 'w')
        f.write(CONF)
        f.close()

        f = open(os.path.join(self.tmp_dir, 'myplugin.py'), 'w')
        f.write(PLUGIN)
        f.close()

        app = self.make_app(APP,
                            config_defaults=defaults,
                            config_files=[],
                            plugin_config_dir=self.tmp_dir,
                            plugin_dir=self.tmp_dir,
                            plugin_bootstrap=None,
                            )
        app.setup()
        res = 'myplugin' in app.plugin._disabled_plugins
        self.ok(res)

        res = 'myplugin' not in app.plugin._enabled_plugins
        self.ok(res)
Beispiel #24
0
def test_alternate_namespaces(tmp):
    log_file = os.path.join(tmp.dir, 'test.log')
    defaults = init_defaults('log.logging')
    defaults['log.logging']['to_console'] = False
    defaults['log.logging']['file'] = log_file
    defaults['log.logging']['level'] = 'debug'

    with TestApp(config_defaults=defaults) as app:
        app.log.info('TEST', extra=dict(namespace=__name__))
        app.log.warning('TEST', extra=dict(namespace=__name__))
        app.log.error('TEST', extra=dict(namespace=__name__))
        app.log.fatal('TEST', extra=dict(namespace=__name__))
        app.log.debug('TEST', extra=dict(namespace=__name__))

        app.log.info('TEST', __name__, extra=dict(foo='bar'))
        app.log.warning('TEST', __name__, extra=dict(foo='bar'))
        app.log.error('TEST', __name__, extra=dict(foo='bar'))
        app.log.fatal('TEST', __name__, extra=dict(foo='bar'))
        app.log.debug('TEST', __name__, extra=dict(foo='bar'))

        app.log.info('TEST', __name__)
        app.log.warning('TEST', __name__)
        app.log.error('TEST', __name__)
        app.log.fatal('TEST', __name__)
        app.log.debug('TEST', __name__)

    assert os.path.exists(log_file)
    with open(log_file, 'r') as f:
        logs = f.readlines()
        for log in logs:
            assert __name__ in log
Beispiel #25
0
 def test_bad_level(self):
     defaults = init_defaults()
     defaults['log'] = dict(
         level='BOGUS'
         )
     app = self.make_app(config_defaults=defaults)
     app.setup()
     self.eq(app.log.get_level(), 'INFO')
Beispiel #26
0
 def test_defaults(self):
     defaults = misc.init_defaults("APPp", "section2", "section3")
     defaults["APPp"]["debug"] = True
     defaults["section2"]["foo"] = "bar"
     self.app = self.make_app("APPp", config_defaults=defaults)
     self.app.setup()
     self.eq(self.app.config.get("APPp", "debug"), True)
     self.ok(self.app.config.get_section_dict("section2"))
Beispiel #27
0
 def test_defaults(self):
     defaults = misc.init_defaults('myapp', 'section2', 'section3')
     defaults['myapp']['debug'] = True
     defaults['section2']['foo'] = 'bar'
     self.app = self.make_app('myapp', config_defaults=defaults)
     self.app.setup()
     self.eq(self.app.config.get('myapp', 'debug'), True)
     self.ok(self.app.config.get_section_dict('section2'))
Beispiel #28
0
 class Meta:
     label = 'ebp'
     base_controller = base.EbBaseController
     defaults = init_defaults('ebp', 'log.logging')
     defaults['log.logging']['level'] = 'WARN'
     config_defaults = defaults
     base_controller.Meta.description = strings['ebpbase.info']
     base_controller.Meta.epilog = strings['ebpbase.epilog']
Beispiel #29
0
    def test_missing_log_dir(self):
        if os.path.exists(self.tmp_dir):
            shutil.rmtree(self.tmp_dir)

        defaults = init_defaults()
        defaults["log.logging"] = dict(file=os.path.join(self.tmp_dir, "%s.log" % APP))
        app = self.make_app(config_defaults=defaults)
        app.setup()
Beispiel #30
0
 def test_defaults(self):
     defaults = misc.init_defaults('myapp', 'section2', 'section3')
     defaults['myapp']['debug'] = True
     defaults['section2']['foo'] = 'bar'
     self.app = self.make_app('myapp', config_defaults=defaults)
     self.app.setup()
     self.eq(self.app.config.get('myapp', 'debug'), True)
     self.ok(self.app.config.get_section_dict('section2'))
Beispiel #31
0
def test_bad_level():
    defaults = init_defaults()
    defaults['log.logging'] = dict(
        level='BOGUS',
        to_console=False,
    )

    with TestApp(config_defaults=defaults) as app:
        assert app.log.get_level() == 'INFO'
Beispiel #32
0
 def test_bad_level(self):
     defaults = init_defaults()
     defaults['log.logging'] = dict(
         level='BOGUS',
         to_console=False,
     )
     app = self.make_app(config_defaults=defaults)
     app.setup()
     self.eq(app.log.get_level(), 'INFO')
Beispiel #33
0
def test_bad_level():
    defaults = init_defaults()
    defaults['log.logging'] = dict(
        level='BOGUS',
        to_console=False,
    )

    with TestApp(config_defaults=defaults) as app:
        assert app.log.get_level() == 'INFO'
Beispiel #34
0
    def test_missing_log_dir(self):
        _, tmp_path = mkstemp()
        if os.path.exists(tmp_path):
            os.remove(tmp_path)

        defaults = init_defaults()
        defaults['log'] = dict(file=os.path.join(tmp_path, 'myapp.log'), )
        app = self.make_app(config_defaults=defaults)
        app.setup()
Beispiel #35
0
    def test_missing_log_dir(self):
        if os.path.exists(self.tmp_dir):
            shutil.rmtree(self.tmp_dir)

        defaults = init_defaults()
        defaults['log.logging'] = dict(file=os.path.join(
            self.tmp_dir, '%s.log' % APP), )
        app = self.make_app(config_defaults=defaults)
        app.setup()
Beispiel #36
0
def test_meta(tmp):
    log_file = os.path.join(tmp.dir, "test.log")
    defaults = init_defaults()
    defaults["log.colorlog"] = dict(file=log_file,
                                    level="DEBUG",
                                    colorize_console_log=True)

    with ColorlogApp(config_defaults=defaults) as app:
        app.run()
        app.log.info(title="this is a title message")
Beispiel #37
0
def test_missing_log_dir(tmp):
    if os.path.exists(tmp.dir):
        shutil.rmtree(tmp.dir)

    defaults = init_defaults("log.logging")
    defaults["log.logging"] = dict(file=os.path.join(tmp.dir, "test.log"))

    # extension generates the dir if it is missing
    with TestApp(config_defaults=defaults):
        assert os.path.exists(tmp.dir)
Beispiel #38
0
 def setUp(self):
     self.key = "cement-tests-random-key-%s" % random()
     defaults = init_defaults('tests', 'cache.memcached')
     defaults['cache.memcached']['hosts'] = '127.0.0.1, localhost'
     self.app = self.make_app('tests',
         config_defaults=defaults,
         extensions=['memcached'],
         cache_handler='memcached',
         )
     self.app.setup()
Beispiel #39
0
 def test_logging(self):
     defaults = init_defaults()
     defaults['log'] = dict(file='/dev/null', to_console=True)
     app = self.make_app(config_defaults=defaults)
     app.setup()
     app.log.info('Info Message')
     app.log.warn('Warn Message')
     app.log.error('Error Message')
     app.log.fatal('Fatal Message')
     app.log.debug('Debug Message')
Beispiel #40
0
 def test_logging(self):
     defaults = init_defaults()
     defaults["log"] = dict(file="/dev/null", to_console=True)
     app = self.make_app(config_defaults=defaults)
     app.setup()
     app.log.info("Info Message")
     app.log.warn("Warn Message")
     app.log.error("Error Message")
     app.log.fatal("Fatal Message")
     app.log.debug("Debug Message")
Beispiel #41
0
 def setUp(self):
     self.key = "cement-tests-random-key-%s" % random()
     defaults = init_defaults('tests', 'cache.memcached')
     defaults['cache.memcached']['hosts'] = '127.0.0.1, localhost'
     self.app = self.make_app('tests',
                              config_defaults=defaults,
                              extensions=['memcached'],
                              cache_handler='memcached',
                              )
     self.app.setup()
Beispiel #42
0
    def test_missing_log_dir(self):
        _, tmp_path = mkstemp()
        if os.path.exists(tmp_path):
            os.remove(tmp_path)

        defaults = init_defaults()
        defaults['log.logging'] = dict(
            file=os.path.join(tmp_path, '%s.log' % APP),
        )
        app = self.make_app(config_defaults=defaults)
        app.setup()
Beispiel #43
0
 def test_dummy_mail_with_subject_prefix(self):
     defaults = init_defaults(APP, 'mail.dummy')
     defaults['mail.dummy']['subject_prefix'] = 'TEST PREFIX'
     app = self.make_app(APP, config_defaults=defaults)
     app.setup()
     app.run()
     res = app.mail.send("Test",
                         to=['me@localhost'],
                         from_addr='me@localhost',
                         )
     self.ok(res)
Beispiel #44
0
 def test_memcache_str_type_config(self):
     defaults = init_defaults('tests', 'cache.memcached')
     defaults['cache.memcached']['hosts'] = '127.0.0.1, localhost'
     self.app = self.make_app('tests',
         config_defaults=defaults,
         extensions=['memcached'],
         cache_handler='memcached',
         )
     self.app.setup()
     self.eq(self.app.config.get('cache.memcached', 'hosts'),
         ['127.0.0.1', 'localhost'])
Beispiel #45
0
 def test_memcache_str_type_config(self):
     defaults = init_defaults('tests', 'cache.memcached')
     defaults['cache.memcached']['hosts'] = '127.0.0.1, localhost'
     self.app = self.make_app('tests',
                              config_defaults=defaults,
                              extensions=['memcached'],
                              cache_handler='memcached',
                              )
     self.app.setup()
     self.eq(self.app.config.get('cache.memcached', 'hosts'),
             ['127.0.0.1', 'localhost'])
Beispiel #46
0
def test_dummy_mail_with_subject_prefix():
    defaults = init_defaults('mail.dummy')
    defaults['mail.dummy']['subject_prefix'] = 'TEST PREFIX'

    with TestApp(config_defaults=defaults) as app:
        app.run()
        res = app.mail.send("Test",
                            to=['me@localhost'],
                            from_addr='me@localhost',
                            )
        assert res
Beispiel #47
0
def test_missing_log_dir(tmp):
    if os.path.exists(tmp.dir):
        shutil.rmtree(tmp.dir)

    defaults = init_defaults('log.logging')
    defaults['log.logging'] = dict(
        file=os.path.join(tmp.dir, 'test.log'),
    )

    # extension generates the dir if it is missing
    with TestApp(config_defaults=defaults):
        assert os.path.exists(tmp.dir)
Beispiel #48
0
 def test_dummy_mail_with_subject_prefix(self):
     defaults = init_defaults(APP, 'mail.dummy')
     defaults['mail.dummy']['subject_prefix'] = 'TEST PREFIX'
     app = self.make_app(APP, config_defaults=defaults)
     app.setup()
     app.run()
     res = app.mail.send(
         "Test",
         to=['me@localhost'],
         from_addr='me@localhost',
     )
     self.ok(res)
Beispiel #49
0
def test_log_level_argument():
    meta = init_defaults('log.logging')
    meta['log.logging']['log_level_argument'] = ['-l', '--level']
    with TestApp(meta_defaults=meta, argv=['--level', 'debug']) as app:
        app.run()
        assert app.debug is True
        assert app.log.get_level() == 'DEBUG'

    # again without the argument (disabled by default)
    with raises(SystemExit):
        with TestApp(argv=['-l', 'debug']) as app:
            app.run()
Beispiel #50
0
def test_log_level_argument():
    meta = init_defaults('log.logging')
    meta['log.logging']['log_level_argument'] = ['-l', '--level']
    with TestApp(meta_defaults=meta, argv=['--level', 'debug']) as app:
        app.run()
        assert app.debug is True
        assert app.log.get_level() == 'DEBUG'

    # again without the argument (disabled by default)
    with raises(SystemExit):
        with TestApp(argv=['-l', 'debug']) as app:
            app.run()
Beispiel #51
0
def test_log_level_argument():
    meta = init_defaults("log.logging")
    meta["log.logging"]["log_level_argument"] = ["-l", "--level"]
    with TestApp(meta_defaults=meta, argv=["--level", "debug"]) as app:
        app.run()
        assert app.debug is True
        assert app.log.get_level() == "DEBUG"

    # again without the argument (disabled by default)
    with raises(SystemExit):
        with TestApp(argv=["-l", "debug"]) as app:
            app.run()
Beispiel #52
0
 def setUp(self):
     super(RedisExtTestCase, self).setUp()
     self.key = "cement-tests-random-key-%s" % random()
     defaults = init_defaults('tests', 'cache.redis')
     defaults['cache.redis']['host'] = '127.0.0.1'
     defaults['cache.redis']['port'] = 6379
     defaults['cache.redis']['db'] = 0
     self.app = self.make_app('tests',
                              config_defaults=defaults,
                              extensions=['redis'],
                              cache_handler='redis',
                              )
     self.app.setup()
Beispiel #53
0
 def setUp(self):
     super(ColorLogExtTestCase, self).setUp()
     log_file = os.path.join(self.tmp_dir, '%s.log' % APP)
     defaults = init_defaults()
     defaults['log.colorlog'] = dict(
         file=log_file,
         level='DEBUG',
     )
     self.app = self.make_app(APP,
                              config_defaults=defaults,
                              extensions=['colorlog'],
                              log_handler='colorlog',
                              )
Beispiel #54
0
 def test_logging(self):
     defaults = init_defaults()
     defaults['log.logging'] = dict(
         file='/dev/null',
         to_console=True
     )
     app = self.make_app(config_defaults=defaults)
     app.setup()
     app.log.info('Info Message')
     app.log.warn('Warn Message')
     app.log.error('Error Message')
     app.log.fatal('Fatal Message')
     app.log.debug('Debug Message')
Beispiel #55
0
    def test_has_key(self):
        defaults = init_defaults('test')
        defaults['test']['foo'] = 'bar'
        app = self.make_app(config_defaults=defaults)
        app.setup()
        self.eq(app.config.has_key('test', 'bogus'), False)
        self.eq(app.config.has_key('test', 'foo'), True)

        # same thing but ignore deprecation warning
        app = self.make_app(config_defaults=defaults,
                            ignore_deprecation_warnings=True)
        app.setup()
        self.eq(app.config.has_key('test', 'bogus'), False)
Beispiel #56
0
def test_debug():
    # default
    with TestApp() as app:
        assert app.debug is False

    # meta overricde
    with TestApp(argv=['--debug']) as app:
        assert app.debug is True

    # config defaults override
    defaults = init_defaults('my-app-test')
    defaults['my-app-test']['debug'] = True
    with TestApp('my-app-test', config_defaults=defaults) as app:
        assert app.debug is True