Преглед на файлове

Add tests for getFaultDescription and RPCError

Mike Naberezny преди 11 години
родител
ревизия
54c15cf895
променени са 1 файла, в които са добавени 29 реда и са изтрити 0 реда
  1. 29 0
      supervisor/tests/test_xmlrpc.py

+ 29 - 0
supervisor/tests/test_xmlrpc.py

@@ -12,6 +12,35 @@ except ImportError:
     import xmlrpc.client as xmlrpclib
     import http.client as httplib
 
+class GetFaultDescriptionTests(unittest.TestCase):
+    def test_returns_description_for_known_fault(self):
+        from supervisor import xmlrpc
+        desc = xmlrpc.getFaultDescription(xmlrpc.Faults.SHUTDOWN_STATE)
+        self.assertEqual(desc, 'SHUTDOWN_STATE')
+
+    def test_returns_unknown_for_unknown_fault(self):
+        from supervisor import xmlrpc
+        desc = xmlrpc.getFaultDescription(999999)
+        self.assertEqual(desc, 'UNKNOWN')
+
+class RPCErrorTests(unittest.TestCase):
+    def _getTargetClass(self):
+        from supervisor.xmlrpc import RPCError
+        return RPCError
+
+    def _makeOne(self, code, extra=None):
+        return self._getTargetClass()(code, extra)
+
+    def test_sets_text_with_fault_name_only(self):
+        from supervisor import xmlrpc
+        e = self._makeOne(xmlrpc.Faults.FAILED)
+        self.assertEqual(e.text, 'FAILED')
+
+    def test_sets_text_with_fault_name_and_extra(self):
+        from supervisor import xmlrpc
+        e = self._makeOne(xmlrpc.Faults.FAILED, 'oops')
+        self.assertEqual(e.text, 'FAILED: oops')
+
 class XMLRPCMarshallingTests(unittest.TestCase):
     def test_xmlrpc_marshal(self):
         from supervisor import xmlrpc