def setUp(self): self.tempdir = tempfile.mkdtemp('attachtest', 'fuglu') self.template = '%s/blockedfile.tmpl' % self.tempdir shutil.copy(CONFDIR + '/templates/blockedfile.tmpl.dist', self.template) shutil.copy(CONFDIR + '/rules/default-filenames.conf.dist', '%s/default-filenames.conf' % self.tempdir) shutil.copy(CONFDIR + '/rules/default-filetypes.conf.dist', '%s/default-filetypes.conf' % self.tempdir) # extend by the content we use for blocking in this test with open('%s/default-filetypes.conf' % self.tempdir, "a+") as f: f.write( "\ndeny application\/x-dosexec No DOS executables") config = RawConfigParser() config.add_section('FiletypePlugin') config.set('FiletypePlugin', 'template_blockedfile', self.template) config.set('FiletypePlugin', 'rulesdir', self.tempdir) config.set('FiletypePlugin', 'blockaction', 'DELETE') config.set('FiletypePlugin', 'sendbounce', 'True') config.set('FiletypePlugin', 'checkarchivenames', 'True') config.set('FiletypePlugin', 'checkarchivecontent', 'True') config.set('FiletypePlugin', 'archivecontentmaxsize', '7000000') config.set('FiletypePlugin', 'archiveextractlevel', -1) config.set('FiletypePlugin', 'enabledarchivetypes', '') config.add_section('main') config.set('main', 'disablebounces', '1') config.set('main', 'nobouncefile', '') self.candidate = FiletypePlugin(config) self.rulescache = RulesCache(self.tempdir) self.candidate.rulescache = self.rulescache
def setUp(self): self.tempdir = tempfile.mkdtemp('attachtest', 'fuglu') self.template = '%s/blockedfile.tmpl' % self.tempdir shutil.copy( CONFDIR + '/templates/blockedfile.tmpl.dist', self.template) shutil.copy(CONFDIR + '/rules/default-filenames.conf.dist', '%s/default-filenames.conf' % self.tempdir) shutil.copy(CONFDIR + '/rules/default-filetypes.conf.dist', '%s/default-filetypes.conf' % self.tempdir) config = RawConfigParser() config.add_section('FiletypePlugin') config.set('FiletypePlugin', 'template_blockedfile', self.template) config.set('FiletypePlugin', 'rulesdir', self.tempdir) config.set('FiletypePlugin', 'blockaction', 'DELETE') config.set('FiletypePlugin', 'sendbounce', 'True') config.set('FiletypePlugin', 'checkarchivenames', 'True') config.set('FiletypePlugin', 'checkarchivecontent', 'True') config.set('FiletypePlugin', 'archivecontentmaxsize', '7000000') config.set('FiletypePlugin', 'archiveextractlevel', -1) config.set('FiletypePlugin', 'enabledarchivetypes', '') config.add_section('main') config.set('main', 'disablebounces', '1') self.candidate = FiletypePlugin(config) self.rulescache = RulesCache(self.tempdir) self.candidate.rulescache = self.rulescache
def setUp(self): testfile = "/tmp/attachconfig.db" if os.path.exists(testfile): os.remove(testfile) # important: 4 slashes for absolute paths! testdb = "sqlite:///%s" % testfile sql = """create table attachmentrules( id integer not null primary key, scope varchar(255) not null, checktype varchar(20) not null, action varchar(255) not null, regex varchar(255) not null, description varchar(255) not null, prio integer not null ) """ self.session = fuglu.extensions.sql.get_session(testdb) self.session.flush() self.session.execute(sql) self.tempdir = tempfile.mkdtemp('attachtestdb', 'fuglu') self.template = '%s/blockedfile.tmpl' % self.tempdir shutil.copy(CONFDIR + '/templates/blockedfile.tmpl.dist', self.template) shutil.copy(CONFDIR + '/rules/default-filenames.conf.dist', '%s/default-filenames.conf' % self.tempdir) shutil.copy(CONFDIR + '/rules/default-filetypes.conf.dist', '%s/default-filetypes.conf' % self.tempdir) config = RawConfigParser() config.add_section('FiletypePlugin') config.set('FiletypePlugin', 'template_blockedfile', self.template) config.set('FiletypePlugin', 'rulesdir', self.tempdir) config.set('FiletypePlugin', 'dbconnectstring', testdb) config.set('FiletypePlugin', 'blockaction', 'DELETE') config.set('FiletypePlugin', 'sendbounce', 'True') config.set( 'FiletypePlugin', 'query', 'SELECT action,regex,description FROM attachmentrules WHERE scope=:scope AND checktype=:checktype ORDER BY prio' ) config.add_section('main') config.set('main', 'disablebounces', '1') config.set('main', 'nobouncefile', '') config.set('FiletypePlugin', 'checkarchivenames', 'False') config.set('FiletypePlugin', 'checkarchivecontent', 'False') config.set('FiletypePlugin', 'archivecontentmaxsize', 500000) config.set('FiletypePlugin', 'archiveextractlevel', -1) config.set('FiletypePlugin', 'enabledarchivetypes', '') self.candidate = FiletypePlugin(config)