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