Exemplo n.º 1
0
    def test_appender(self):
        """Test appender plugin raising exception"""
        config = RawConfigParser()

        # -------------#
        # config: main #
        # -------------#
        config.add_section("main")
        config.set('main', 'plugins', '')
        config.set('main', 'prependers', '')
        config.set('main', 'appenders',
                   'sessionhandler_test.RaiseExceptionAppender')

        # ------------------- #
        # config: performance #
        # ------------------- #
        config.add_section("performance")
        # minimum scanner threads
        config.set('performance', 'minthreads', 1)
        # maximum scanner threads
        config.set('performance', 'maxthreads', 1)
        # Method for parallelism, either 'thread' or 'process'
        config.set('performance', 'backend', 'process')

        mc = MainController(config)
        mc.propagate_core_defaults()
        ok = mc.load_plugins()

        suspect = Suspect('*****@*****.**',
                          '*****@*****.**', '/dev/null')

        shandler = SessionHandler(None, config, mc.prependers, mc.plugins,
                                  mc.appenders, 0)

        shandler.run_appenders(suspect, DUNNO, mc.appenders)

        ptags = suspect.get_tag("processingerrors")
        self.assertEqual([
            'Appender RaiseExceptionAppender failed: Appender Plugin not implemented'
        ], ptags)