diff options
Diffstat (limited to 'message.et')
-rw-r--r-- | message.et | 273 |
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 |