14 import http.client
as httplib
18 import urllib.parse
as urlparse
31 url = urlparse.urlparse(self.
nodes[0].url)
32 authpair = url.username +
':' + url.password
33 headers = {
"Authorization":
"Basic " +
str_to_b64str(authpair)}
35 conn = httplib.HTTPConnection(url.hostname, url.port)
37 conn.request(
'POST',
'/',
'{"method": "getbestblockhash"}', headers)
38 out1 = conn.getresponse().read()
39 assert(b
'"error":null' in out1)
40 assert(conn.sock!=
None)
43 conn.request(
'POST',
'/',
'{"method": "getchaintips"}', headers)
44 out1 = conn.getresponse().read()
45 assert(b
'"error":null' in out1)
46 assert(conn.sock!=
None)
50 headers = {
"Authorization":
"Basic " +
str_to_b64str(authpair),
"Connection":
"keep-alive"}
52 conn = httplib.HTTPConnection(url.hostname, url.port)
54 conn.request(
'POST',
'/',
'{"method": "getbestblockhash"}', headers)
55 out1 = conn.getresponse().read()
56 assert(b
'"error":null' in out1)
57 assert(conn.sock!=
None)
60 conn.request(
'POST',
'/',
'{"method": "getchaintips"}', headers)
61 out1 = conn.getresponse().read()
62 assert(b
'"error":null' in out1)
63 assert(conn.sock!=
None)
67 headers = {
"Authorization":
"Basic " +
str_to_b64str(authpair),
"Connection":
"close"}
69 conn = httplib.HTTPConnection(url.hostname, url.port)
71 conn.request(
'POST',
'/',
'{"method": "getbestblockhash"}', headers)
72 out1 = conn.getresponse().read()
73 assert(b
'"error":null' in out1)
74 assert(conn.sock==
None)
77 urlNode1 = urlparse.urlparse(self.
nodes[1].url)
78 authpair = urlNode1.username +
':' + urlNode1.password
79 headers = {
"Authorization":
"Basic " +
str_to_b64str(authpair)}
81 conn = httplib.HTTPConnection(urlNode1.hostname, urlNode1.port)
83 conn.request(
'POST',
'/',
'{"method": "getbestblockhash"}', headers)
84 out1 = conn.getresponse().read()
85 assert(b
'"error":null' in out1)
88 urlNode2 = urlparse.urlparse(self.
nodes[2].url)
89 authpair = urlNode2.username +
':' + urlNode2.password
90 headers = {
"Authorization":
"Basic " +
str_to_b64str(authpair)}
92 conn = httplib.HTTPConnection(urlNode2.hostname, urlNode2.port)
94 conn.request(
'POST',
'/',
'{"method": "getbestblockhash"}', headers)
95 out1 = conn.getresponse().read()
96 assert(b
'"error":null' in out1)
97 assert(conn.sock!=
None)
100 conn = httplib.HTTPConnection(urlNode2.hostname, urlNode2.port)
102 conn.request(
'GET',
'/' + (
'x'*1000),
'', headers)
103 out1 = conn.getresponse()
106 conn = httplib.HTTPConnection(urlNode2.hostname, urlNode2.port)
108 conn.request(
'GET',
'/' + (
'x'*10000),
'', headers)
109 out1 = conn.getresponse()
113 if __name__ ==
'__main__':
114 HTTPBasicsTest ().main ()
def start_nodes(num_nodes, dirname, extra_args=None, rpchost=None, binary=None)
def str_to_b64str(string)
def assert_equal(thing1, thing2)