summaryrefslogtreecommitdiff
path: root/test/storage.test
diff options
context:
space:
mode:
Diffstat (limited to 'test/storage.test')
-rw-r--r--test/storage.test97
1 files changed, 95 insertions, 2 deletions
diff --git a/test/storage.test b/test/storage.test
index 0369807..a5cca7f 100644
--- a/test/storage.test
+++ b/test/storage.test
@@ -381,14 +381,16 @@ test StorageWatcher:
test SharedStateWatcher:
+ let services = "attach,sync"
+
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
+ send "start-server services $services" to p1
+ send "start-server services $services" to p2
expect from p1:
/local-identity Device1 Owner/
/peer 1 addr ${p2.node.ip} 29665/
@@ -427,3 +429,94 @@ test SharedStateWatcher:
send "shared-state-wait $s2" to p2
expect /shared-state-wait $s1/ from p2
expect /shared-state-wait $s2/ from p2
+
+
+test LocalStateKeepUnknown:
+ let refpat = /blake2#[0-9a-f]*/
+
+ spawn as p
+ with p:
+ send "create-identity Device"
+ send "watch-local-identity"
+ expect /local-identity Device/
+
+ send "local-state-get"
+ expect /local-state-get ($refpat)/ capture s1
+ send "load $s1"
+
+ expect /load-type rec [0-9]*/
+ expect /load-line id:r ($refpat)/ capture id1
+ local:
+ expect /load-(.*)/ capture done
+ guard (done == "done")
+
+ send:
+ "store rec"
+ "id:r $id1"
+ "TEST:i 123"
+ ""
+ expect /store-done ($refpat)/ capture s2
+ send "local-state-replace $s1 $s2"
+ expect /local-state-replace-done/
+
+ send "local-state-get"
+ expect /local-state-get $s2/
+
+ send "update-local-identity Device2"
+ expect /local-identity Device2/
+
+ send "local-state-get"
+ expect /local-state-get ($refpat)/ capture s3
+ send "load $s3"
+
+ expect /load-type rec [0-9]*/
+ expect /load-line id:r ($refpat)/ capture id2
+ guard (id1 /= id2)
+ expect /load-line TEST:i 123/
+ local:
+ expect /load-(.*)/ capture done
+ guard (done == "done")
+
+
+test UnknownObjectType:
+ let refpat = /blake2#[0-9a-f]*/
+
+ spawn as p
+ spawn as p2 on p.node
+
+ with p:
+ send:
+ "store test-unknown"
+ "TEST"
+ ""
+ expect /store-done ($refpat)/ capture r1
+
+ with p2:
+ send "load $r1"
+ expect /load-type test-unknown 5/
+ expect /load-line TEST/
+ local:
+ expect /load-(.*)/ capture done
+ guard (done == "done")
+
+
+test UnknownRecordItemType:
+ let refpat = /blake2#[0-9a-f]*/
+
+ spawn as p
+ spawn as p2 on p.node
+
+ with p:
+ send:
+ "store rec"
+ "test:unknown TEST"
+ ""
+ expect /store-done ($refpat)/ capture r1
+
+ with p2:
+ send "load $r1"
+ expect /load-type rec [0-9]+/
+ expect /load-line test:unknown TEST/
+ local:
+ expect /load-(.*)/ capture done
+ guard (done == "done")