]> nmode's Git Repositories - signal-cli/blobdiff - run_tests.sh
Ensure profile key is stored in profileKeyStore
[signal-cli] / run_tests.sh
index 94eb98d9231eb9820c3cf39d47df1ee6674d23af..6a7c83583ab42bfacc82ba76f8930b8f5d0f8382 100755 (executable)
@@ -11,8 +11,9 @@ NUMBER_2="$2"
 TEST_PIN_1=456test_pin_foo123
 NATIVE=0
 JSON_RPC=0
+TEST_REGISTER=0
 
-PATH_TEST_CONFIG="$PWD/build/test-config"
+PATH_TEST_CONFIG="$PWD/test-config"
 PATH_MAIN="$PATH_TEST_CONFIG/main"
 PATH_LINK="$PATH_TEST_CONFIG/link"
 
@@ -20,8 +21,8 @@ if [ "$NATIVE" -eq 1 ]; then
        SIGNAL_CLI="$PWD/build/native/nativeCompile/signal-cli"
 elif [ "$JSON_RPC" -eq 1 ]; then
        (cd client && cargo build)
-       "$PWD/build/install/signal-cli/bin/signal-cli" --verbose --verbose --trust-new-identities=always --config="$PATH_MAIN" --service-environment="staging" daemon --socket --receive-mode=manual&
-       "$PWD/build/install/signal-cli/bin/signal-cli" --verbose --verbose --trust-new-identities=always --config="$PATH_LINK" --service-environment="staging" daemon --tcp --receive-mode=manual&
+       "$PWD/build/install/signal-cli/bin/signal-cli" --verbose --verbose --trust-new-identities=always --config="$PATH_MAIN" --service-environment="staging" --log-file="$PATH_MAIN/log" daemon --socket --receive-mode=manual&
+       "$PWD/build/install/signal-cli/bin/signal-cli" --verbose --verbose --trust-new-identities=always --config="$PATH_LINK" --service-environment="staging" --log-file="$PATH_LINK/log" daemon --tcp --receive-mode=manual&
        sleep 5
        SIGNAL_CLI="$PWD/client/target/debug/signal-cli-client"
 else
