summaryrefslogtreecommitdiff
path: root/test/sync.test
diff options
context:
space:
mode:
Diffstat (limited to 'test/sync.test')
-rw-r--r--test/sync.test49
1 files changed, 46 insertions, 3 deletions
diff --git a/test/sync.test b/test/sync.test
index 3cc7cba..91e8f08 100644
--- a/test/sync.test
+++ b/test/sync.test
@@ -20,9 +20,10 @@ test:
/peer 1 id Device1 Owner/
send "attach-to 1" to p2
- expect /attach-request 1 ([0-9]*)/ from p1 capture code1
- expect /attach-response 1 ([0-9]*)/ from p2 capture code2
- guard (code1 == code2)
+ local:
+ expect /attach-request 1 ([0-9]*)/ from p1 capture code1
+ expect /attach-response 1 ([0-9]*)/ from p2 capture code2
+ guard (code1 == code2)
send "attach-accept 1" to p1
send "attach-accept 1" to p2
@@ -48,3 +49,45 @@ test:
expect /shared-state-get (.*)/ from p1 capture p1state
send "shared-state-wait $p1state" to p2
expect /shared-state-wait $p1state/ from p2
+
+ subnet s
+ spawn on s as p3
+
+ with p3:
+ send "create-identity Device3"
+ send "watch-local-identity"
+ send "watch-shared-identity"
+ send "start-server"
+
+ send "peer-add ${p1.node.ip}"
+
+ expect:
+ /local-identity Device3/
+ /peer 1 addr ${p1.node.ip} 29665/
+ /peer 1 id Device1 .*/
+
+ expect from p1:
+ /peer 2 addr ${p3.node.ip} 29665/
+ /peer 2 id Device3/
+
+ send "attach-to 1" to p3
+ local:
+ expect /attach-request 2 ([0-9]*)/ from p1 capture code1
+ expect /attach-response 1 ([0-9]*)/ from p3 capture code2
+ guard (code1 == code2)
+
+ send "attach-accept 2" to p1
+ send "attach-accept 1" to p3
+
+ expect /local-identity Device3 NewOwner3/ from p3
+ expect /shared-identity NewOwner3/ from p3
+
+ send "update-shared-identity NewOwner4" to p3
+ expect /shared-identity NewOwner4/ from p1
+ expect /shared-identity NewOwner4/ from p2
+ expect /shared-identity NewOwner4/ from p3
+
+ send "update-shared-identity NewOwner5" to p2
+ expect /shared-identity NewOwner5/ from p1
+ expect /shared-identity NewOwner5/ from p2
+ expect /shared-identity NewOwner5/ from p3