diff --git a/basice2e/clients.goldoutput/client1.txt b/basice2e/clients.goldoutput/client1.txt new file mode 100644 index 0000000000000000000000000000000000000000..47ccb074e80652dc310a9b46b147cc842868064f --- /dev/null +++ b/basice2e/clients.goldoutput/client1.txt @@ -0,0 +1,6 @@ +Message received (Partner, Text): Hello from Ben Prime to Rick Prime via DM +Message received (Self, Text): Hello from Rick Prime to myself via DM +Message received (Self, Text): Hello from Rick Prime to myself via DM +Message received (Self, Text): What up from Rick Prime to Ben Prime via DM +Received 1/1 messages +Received 3/3 messages diff --git a/basice2e/clients.goldoutput/client2.txt b/basice2e/clients.goldoutput/client2.txt new file mode 100644 index 0000000000000000000000000000000000000000..ca07a75ccb53674489a92622e3efd1a1cc88844a --- /dev/null +++ b/basice2e/clients.goldoutput/client2.txt @@ -0,0 +1,3 @@ +Message received (Partner, Text): What up from Rick Prime to Ben Prime via DM +Message received (Self, Text): Hello from Ben Prime to Rick Prime via DM +Received 2/2 messages diff --git a/basice2e/run.sh b/basice2e/run.sh index ab4d944fe063e91637ef1e0e5b3b9f3c2eb79d96..cf7814adb986bd441f09e12d928578994efb59ad 100755 --- a/basice2e/run.sh +++ b/basice2e/run.sh @@ -34,6 +34,7 @@ UDBOUT=results/udb-console.txt CLIENTCLEAN=results/clients-cleaned CLIENTOPTS="--password hello --ndf results/ndf.json --verify-sends --sendDelay 100 --waitTimeout 360 -v $DEBUGLEVEL" +CLIENTDMOPTS="--password hello --ndf results/ndf.json --waitTimeout 360 -v $DEBUGLEVEL" CLIENTUDOPTS="--password hello --ndf results/ndf.json -v $DEBUGLEVEL" CLIENTSINGLEOPTS="--password hello --waitTimeout 360 --ndf results/ndf.json -v $DEBUGLEVEL" CLIENTGROUPOPTS="--password hello --waitTimeout 600 --ndf results/ndf.json -v $DEBUGLEVEL" @@ -236,6 +237,47 @@ then fi +############################################################################### +# Test DMs +############################################################################### + +echo "SENDING DM MESSAGES TO NEW USERS" +# The goal here is to try 3 things: +# 1. Send a DM to myself +# 2. Receive a DM from someone else +# 3. Send a reply to the user who sent me a message in #2 +CLIENTCMD="timeout 360s ../bin/client $CLIENTDMOPTS -l $CLIENTOUT/client1.log -s blob1 dm -m \"Hello from Rick Prime to myself via DM\" --receiveCount 3" +eval $CLIENTCMD >> $CLIENTOUT/client1.txt & +PIDVAL=$! +echo "$CLIENTCMD -- $PIDVAL" +# Now we scan the log for the DMToken and DMPubKey fields +sleep 1 +while [[ $(grep "DMTOKEN:" $CLIENTOUT/client1.log) == "" ]]; do + sleep 1 + echo -n "." +done +# Wait for a round or so for the self sent message to send +sleep 2 +# Now send the DM (#2) +DMTOKEN=$(grep -a DMTOKEN results/clients/client1.log | head -1 | awk '{print $5}') +DMPUBKEY=$(grep -a DMPUBKEY results/clients/client1.log | head -1 | awk '{print $5}') +echo "PubKey: $DMPUBKEY, Token: $DMTOKEN" +CLIENTCMD2="timeout 360s ../bin/client $CLIENTDMOPTS -l $CLIENTOUT/client2.log -s blob2 dm -m \"Hello from Ben Prime to Rick Prime via DM\" --dmPubkey $DMPUBKEY --dmToken $DMTOKEN --receiveCount 2" +eval $CLIENTCMD2 >> $CLIENTOUT/client2.txt & +PIDVAL2=$! +echo "$CLIENTCMD2 -- $PIDVAL2" +wait $PIDVAL +# When the first command exits, read the RECVDM fields and reply to +# the last received message (the first 2 are the self send) (#3) +RTOKEN=$(grep -a RECVDMTOKEN results/clients/client1.log | tail -1 | awk '{print $5}') +RPUBKEY=$(grep -a RECVDMPUBKEY results/clients/client1.log | tail -1 | awk '{print $5}') +CLIENTCMD="timeout 360s ../bin/client $CLIENTDMOPTS -l $CLIENTOUT/client1.log -s blob1 dm -m \"What up from Rick Prime to Ben Prime via DM\" --dmPubkey $RPUBKEY --dmToken $RTOKEN --receiveCount 1" +eval $CLIENTCMD >> $CLIENTOUT/client1.txt & +PIDVAL=$! +echo "$CLIENTCMD -- $PIDVAL" +wait $PIDVAL +wait $PIDVAL2 + ############################################################################### # Test Sending E2E ###############################################################################