Rev 216: Changed return types and exception handling, as per jml's review. in http://bzr.daniel-watkins.co.uk/pqm/xmlrpc
Daniel Watkins
daniel at daniel-watkins.co.uk
Thu Aug 7 03:42:46 BST 2008
At http://bzr.daniel-watkins.co.uk/pqm/xmlrpc
------------------------------------------------------------
revno: 216
revision-id: daniel at daniel-watkins.co.uk-20080807024055-c237c3o5y1lbqowy
parent: daniel at daniel-watkins.co.uk-20080807022924-s6orqd7kmpky3nfz
committer: Daniel Watkins <daniel at daniel-watkins.co.uk>
branch nick: xmlrpc
timestamp: Thu 2008-08-07 03:40:55 +0100
message:
Changed return types and exception handling, as per jml's review.
-------------- next part --------------
=== modified file 'pqm/ui/tests/test_xmlrpc.py'
--- a/pqm/ui/tests/test_xmlrpc.py 2008-08-07 02:18:19 +0000
+++ b/pqm/ui/tests/test_xmlrpc.py 2008-08-07 02:40:55 +0000
@@ -17,6 +17,8 @@
import os
+from twisted.web.xmlrpc import Fault
+
from pqm.tests import sample_message, TestCaseWithQueue
from pqm.ui.twistd import PQMInfo
from pqm.ui.xmlrpc import PQM_XMLRPC
@@ -36,15 +38,14 @@
def test_empty_submission(self):
xmlrpc = self.get_xmlrpc()
- out = xmlrpc.xmlrpc_submit('')
- self.assertEqual("Error: 'No From specified'", out)
+ out = self.assertRaises(Fault, xmlrpc.xmlrpc_submit, '')
+ self.assertEqual("'No From specified'", out.faultString)
def test_valid_submission(self):
# Tests that a valid message (i.e. one with a From and Subject line)
# receives the appropriate message from XMLRPC.
xmlrpc = self.get_xmlrpc()
- out = xmlrpc.xmlrpc_submit(sample_message)
- self.assertEqual('Success!', out)
+ self.assertTrue(xmlrpc.xmlrpc_submit(sample_message))
queuedir = xmlrpc.pqminfo.queuedir
patches = self.assertQueueLength(queuedir, 1)
self.assertFileEqual(sample_message,
@@ -54,7 +55,7 @@
# Tests that a meaningless message receives an appropriate response
# from XMLRPC.
xmlrpc = self.get_xmlrpc()
- out = xmlrpc.xmlrpc_submit('foobar')
- self.assertEqual("Error: 'No From specified'", out)
+ out = self.assertRaises(Fault, xmlrpc.xmlrpc_submit, 'foobar')
+ self.assertEqual("'No From specified'", out.faultString)
queuedir = xmlrpc.pqminfo.queuedir
self.assertQueueLength(queuedir, 0)
=== modified file 'pqm/ui/xmlrpc.py'
--- a/pqm/ui/xmlrpc.py 2008-08-07 02:29:24 +0000
+++ b/pqm/ui/xmlrpc.py 2008-08-07 02:40:55 +0000
@@ -20,7 +20,7 @@
from StringIO import StringIO
import time
-from twisted.web.xmlrpc import XMLRPC
+from twisted.web.xmlrpc import Fault, XMLRPC
import pqm
from pqm.errors import PQMException
@@ -50,8 +50,8 @@
:param text: The text of the submission email message to be added to
the queue.
-
- :return: A string representing the success of the submission.
+ :return: True if the submission was successful.
+ :raises Fault: if the submission was not successful.
"""
try:
queuedir = self.pqminfo.queuedir
@@ -73,6 +73,6 @@
email = read_email_from_string(self.logger, text)
email_string = get_email_string(self.logger, options, email)
pqm.write_script(queuedir, email_string)
- return "Success!"
+ return True
except PQMException, e:
- return "Error: %s" % (e,)
+ raise Fault(0, "%s" % (e,))
More information about the bazaar-commits
mailing list