Changeset View
Changeset View
Standalone View
Standalone View
test/functional/rpc_net.py
Show All 9 Lines | |||||
import time | import time | ||||
from test_framework.test_framework import BitcoinTestFramework | from test_framework.test_framework import BitcoinTestFramework | ||||
from test_framework.util import ( | from test_framework.util import ( | ||||
assert_equal, | assert_equal, | ||||
assert_raises_rpc_error, | assert_raises_rpc_error, | ||||
connect_nodes_bi, | connect_nodes_bi, | ||||
p2p_port, | p2p_port, | ||||
wait_until, | |||||
) | ) | ||||
class NetTest(BitcoinTestFramework): | class NetTest(BitcoinTestFramework): | ||||
def set_test_params(self): | def set_test_params(self): | ||||
self.setup_clean_chain = True | self.setup_clean_chain = True | ||||
self.num_nodes = 2 | self.num_nodes = 2 | ||||
Show All 17 Lines | def _test_getnettotals(self): | ||||
assert_equal(sum([peer['bytesrecv'] for peer in peer_info]), | assert_equal(sum([peer['bytesrecv'] for peer in peer_info]), | ||||
net_totals['totalbytesrecv']) | net_totals['totalbytesrecv']) | ||||
assert_equal(sum([peer['bytessent'] for peer in peer_info]), | assert_equal(sum([peer['bytessent'] for peer in peer_info]), | ||||
net_totals['totalbytessent']) | net_totals['totalbytessent']) | ||||
# test getnettotals and getpeerinfo by doing a ping | # test getnettotals and getpeerinfo by doing a ping | ||||
# the bytes sent/received should change | # the bytes sent/received should change | ||||
# note ping and pong are 32 bytes each | # note ping and pong are 32 bytes each | ||||
self.nodes[0].ping() | self.nodes[0].ping() | ||||
time.sleep(0.1) | wait_until(lambda: (net_totals['totalbytessent'] + 32 * 2) == | ||||
self.nodes[0].getnettotals()['totalbytessent'], timeout=1) | |||||
wait_until(lambda: (net_totals['totalbytesrecv'] + 32 * 2) == | |||||
self.nodes[0].getnettotals()['totalbytesrecv'], timeout=1) | |||||
peer_info_after_ping = self.nodes[0].getpeerinfo() | peer_info_after_ping = self.nodes[0].getpeerinfo() | ||||
net_totals_after_ping = self.nodes[0].getnettotals() | |||||
for before, after in zip(peer_info, peer_info_after_ping): | for before, after in zip(peer_info, peer_info_after_ping): | ||||
assert_equal(before['bytesrecv_per_msg']['pong'] + | assert_equal(before['bytesrecv_per_msg']['pong'] + | ||||
32, after['bytesrecv_per_msg']['pong']) | 32, after['bytesrecv_per_msg']['pong']) | ||||
assert_equal(before['bytessent_per_msg']['ping'] + | assert_equal(before['bytessent_per_msg']['ping'] + | ||||
32, after['bytessent_per_msg']['ping']) | 32, after['bytessent_per_msg']['ping']) | ||||
assert_equal(net_totals['totalbytesrecv'] + 32 * 2, | |||||
net_totals_after_ping['totalbytesrecv']) | |||||
assert_equal(net_totals['totalbytessent'] + 32 * 2, | |||||
net_totals_after_ping['totalbytessent']) | |||||
def _test_getnetworkinginfo(self): | def _test_getnetworkinginfo(self): | ||||
assert_equal(self.nodes[0].getnetworkinfo()['networkactive'], True) | assert_equal(self.nodes[0].getnetworkinfo()['networkactive'], True) | ||||
assert_equal(self.nodes[0].getnetworkinfo()['connections'], 2) | assert_equal(self.nodes[0].getnetworkinfo()['connections'], 2) | ||||
self.nodes[0].setnetworkactive(False) | self.nodes[0].setnetworkactive(False) | ||||
assert_equal(self.nodes[0].getnetworkinfo()['networkactive'], False) | assert_equal(self.nodes[0].getnetworkinfo()['networkactive'], False) | ||||
timeout = 3 | timeout = 3 | ||||
Show All 34 Lines |