diff options
-rw-r--r-- | changes/feature_add_tester_script | 1 | ||||
-rw-r--r-- | src/leap/mx/tester.py | 46 |
2 files changed, 47 insertions, 0 deletions
diff --git a/changes/feature_add_tester_script b/changes/feature_add_tester_script new file mode 100644 index 0000000..7042254 --- /dev/null +++ b/changes/feature_add_tester_script @@ -0,0 +1 @@ + o Add tester script to ease testing problematic emails offline.
\ No newline at end of file diff --git a/src/leap/mx/tester.py b/src/leap/mx/tester.py new file mode 100644 index 0000000..05d2d05 --- /dev/null +++ b/src/leap/mx/tester.py @@ -0,0 +1,46 @@ +import ConfigParser +import sys +import os + +from twisted.internet import reactor, defer +from twisted.python import filepath, log + +from leap.mx import couchdbhelper +from leap.mx.mail_receiver import MailReceiver + +if __name__ == "__main__": + log.startLogging(sys.stdout) + fullpath = os.path.realpath(sys.argv[1]) + + log.msg("Starting test for %s..." % (fullpath,)) + + config_file = "/etc/leap/mx.conf" + + config = ConfigParser.ConfigParser() + config.read(config_file) + + user = config.get("couchdb", "user") + password = config.get("couchdb", "password") + + server = config.get("couchdb", "server") + port = config.get("couchdb", "port") + + cdb = couchdbhelper.ConnectedCouchDB(server, + port=port, + dbName="identities", + username=user, + password=password) + + # Mail receiver + mail_couch_url_prefix = "http://%s:%s@%s:%s" % (user, + password, + server, + port) + + mr = MailReceiver(mail_couch_url_prefix, cdb, []) + fpath = filepath.FilePath(fullpath) + + d = mr._process_incoming_email(None, fpath, 0) + d.addCallback(lambda x: reactor.stop()) + + reactor.run() |