def test_pop_client(self): account_config = { "user_name": "foo@localhost", "password": "******", "protocol": "pop3", "hostname": "localhost:{0}".format(SpamCanPOPTest.server_port), "smtp_host": "localhost" } account = database.Account(account_config) mail_handler = MailUtil() protocol_handler = mail_handler.request(account) count = protocol_handler.get_stats() protocol_handler.disconnect() self.assert_(count == 1)
def test_get_stats_method(self): tmpdir = tempfile.mkdtemp() try: write_config_files(tmpdir, SpamCanPOPTest.server_port) mail_handler = MailUtil() db = database.Database(conf_dir=tmpdir) account = db.fetch_by_id(1) protocol_handler = mail_handler.request(account) if protocol_handler: account.remote_count = protocol_handler.get_stats() protocol_handler.disconnect() self.assert_(account.remote_count == 1) finally: db.session.close() if os.path.isdir(tmpdir): shutil.rmtree(tmpdir)
DEBUG = False for path in ["data/", "data/files"]: if not os.path.exists(path): os.makedirs(path) # Enable debugging mode bottle.debug(DEBUG) app = Bottle() template_env = Environment(loader=FileSystemLoader("./templates")) mdir = MaildirUtil() mail_handler = MailUtil() parser = mail_parser.MailParser() # Connect to SQLite db to retrieve mail accounts db = database.Database() accounts = db.fetch_all() # Initialize ElasticSearch connection es = Elasticsearch() def get_account_stats(account): protocol_handler = mail_handler.request(account) if protocol_handler: account.remote_count = protocol_handler.get_stats() protocol_handler.disconnect() else: