summaryrefslogtreecommitdiff
path: root/test/storage.test
diff options
context:
space:
mode:
authorRoman Smrž <roman.smrz@seznam.cz>2023-02-22 20:58:39 +0100
committerRoman Smrž <roman.smrz@seznam.cz>2023-03-22 21:53:54 +0100
commita13474cd11283ae648e0dcaa156ce9058df15aa1 (patch)
treeb341997047a3f2e4f93c9a30d7225f212a5eafc1 /test/storage.test
parentc3dc649badc6b93a0ec052c3a3eefbe5761c7213 (diff)
Pass weak pointer of HeadBhv to callback
Diffstat (limited to 'test/storage.test')
-rw-r--r--test/storage.test51
1 files changed, 50 insertions, 1 deletions
diff --git a/test/storage.test b/test/storage.test
index 17859cc..6267beb 100644
--- a/test/storage.test
+++ b/test/storage.test
@@ -1,4 +1,4 @@
-test:
+test Storage:
spawn as p1
# Root finding
@@ -150,3 +150,52 @@ test:
/stored-set-item $r2_3/
/stored-set-(.*)/ capture done6
guard done6 == "done"
+
+
+test StorageWatcher:
+ spawn as p1
+ spawn as p2
+ send "create-identity Device1 Owner" to p1
+ send "create-identity Device2" to p2
+ send "watch-local-identity" to p1
+ send "watch-local-identity" to p2
+ send "start-server" to p1
+ send "start-server" to p2
+ expect from p1:
+ /local-identity Device1 Owner/
+ /peer 1 addr ${p2.node.ip} 29665/
+ /peer 1 id Device2/
+ expect from p2:
+ /local-identity Device2/
+ /peer 1 addr ${p1.node.ip} 29665/
+ /peer 1 id Device1 Owner/
+
+ local:
+ 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
+
+ send "attach-accept 1" to p1
+ send "attach-accept 1" to p2
+ expect /attach-request-done 1/ from p1
+ expect /attach-response-done 1/ from p2
+ expect /local-identity Device2 Owner/ from p2
+ expect /peer 1 id Device2 Owner/ from p1
+
+ for i in [1..5]:
+ send "update-local-identity Owner2" to p1
+ send "shared-state-get" to p1
+ expect /shared-state-get (.*)/ from p1 capture s1
+
+ send "shared-state-wait $s1" to p2
+ expect /shared-state-wait $s1/ from p2
+
+ send "update-local-identity Owner1" to p1
+ send "shared-state-get" to p1
+ expect /shared-state-get (.*)/ from p1 capture s2
+
+ send "shared-state-wait $s1" to p2
+ send "shared-state-wait $s2" to p2
+ expect /shared-state-wait $s1/ from p2
+ expect /shared-state-wait $s2/ from p2