Example #1
0
    def setUp(self):
        self.config = RawConfigParser()
        self.config.read([TESTDATADIR + '/endtoendtest.conf'])
        self.config.set('main', 'incomingport',
                        str(EndtoEndTestTestCase.FUGLU_PORT))
        self.config.set('main', 'outgoinghost',
                        str(EndtoEndTestTestCase.FUGLU_HOST))
        self.config.set('main', 'outgoingport',
                        str(EndtoEndTestTestCase.DUMMY_PORT))
        self.config.set('main', 'controlport',
                        str(EndtoEndTestTestCase.FUGLUCONTROL_PORT))
        guess_clamav_socket(self.config)
        # init core
        self.mc = MainController(self.config)

        # start listening smtp dummy server to get fuglus answer
        self.smtp = DummySMTPServer(self.config,
                                    EndtoEndTestTestCase.DUMMY_PORT,
                                    EndtoEndTestTestCase.FUGLU_HOST)
        e2edss = threading.Thread(target=self.smtp.serve, args=())
        e2edss.daemon = True
        e2edss.start()

        # start fuglu's listening server
        fls = threading.Thread(target=self.mc.startup, args=())
        fls.daemon = True
        fls.start()
Example #2
0
    def setUp(self):

        k = ''
        for line in open(TESTDATADIR + '/dkim/testfuglu.org.public'):
            if line.startswith('---'):
                continue
            k = k + line.strip()
        record = "v=DKIM1; k=rsa; p=%s" % k
        fuglu.lib.patcheddkimlib.dnstxt = mock.Mock(return_value=record)

        self.config = RawConfigParser()
        self.config.read([TESTDATADIR + '/endtoendtest.conf'])
        self.config.set('main', 'incomingport', str(DKIMTestCase.FUGLU_PORT))
        self.config.set('main', 'outgoinghost', str(DKIMTestCase.FUGLU_HOST))
        self.config.set('main', 'outgoingport', str(DKIMTestCase.DUMMY_PORT))
        self.config.set('main', 'controlport',
                        str(DKIMTestCase.FUGLUCONTROL_PORT))
        guess_clamav_socket(self.config)

        # init core
        self.mc = MainController(self.config)

        # start listening smtp dummy server to get fuglus answer
        self.smtp = DummySMTPServer(self.config,
                                    self.config.getint('main', 'outgoingport'),
                                    DKIMTestCase.FUGLU_HOST)
        dkdss = threading.Thread(target=self.smtp.serve, args=())
        dkdss.daemon = True
        dkdss.start()

        # start fuglu's listening server
        fls = threading.Thread(target=self.mc.startup, args=())
        fls.daemon = True
        fls.start()
Example #3
0
    def setUp(self):
        self.config = RawConfigParser()
        self.config.read([TESTDATADIR + '/endtoendtest.conf'])
        self.config.set('main', 'outgoinghost',
                        str(BounceEnd2EndTestCase.FUGLU_HOST))
        self.config.set('main', 'outgoingport',
                        str(BounceEnd2EndTestCase.DUMMY_PORT))
        self.config.set('main', 'disablebounces', str(0))

        # start listening smtp dummy server to get bounce answer
        self.smtp = DummySMTPServer(self.config,
                                    BounceEnd2EndTestCase.DUMMY_PORT,
                                    BounceEnd2EndTestCase.FUGLU_HOST)
        self.e2edss = threading.Thread(target=self.smtp.serve, args=())
        self.e2edss.daemon = True
        self.e2edss.start()
Example #4
0
    def setUp(self):
        logger = logging.getLogger("setUp")
        logger.info("setup config")
        self.config = RawConfigParser()
        self.config.read([TESTDATADIR + '/endtoendbasetest.conf'])
        # ------------ #
        # config: main #
        # ------------ #
        self.config.set('main', 'incomingport',
                        str(ReloadUnderLoadTest.FUGLU_PORT))
        self.config.set('main', 'outgoinghost',
                        str(ReloadUnderLoadTest.FUGLU_HOST))
        self.config.set('main', 'outgoingport',
                        str(ReloadUnderLoadTest.DUMMY_PORT))
        self.config.set('main', 'controlport',
                        str(ReloadUnderLoadTest.FUGLUCONTROL_PORT))

        # ------------------- #
        # config: performance #
        # ------------------- #
        # minimum scanner threads
        self.config.set('performance', 'minthreads', 1)
        # maximum scanner threads
        self.config.set('performance', 'maxthreads', 1)
        # Method for parallelism, either 'thread' or 'process'
        self.config.set('performance', 'backend', 'process')
        # Initial number of processes when backend='process'.
        # If 0 (the default), automatically selects twice the number of available virtual cores.
        # Despite its 'initial'-name, this number currently is not adapted automatically.
        self.config.set('performance', 'initialprocs',
                        ReloadUnderLoadTest.num_procs)
        # set timeout for joining the workers. Since the DummySMTPServer receives sequentially,
        # we need at least number_of_procs*delayPlugin
        self.config.set(
            'performance', 'join_timeout',
            10.0 * float(ReloadUnderLoadTest.num_procs) *
            ReloadUnderLoadTest.delay_by)

        self.config.set('main', 'plugins', 'fuglu.plugins.delay.DelayPlugin')

        # -------------------- #
        # config: delay plugin #
        # -------------------- #
        self.config.add_section("DelayPlugin")
        # the delay created by this plugn
        self.config.set("DelayPlugin", 'delay', ReloadUnderLoadTest.delay_by)
        self.config.set("DelayPlugin", 'logfrequency',
                        ReloadUnderLoadTest.delay_by)

        # -------------- #
        # MainController #
        # -------------- #
        # init core
        logger.info("setup MainController")
        self.mc = MainController(self.config)

        # ----------------- #
        # Dummy SMTP Server #
        # ----------------- #
        logger.info("setup Dummy SMTP Server and start thread")
        # start listening smtp dummy server to get fuglus answer
        self.dsmtp = DummySMTPServer(self.config,
                                     ReloadUnderLoadTest.DUMMY_PORT,
                                     ReloadUnderLoadTest.FUGLU_HOST,
                                     stayalive=True)
        self.thread_dsmtp = threading.Thread(name="DummySMTPServer",
                                             target=self.dsmtp.serve,
                                             args=())
        self.thread_dsmtp.daemon = True
        self.thread_dsmtp.start()

        # --
        # start fuglu's listening server (MainController.startup)
        # --
        logger.info("setup Fuglu and start thread")
        self.thread_fls = threading.Thread(name="MainController",
                                           target=self.mc.startup,
                                           args=())
        self.thread_fls.daemon = True
        self.thread_fls.start()

        # give fuglu time to start listener
        time.sleep(1)

        setup_module()