diff options
author | Georg Brandl <georg@python.org> | 2008-05-26 11:14:17 (GMT) |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2008-05-26 11:14:17 (GMT) |
commit | 38eceaaf0c207709cfbb44c7a1b9715699622848 (patch) | |
tree | 874f496e0fbaf8e6f3c86e86cd0c95fe51845dde /Lib/test | |
parent | 7f986acb0142574d30e5c5460df02fdbb00760e9 (diff) | |
download | cpython-38eceaaf0c207709cfbb44c7a1b9715699622848.zip cpython-38eceaaf0c207709cfbb44c7a1b9715699622848.tar.gz cpython-38eceaaf0c207709cfbb44c7a1b9715699622848.tar.bz2 |
Create xmlrpc package. Issue #2886.
Diffstat (limited to 'Lib/test')
-rw-r--r-- | Lib/test/test_anydbm.py | 147 | ||||
-rw-r--r-- | Lib/test/test_docxmlrpc.py | 3 | ||||
-rw-r--r-- | Lib/test/test_xmlrpc.py | 34 | ||||
-rw-r--r-- | Lib/test/test_xmlrpc_net.py | 2 |
4 files changed, 19 insertions, 167 deletions
diff --git a/Lib/test/test_anydbm.py b/Lib/test/test_anydbm.py deleted file mode 100644 index aab1388..0000000 --- a/Lib/test/test_anydbm.py +++ /dev/null @@ -1,147 +0,0 @@ -#! /usr/bin/env python -"""Test script for the dbm.open function based on testdumbdbm.py""" - -import os -import unittest -import dbm -import glob -import test.support - -_fname = test.support.TESTFN - -# -# Iterates over every database module supported by dbm currently available, -# setting dbm to use each in turn, and yielding that module -# -def dbm_iterator(): - old_default = dbm._defaultmod - for module in dbm._modules.values(): - dbm._defaultmod = module - yield module - dbm._defaultmod = old_default - -# -# Clean up all scratch databases we might have created during testing -# -def delete_files(): - # we don't know the precise name the underlying database uses - # so we use glob to locate all names - for f in glob.glob(_fname + "*"): - test.support.unlink(f) - - -class AnyDBMTestCase(unittest.TestCase): - _dict = {'0': b'', - 'a': b'Python:', - 'b': b'Programming', - 'c': b'the', - 'd': b'way', - 'f': b'Guido', - 'g': b'intended', - } - - def __init__(self, *args): - unittest.TestCase.__init__(self, *args) - - def test_anydbm_creation(self): - f = dbm.open(_fname, 'c') - self.assertEqual(list(f.keys()), []) - for key in self._dict: - f[key.encode("ascii")] = self._dict[key] - self.read_helper(f) - f.close() - - def test_anydbm_modification(self): - self.init_db() - f = dbm.open(_fname, 'c') - self._dict['g'] = f[b'g'] = b"indented" - self.read_helper(f) - f.close() - - def test_anydbm_read(self): - self.init_db() - f = dbm.open(_fname, 'r') - self.read_helper(f) - f.close() - - def test_anydbm_keys(self): - self.init_db() - f = dbm.open(_fname, 'r') - keys = self.keys_helper(f) - f.close() - - def test_anydbm_access(self): - self.init_db() - f = dbm.open(_fname, 'r') - key = "a".encode("ascii") - assert(key in f) - assert(f[key] == b"Python:") - f.close() - - def read_helper(self, f): - keys = self.keys_helper(f) - for key in self._dict: - self.assertEqual(self._dict[key], f[key.encode("ascii")]) - - def init_db(self): - f = dbm.open(_fname, 'n') - for k in self._dict: - f[k.encode("ascii")] = self._dict[k] - f.close() - - def keys_helper(self, f): - keys = sorted(k.decode("ascii") for k in f.keys()) - dkeys = sorted(self._dict.keys()) - self.assertEqual(keys, dkeys) - return keys - - def tearDown(self): - delete_files() - - def setUp(self): - delete_files() - - -class WhichDBTestCase(unittest.TestCase): - # Actual test methods are added to namespace after class definition. - def __init__(self, *args): - unittest.TestCase.__init__(self, *args) - - def test_whichdb(self): - for module in dbm_iterator(): - # Check whether whichdb correctly guesses module name - # for databases opened with "module" module. - # Try with empty files first - name = module.__name__ - if name == 'dbm.dumb': - continue # whichdb can't support dbm.dumb - test.support.unlink(_fname) - f = module.open(_fname, 'c') - f.close() - self.assertEqual(name, dbm.whichdb(_fname)) - # Now add a key - f = module.open(_fname, 'w') - f[b"1"] = b"1" - # and test that we can find it - self.assertTrue(b"1" in f) - # and read it - self.assertTrue(f[b"1"] == b"1") - f.close() - self.assertEqual(name, dbm.whichdb(_fname)) - - def tearDown(self): - delete_files() - - def setUp(self): - delete_files() - - -def test_main(): - try: - for module in dbm_iterator(): - test.support.run_unittest(AnyDBMTestCase, WhichDBTestCase) - finally: - delete_files() - -if __name__ == "__main__": - test_main() diff --git a/Lib/test/test_docxmlrpc.py b/Lib/test/test_docxmlrpc.py index 2af2071..9cb9ffb 100644 --- a/Lib/test/test_docxmlrpc.py +++ b/Lib/test/test_docxmlrpc.py @@ -1,10 +1,9 @@ -from DocXMLRPCServer import DocXMLRPCServer +from xmlrpc.server import DocXMLRPCServer import httplib from test import support import threading import time import unittest -import xmlrpclib PORT = None diff --git a/Lib/test/test_xmlrpc.py b/Lib/test/test_xmlrpc.py index cad2b9d..25a9c9d 100644 --- a/Lib/test/test_xmlrpc.py +++ b/Lib/test/test_xmlrpc.py @@ -3,8 +3,8 @@ import datetime import sys import time import unittest -import xmlrpclib -import SimpleXMLRPCServer +import xmlrpc.client as xmlrpclib +import xmlrpc.server import threading import mimetools import httplib @@ -160,9 +160,9 @@ class FaultTestCase(unittest.TestCase): # this will raise AttirebuteError because code don't want us to use # private methods self.assertRaises(AttributeError, - SimpleXMLRPCServer.resolve_dotted_attribute, str, '__add') + xmlrpc.server.resolve_dotted_attribute, str, '__add') - self.assert_(SimpleXMLRPCServer.resolve_dotted_attribute(str, 'title')) + self.assert_(xmlrpc.server.resolve_dotted_attribute(str, 'title')) class DateTimeTestCase(unittest.TestCase): def test_default(self): @@ -249,7 +249,7 @@ def http_server(evt, numrequests): '''This is my function''' return True - class MyXMLRPCServer(SimpleXMLRPCServer.SimpleXMLRPCServer): + class MyXMLRPCServer(xmlrpc.server.SimpleXMLRPCServer): def get_request(self): # Ensure the socket is always non-blocking. On Linux, socket # attributes are not inherited like they are on *BSD and Windows. @@ -306,7 +306,7 @@ def is_unavailable_exception(e): class SimpleServerTestCase(unittest.TestCase): def setUp(self): # enable traceback reporting - SimpleXMLRPCServer.SimpleXMLRPCServer._send_traceback_header = True + xmlrpc.server.SimpleXMLRPCServer._send_traceback_header = True self.evt = threading.Event() # start server thread to handle requests @@ -326,7 +326,7 @@ class SimpleServerTestCase(unittest.TestCase): raise RuntimeError("timeout reached, test has failed") # disable traceback reporting - SimpleXMLRPCServer.SimpleXMLRPCServer._send_traceback_header = False + xmlrpc.server.SimpleXMLRPCServer._send_traceback_header = False def test_simple1(self): try: @@ -443,9 +443,9 @@ class SimpleServerTestCase(unittest.TestCase): def test_dotted_attribute(self): # Raises an AttributeError because private methods are not allowed. self.assertRaises(AttributeError, - SimpleXMLRPCServer.resolve_dotted_attribute, str, '__add') + xmlrpc.server.resolve_dotted_attribute, str, '__add') - self.assert_(SimpleXMLRPCServer.resolve_dotted_attribute(str, 'title')) + self.assert_(xmlrpc.server.resolve_dotted_attribute(str, 'title')) # Get the test to run faster by sending a request with test_simple1. # This avoids waiting for the socket timeout. self.test_simple1() @@ -475,17 +475,17 @@ class FailingServerTestCase(unittest.TestCase): # wait on the server thread to terminate self.evt.wait() # reset flag - SimpleXMLRPCServer.SimpleXMLRPCServer._send_traceback_header = False + xmlrpc.server.SimpleXMLRPCServer._send_traceback_header = False # reset message class - SimpleXMLRPCServer.SimpleXMLRPCRequestHandler.MessageClass = mimetools.Message + xmlrpc.server.SimpleXMLRPCRequestHandler.MessageClass = mimetools.Message def test_basic(self): # check that flag is false by default - flagval = SimpleXMLRPCServer.SimpleXMLRPCServer._send_traceback_header + flagval = xmlrpc.server.SimpleXMLRPCServer._send_traceback_header self.assertEqual(flagval, False) # enable traceback reporting - SimpleXMLRPCServer.SimpleXMLRPCServer._send_traceback_header = True + xmlrpc.server.SimpleXMLRPCServer._send_traceback_header = True # test a call that shouldn't fail just as a smoke test try: @@ -499,7 +499,7 @@ class FailingServerTestCase(unittest.TestCase): def test_fail_no_info(self): # use the broken message class - SimpleXMLRPCServer.SimpleXMLRPCRequestHandler.MessageClass = FailingMessageClass + xmlrpc.server.SimpleXMLRPCRequestHandler.MessageClass = FailingMessageClass try: p = xmlrpclib.ServerProxy('http://localhost:%d' % PORT) @@ -515,11 +515,11 @@ class FailingServerTestCase(unittest.TestCase): def test_fail_with_info(self): # use the broken message class - SimpleXMLRPCServer.SimpleXMLRPCRequestHandler.MessageClass = FailingMessageClass + xmlrpc.server.SimpleXMLRPCRequestHandler.MessageClass = FailingMessageClass # Check that errors in the server send back exception/traceback # info when flag is set - SimpleXMLRPCServer.SimpleXMLRPCServer._send_traceback_header = True + xmlrpc.server.SimpleXMLRPCServer._send_traceback_header = True try: p = xmlrpclib.ServerProxy('http://localhost:%d' % PORT) @@ -536,7 +536,7 @@ class FailingServerTestCase(unittest.TestCase): class CGIHandlerTestCase(unittest.TestCase): def setUp(self): - self.cgi = SimpleXMLRPCServer.CGIXMLRPCRequestHandler() + self.cgi = xmlrpc.server.CGIXMLRPCRequestHandler() def tearDown(self): self.cgi = None diff --git a/Lib/test/test_xmlrpc_net.py b/Lib/test/test_xmlrpc_net.py index 1f8dd5d..2525254 100644 --- a/Lib/test/test_xmlrpc_net.py +++ b/Lib/test/test_xmlrpc_net.py @@ -6,7 +6,7 @@ import sys import unittest from test import support -import xmlrpclib +import xmlrpclib.client as xmlrpclib class CurrentTimeTest(unittest.TestCase): |