summaryrefslogtreecommitdiff
path: root/chatroom.test
diff options
context:
space:
mode:
Diffstat (limited to 'chatroom.test')
-rw-r--r--chatroom.test662
1 files changed, 0 insertions, 662 deletions
diff --git a/chatroom.test b/chatroom.test
deleted file mode 100644
index 54f9b2a..0000000
--- a/chatroom.test
+++ /dev/null
@@ -1,662 +0,0 @@
-def refpat = /blake2#[0-9a-f]+/
-
-test ChatroomSetup:
- let services = "chatroom"
-
- # Local chatrooms
-
- spawn as p1
- with p1:
- send "create-identity Device1 Owner1"
-
- send "chatroom-create first"
- send "chatroom-create second"
-
- send "chatroom-list-local"
-
- expect /chatroom-list-item ([a-z0-9#]+) first sub true/ capture first
- expect /chatroom-list-item [a-z0-9#]+ second sub true/
- local:
- expect /chatroom-list-(.*)/ capture done
- guard (done == "done")
-
- expect /chatroom-create-done ([a-z0-9#]+) first.*/ from p1 capture first
- expect /chatroom-create-done ([a-z0-9#]+) second.*/ from p1 capture second
-
- # Send chatrooms to new peers
-
- spawn as p2
- send "create-identity Device2 Owner2" to p2
-
- spawn as p3
- send "create-identity Device3 Owner3" to p3
-
- for p in [ p1, p2, p3 ]:
- with p:
- send "chatroom-watch-local"
- send "start-server services $services"
-
- for p in [ p2, p3 ]:
- with p:
- expect /chatroom-watched-added [a-z0-9#]+ first sub false/
- expect /chatroom-watched-added [a-z0-9#]+ second sub false/
-
- # Subscribe and unsubscribe
-
- with p1:
- send "chatroom-unsubscribe $first"
- expect /chatroom-watched-updated [a-z0-9#]+ first sub false .*/
-
- send "chatroom-subscribe $first"
- expect /chatroom-watched-updated [a-z0-9#]+ first sub true .*/
-
- with p2:
- send "chatroom-list-local"
- expect /chatroom-list-item ([a-z0-9#]+) first sub false/ capture p2_first
- expect /chatroom-list-item ([a-z0-9#]+) second sub false/ capture p2_second
- local:
- expect /chatroom-list-(.*)/ capture done
- guard (done == "done")
-
- send "chatroom-subscribe $p2_first"
- send "chatroom-subscribe $p2_second"
-
- expect /chatroom-watched-updated [a-z0-9#]+ first sub true .*/
- expect /chatroom-watched-updated [a-z0-9#]+ second sub true .*/
-
- send "chatroom-unsubscribe $p2_first"
- send "chatroom-unsubscribe $p2_second"
-
- expect /chatroom-watched-updated [a-z0-9#]+ first sub false .*/
- expect /chatroom-watched-updated [a-z0-9#]+ second sub false .*/
-
- # Create and sync additional chatrooms
-
- send "chatroom-create third" to p1
- send "chatroom-create fourth" to p2
- send "chatroom-create fifth" to p3
-
- expect /chatroom-create-done ([a-z0-9#]+) fourth.*/ from p2 capture fourth
- expect /chatroom-create-done ([a-z0-9#]+) fifth.*/ from p3 capture fifth
-
- for p in [ p1, p2, p3 ]:
- with p:
- expect /chatroom-watched-added [a-z0-9#]+ third sub [a-z]+/
- expect /chatroom-watched-added [a-z0-9#]+ fourth sub [a-z]+/
- expect /chatroom-watched-added [a-z0-9#]+ fifth sub [a-z]+/
-
- # Update chatroom name
-
- send "chatroom-set-name $first first2" to p1
- for p in [ p1, p2, p3 ]:
- with p:
- expect /chatroom-watched-updated [a-z0-9#]+ first2.*/
-
- send "chatroom-set-name $fourth fourth2" to p2
- send "chatroom-set-name $fifth fifth2" to p3
- for p in [ p1, p2, p3 ]:
- with p:
- expect /chatroom-watched-updated [a-z0-9#]+ fourth2.*/
- expect /chatroom-watched-updated [a-z0-9#]+ fifth2.*/
-
-
-test ChatroomMessages:
- let services = "chatroom"
-
- spawn as p1
- spawn as p2
-
- send "create-identity Device1 Owner1" to p1
- send "create-identity Device2 Owner2" to p2
-
- for p in [ p1, p2 ]:
- with p:
- send "chatroom-watch-local"
- send "start-server services $services"
-
- send "chatroom-create first_room" to p1
- expect /chatroom-create-done ([a-z0-9#]+) first_room.*/ from p1 capture room1_p1
-
- expect /chatroom-watched-added [a-z0-9#]+ first_room sub true/ from p1
- expect /chatroom-watched-added ([a-z0-9#]+) first_room sub false/ from p2 capture room1_p2
-
- send "chatroom-message-send $room1_p1 message1" to p1
- expect /chatroom-message-new $room1_p1 room first_room from Owner1 text message1/ from p1
-
- send "chatroom-message-send $room1_p1 message2" to p1
- local:
- expect /chatroom-message-new $room1_p1 room first_room from Owner1 text (.*)/ from p1 capture msg
- guard (msg == "message2")
-
- # Subscribe to chatroom
-
- send "chatroom-subscribe $room1_p2" to p2
- expect /chatroom-watched-updated [a-z0-9#]+ first_room sub true .*/ from p2
- with p2:
- expect /chatroom-message-new $room1_p2 room first_room from Owner1 text (.*)/ capture msg
- guard (msg == "message1")
- with p2:
- expect /chatroom-message-new $room1_p2 room first_room from Owner1 text (.*)/ capture msg
- guard (msg == "message2")
-
- send "chatroom-message-send $room1_p2 message3" to p2
- for p in [ p1, p2 ]:
- with p:
- expect /chatroom-message-new [a-z0-9#]+ room first_room from Owner2 text message3/
-
- send "chatroom-message-send $room1_p1 message4" to p1
- for p in [ p1, p2 ]:
- with p:
- expect /chatroom-message-new [a-z0-9#]+ room first_room from Owner1 text message4/
-
- # Multiple rooms
-
- send "chatroom-create second_room" to p1
- expect /chatroom-create-done ([a-z0-9#]+) second_room.*/ from p1 capture room2_p1
-
- send "chatroom-create third_room" to p2
- expect /chatroom-create-done ([a-z0-9#]+) third_room.*/ from p2 capture room3_p2
-
- expect /chatroom-watched-added $room2_p1 second_room sub true/ from p1
- expect /chatroom-watched-added $room3_p2 third_room sub true/ from p2
- expect /chatroom-watched-added ([a-z0-9#]+) second_room sub false/ from p2 capture room2_p2
- expect /chatroom-watched-added ([a-z0-9#]+) third_room sub false/ from p1 capture room3_p1
-
- spawn as p3
- send "create-identity Device3 Owner3" to p3
- send "chatroom-watch-local" to p3
- send "start-server services $services" to p3
- expect /chatroom-watched-added ([a-z0-9#]+) first_room sub false/ from p3 capture room1_p3
- expect /chatroom-watched-added ([a-z0-9#]+) second_room sub false/ from p3 capture room2_p3
- expect /chatroom-watched-added ([a-z0-9#]+) third_room sub false/ from p3 capture room3_p3
-
- with p3:
- for room in [ room1_p3, room2_p3, room3_p3 ]:
- send "chatroom-subscribe $room"
- expect /chatroom-watched-updated $room [a-z_]+ sub true .*/
- for i in [1..4]:
- expect /chatroom-message-new $room1_p3 room first_room from Owner. text (.*)/ capture message
- guard (message == "message$i")
-
- with p2:
- send "chatroom-message-send $room2_p2 msg_r2_1"
- send "chatroom-message-send $room2_p2 msg_r2_2"
- send "chatroom-message-send $room2_p2 msg_r2_3"
- expect /chatroom-message-new $room2_p2 room second_room from Owner2 text msg_r2_1/
- expect /chatroom-message-new $room2_p2 room second_room from Owner2 text msg_r2_2/
- expect /chatroom-message-new $room2_p2 room second_room from Owner2 text msg_r2_3/
-
- send "chatroom-message-send $room3_p2 msg_r3_1"
- send "chatroom-message-send $room3_p2 msg_r3_2"
- send "chatroom-message-send $room3_p2 msg_r3_3"
- expect /chatroom-message-new $room3_p2 room third_room from Owner2 text msg_r3_1/
- expect /chatroom-message-new $room3_p2 room third_room from Owner2 text msg_r3_2/
- expect /chatroom-message-new $room3_p2 room third_room from Owner2 text msg_r3_3/
-
- with p1:
- local:
- expect /chatroom-message-new [a-z0-9#]+ room ([a-z_]+) from Owner2 text ([a-z0-9_]+)/ capture room, message
- guard (room == "second_room")
- guard (message == "msg_r2_1")
- local:
- expect /chatroom-message-new [a-z0-9#]+ room ([a-z_]+) from Owner2 text ([a-z0-9_]+)/ capture room, message
- guard (room == "second_room")
- guard (message == "msg_r2_2")
- local:
- expect /chatroom-message-new [a-z0-9#]+ room ([a-z_]+) from Owner2 text ([a-z0-9_]+)/ capture room, message
- guard (room == "second_room")
- guard (message == "msg_r2_3")
-
- with p3:
- expect /chatroom-message-new $room2_p3 room second_room from Owner2 text msg_r2_1/
- expect /chatroom-message-new $room2_p3 room second_room from Owner2 text msg_r2_2/
- expect /chatroom-message-new $room2_p3 room second_room from Owner2 text msg_r2_3/
- expect /chatroom-message-new $room3_p3 room third_room from Owner2 text msg_r3_1/
- expect /chatroom-message-new $room3_p3 room third_room from Owner2 text msg_r3_2/
- expect /chatroom-message-new $room3_p3 room third_room from Owner2 text msg_r3_3/
-
- # Unsubscribe
-
- send "chatroom-unsubscribe $room1_p1" to p1
- expect /chatroom-watched-updated $room1_p1 [a-z_]+ sub false .*/ from p1
- send "chatroom-unsubscribe $room1_p3" to p3
- expect /chatroom-watched-updated $room1_p3 [a-z_]+ sub false .*/ from p3
- send "chatroom-unsubscribe $room2_p3" to p3
- expect /chatroom-watched-updated $room2_p3 [a-z_]+ sub false .*/ from p3
-
- with p2:
- send "chatroom-message-send $room1_p2 msg_r1_4"
- expect /chatroom-message-new $room1_p2 room first_room from Owner2 text msg_r1_4/
-
- send "chatroom-message-send $room2_p2 msg_r2_4"
- expect /chatroom-message-new $room2_p2 room second_room from Owner2 text msg_r2_4/
-
- send "chatroom-message-send $room3_p2 msg_r3_4"
- expect /chatroom-message-new $room3_p2 room third_room from Owner2 text msg_r3_4/
-
- with p1:
- local:
- expect /chatroom-message-new [a-z0-9#]+ room ([a-z_]+) from Owner2 text ([a-z0-9_]+)/ capture room, message
- guard (room == "second_room")
- guard (message == "msg_r2_4")
-
- with p3:
- local:
- expect /chatroom-message-new [a-z0-9#]+ room ([a-z_]+) from Owner2 text ([a-z0-9_]+)/ capture room, message
- guard (room == "third_room")
- guard (message == "msg_r3_4")
-
-
-test ChatroomSubscribedBeforeStart:
- let services = "chatroom"
-
- spawn as p1
- spawn as p2
-
- send "create-identity Device1 Owner1" to p1
- send "create-identity Device2 Owner2" to p2
-
- for p in [ p1, p2 ]:
- with p:
- send "chatroom-watch-local"
- send "start-server services $services"
-
- send "chatroom-create first_room" to p1
- expect /chatroom-create-done ([a-z0-9#]+) first_room.*/ from p1 capture room1_p1
-
- expect /chatroom-watched-added [a-z0-9#]+ first_room sub true/ from p1
- expect /chatroom-watched-added ([a-z0-9#]+) first_room sub false/ from p2 capture room1_p2
-
- with p2:
- send "chatroom-subscribe $room1_p2"
- expect /chatroom-watched-updated [a-z0-9#]+ first_room sub true .*/
-
- 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"
-
- send "chatroom-message-send $room1_p1 message1" to p1
- expect /chatroom-message-new $room1_p1 room first_room from Owner1 text message1/ from p1
- expect /chatroom-message-new $room1_p2 room first_room from Owner1 text message1/ from p2
-
- send "chatroom-message-send $room1_p2 message2" to p2
- expect /chatroom-message-new $room1_p1 room first_room from Owner2 text message2/ from p1
- expect /chatroom-message-new $room1_p2 room first_room from Owner2 text message2/ from p2
-
-
-test ParallelThreads:
- let services = "chatroom"
-
- spawn as p1
- spawn as p2
-
- send "create-identity Device1 Owner1" to p1
- send "create-identity Device2 Owner2" to p2
-
- for p in [ p1, p2 ]:
- with p:
- send "chatroom-watch-local"
- send "start-server services $services"
-
- send "chatroom-create first_room" to p1
- expect /chatroom-create-done ([a-z0-9#]+) first_room.*/ from p1 capture room1_p1
-
- expect /chatroom-watched-added [a-z0-9#]+ first_room sub true/ from p1
- expect /chatroom-watched-added ([a-z0-9#]+) first_room sub false/ from p2 capture room1_p2
-
- with p2:
- send "chatroom-subscribe $room1_p2"
- expect /chatroom-watched-updated [a-z0-9#]+ first_room sub true .*/
-
- for p in [p1, p2]:
- with p:
- send "stop-server"
- for p in [p1, p2]:
- with p:
- expect /stop-server-done/
-
- send "chatroom-message-send $room1_p1 message1A" to p1
- send "chatroom-message-send $room1_p1 message1B" to p1
- send "chatroom-message-send $room1_p2 message2A" to p2
- send "chatroom-message-send $room1_p2 message2B" to p2
- with p1:
- expect /chatroom-message-new $room1_p1 room first_room from Owner. text message(..)/ capture msg
- guard (msg == "1A")
- with p1:
- expect /chatroom-message-new $room1_p1 room first_room from Owner. text message(..)/ capture msg
- guard (msg == "1B")
- with p2:
- expect /chatroom-message-new $room1_p2 room first_room from Owner. text message(..)/ capture msg
- guard (msg == "2A")
- with p2:
- expect /chatroom-message-new $room1_p2 room first_room from Owner. text message(..)/ capture msg
- guard (msg == "2B")
-
- for p in [p1, p2]:
- with p:
- send "start-server services $services"
-
- with p1:
- expect /chatroom-message-new $room1_p1 room first_room from Owner. text message(..)/ capture msg
- guard (msg == "2A")
- with p1:
- expect /chatroom-message-new $room1_p1 room first_room from Owner. text message(..)/ capture msg
- guard (msg == "2B")
- with p2:
- expect /chatroom-message-new $room1_p2 room first_room from Owner. text message(..)/ capture msg
- guard (msg == "1A")
- with p2:
- expect /chatroom-message-new $room1_p2 room first_room from Owner. text message(..)/ capture msg
- guard (msg == "1B")
-
-
-test ChatroomMembers:
- let services = "chatroom"
-
- spawn as p1
- spawn as p2
- spawn as p3
-
- send "create-identity Device1 Owner1" to p1
- send "create-identity Device2 Owner2" to p2
- send "create-identity Device3 Owner3" to p3
-
- for p in [ p1, p2, p3 ]:
- with p:
- send "chatroom-watch-local"
- send "start-server services $services"
-
- send "chatroom-create first_room" to p1
- expect /chatroom-create-done ([a-z0-9#]+) first_room.*/ from p1 capture room1_p1
-
- expect /chatroom-watched-added $room1_p1 first_room sub true/ from p1
- expect /chatroom-watched-added ([a-z0-9#]+) first_room sub false/ from p2 capture room1_p2
- expect /chatroom-watched-added ([a-z0-9#]+) first_room sub false/ from p3 capture room1_p3
-
- local:
- send "chatroom-members $room1_p1" to p1
- expect /chatroom-members-([a-z]+)/ from p1 capture done
- guard (done == "done")
- local:
- send "chatroom-members $room1_p2" to p2
- expect /chatroom-members-([a-z]+)/ from p2 capture done
- guard (done == "done")
-
- send "chatroom-message-send $room1_p1 message1" to p1
- send "chatroom-message-send $room1_p1 message2" to p1
- send "chatroom-join $room1_p2" to p2
- send "chatroom-message-send $room1_p2 message3" to p2
- send "chatroom-join $room1_p3" to p3
-
- with p1:
- expect /chatroom-message-new $room1_p1 room first_room from Owner1 text message2/
- expect /chatroom-message-new $room1_p1 room first_room from Owner2 text message3/
- expect /chatroom-message-new $room1_p1 room first_room from Owner3/
- with p2:
- expect /chatroom-message-new $room1_p2 room first_room from Owner1 text message2/
- expect /chatroom-message-new $room1_p2 room first_room from Owner2 text message3/
- expect /chatroom-message-new $room1_p2 room first_room from Owner3/
- with p3:
- expect /chatroom-message-new $room1_p3 room first_room from Owner1 text message2/
- expect /chatroom-message-new $room1_p3 room first_room from Owner2 text message3/
- expect /chatroom-message-new $room1_p3 room first_room from Owner3/
-
- local:
- send "chatroom-members $room1_p1" to p1
- expect /chatroom-members-item Owner1/ from p1
- expect /chatroom-members-item Owner2/ from p1
- expect /chatroom-members-item Owner3/ from p1
- expect /chatroom-members-([a-z]+)/ from p1 capture done
- guard (done == "done")
- local:
- send "chatroom-members $room1_p2" to p2
- expect /chatroom-members-item Owner1/ from p2
- expect /chatroom-members-item Owner2/ from p2
- expect /chatroom-members-item Owner3/ from p2
- expect /chatroom-members-([a-z]+)/ from p2 capture done
- guard (done == "done")
-
- send "chatroom-leave $room1_p1" to p1
- send "chatroom-leave $room1_p3" to p3
-
- for p in [ p1, p2 ]:
- with p:
- expect /chatroom-message-new [a-z0-9#]+ room first_room from Owner1 leave/
-
- for p in [ p2, p3 ]:
- with p:
- expect /chatroom-message-new [a-z0-9#]+ room first_room from Owner3 leave/
-
- send "chatroom-members $room1_p1" to p1
- send "chatroom-members $room1_p2" to p2
- send "chatroom-members $room1_p3" to p3
- for p in [ p1, p2, p3 ]:
- with p:
- expect /chatroom-members-item Owner2/
- expect /chatroom-members-([a-z]+)/ capture done
- guard (done == "done")
-
-
-test ChatroomIdentity:
- let services = "chatroom"
-
- spawn as p1
- spawn as p2
-
- send "create-identity Device1 Owner1" to p1
- send "create-identity Device2 Owner2" to p2
-
- for p in [ p1, p2 ]:
- with p:
- send "chatroom-watch-local"
- send "start-server services $services"
-
- send "chatroom-create first_room" to p1
- expect /chatroom-create-done ([a-z0-9#]+) first_room.*/ from p1 capture room1_p1
- expect /chatroom-watched-added ([a-z0-9#]+) first_room sub false/ from p2 capture room1_p2
-
- send "chatroom-join-as $room1_p1 Custom1" to p1
- expect /chatroom-join-as-done $room1_p1/ from p1
- send "chatroom-join-as $room1_p2 Custom2" to p2
- expect /chatroom-join-as-done $room1_p2/ from p2
-
- send "chatroom-message-send $room1_p1 message1" to p1
- send "chatroom-message-send $room1_p2 message2" to p2
-
- for p in [ p1, p2 ]:
- with p:
- expect /chatroom-message-new [a-z0-9#]+ room first_room from ([^ ]+) text message1/ capture name1
- guard (name1 == "Custom1")
- expect /chatroom-message-new [a-z0-9#]+ room first_room from ([^ ]+) text message2/ capture name2
- guard (name2 == "Custom2")
-
- spawn as p1b on p1.node
- spawn as p2b on p2.node
- for p in [ p1b, p2b ]:
- with p:
- send "chatroom-watch-local"
-
- send "chatroom-message-send $room1_p1 message3" to p1b
- send "chatroom-message-send $room1_p2 message4" to p2b
-
- for p in [ p1, p2, p1b, p2b ]:
- with p:
- expect /chatroom-message-new [a-z0-9#]+ room first_room from ([^ ]+) text message3/ capture name1
- guard (name1 == "Custom1")
- expect /chatroom-message-new [a-z0-9#]+ room first_room from ([^ ]+) text message4/ capture name2
- guard (name2 == "Custom2")
-
-
-test ChatroomDelete:
- let services = "chatroom"
-
- node n1
- node n2
- node n3
-
- # Create and sync chatrooms on n1 and sync to n2
- local:
- spawn as p1 on n1
- with p1:
- send "create-identity Device1 Owner1"
- expect /create-identity-done .*/
-
- send "chatroom-watch-local"
- send "start-server services $services"
-
- send "chatroom-create first"
- send "chatroom-create second"
- expect /chatroom-create-done $refpat first.*/
- expect /chatroom-create-done $refpat second.*/
-
-
- spawn as p2 on n2
- with p2:
- send "create-identity Device2 Owner2"
- expect /create-identity-done .*/
-
- send "chatroom-watch-local"
- send "start-server services $services"
-
- expect /chatroom-watched-added ($refpat) first sub false/ capture first
- expect /chatroom-watched-added ($refpat) second sub false/ capture second
-
- send "chatroom-subscribe $first"
- send "chatroom-subscribe $second"
- expect /chatroom-watched-updated $first first sub true .*/
- expect /chatroom-watched-updated $second second sub true .*/
-
- local:
- spawn as p3 on n3
- with p3:
- send "create-identity Device3 Owner3"
- expect /create-identity-done .*/
-
- local:
- spawn as p1 on n1
- spawn as p2 on n2
- spawn as p3 on n3
-
- # Delete first chatroom from n1
- with p1:
- send "chatroom-watch-local"
- send "start-server services $services"
-
- send "chatroom-list-local"
- expect /chatroom-list-item ($refpat) first sub true/ capture first
- expect /chatroom-list-item $refpat second sub true/
- local:
- expect /chatroom-list-(.*)/ capture done
- guard (done == "done")
-
- send "chatroom-delete $first"
- expect /chatroom-delete-done .*/
-
- # Setup n3
- with p3:
- send "chatroom-watch-local"
- send "start-server services $services"
-
- expect /chatroom-watched-added $refpat second sub false/
-
- # Check that both n1 and n3 see only the second chatroom
- for p in [ p1, p3 ]:
- with p:
- send "chatroom-list-local"
- expect /chatroom-list-item $refpat second .*/
- local:
- expect /chatroom-list-(.*)/ capture done
- guard (done == "done")
-
- # Reactive server on n2 and create third chatroom
- with p2:
- send "chatroom-watch-local"
- send "start-server services $services"
-
- send "chatroom-create third"
- expect /chatroom-create-done $refpat third.*/
-
- # Verify that first chatroom appears only on n3 ...
- with p3:
- expect /chatroom-watched-added $refpat first sub false/
- expect /chatroom-watched-added $refpat third sub false/
-
- send "chatroom-list-local"
- expect /chatroom-list-item $refpat first .*/
- expect /chatroom-list-item $refpat second .*/
- expect /chatroom-list-item $refpat third .*/
- local:
- expect /chatroom-list-(.*)/ capture done
- guard (done == "done")
-
- # ... and not on n1
- with p1:
- expect /chatroom-watched-added ($refpat) third sub false/ capture third
- send "chatroom-subscribe $third"
- expect /chatroom-watched-updated $third third sub true .*/
-
- send "chatroom-list-local"
- expect /chatroom-list-item $refpat second .*/
- expect /chatroom-list-item $refpat third .*/
- local:
- expect /chatroom-list-(.*)/ capture done
- guard (done == "done")
-
- # Delete second chatroom on n2
- with p2:
- send "chatroom-list-local"
- expect /chatroom-list-item $refpat first .*/
- expect /chatroom-list-item ($refpat) second .*/ capture second
- expect /chatroom-list-item $refpat third .*/
- local:
- expect /chatroom-list-(.*)/ capture done
- guard (done == "done")
-
- send "chatroom-delete $second"
- expect /chatroom-delete-done .*/
-
- # Send messages
- with p3:
- send "chatroom-list-local"
- expect /chatroom-list-item ($refpat) first .*/ capture first
- expect /chatroom-list-item ($refpat) second .*/ capture second
- expect /chatroom-list-item ($refpat) third .*/ capture third
- local:
- expect /chatroom-list-(.*)/ capture done
- guard (done == "done")
-
- send "chatroom-message-send $first message_first"
- send "chatroom-message-send $second message_second"
- send "chatroom-message-send $third message_third"
-
- # Receive only to non-deleted ones
- with p1:
- expect /chatroom-message-new $refpat room second from Owner3 text message_second/
- expect /chatroom-message-new $refpat room ([a-z]+) from Owner3 text ([a-z_]+)/ capture room, msg
- guard (room == "third")
- guard (msg == "message_third")
-
- send "chatroom-list-local"
- expect /chatroom-list-item $refpat second .*/
- expect /chatroom-list-item $refpat third .*/
- local:
- expect /chatroom-list-(.*)/ capture done
- guard (done == "done")
- with p2:
- expect /chatroom-message-new $refpat room first from Owner3 text message_first/
- expect /chatroom-message-new $refpat room ([a-z]+) from Owner3 text ([a-z_]+)/ capture room, msg
- guard (room == "third")
- guard (msg == "message_third")
-
- send "chatroom-list-local"
- expect /chatroom-list-item $refpat first .*/
- expect /chatroom-list-item $refpat third .*/
- local:
- expect /chatroom-list-(.*)/ capture done
- guard (done == "done")