diff options
Diffstat (limited to 'test/chatroom.test')
-rw-r--r-- | test/chatroom.test | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/test/chatroom.test b/test/chatroom.test new file mode 100644 index 0000000..ffb7b4d --- /dev/null +++ b/test/chatroom.test @@ -0,0 +1,101 @@ +test ChatroomSetup: + # 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/ capture first + expect /chatroom-list-item [a-z0-9#]+ second/ + 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" + + for p in [ p2, p3 ]: + with p: + expect /chatroom-watched-added [a-z0-9#]+ first/ + expect /chatroom-watched-added [a-z0-9#]+ second/ + + with p2: + send "chatroom-list-local" + expect /chatroom-list-item [a-z0-9#]+ first/ + expect /chatroom-list-item [a-z0-9#]+ second/ + local: + expect /chatroom-list-(.*)/ capture done + guard (done == "done") + + # 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/ + expect /chatroom-watched-added [a-z0-9#]+ fourth/ + expect /chatroom-watched-added [a-z0-9#]+ fifth/ + + # 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: + spawn as p1 + + send "create-identity Device1 Owner1" to p1 + + for p in [ p1 ]: + with p: + send "chatroom-watch-local" + send "start-server" + + send "chatroom-create room" to p1 + expect /chatroom-create-done ([a-z0-9#]+) room.*/ from p1 capture room + + for p in [ p1 ]: + with p: + expect /chatroom-watched-added $room room/ + + send "chatroom-message-send $room message1" to p1 + expect /chatroom-message-new $room from Owner1 text message1/ from p1 + + send "chatroom-message-send $room message2" to p1 + local: + expect /chatroom-message-new $room from Owner1 text (.*)/ from p1 capture msg + guard (msg == "message2") |