Esempio n. 1
0
    def test_modified_message(self):
        """Test if the modified message gets archived correctly"""
        from fuglu.shared import Suspect
        import shutil
        import tempfile

        tempfilename = tempfile.mktemp(
            suffix='archive', prefix='fuglu-unittest', dir='/tmp')
        shutil.copy(TESTDATADIR + '/helloworld.eml', tempfilename)
        self.tempfiles.append(tempfilename)

        self.config.set('ArchivePlugin', 'storeoriginal', '0')
        candidate = ArchivePlugin(self.config)
        suspect = Suspect(
            '*****@*****.**', '*****@*****.**', tempfilename)
        origmessage = suspect.get_source()
        # modify the mesg
        msgrep = suspect.get_message_rep()
        msgrep['X-Changed-Something'] = 'Yes'
        suspect.setMessageRep(msgrep)

        filename = candidate.archive(suspect)
        self.assertTrue(filename != None and filename)

        self.tempfiles.append(filename)

        archivedmessage = open(filename, 'r').read()
        self.assertNotEqual(origmessage.strip(), archivedmessage.strip(
        )), 'Archived message should have stored modified message'
Esempio n. 2
0
    def test_modified_message(self):
        """Test if the modified message gets archived correctly"""
        from fuglu.shared import Suspect
        import shutil
        import tempfile

        tempfilename = tempfile.mktemp(suffix='archive',
                                       prefix='fuglu-unittest',
                                       dir='/tmp')
        shutil.copy(TESTDATADIR + '/helloworld.eml', tempfilename)
        self.tempfiles.append(tempfilename)

        self.config.set('ArchivePlugin', 'storeoriginal', '0')
        candidate = ArchivePlugin(self.config)
        suspect = Suspect('*****@*****.**',
                          '*****@*****.**', tempfilename)
        origmessage = suspect.get_source()
        # modify the mesg
        msgrep = suspect.get_message_rep()
        msgrep['X-Changed-Something'] = 'Yes'
        suspect.setMessageRep(msgrep)

        filename = candidate.archive(suspect)
        self.assertTrue(filename != None and filename)

        self.tempfiles.append(filename)

        archivedmessage = open(filename, 'r').read()
        self.assertNotEqual(origmessage.strip(), archivedmessage.strip(
        )), 'Archived message should have stored modified message'
Esempio n. 3
0
        message = ""
        if type(ans) is tuple:
            result, message = ans
        else:
            result = ans

        if result == None:
            result = DUNNO

        logging.info("Result: %s %s", actioncode_to_string(result), message)
        suspect.tags['decisions'].append((pluginstance.section, result))
        logging.info(suspect)

    for pluginstance in mc.appenders:
        logging.info("*** Running appender: %s ***" % pluginstance)
        pluginstance.process(suspect, DUNNO)
        message = ""
        logging.info(suspect)

    if suspect.is_modified():
        outfilename = '/tmp/fuglu_dummy_message_out.eml'
        out = open(outfilename, 'wb')
        out.write(suspect.get_source())
        out.close()
        logging.info(
            "Plugin modified the source -> modified message available as %s" % outfilename)

    if opts.console:
        run_debugconsole(
            suspect=suspect, plugin=pluginstance, result=result, config=config, prependers=mc.prependers, scanners=scannerlist, appenders=mc.appenders)
Esempio n. 4
0
        if result == None:
            result = DUNNO

        logging.info("Result: %s %s", actioncode_to_string(result), message)
        suspect.tags['decisions'].append((pluginstance.section, result))
        logging.info(suspect)

    for pluginstance in mc.appenders:
        logging.info("*** Running appender: %s ***" % pluginstance)
        pluginstance.process(suspect, DUNNO)
        message = ""
        logging.info(suspect)

    if suspect.is_modified():
        outfilename = '/tmp/fuglu_dummy_message_out.eml'
        out = open(outfilename, 'wb')
        out.write(suspect.get_source())
        out.close()
        logging.info(
            "Plugin modified the source -> modified message available as %s" %
            outfilename)

    if opts.console:
        run_debugconsole(suspect=suspect,
                         plugin=pluginstance,
                         result=result,
                         config=config,
                         prependers=mc.prependers,
                         scanners=scannerlist,
                         appenders=mc.appenders)