From e69c90a34b5bdc96271cd966e84c76f44a99d69e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Smr=C5=BE?= Date: Wed, 30 Jul 2025 20:07:07 +0200 Subject: =?UTF-8?q?(test)=20Switch=20test=20script=20extension=20to=20?= =?UTF-8?q?=E2=80=9Cet=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- message.test | 265 ----------------------------------------------------------- 1 file changed, 265 deletions(-) delete mode 100644 message.test (limited to 'message.test') diff --git a/message.test b/message.test deleted file mode 100644 index 2990d0f..0000000 --- a/message.test +++ /dev/null @@ -1,265 +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-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-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-received from Owner1 text hello$i/ from p2 - send "dm-send-peer $peer2_1 hi$i" to 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-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-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-received from Owner1 text hello_c_$i/ from p2 - send "dm-send-contact $c2_1 hi_c_$i" to 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 - 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 - # TODO: sync from p1 on peer p2 discovery not ensured without addition wait - #wait - 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 -- cgit v1.2.3