]>
nmode's Git Repositories - signal-cli/blob - run_tests.sh
3 echo "Usage: $0 NUMBER_1 NUMBER_2"
8 # To update graalvm config, set GRAALVM_HOME, e.g:
9 # export GRAALVM_HOME=/usr/lib/jvm/java-17-graalvm
10 if [ ! -z "$GRAALVM_HOME" ]; then
11 export JAVA_HOME
=$GRAALVM_HOME
12 export SIGNAL_CLI_OPTS
='-agentlib:native-image-agent=config-merge-dir=graalvm-config-dir/'
17 TEST_PIN_1
=456test_pin_foo123
20 PATH_TEST_CONFIG
="$PWD/build/test-config"
21 PATH_MAIN
="$PATH_TEST_CONFIG/main"
22 PATH_LINK
="$PATH_TEST_CONFIG/link"
24 if [ "$NATIVE" -eq 1 ]; then
25 SIGNAL_CLI
="$PWD/build/native/nativeCompile/signal-cli"
28 SIGNAL_CLI
="$PWD/build/install/signal-cli/bin/signal-cli"
33 "$SIGNAL_CLI" --service-environment="sandbox" $@
38 run
--config="$PATH_MAIN" $@
42 run
--config="$PATH_LINK" $@
48 echo -n "Enter a captcha token (https://signalcaptchas.org/staging/challenge/generate.html): "
50 run_main
-a "$NUMBER" register
--captcha "$CAPTCHA"
51 echo -n "Enter validation code for ${NUMBER}: "
53 if [ -z "$PIN" ]; then
54 run_main
-a "$NUMBER" verify
"$CODE"
56 run_main
-a "$NUMBER" verify
"$CODE" --pin "$PIN"
62 LINK_CODE_FILE
="$PATH_TEST_CONFIG/link_code"
63 rm -f "$LINK_CODE_FILE"
64 mkfifo "$LINK_CODE_FILE"
65 run_linked link
-n "test-device" >"$LINK_CODE_FILE" &
66 read LINK_CODE
<"$LINK_CODE_FILE"
67 run_main
-a "$NUMBER" addDevice
--uri "$LINK_CODE"
69 run_linked
-a "$NUMBER" send
--note-to-self -m hi
70 run_main
-a "$NUMBER" receive
71 run_linked
-a "$NUMBER" receive
72 run_main
-a "$NUMBER" receive
79 register
"$NUMBER_1" "$TEST_PIN_1"
85 run_main
--output=json listAccounts
88 #run_main -a "$NUMBER_1" --dbus send "$NUMBER_2" -m daemon_not_running || true
92 #run_main -a "$NUMBER_1" --dbus send "$NUMBER_2" -m hii
93 #run_main -a "$NUMBER_2" --dbus receive
98 FIFO_FILE
="${PATH_MAIN}/dbus-fifo"
103 run_main
-a "$NUMBER_1" send
"$NUMBER_2" -m hi
104 run_main
-a "$NUMBER_2" jsonRpc
< "$FIFO_FILE" &
106 exec 3<> "$FIFO_FILE"
107 echo '{"jsonrpc":"2.0","id":"id","method":"updateContact","params":{"recipient":"'"$NUMBER_1"'","name":"NUMBER_1","expiration":10}}' >&3
108 echo '{"jsonrpc":"2.0","id":5,"method":"block","params":{"recipient":"'"$NUMBER_1"'"}}' >&3
109 echo '{"jsonrpc":"2.0","id":null,"method":"unblock","params":{"recipient":"'"$NUMBER_1"'"}}' >&3
110 echo '{"jsonrpc":"2.0","id":"id","method":"listContacts"}' >&3
111 echo '{"jsonrpc":"2.0","id":"id","method":"listGroups"}' >&3
112 echo '{"jsonrpc":"2.0","id":"id","method":"listDevices"}' >&3
113 echo '{"jsonrpc":"2.0","id":"id","method":"listIdentities"}' >&3
114 echo '{"jsonrpc":"2.0","id":"id","method":"sendSyncRequest"}' >&3
115 echo '{"jsonrpc":"2.0","id":"id","method":"sendContacts"}' >&3
116 echo '{"jsonrpc":"2.0","id":"id","method":"version"}' >&3
117 echo '{"jsonrpc":"2.0","id":"id","method":"updateAccount"}' >&3
118 echo '{"jsonrpc":"2.0","id":7,"method":"sendReceipt","params":{"recipient":"'"$NUMBER_1"'","targetTimestamp":1629919505575}}' >&3
119 echo '{"jsonrpc":"2.0","id":7,"method":"sendTyping","params":{"recipient":"'"$NUMBER_1"'"}}' >&3
120 echo '{"jsonrpc":"2.0","id":7,"method":"send","params":{"recipient":"'"$NUMBER_1"'","message":"some text"}}' >&3
121 echo '{"jsonrpc":"2.0","id":7,"method":"send","params":{"recipients":["'"$NUMBER_1"'","'"$NUMBER_2"'"],"message":"some other text"}}' >&3
122 echo '{"jsonrpc":"2.0","id":7,"method":"updateProfile","params":{"givenName":"n1","familyName":"n2","about":"ABA","aboutEmoji":"EMO","avatar":"LICENSE"}}' >&3
123 echo '{"jsonrpc":"2.0","id":7,"method":"getUserStatus","params":{"recipient":"'"$NUMBER_1"'"}}' >&3
126 echo '{"jsonrpc":"2.0","id":7,"method":"sendReceipt","params":{"recipient":5}}' >&3
131 run_main
-a "$NUMBER_1" setPin
"$TEST_PIN_1"
132 run_main
-a "$NUMBER_2" removePin
135 run_main
-a "$NUMBER_2" updateContact
"$NUMBER_1" -n NUMBER_1
-e 10
136 run_main
-a "$NUMBER_2" block
"$NUMBER_1"
137 run_main
-a "$NUMBER_2" unblock
"$NUMBER_1"
138 run_main
-a "$NUMBER_2" listContacts
140 run_main
-a "$NUMBER_1" send
"$NUMBER_2" -m hi
141 run_main
-a "$NUMBER_2" receive
142 run_main
-a "$NUMBER_2" send
"$NUMBER_1" -m hi
143 run_main
-a "$NUMBER_1" receive
144 run_main
-a "$NUMBER_2" receive
146 GROUP_ID
=$
(run_main
-a "$NUMBER_1" updateGroup
-n GRUPPE
-a LICENSE
-m "$NUMBER_1" | grep -oP '(?<=").+(?=")')
147 run_main
-a "$NUMBER_1" send
"$NUMBER_2" -m first
148 run_main
-a "$NUMBER_1" updateGroup
-g "$GROUP_ID" -n GRUPPE_UMB
-m "$NUMBER_2" --admin "$NUMBER_2" --description DESCRIPTION
--link=enabled
-with-approval --set-permission-add-member=only
-admins --set-permission-edit-details=only
-admins --set-permission-send-messages=only
-admins -e 42
149 run_main
-a "$NUMBER_1" updateGroup
-g "$GROUP_ID" --remove-admin "$NUMBER_2" --reset-link --set-permission-send-messages=every
-member
150 run_main
-a "$NUMBER_1" updateGroup
-g "$GROUP_ID" -r "$NUMBER_2"
151 run_main
-a "$NUMBER_1" updateGroup
-g "$GROUP_ID" -m "$NUMBER_2"
152 run_main
-a "$NUMBER_1" listGroups
-d
153 run_main
-a "$NUMBER_1" --output=json listGroups
-d
154 run_main
-a "$NUMBER_2" --verbose receive
155 run_main
-a "$NUMBER_2" quitGroup
-g "$GROUP_ID"
156 run_main
-a "$NUMBER_2" listGroups
-d
157 run_main
-a "$NUMBER_2" --output=json listGroups
-d
158 run_main
-a "$NUMBER_1" receive
159 run_main
-a "$NUMBER_1" updateGroup
-g "$GROUP_ID" -m "$NUMBER_2"
160 run_main
-a "$NUMBER_1" --verbose block
-g "$GROUP_ID"
161 run_main
-a "$NUMBER_1" --verbose unblock
-g "$GROUP_ID"
164 run_main
-a "$NUMBER_1" updateConfiguration
--read-receipts=true
167 run_main
-a "$NUMBER_1" listIdentities
168 run_main
-a "$NUMBER_2" listIdentities
169 run_main
-a "$NUMBER_2" trust
"$NUMBER_1" -a
171 ## Basic send/receive
172 for OUTPUT
in "plain-text" "json"; do
173 run_main
-a "$NUMBER_1" --output="$OUTPUT" getUserStatus
"$NUMBER_1" "$NUMBER_2" "+111111111"
174 run_main
-a "$NUMBER_1" send
"$NUMBER_2" -m hi
175 run_main
-a "$NUMBER_2" send
"$NUMBER_1" -m hi
176 run_main
-a "$NUMBER_1" send
-g "$GROUP_ID" -m hi
-a LICENSE
--mention "1:1:$NUMBER_2"
177 TIMESTAMP
=$
(uname
-a | run_main
-a "$NUMBER_1" send
"$NUMBER_2")
178 run_main
-a "$NUMBER_2" sendReaction
"$NUMBER_1" -e 🍀
-a "$NUMBER_1" -t "$TIMESTAMP"
179 run_main
-a "$NUMBER_1" remoteDelete
"$NUMBER_2" -t "$TIMESTAMP"
180 run_main
-a "$NUMBER_2" --output="$OUTPUT" receive
181 run_main
-a "$NUMBER_1" --output="$OUTPUT" receive
182 run_main
-a "$NUMBER_1" send
-e "$NUMBER_2"
183 run_main
-a "$NUMBER_2" --output="$OUTPUT" receive
187 run_main
-a "$NUMBER_1" updateProfile
--given-name=GIVEN
--family-name=FAMILY
--about=ABOUT
--about-emoji=EMOJI
--avatar=LICENSE
192 run_main
-a "$NUMBER_1" listDevices
193 run_linked
-a "$NUMBER_1" sendSyncRequest
194 run_main
-a "$NUMBER_1" sendContacts
196 for OUTPUT
in "plain-text" "json"; do
197 run_main
-a "$NUMBER_1" send
"$NUMBER_2" -m hi
198 run_main
-a "$NUMBER_2" send
"$NUMBER_1" -m hi
199 run_main
-a "$NUMBER_2" --output="$OUTPUT" receive
200 run_main
-a "$NUMBER_1" --output="$OUTPUT" receive
201 run_linked
-a "$NUMBER_1" --output="$OUTPUT" receive
204 run_main
-a "$NUMBER_1" removeDevice
-d 2
207 run_main
-a "$NUMBER_1" unregister
208 run_main
-a "$NUMBER_2" unregister
--delete-account