]>
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-11-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
-u "$NUMBER" register
--captcha "$CAPTCHA"
51 echo -n "Enter validation code for ${NUMBER}: "
53 if [ -z "$PIN" ]; then
54 run_main
-u "$NUMBER" verify
"$CODE"
56 run_main
-u "$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
-u "$NUMBER" addDevice
--uri "$LINK_CODE"
69 run_linked
-u "$NUMBER" send
--note-to-self -m hi
70 run_main
-u "$NUMBER" receive
71 run_linked
-u "$NUMBER" receive
72 run_main
-u "$NUMBER" receive
79 register
"$NUMBER_1" "$TEST_PIN_1"
86 run_main
-u "$NUMBER_1" --dbus send
"$NUMBER_2" -m daemon_not_running
|| true
91 run_main
-u "$NUMBER_1" --dbus send
"$NUMBER_2" -m hii
92 run_main
-u "$NUMBER_2" --dbus receive
99 FIFO_FILE
="${PATH_MAIN}/dbus-fifo"
104 run_main
-u "$NUMBER_1" send
"$NUMBER_2" -m hi
105 run_main
-u "$NUMBER_2" jsonRpc
< "$FIFO_FILE" &
107 exec 3<> "$FIFO_FILE"
108 echo '{"jsonrpc":"2.0","id":"id","method":"updateContact","params":{"recipient":"'"$NUMBER_1"'","name":"NUMBER_1","expiration":10}}' >&3
109 echo '{"jsonrpc":"2.0","id":5,"method":"block","params":{"recipient":"'"$NUMBER_1"'"}}' >&3
110 echo '{"jsonrpc":"2.0","id":null,"method":"unblock","params":{"recipient":"'"$NUMBER_1"'"}}' >&3
111 echo '{"jsonrpc":"2.0","id":"id","method":"listContacts"}' >&3
112 echo '{"jsonrpc":"2.0","id":"id","method":"listGroups"}' >&3
113 echo '{"jsonrpc":"2.0","id":"id","method":"listDevices"}' >&3
114 echo '{"jsonrpc":"2.0","id":"id","method":"listIdentities"}' >&3
115 echo '{"jsonrpc":"2.0","id":"id","method":"sendSyncRequest"}' >&3
116 echo '{"jsonrpc":"2.0","id":"id","method":"sendContacts"}' >&3
117 echo '{"jsonrpc":"2.0","id":"id","method":"version"}' >&3
118 echo '{"jsonrpc":"2.0","id":"id","method":"updateAccount"}' >&3
119 echo '{"jsonrpc":"2.0","id":7,"method":"sendReceipt","params":{"recipient":"'"$NUMBER_1"'","targetTimestamp":1629919505575}}' >&3
120 echo '{"jsonrpc":"2.0","id":7,"method":"sendTyping","params":{"recipient":"'"$NUMBER_1"'"}}' >&3
121 echo '{"jsonrpc":"2.0","id":7,"method":"send","params":{"recipient":"'"$NUMBER_1"'","message":"some text"}}' >&3
122 echo '{"jsonrpc":"2.0","id":7,"method":"send","params":{"recipients":["'"$NUMBER_1"'","'"$NUMBER_2"'"],"message":"some other text"}}' >&3
123 echo '{"jsonrpc":"2.0","id":7,"method":"updateProfile","params":{"givenName":"n1","familyName":"n2","about":"ABA","aboutEmoji":"EMO","avatar":"LICENSE"}}' >&3
124 echo '{"jsonrpc":"2.0","id":7,"method":"getUserStatus","params":{"recipient":"'"$NUMBER_1"'"}}' >&3
127 echo '{"jsonrpc":"2.0","id":7,"method":"sendReceipt","params":{"recipient":5}}' >&3
132 run_main
-u "$NUMBER_1" setPin
"$TEST_PIN_1"
133 run_main
-u "$NUMBER_2" removePin
136 run_main
-u "$NUMBER_2" updateContact
"$NUMBER_1" -n NUMBER_1
-e 10
137 run_main
-u "$NUMBER_2" block
"$NUMBER_1"
138 run_main
-u "$NUMBER_2" unblock
"$NUMBER_1"
139 run_main
-u "$NUMBER_2" listContacts
141 run_main
-u "$NUMBER_1" send
"$NUMBER_2" -m hi
142 run_main
-u "$NUMBER_2" receive
143 run_main
-u "$NUMBER_2" send
"$NUMBER_1" -m hi
144 run_main
-u "$NUMBER_1" receive
145 run_main
-u "$NUMBER_2" receive
147 GROUP_ID
=$
(run_main
-u "$NUMBER_1" updateGroup
-n GRUPPE
-a LICENSE
-m "$NUMBER_1" | grep -oP '(?<=").+(?=")')
148 run_main
-u "$NUMBER_1" send
"$NUMBER_2" -m first
149 run_main
-u "$NUMBER_1" updateGroup
-g "$GROUP_ID" -n GRUPPE_UMB
-m "$NUMBER_2" --admin "$NUMBER_2" --remove-admin "$NUMBER_2" --description DESCRIPTION
--link=enabled
-with-approval --set-permission-add-member=only
-admins --set-permission-edit-details=only
-admins -e 42
150 run_main
-u "$NUMBER_1" listGroups
-d
151 run_main
-u "$NUMBER_1" --output=json listGroups
-d
152 run_main
-u "$NUMBER_2" --verbose receive
153 run_main
-u "$NUMBER_2" quitGroup
-g "$GROUP_ID"
154 run_main
-u "$NUMBER_2" listGroups
-d
155 run_main
-u "$NUMBER_2" --output=json listGroups
-d
156 run_main
-u "$NUMBER_1" receive
157 run_main
-u "$NUMBER_1" updateGroup
-g "$GROUP_ID" -m "$NUMBER_2"
158 run_main
-u "$NUMBER_1" --verbose block
-g "$GROUP_ID"
159 run_main
-u "$NUMBER_1" --verbose unblock
-g "$GROUP_ID"
162 run_main
-u "$NUMBER_1" listIdentities
163 run_main
-u "$NUMBER_2" listIdentities
164 run_main
-u "$NUMBER_2" trust
"$NUMBER_1" -a
166 ## Basic send/receive
167 for OUTPUT
in "plain-text" "json"; do
168 run_main
-u "$NUMBER_1" --output="$OUTPUT" getUserStatus
"$NUMBER_1" "$NUMBER_2" "+111111111"
169 run_main
-u "$NUMBER_1" send
"$NUMBER_2" -m hi
170 run_main
-u "$NUMBER_2" send
"$NUMBER_1" -m hi
171 run_main
-u "$NUMBER_1" send
-g "$GROUP_ID" -m hi
-a LICENSE
172 TIMESTAMP
=$
(uname
-a | run_main
-u "$NUMBER_1" send
"$NUMBER_2")
173 run_main
-u "$NUMBER_2" sendReaction
"$NUMBER_1" -e 🍀
-a "$NUMBER_1" -t "$TIMESTAMP"
174 run_main
-u "$NUMBER_1" remoteDelete
"$NUMBER_2" -t "$TIMESTAMP"
175 run_main
-u "$NUMBER_2" --output="$OUTPUT" receive
176 run_main
-u "$NUMBER_1" --output="$OUTPUT" receive
177 run_main
-u "$NUMBER_1" send
-e "$NUMBER_2"
178 run_main
-u "$NUMBER_2" --output="$OUTPUT" receive
182 run_main
-u "$NUMBER_1" updateProfile
--given-name=GIVEN
--family-name=FAMILY
--about=ABOUT
--about-emoji=EMOJI
--avatar=LICENSE
187 run_main
-u "$NUMBER_1" listDevices
188 run_linked
-u "$NUMBER_1" sendSyncRequest
189 run_main
-u "$NUMBER_1" sendContacts
191 for OUTPUT
in "plain-text" "json"; do
192 run_main
-u "$NUMBER_1" send
"$NUMBER_2" -m hi
193 run_main
-u "$NUMBER_2" send
"$NUMBER_1" -m hi
194 run_main
-u "$NUMBER_2" --output="$OUTPUT" receive
195 run_main
-u "$NUMBER_1" --output="$OUTPUT" receive
196 run_linked
-u "$NUMBER_1" --output="$OUTPUT" receive
199 run_main
-u "$NUMBER_1" removeDevice
-d 2
202 run_main
-u "$NUMBER_1" unregister
203 run_main
-u "$NUMBER_2" unregister
--delete-account