summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/discovery.et84
1 files changed, 84 insertions, 0 deletions
diff --git a/test/discovery.et b/test/discovery.et
index f80acb3..763d6b2 100644
--- a/test/discovery.et
+++ b/test/discovery.et
@@ -509,6 +509,90 @@ test CommonOwnerDiscovery:
/peer [0-9]+ addr ${p3.node.ip} 29665/
+test DiscoveryAnyOrder:
+ let services = "discovery"
+
+ subnet sd
+ subnet ss
+ subnet s1
+ subnet s2
+ subnet s3
+ subnet s4
+ subnet s5
+ subnet s6
+
+ spawn on sd as pd
+ spawn on ss as ps # connection order to pd:
+ spawn on s1 as p1 # search - p1 - ps
+ spawn on s2 as p2 # search - ps - p2
+ spawn on s3 as p3 # p3 - search - ps
+ spawn on s4 as p4 # p4 - ps - search
+ spawn on s5 as p5 # ps - p5 - search
+ spawn on s6 as p6 # ps - search - p6
+
+ send "create-identity Discovery" to pd
+ send "create-identity Searching" to ps
+ send "create-identity Device1" to p1
+ send "create-identity Device2" to p2
+ send "create-identity Device3" to p3
+ send "create-identity Device4" to p4
+ send "create-identity Device5" to p5
+ send "create-identity Device6" to p6
+
+ expect /create-identity-done ref $refpat.*/ from pd
+ expect /create-identity-done ref ($refpat).*/ from ps capture ps_id
+ expect /create-identity-done ref ($refpat).*/ from p1 capture p1_id
+ expect /create-identity-done ref ($refpat).*/ from p2 capture p2_id
+ expect /create-identity-done ref ($refpat).*/ from p3 capture p3_id
+ expect /create-identity-done ref ($refpat).*/ from p4 capture p4_id
+ expect /create-identity-done ref ($refpat).*/ from p5 capture p5_id
+ expect /create-identity-done ref ($refpat).*/ from p6 capture p6_id
+
+ send "start-server services $services" to pd
+ # wait for the first server to start and claim the discovery port
+ expect /start-server-done/ from pd
+
+ for p in [ ps, p1, p2, p3, p4, p5, p6 ]:
+ send "start-server services $services" to p
+ for p in [ ps, p1, p2, p3, p4, p5, p6 ]:
+ expect /start-server-done/ from p
+
+ send "discovery-connect $p1_id" to ps
+ send "discovery-connect $p2_id" to ps
+
+ send "peer-add ${pd.node.ip} 29665" to p1
+ send "peer-add ${pd.node.ip} 29665" to p3
+ send "peer-add ${pd.node.ip} 29665" to p4
+ expect /peer [0-9]+ id Discovery/ from p1
+ expect /peer [0-9]+ id Discovery/ from p3
+ expect /peer [0-9]+ id Discovery/ from p4
+
+ send "discovery-connect $p3_id" to ps
+
+ send "peer-add ${pd.node.ip} 29665" to ps
+ expect /peer [0-9]+ id Discovery/ from ps
+
+ expect /peer [0-9]+ id Device1/ from ps
+ expect /peer [0-9]+ id Device3/ from ps
+
+ send "peer-add ${pd.node.ip} 29665" to p2
+ expect /peer [0-9]+ id Device2/ from ps
+
+ send "discovery-connect $p4_id" to ps
+ expect /peer [0-9]+ id Device4/ from ps
+
+ send "peer-add ${pd.node.ip} 29665" to p5
+ expect /peer [0-9]+ id Discovery/ from p5
+
+ send "discovery-connect $p5_id" to ps
+ send "discovery-connect $p6_id" to ps
+ expect /peer [0-9]+ id Device5/ from ps
+
+ send "peer-add ${pd.node.ip} 29665" to p6
+ expect /peer [0-9]+ id Discovery/ from p6
+ expect /peer [0-9]+ id Device6/ from ps
+
+
test DiscoveryOnLocalhost:
let services = "discovery"
node n