summaryrefslogtreecommitdiff
path: root/Lib/test/test_xmlrpc_net.py
diff options
context:
space:
mode:
authorJeremy Hylton <jeremy@alum.mit.edu>2007-08-14 16:47:39 +0000
committerJeremy Hylton <jeremy@alum.mit.edu>2007-08-14 16:47:39 +0000
commit6f03222cba640b78b4091bdd819bcebf18960378 (patch)
treefe10e536746f6a1efaeb3e177e0b2720e8092829 /Lib/test/test_xmlrpc_net.py
parent37859310afb0c564f781d995faa974986bac00f2 (diff)
downloadcpython-6f03222cba640b78b4091bdd819bcebf18960378.tar.gz
Change xmlrpclib to use the newer httplib interface.
Note that it's hard to test xmlrpclib, because the server it attempts to connect to doesn't seem to support the expected interfaces. Many of the links via xmlrpc.com are dead, so I couldn't find another server to use for tests.
Diffstat (limited to 'Lib/test/test_xmlrpc_net.py')
-rw-r--r--Lib/test/test_xmlrpc_net.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/Lib/test/test_xmlrpc_net.py b/Lib/test/test_xmlrpc_net.py
new file mode 100644
index 0000000000..4751d57253
--- /dev/null
+++ b/Lib/test/test_xmlrpc_net.py
@@ -0,0 +1,36 @@
+#!/usr/bin/env python
+
+import unittest
+from test import test_support
+
+import xmlrpclib
+
+class CurrentTimeTest(unittest.TestCase):
+
+ def test_current_time(self):
+ # Get the current time from xmlrpc.com. This code exercises
+ # the minimal HTTP functionality in xmlrpclib.
+ server = xmlrpclib.ServerProxy("http://time.xmlrpc.com/RPC2")
+ t0 = server.currentTime.getCurrentTime()
+
+ # Perform a minimal sanity check on the result, just to be sure
+ # the request means what we think it means.
+ t1 = xmlrpclib.DateTime()
+
+ dt0 = xmlrpclib._datetime_type(t0.value)
+ dt1 = xmlrpclib._datetime_type(t1.value)
+ if dt0 > dt1:
+ delta = dt0 - dt1
+ else:
+ delta = dt1 - dt0
+ # The difference between the system time here and the system
+ # time on the server should not be too big.
+ self.assert_(delta.days <= 1)
+
+
+def test_main():
+ test_support.requires("network")
+ test_support.run_unittest(CurrentTimeTest)
+
+if __name__ == "__main__":
+ test_main()