Mercurial > cpython-lru_cache-weakref
annotate Lib/test/test_docxmlrpc.py @ 58925:eecf1bef052d 2.6
Merged revisions 78207 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r78207 | ezio.melotti | 2010-02-17 01:26:09 +0200 (Wed, 17 Feb 2010) | 1 line
#7930: fix stripid
........
| author | Ezio Melotti <ezio.melotti@gmail.com> |
|---|---|
| date | Tue, 16 Feb 2010 23:29:44 +0000 |
| parents | ca67c37cd26d |
| children | b36cb4602e21 |
| rev | line source |
|---|---|
|
44253
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
1 from DocXMLRPCServer import DocXMLRPCServer |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
2 import httplib |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
3 from test import test_support |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
4 import threading |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
5 import time |
|
58795
ca67c37cd26d
Merged revisions 78035,78040,78043,78049-78050,78052-78054 via svnmerge from
Georg Brandl <georg@python.org>
parents:
49431
diff
changeset
|
6 import socket |
|
44253
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
7 import unittest |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
8 import xmlrpclib |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
9 |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
10 PORT = None |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
11 |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
12 def server(evt, numrequests): |
|
49431
2e794757bdc8
Merged revisions 66766-66767,66771-66772,66774,66776,66783-66787,66790,66793,66797 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
45215
diff
changeset
|
13 serv = DocXMLRPCServer(("localhost", 0), logRequests=False) |
|
2e794757bdc8
Merged revisions 66766-66767,66771-66772,66774,66776,66783-66787,66790,66793,66797 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
45215
diff
changeset
|
14 |
|
44253
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
15 try: |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
16 global PORT |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
17 PORT = serv.socket.getsockname()[1] |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
18 |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
19 # Add some documentation |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
20 serv.set_server_title("DocXMLRPCServer Test Documentation") |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
21 serv.set_server_name("DocXMLRPCServer Test Docs") |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
22 serv.set_server_documentation( |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
23 """This is an XML-RPC server's documentation, but the server can be used by |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
24 POSTing to /RPC2. Try self.add, too.""") |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
25 |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
26 # Create and register classes and functions |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
27 class TestClass(object): |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
28 def test_method(self, arg): |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
29 """Test method's docs. This method truly does very little.""" |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
30 self.arg = arg |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
31 |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
32 serv.register_introspection_functions() |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
33 serv.register_instance(TestClass()) |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
34 |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
35 def add(x, y): |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
36 """Add two instances together. This follows PEP008, but has nothing |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
37 to do with RFC1952. Case should matter: pEp008 and rFC1952. Things |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
38 that start with http and ftp should be auto-linked, too: |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
39 http://google.com. |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
40 """ |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
41 return x + y |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
42 |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
43 serv.register_function(add) |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
44 serv.register_function(lambda x, y: x-y) |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
45 |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
46 while numrequests > 0: |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
47 serv.handle_request() |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
48 numrequests -= 1 |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
49 except socket.timeout: |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
50 pass |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
51 finally: |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
52 serv.server_close() |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
53 PORT = None |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
54 evt.set() |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
55 |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
56 class DocXMLRPCHTTPGETServer(unittest.TestCase): |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
57 def setUp(self): |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
58 # Enable server feedback |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
59 DocXMLRPCServer._send_traceback_header = True |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
60 |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
61 self.evt = threading.Event() |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
62 threading.Thread(target=server, args=(self.evt, 1)).start() |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
63 |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
64 # wait for port to be assigned |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
65 n = 1000 |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
66 while n > 0 and PORT is None: |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
67 time.sleep(0.001) |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
68 n -= 1 |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
69 |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
70 self.client = httplib.HTTPConnection("localhost:%d" % PORT) |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
71 |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
72 def tearDown(self): |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
73 self.client.close() |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
74 |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
75 self.evt.wait() |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
76 |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
77 # Disable server feedback |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
78 DocXMLRPCServer._send_traceback_header = False |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
79 |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
80 def test_valid_get_response(self): |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
81 self.client.request("GET", "/") |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
82 response = self.client.getresponse() |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
83 |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
84 self.assertEqual(response.status, 200) |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
85 self.assertEqual(response.getheader("Content-type"), "text/html") |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
86 |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
87 # Server throws an exception if we don't start to read the data |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
88 response.read() |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
89 |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
90 def test_invalid_get_response(self): |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
91 self.client.request("GET", "/spam") |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
92 response = self.client.getresponse() |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
93 |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
94 self.assertEqual(response.status, 404) |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
95 self.assertEqual(response.getheader("Content-type"), "text/plain") |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
96 |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
97 response.read() |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
98 |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
99 def test_lambda(self): |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
100 """Test that lambda functionality stays the same. The output produced |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
101 currently is, I suspect invalid because of the unencoded brackets in the |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
102 HTML, "<lambda>". |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
103 |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
104 The subtraction lambda method is tested. |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
105 """ |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
106 self.client.request("GET", "/") |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
107 response = self.client.getresponse() |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
108 |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
109 self.assert_( |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
110 """<dl><dt><a name="-<lambda>"><strong><lambda></strong></a>(x, y)</dt></dl>""" |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
111 in response.read()) |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
112 |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
113 def test_autolinking(self): |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
114 """Test that the server correctly automatically wraps references to PEPS |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
115 and RFCs with links, and that it linkifies text starting with http or |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
116 ftp protocol prefixes. |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
117 |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
118 The documentation for the "add" method contains the test material. |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
119 """ |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
120 self.client.request("GET", "/") |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
121 response = self.client.getresponse() |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
122 |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
123 self.assert_( # This is ugly ... how can it be made better? |
| 45215 | 124 """<dl><dt><a name="-add"><strong>add</strong></a>(x, y)</dt><dd><tt>Add two instances together. This follows <a href="http://www.python.org/dev/peps/pep-0008/">PEP008</a>, but has nothing<br>\nto do with <a href="http://www.rfc-editor.org/rfc/rfc1952.txt">RFC1952</a>. Case should matter: pEp008 and rFC1952. Things<br>\nthat start with http and ftp should be auto-linked, too:<br>\n<a href="http://google.com">http://google.com</a>.</tt></dd></dl>""" |
|
44253
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
125 in response.read()) |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
126 |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
127 def test_system_methods(self): |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
128 """Test the precense of three consecutive system.* methods. |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
129 |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
130 This also tests their use of parameter type recognition and the systems |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
131 related to that process. |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
132 """ |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
133 self.client.request("GET", "/") |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
134 response = self.client.getresponse() |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
135 |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
136 self.assert_( |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
137 """<dl><dt><a name="-system.listMethods"><strong>system.listMethods</strong></a>()</dt><dd><tt><a href="#-system.listMethods">system.listMethods</a>() => [\'add\', \'subtract\', \'multiple\']<br>\n <br>\nReturns a list of the methods supported by the server.</tt></dd></dl>\n <dl><dt><a name="-system.methodHelp"><strong>system.methodHelp</strong></a>(method_name)</dt><dd><tt><a href="#-system.methodHelp">system.methodHelp</a>(\'add\') => "Adds two integers together"<br>\n <br>\nReturns a string containing documentation for the specified method.</tt></dd></dl>\n <dl><dt><a name="-system.methodSignature"><strong>system.methodSignature</strong></a>(method_name)</dt><dd><tt><a href="#-system.methodSignature">system.methodSignature</a>(\'add\') => [double, int, int]<br>\n <br>\nReturns a list describing the signature of the method. In the<br>\nabove example, the add method takes two integers as arguments<br>\nand returns a double result.<br>\n <br>\nThis server does NOT support system.methodSignature.</tt></dd></dl>""" |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
138 in response.read()) |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
139 |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
140 def test_autolink_dotted_methods(self): |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
141 """Test that selfdot values are made strong automatically in the |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
142 documentation.""" |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
143 self.client.request("GET", "/") |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
144 response = self.client.getresponse() |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
145 |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
146 self.assert_("""Try self.<strong>add</strong>, too.""" in |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
147 response.read()) |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
148 |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
149 def test_main(): |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
150 test_support.run_unittest(DocXMLRPCHTTPGETServer) |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
151 |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
152 if __name__ == '__main__': |
|
60a740f5a57a
Merged revisions 59441-59449 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
153 test_main() |
