tests: Extend RPC proxy tests
Also test -noonion
This commit is contained in:
parent
baf05075fa
commit
edbdf8855d
1 changed files with 48 additions and 14 deletions
|
@ -68,10 +68,10 @@ class ProxyTest(BitcoinTestFramework):
|
||||||
['-listen', '-debug=net', '-debug=proxy', '-proxy=%s:%i' % (self.conf1.addr),'-proxyrandomize=1'],
|
['-listen', '-debug=net', '-debug=proxy', '-proxy=%s:%i' % (self.conf1.addr),'-proxyrandomize=1'],
|
||||||
['-listen', '-debug=net', '-debug=proxy', '-proxy=%s:%i' % (self.conf1.addr),'-onion=%s:%i' % (self.conf2.addr),'-proxyrandomize=0'],
|
['-listen', '-debug=net', '-debug=proxy', '-proxy=%s:%i' % (self.conf1.addr),'-onion=%s:%i' % (self.conf2.addr),'-proxyrandomize=0'],
|
||||||
['-listen', '-debug=net', '-debug=proxy', '-proxy=%s:%i' % (self.conf2.addr),'-proxyrandomize=1'],
|
['-listen', '-debug=net', '-debug=proxy', '-proxy=%s:%i' % (self.conf2.addr),'-proxyrandomize=1'],
|
||||||
['-listen', '-debug=net', '-debug=proxy', '-proxy=[%s]:%i' % (self.conf3.addr),'-proxyrandomize=0']
|
['-listen', '-debug=net', '-debug=proxy', '-proxy=[%s]:%i' % (self.conf3.addr),'-proxyrandomize=0', '-noonion']
|
||||||
])
|
])
|
||||||
|
|
||||||
def node_test(self, node, proxies, auth):
|
def node_test(self, node, proxies, auth, test_onion=True):
|
||||||
rv = []
|
rv = []
|
||||||
# Test: outgoing IPv4 connection through node
|
# Test: outgoing IPv4 connection through node
|
||||||
node.addnode("15.61.23.23:1234", "onetry")
|
node.addnode("15.61.23.23:1234", "onetry")
|
||||||
|
@ -99,6 +99,7 @@ class ProxyTest(BitcoinTestFramework):
|
||||||
assert_equal(cmd.password, None)
|
assert_equal(cmd.password, None)
|
||||||
rv.append(cmd)
|
rv.append(cmd)
|
||||||
|
|
||||||
|
if test_onion:
|
||||||
# Test: outgoing onion connection through node
|
# Test: outgoing onion connection through node
|
||||||
node.addnode("bitcoinostk4e4re.onion:8333", "onetry")
|
node.addnode("bitcoinostk4e4re.onion:8333", "onetry")
|
||||||
cmd = proxies[2].queue.get()
|
cmd = proxies[2].queue.get()
|
||||||
|
@ -139,7 +140,40 @@ class ProxyTest(BitcoinTestFramework):
|
||||||
assert_equal(len(credentials), 4)
|
assert_equal(len(credentials), 4)
|
||||||
|
|
||||||
# proxy on IPv6 localhost
|
# proxy on IPv6 localhost
|
||||||
self.node_test(self.nodes[3], [self.serv3, self.serv3, self.serv3, self.serv3], False)
|
self.node_test(self.nodes[3], [self.serv3, self.serv3, self.serv3, self.serv3], False, False)
|
||||||
|
|
||||||
|
def networks_dict(d):
|
||||||
|
r = {}
|
||||||
|
for x in d['networks']:
|
||||||
|
r[x['name']] = x
|
||||||
|
return r
|
||||||
|
|
||||||
|
# test RPC getnetworkinfo
|
||||||
|
n0 = networks_dict(self.nodes[0].getnetworkinfo())
|
||||||
|
for net in ['ipv4','ipv6','onion']:
|
||||||
|
assert_equal(n0[net]['proxy'], '%s:%i' % (self.conf1.addr))
|
||||||
|
assert_equal(n0[net]['proxy_randomize_credentials'], True)
|
||||||
|
assert_equal(n0['onion']['reachable'], True)
|
||||||
|
|
||||||
|
n1 = networks_dict(self.nodes[1].getnetworkinfo())
|
||||||
|
for net in ['ipv4','ipv6']:
|
||||||
|
assert_equal(n1[net]['proxy'], '%s:%i' % (self.conf1.addr))
|
||||||
|
assert_equal(n1[net]['proxy_randomize_credentials'], False)
|
||||||
|
assert_equal(n1['onion']['proxy'], '%s:%i' % (self.conf2.addr))
|
||||||
|
assert_equal(n1['onion']['proxy_randomize_credentials'], False)
|
||||||
|
assert_equal(n1['onion']['reachable'], True)
|
||||||
|
|
||||||
|
n2 = networks_dict(self.nodes[2].getnetworkinfo())
|
||||||
|
for net in ['ipv4','ipv6','onion']:
|
||||||
|
assert_equal(n2[net]['proxy'], '%s:%i' % (self.conf2.addr))
|
||||||
|
assert_equal(n2[net]['proxy_randomize_credentials'], True)
|
||||||
|
assert_equal(n2['onion']['reachable'], True)
|
||||||
|
|
||||||
|
n3 = networks_dict(self.nodes[3].getnetworkinfo())
|
||||||
|
for net in ['ipv4','ipv6']:
|
||||||
|
assert_equal(n3[net]['proxy'], '[%s]:%i' % (self.conf3.addr))
|
||||||
|
assert_equal(n3[net]['proxy_randomize_credentials'], False)
|
||||||
|
assert_equal(n3['onion']['reachable'], False)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
ProxyTest().main()
|
ProxyTest().main()
|
||||||
|
|
Loading…
Reference in a new issue