tests: add respondd test case
This commit is contained in:
parent
772db95244
commit
4cd26d860a
50
tests/test_respondd.py
Normal file
50
tests/test_respondd.py
Normal file
@ -0,0 +1,50 @@
|
||||
#!/usr/bin/python36
|
||||
import sys
|
||||
from pynet import *
|
||||
import asyncio
|
||||
import time
|
||||
import json
|
||||
|
||||
a = Node()
|
||||
b = Node()
|
||||
|
||||
connect(a, b)
|
||||
|
||||
start()
|
||||
|
||||
b.wait_until_succeeds("ping -c 5 node1")
|
||||
|
||||
|
||||
def query_neighbor_info(request):
|
||||
response = b.wait_until_succeeds(
|
||||
f"gluon-neighbour-info -d ff02::2:1001 -p 1001 -r {request} -i vx_eth2_mesh -c 2"
|
||||
)
|
||||
|
||||
# build json array line by line
|
||||
ret = [json.loads(l) for l in response.split("\n")]
|
||||
|
||||
b.dbg(f"{request.lower()}:\n{json.dumps(ret, indent=4)}")
|
||||
return ret
|
||||
|
||||
|
||||
neighbours = query_neighbor_info("neighbours")
|
||||
|
||||
vx_eth2_mesh_addr_a = a.succeed("cat /sys/class/net/vx_eth2_mesh/address")
|
||||
vx_eth2_mesh_addr_b = b.succeed("cat /sys/class/net/vx_eth2_mesh/address")
|
||||
|
||||
res0 = neighbours[0]["batadv"]
|
||||
res1 = neighbours[1]["batadv"]
|
||||
if vx_eth2_mesh_addr_a in res0:
|
||||
res = res0
|
||||
else:
|
||||
res = res1
|
||||
|
||||
batadv_neighbours = res[vx_eth2_mesh_addr_a]["neighbours"]
|
||||
|
||||
if vx_eth2_mesh_addr_b in batadv_neighbours:
|
||||
print("Node 1 was successfully found in neighbours of node 2.")
|
||||
else:
|
||||
print("ERROR: Node 1 was not found in neighbours of node 2.")
|
||||
exit(1)
|
||||
|
||||
finish()
|
Loading…
Reference in New Issue
Block a user