]> nmode's Git Repositories - signal-cli/blobdiff - run_tests.sh
Update tests
[signal-cli] / run_tests.sh
index 1405ada38db4ae5429c02abfdd4d6f15a83d33db..b3b51835845200b69f60edbfd3993979c6a5d240 100755 (executable)
@@ -11,36 +11,41 @@ if [ ! -z "$GRAALVM_HOME" ]; then
   export JAVA_HOME=$GRAALVM_HOME
   export SIGNAL_CLI_OPTS='-agentlib:native-image-agent=config-merge-dir=graalvm-config-dir/'
 fi
-export SIGNAL_CLI="$PWD/build/install/signal-cli/bin/signal-cli"
 
 NUMBER_1="$1"
 NUMBER_2="$2"
 TEST_PIN_1=456test_pin_foo123
+NATIVE=0
 
 PATH_TEST_CONFIG="$PWD/build/test-config"
 PATH_MAIN="$PATH_TEST_CONFIG/main"
 PATH_LINK="$PATH_TEST_CONFIG/link"
 
-./gradlew installDist
+if [ "$NATIVE" -eq 1 ]; then
+       SIGNAL_CLI="$PWD/build/native/nativeCompile/signal-cli"
+else
+       ./gradlew installDist
+       SIGNAL_CLI="$PWD/build/install/signal-cli/bin/signal-cli"
+fi
 
-function run() {
+run() {
   set -x
   "$SIGNAL_CLI" --service-environment="sandbox" $@
   set +x
 }
 
-function run_main() {
+run_main() {
   run --config="$PATH_MAIN" $@
 }
 
-function run_linked() {
+run_linked() {
   run --config="$PATH_LINK" $@
 }
 
-function register() {
+register() {
   NUMBER=$1
   PIN=$2
-  echo -n "Enter a captcha token (https://signalcaptchas.org/registration/generate.html): "
+  echo -n "Enter a captcha token (https://signalcaptchas.org/staging/challenge/generate.html): "
   read CAPTCHA
   run_main -u "$NUMBER" register --captcha "$CAPTCHA"
   echo -n "Enter validation code for ${NUMBER}: "
@@ -52,7 +57,7 @@ function register() {
   fi
 }
 
-function link() {
+link() {
   NUMBER=$1
   LINK_CODE_FILE="$PATH_TEST_CONFIG/link_code"
   rm -f "$LINK_CODE_FILE"
@@ -76,6 +81,51 @@ register "$NUMBER_2"
 
 sleep 5
 
+
+## DBus
+#run_main -u "$NUMBER_1" --dbus send "$NUMBER_2" -m daemon_not_running || true
+#run_main daemon &
+#DAEMON_PID=$!
+#sleep 10
+#run_main -u "$NUMBER_1" --dbus send "$NUMBER_2" -m hii
+#run_main -u "$NUMBER_2" --dbus receive
+#kill "$DAEMON_PID"
+
+
+# JSON-RPC
+FIFO_FILE="${PATH_MAIN}/dbus-fifo"
+
+rm -f "$FIFO_FILE"
+mkfifo "$FIFO_FILE"
+
+run_main -u "$NUMBER_1" send "$NUMBER_2" -m hi
+run_main -u "$NUMBER_2" jsonRpc < "$FIFO_FILE" &
+
+exec 3<> "$FIFO_FILE"
+  echo '{"jsonrpc":"2.0","id":"id","method":"updateContact","params":{"recipient":"'"$NUMBER_1"'","name":"NUMBER_1","expiration":10}}' >&3
+  echo '{"jsonrpc":"2.0","id":5,"method":"block","params":{"recipient":"'"$NUMBER_1"'"}}' >&3
+  echo '{"jsonrpc":"2.0","id":null,"method":"unblock","params":{"recipient":"'"$NUMBER_1"'"}}' >&3
+  echo '{"jsonrpc":"2.0","id":"id","method":"listContacts"}' >&3
+  echo '{"jsonrpc":"2.0","id":"id","method":"listGroups"}' >&3
+  echo '{"jsonrpc":"2.0","id":"id","method":"listDevices"}' >&3
+  echo '{"jsonrpc":"2.0","id":"id","method":"listIdentities"}' >&3
+  echo '{"jsonrpc":"2.0","id":"id","method":"sendSyncRequest"}' >&3
+  echo '{"jsonrpc":"2.0","id":"id","method":"sendContacts"}' >&3
+  echo '{"jsonrpc":"2.0","id":"id","method":"version"}' >&3
+  echo '{"jsonrpc":"2.0","id":"id","method":"updateAccount"}' >&3
+  echo '{"jsonrpc":"2.0","id":7,"method":"sendReceipt","params":{"recipient":"'"$NUMBER_1"'","targetTimestamp":1629919505575}}' >&3
+  echo '{"jsonrpc":"2.0","id":7,"method":"sendTyping","params":{"recipient":"'"$NUMBER_1"'"}}' >&3
+  echo '{"jsonrpc":"2.0","id":7,"method":"send","params":{"recipient":"'"$NUMBER_1"'","message":"some text"}}' >&3
+  echo '{"jsonrpc":"2.0","id":7,"method":"send","params":{"recipients":["'"$NUMBER_1"'","'"$NUMBER_2"'"],"message":"some other text"}}' >&3
+  echo '{"jsonrpc":"2.0","id":7,"method":"updateProfile","params":{"givenName":"n1","familyName":"n2","about":"ABA","aboutEmoji":"EMO","avatar":"LICENSE"}}' >&3
+  echo '{"jsonrpc":"2.0","id":7,"method":"getUserStatus","params":{"recipient":"'"$NUMBER_1"'"}}' >&3
+
+  # Error expected:
+  echo '{"jsonrpc":"2.0","id":7,"method":"sendReceipt","params":{"recipient":5}}' >&3
+exec 3>&-
+
+wait
+
 run_main -u "$NUMBER_1" setPin "$TEST_PIN_1"
 run_main -u "$NUMBER_2" removePin
 
@@ -102,8 +152,8 @@ run_main -u "$NUMBER_2" listGroups -d
 run_main -u "$NUMBER_2" --output=json listGroups -d
 run_main -u "$NUMBER_1" receive
 run_main -u "$NUMBER_1" updateGroup -g "$GROUP_ID" -m "$NUMBER_2"
-run_main -u "$NUMBER_1" block "$GROUP_ID"
-run_main -u "$NUMBER_1" unblock "$GROUP_ID"
+run_main -u "$NUMBER_1" --verbose block -g "$GROUP_ID"
+run_main -u "$NUMBER_1" --verbose unblock -g "$GROUP_ID"
 
 ## Identities
 run_main -u "$NUMBER_1" listIdentities
@@ -145,15 +195,6 @@ done
 
 run_main -u "$NUMBER_1" removeDevice -d 2
 
-## DBus
-#run_main -u "$NUMBER_1" --dbus send "$NUMBER_2" -m daemon_not_running
-#run_main daemon &
-#DAEMON_PID=$!
-#sleep 5
-#run_main -u "$NUMBER_1" --dbus send "$NUMBER_2" -m hii
-#run_main -u "$NUMBER_2" --dbus receive
-#kill "$DAEMON_PID"
-
 ## Unregister
 run_main -u "$NUMBER_1" unregister
 run_main -u "$NUMBER_2" unregister --delete-account