@@ -31,7 +32,7 @@ fi
 
 run() {
   # To update graalvm config, set GRAALVM_HOME, e.g:
-  # export GRAALVM_HOME=/usr/lib/jvm/java-17-graalvm
+  # export GRAALVM_HOME=/usr/lib/jvm/java-21-graalvm
   if [ ! -z "$GRAALVM_HOME" ]; then
     export JAVA_HOME=$GRAALVM_HOME
     export SIGNAL_CLI_OPTS="-agentlib:native-image-agent=config-merge-dir=graalvm-config-dir-${SIGNAL_CLI_AGENT_ID}/"
@@ -41,7 +42,7 @@ run() {
   if [ "$JSON_RPC" -eq 1 ]; then
     "$SIGNAL_CLI" $@
   else
-    "$SIGNAL_CLI" --service-environment="staging" $@
+    "$SIGNAL_CLI" --service-environment="staging" --verbose --verbose $@
   fi
   set +x
 }
@@ -51,7 +52,7 @@ run_main() {
   if [ "$JSON_RPC" -eq 1 ]; then
     run --json-rpc-socket="$XDG_RUNTIME_DIR/signal-cli/socket" $@
   else
-    run --config="$PATH_MAIN" $@
+    run --config="$PATH_MAIN" --log-file="$PATH_MAIN/log" $@
   fi
   unset SIGNAL_CLI_AGENT_ID
 }
@@ -61,7 +62,7 @@ run_linked() {
   if [ "$JSON_RPC" -eq 1 ]; then
     run --json-rpc-tcp="127.0.0.1:7583" $@
   else
-    run --config="$PATH_LINK" $@
+    run --config="$PATH_LINK" --log-file="$PATH_LINK/log" $@
   fi
   unset SIGNAL_CLI_AGENT_ID
 }
@@ -97,16 +98,20 @@ link() {
 }
 
 run_main --version
+run_main version
 run_main --help
 
 ## Register
-register "$NUMBER_1" "$TEST_PIN_1"
-register "$NUMBER_2"
+if [ "$TEST_REGISTER" -eq 1 ]; then
+       register "$NUMBER_1" "$TEST_PIN_1"
+       register "$NUMBER_2"
+fi
 
 sleep 5
 
 run_main listAccounts
 run_main --output=json listAccounts
+run_main --scrub-log listAccounts
 
 if [ "$JSON_RPC" -eq 0 ]; then
 ## DBus
@@ -177,22 +182,15 @@ run_main -a "$NUMBER_1" updateGroup -g "$GROUP_ID" -r "$NUMBER_2"
 run_main -a "$NUMBER_1" updateGroup -g "$GROUP_ID" -m "$NUMBER_2"
 run_main -a "$NUMBER_1" listGroups -d
 run_main -a "$NUMBER_1" --output=json listGroups -d
-run_main -a "$NUMBER_2" --verbose receive
+run_main -a "$NUMBER_2" receive
 run_main -a "$NUMBER_2" quitGroup -g "$GROUP_ID"
 run_main -a "$NUMBER_2" listGroups -d
 run_main -a "$NUMBER_2" --output=json listGroups -d
 run_main -a "$NUMBER_1" receive
 run_main -a "$NUMBER_1" updateGroup -g "$GROUP_ID" -m "$NUMBER_2"
-run_main -a "$NUMBER_1" --verbose block -g "$GROUP_ID"
-run_main -a "$NUMBER_1" --verbose unblock -g "$GROUP_ID"
-
-## Configuration
-run_main -a "$NUMBER_1" updateConfiguration --read-receipts=true
-
-## Identities
-run_main -a "$NUMBER_1" listIdentities
-run_main -a "$NUMBER_2" listIdentities
-run_main -a "$NUMBER_2" trust "$NUMBER_1" -a
+run_main -a "$NUMBER_1" block -g "$GROUP_ID"
+run_main -a "$NUMBER_1" unblock -g "$GROUP_ID"
+run_main -a "$NUMBER_1" submitRateLimitChallenge --challenge 8xxxxxx8-0xx2-4xx9-9xx2-4xxxxxxxxxx7 --captcha signalcaptcha://signal-hcaptcha.5fa.registration.P.h.-K || true
 
 ## Basic send/receive
 for OUTPUT in "plain-text" "json"; do
@@ -200,7 +198,7 @@ for OUTPUT in "plain-text" "json"; do
   run_main -a "$NUMBER_1" --output="$OUTPUT" send "$NUMBER_2" -m hi
   run_main -a "$NUMBER_2" --output="$OUTPUT" send "$NUMBER_1" -m hi
   run_main -a "$NUMBER_1" --output="$OUTPUT" send -g "$GROUP_ID" -m hi -a LICENSE --mention "1:1:$NUMBER_2"
-  TIMESTAMP=$(uname -a | run_main -a "$NUMBER_1" --output=json send "$NUMBER_2" | jq '.timestamp')
+  TIMESTAMP=$(uname -a | run_main -a "$NUMBER_1" --output=json send --message-from-stdin "$NUMBER_2" | jq '.timestamp')
   run_main -a "$NUMBER_2" --output="$OUTPUT" sendReaction "$NUMBER_1" -e 🍀 -a "$NUMBER_1" -t "$TIMESTAMP"
   run_main -a "$NUMBER_1" --output="$OUTPUT" remoteDelete "$NUMBER_2" -t "$TIMESTAMP"
   run_main -a "$NUMBER_2" --output="$OUTPUT" receive
@@ -210,7 +208,7 @@ for OUTPUT in "plain-text" "json"; do
 done
 
 ## Profile
-run_main -a "$NUMBER_1" updateProfile --given-name=GIVEN --family-name=FAMILY --about=ABOUT --about-emoji=EMOJI --avatar=LICENSE
+run_main -a "$NUMBER_1" updateProfile --given-name=GIVEN --family-name=FAMILY --about=ABOUT --about-emoji=EMOJI --avatar=LICENSE --mobile-coin-address="YWJjCg=="
 
 ## Provisioning
 link "$NUMBER_1"
@@ -219,9 +217,19 @@ run_main -a "$NUMBER_1" listDevices
 run_linked -a "$NUMBER_1" sendSyncRequest
 run_main -a "$NUMBER_1" sendContacts
 
+## Configuration
+run_main -a "$NUMBER_1" updateConfiguration --read-receipts=true
+
+## Identities
+run_main -a "$NUMBER_1" listIdentities
+run_main -a "$NUMBER_2" listIdentities
+run_main -a "$NUMBER_2" trust "$NUMBER_1" -a
+
 for OUTPUT in "plain-text" "json"; do
   run_main -a "$NUMBER_1" --output="$OUTPUT" send "$NUMBER_2" -m hi
-  run_main -a "$NUMBER_2" --output="$OUTPUT" send "$NUMBER_1" -m hi
+  run_main -a "$NUMBER_1" --output="$OUTPUT" send "$NUMBER_2" -m hi --edit-timestamp 123456677
+  run_main -a "$NUMBER_2" --output="$OUTPUT" send "$NUMBER_1" -m hi --text-style "1:1:BOLD" --quote-timestamp 12345 --quote-author "$NUMBER_1" --quote-message hitest --quote-text-style "1:1:BOLD" --preview-url "https://example.com" --preview-title preview --preview-description foo --preview-image LICENSE --story-timestamp 1234567 --story-author "$NUMBER_1"
+  run_main -a "$NUMBER_1" --output="$OUTPUT" sendPaymentNotification --receipt "YWJjCg==" --note notefoo "$NUMBER_2"
   run_main -a "$NUMBER_2" --output="$OUTPUT" receive
   run_main -a "$NUMBER_1" --output="$OUTPUT" receive
   run_linked -a "$NUMBER_1" --output="$OUTPUT" receive
@@ -230,8 +238,11 @@ done
 run_main -a "$NUMBER_1" removeDevice -d 2
 
 ## Unregister
-run_main -a "$NUMBER_1" unregister
-run_main -a "$NUMBER_2" unregister --delete-account
+if [ "$TEST_REGISTER" -eq 1 ]; then
+       run_main -a "$NUMBER_1" unregister
+       run_main -a "$NUMBER_2" unregister --delete-account
+fi
+run_main -a "$NUMBER_2" deleteLocalAccountData || true
 
 if [ ! -z "$GRAALVM_HOME" ]; then
   "$GRAALVM_HOME"/lib/svm/bin/native-image-configure generate --input-dir=graalvm-config-dir/ --input-dir=graalvm-config-dir-linked/ --input-dir=graalvm-config-dir-main/ --output-dir=graalvm-config-dir//