summaryrefslogtreecommitdiff
path: root/message.et
diff options
context:
space:
mode:
Diffstat (limited to 'message.et')
-rw-r--r--message.et273
1 files changed, 0 insertions, 273 deletions
diff --git a/message.et b/message.et
deleted file mode 100644
index acdfc27..0000000
--- a/message.et
+++ /dev/null
@@ -1,273 +0,0 @@
-module message
-
-import common
-
-test DirectMessage:
- let services = "contact,dm"
-
- spawn as p1
- spawn as p2
- send "create-identity Device1 Owner1" to p1
- send "create-identity Device2 Owner2" to p2
- send "start-server services $services" to p1
- send "start-server services $services" to p2
-
- expect from p1:
- /peer ([0-9]+) addr ${p2.node.ip} 29665/ capture peer1_2
- /peer $peer1_2 id Device2 Owner2/
-
- expect from p2:
- /peer ([0-9]+) addr ${p1.node.ip} 29665/ capture peer2_1
- /peer $peer2_1 id Device1 Owner1/
-
- with p1:
- send "dm-list-peer $peer1_2"
- expect /dm-list-done/
-
- # Send messages to peers
-
- for i in [1..2]:
- send "dm-send-peer $peer1_2 hello$i" to p1
- expect /dm-sent from Owner1 text hello$i/ from p1
- expect /dm-received from Owner1 text hello$i/ from p2
-
- for i in [1..2]:
- send "dm-send-peer $peer2_1 hi$i" to p2
- expect /dm-sent from Owner2 text hi$i/ from p2
- expect /dm-received from Owner2 text hi$i/ from p1
-
- for i in [3..4]:
- send "dm-send-peer $peer1_2 hello$i" to p1
- expect /dm-sent from Owner1 text hello$i/ from p1
- expect /dm-received from Owner1 text hello$i/ from p2
- send "dm-send-peer $peer2_1 hi$i" to p2
- expect /dm-sent from Owner2 text hi$i/ from p2
- expect /dm-received from Owner2 text hi$i/ from p1
-
- # Create contacts
-
- local:
- send "contact-request $peer1_2" to p1
- expect /contact-request $peer2_1 ([0-9]*)/ from p2 capture code2
- expect /contact-response $peer1_2 ([0-9]*)/ from p1 capture code1
- guard (code1 == code2)
-
- send "contact-accept $peer1_2" to p1
- send "contact-accept $peer2_1" to p2
- expect /contact-request-done $peer2_1/ from p2
- expect /contact-response-done $peer1_2/ from p1
-
- send "contact-list" to p1
- expect from p1:
- /contact-list-item ([a-z0-9#]+) Owner2 Owner2/ capture c1_2
- /contact-list-(.*)/ capture done1_1
-
- send "contact-list" to p2
- expect from p2:
- /contact-list-item ([a-z0-9#]+) Owner1 Owner1/ capture c2_1
- /contact-list-(.*)/ capture done1_2
-
- # Send messages to contacts
-
- for i in [1..2]:
- send "dm-send-contact $c1_2 hello_c_$i" to p1
- expect /dm-sent from Owner1 text hello_c_$i/ from p1
- expect /dm-received from Owner1 text hello_c_$i/ from p2
-
- for i in [1..2]:
- send "dm-send-contact $c2_1 hi_c_$i" to p2
- expect /dm-sent from Owner2 text hi_c_$i/ from p2
- expect /dm-received from Owner2 text hi_c_$i/ from p1
-
- for i in [3..4]:
- send "dm-send-contact $c1_2 hello_c_$i" to p1
- expect /dm-sent from Owner1 text hello_c_$i/ from p1
- expect /dm-received from Owner1 text hello_c_$i/ from p2
- send "dm-send-contact $c2_1 hi_c_$i" to p2
- expect /dm-sent from Owner2 text hi_c_$i/ from p2
- expect /dm-received from Owner2 text hi_c_$i/ from p1
-
- send "dm-list-contact $c1_2" to p1
- send "dm-list-contact $c2_1" to p2
- for p in [p1, p2]:
- with p:
- for i in [1..4]:
- expect /dm-list-item from Owner1 text hello_c_$i/
- expect /dm-list-item from Owner2 text hi_c_$i/
- for i in [1..4]:
- expect /dm-list-item from Owner1 text hello$i/
- expect /dm-list-item from Owner2 text hi$i/
- expect /dm-list-(.*)/ capture done
- guard (done == "done")
-
- # Reload message history
-
- for p in [p1, p2]:
- with p:
- send "stop-server"
- for p in [p1, p2]:
- with p:
- expect /stop-server-done/
- for p in [p1, p2]:
- with p:
- send "start-server services $services"
-
- with p1:
- send "contact-list"
- expect:
- /contact-list-item $c1_2 Owner2 Owner2/
- /contact-list-(.*)/ capture done
- guard (done == "done")
-
- send "dm-list-contact $c1_2" to p1
- send "dm-list-contact $c2_1" to p2
- for p in [p1, p2]:
- with p:
- for i in [1..4]:
- expect /dm-list-item from Owner1 text hello_c_$i/
- expect /dm-list-item from Owner2 text hi_c_$i/
- for i in [1..4]:
- expect /dm-list-item from Owner1 text hello$i/
- expect /dm-list-item from Owner2 text hi$i/
- expect /dm-list-(.*)/ capture done
- guard (done == "done")
-
- # Send message while offline
-
- for p in [p1, p2]:
- with p:
- send "stop-server"
- for p in [p1, p2]:
- with p:
- expect /stop-server-done/
- send "start-server services $services" to p2
-
- send "dm-send-contact $c1_2 while_offline" to p1
- expect /dm-sent from Owner1 text while_offline/ from p1
- send "start-server services $services" to p1
-
- expect /dm-received from Owner1 text while_offline/ from p2
-
- for p in [p1, p2]:
- with p:
- send "stop-server"
- for p in [p1, p2]:
- with p:
- expect /stop-server-done/
- send "start-server services $services" to p1
-
- send "dm-send-contact $c1_2 while_peer_offline" to p1
- expect /dm-sent from Owner1 text while_peer_offline/ from p1
- send "start-server services $services" to p2
-
- expect /dm-received from Owner1 text while_peer_offline/ from p2
-
-
-test DirectMessageDiscovery:
- let services = "dm,discovery"
-
- subnet sd
- subnet s1
- subnet s2
- subnet s3
- subnet s4
-
- spawn on sd as pd
- spawn on s1 as p1
- spawn on s2 as p2
- spawn on s3 as p3
- spawn on s4 as p4
-
- send "create-identity Discovery" to pd
-
- send "create-identity Device1 Owner1" to p1
- expect /create-identity-done ref ($refpat)/ from p1 capture p1_id
- send "identity-info $p1_id" to p1
- expect /identity-info ref $p1_id base ($refpat) owner ($refpat).*/ from p1 capture p1_base, p1_owner
-
- send "create-identity Device2 Owner2" to p2
- expect /create-identity-done ref ($refpat)/ from p2 capture p2_id
- send "identity-info $p2_id" to p2
- expect /identity-info ref $p2_id base ($refpat) owner ($refpat).*/ from p2 capture p2_base, p2_owner
- send "identity-info $p2_owner" to p2
- expect /identity-info ref $p2_owner base ($refpat).*/ from p2 capture p2_obase
-
- send "create-identity Device3 Owner3" to p3
- expect /create-identity-done ref ($refpat)/ from p3 capture p3_id
- send "identity-info $p3_id" to p3
- expect /identity-info ref $p3_id base ($refpat) owner ($refpat).*/ from p3 capture p3_base, p3_owner
-
- send "create-identity Device4 Owner4" to p4
- expect /create-identity-done ref ($refpat)/ from p4 capture p4_id
- send "identity-info $p4_id" to p4
- expect /identity-info ref $p4_id base ($refpat) owner ($refpat).*/ from p4 capture p4_base, p4_owner
-
-
- for p in [ p1, p2, p3, p4 ]:
- with p:
- send "start-server services $services"
-
- for p in [ p2, p3, p4 ]:
- with p1:
- send "peer-add ${p.node.ip}"
- expect:
- /peer [0-9]+ addr ${p.node.ip} 29665/
- /peer [0-9]+ id Device. Owner./
- expect from p:
- /peer 1 addr ${p1.node.ip} 29665/
- /peer 1 id Device1 Owner1/
-
- # Make sure p1 has other identities in storage:
- for i in [ 1 .. 3 ]:
- send "dm-send-peer $i init1" to p1
- for p in [ p2, p3, p4 ]:
- expect /dm-received from Owner1 text init1/ from p
- send "dm-send-identity $p1_owner init2" to p
- expect /dm-received from Owner. text init2/ from p1
-
- # Restart servers to remove peers:
- for p in [ p1, p2, p3, p4 ]:
- with p:
- send "stop-server"
- for p in [ p1, p2, p3, p4 ]:
- with p:
- expect /stop-server-done/
-
- # Prepare message before peers connect to discovery
- send "dm-send-identity $p4_owner hello_to_p4" to p1
-
- for p in [ p1, p2, p3, p4, pd ]:
- with p:
- send "start-server services $services"
-
- for p in [ p2, p3, p4, p1 ]:
- with p:
- send "peer-add ${pd.node.ip}"
- expect:
- /peer 1 addr ${pd.node.ip} 29665/
- /peer 1 id Discovery/
- expect from pd:
- /peer [0-9]+ addr ${p.node.ip} 29665/
- /peer [0-9]+ id Device. Owner./
-
- multiply_timeout by 2.0
-
- # Connect via discovery manually, then send message
- send "discovery-connect $p2_obase" to p1
- expect from p1:
- /peer [0-9]+ addr ${p2.node.ip} 29665/
- /peer [0-9]+ id Device2 Owner2/
- send "dm-send-identity $p2_owner hello_to_p2" to p1
- expect /dm-received from Owner1 text hello_to_p2/ from p2
-
- # Send message, expect automatic discovery
- send "dm-send-identity $p3_owner hello_to_p3" to p1
- expect /dm-received from Owner1 text hello_to_p3/ from p3
-
- # Verify the first message
- expect /dm-received from Owner1 text hello_to_p4/ from p4
-
- for p in [ p1, p2, p3, p4, pd ]:
- send "stop-server" to p
- for p in [ p1, p2, p3, p4, pd ]:
- expect /stop-server-done/ from p