Add local tests for ND

This commit is contained in:
kansi 2018-01-23 16:21:37 +05:30
parent 8f38020952
commit 651e2daa13
4 changed files with 33 additions and 2 deletions

View File

@ -4,7 +4,7 @@ import uuid
import copy
import time
from node import Node
from .node import Node
CHAIN_GENESIS = {"genesis_time": "0001-01-01T00:00:00Z",
"chain_id": "",

View File

@ -2,13 +2,14 @@ import json
import time
import uuid
import copy
import requests
import kubernetes
from kubernetes.client.rest import ApiException
from kubernetes.stream import stream
TENDERMINT_PORT = 46656
TENDERMINT_HTTP_PORT = 46657
# TODO: create a default pod spec of BDB
MONGODB_SPEC = {"name": "mongodb",
@ -120,6 +121,14 @@ class Node():
else:
return False
@property
def tendermint_http_uri(self):
ip = self.ip
if ip:
return 'http://{}:{}'.format(ip, TENDERMINT_HTTP_PORT)
else:
return False
def stop_tendermint(self):
self._exec_command('tendermint', 'pkill tendermint')
@ -168,6 +177,11 @@ class Node():
self.stop_tendermint()
self.start_tendermint()
def get_peers(self):
uri = '{}/net_info'.format(self.tendermint_http_uri)
r = requests.get(uri)
return r.json()['result']['peers']
def _create_namespace(self, namespace):
namespace_spec = kubernetes.client.V1Namespace()
namespace_spec.api_version = 'v1'

View File

@ -84,6 +84,7 @@ install_requires = [
'python-rapidjson-schema==0.1.1',
'statsd==3.2.1',
'abci~=0.3.0',
'kubernetes~=4.0.0',
]
setup(

View File

@ -0,0 +1,16 @@
from network_driver.network import Network
def test_peers_connected():
n = Network(2)
n.ensure_started()
assert n.nodes[0].get_peers() == []
assert n.nodes[1].get_peers() == []
n.ensure_connected()
assert len(n.nodes[0].get_peers()) == 1
assert len(n.nodes[1].get_peers()) == 1
n.stop()