summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomás Touceda <chiiph@leap.se>2013-11-26 15:46:05 -0300
committerTomás Touceda <chiiph@leap.se>2013-11-26 16:14:02 -0300
commitd2a6fd962a608e72a1367eada8fd791183da4cc1 (patch)
tree284237fa48dffcec616d13dd2f59872b0f10b62a
parent338252c1c123403687287b503b154db212b16b92 (diff)
Add tester script to ease debugging problematic mails.
-rw-r--r--changes/feature_add_tester_script1
-rw-r--r--src/leap/mx/tester.py46
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()