]>
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/'
14 export SIGNAL_CLI
="$PWD/build/install/signal-cli/bin/signal-cli"
18 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"
28 "$SIGNAL_CLI" --service-environment="sandbox" $@
33 run
--config="$PATH_MAIN" $@
37 run
--config="$PATH_LINK" $@
43 echo -n "Enter a captcha token (https://signalcaptchas.org/registration/generate.html): "
45 run_main
-u "$NUMBER" register
--captcha "$CAPTCHA"
46 echo -n "Enter validation code for ${NUMBER}: "
48 if [ -z "$PIN" ]; then
49 run_main
-u "$NUMBER" verify
"$CODE"
51 run_main
-u "$NUMBER" verify
"$CODE" --pin "$PIN"
57 LINK_CODE_FILE
="$PATH_TEST_CONFIG/link_code"
58 rm -f "$LINK_CODE_FILE"
59 mkfifo "$LINK_CODE_FILE"
60 run_linked link
-n "test-device" >"$LINK_CODE_FILE" &
61 read LINK_CODE
<"$LINK_CODE_FILE"
62 run_main
-u "$NUMBER" addDevice
--uri "$LINK_CODE"
64 run_linked
-u "$NUMBER" send
--note-to-self -m hi
65 run_main
-u "$NUMBER" receive
66 run_linked
-u "$NUMBER" receive
67 run_main
-u "$NUMBER" receive
74 register
"$NUMBER_1" "$TEST_PIN_1"
80 FIFO_FILE
="${PATH_MAIN}/dbus-fifo"
85 run_main
-u "$NUMBER_1" send
"$NUMBER_2" -m hi
86 run_main
-u "$NUMBER_2" jsonRpc
< "$FIFO_FILE" &
89 echo '{"jsonrpc":"2.0","id":"id","method":"updateContact","params":{"recipient":"'"$NUMBER_1"'","name":"NUMBER_1","expiration":10}}' >&3
90 echo '{"jsonrpc":"2.0","id":5,"method":"block","params":{"recipient":"'"$NUMBER_1"'"}}' >&3
91 echo '{"jsonrpc":"2.0","id":null,"method":"unblock","params":{"recipient":"'"$NUMBER_1"'"}}' >&3
92 echo '{"jsonrpc":"2.0","id":"id","method":"listContacts"}' >&3
93 echo '{"jsonrpc":"2.0","id":"id","method":"listGroups"}' >&3
94 echo '{"jsonrpc":"2.0","id":"id","method":"listDevices"}' >&3
95 echo '{"jsonrpc":"2.0","id":"id","method":"listIdentities"}' >&3
96 echo '{"jsonrpc":"2.0","id":"id","method":"sendSyncRequest"}' >&3
97 echo '{"jsonrpc":"2.0","id":"id","method":"sendContacts"}' >&3
98 echo '{"jsonrpc":"2.0","id":"id","method":"version"}' >&3
99 echo '{"jsonrpc":"2.0","id":"id","method":"updateAccount"}' >&3
100 echo '{"jsonrpc":"2.0","id":7,"method":"sendReceipt","params":{"recipient":"'"$NUMBER_1"'","targetTimestamp":1629919505575}}' >&3
101 echo '{"jsonrpc":"2.0","id":7,"method":"sendTyping","params":{"recipient":"'"$NUMBER_1"'"}}' >&3
102 echo '{"jsonrpc":"2.0","id":7,"method":"send","params":{"recipient":"'"$NUMBER_1"'","message":"some text"}}' >&3
103 echo '{"jsonrpc":"2.0","id":7,"method":"send","params":{"recipients":["'"$NUMBER_1"'","'"$NUMBER_2"'"],"message":"some other text"}}' >&3
104 echo '{"jsonrpc":"2.0","id":7,"method":"updateProfile","params":{"givenName":"n1","familyName":"n2","about":"ABA","aboutEmoji":"EMO","avatar":"LICENSE"}}' >&3
105 echo '{"jsonrpc":"2.0","id":7,"method":"getUserStatus","params":{"recipient":"'"$NUMBER_1"'"}}' >&3
108 echo '{"jsonrpc":"2.0","id":7,"method":"sendReceipt","params":{"recipient":5}}' >&3
113 run_main
-u "$NUMBER_1" setPin
"$TEST_PIN_1"
114 run_main
-u "$NUMBER_2" removePin
117 run_main
-u "$NUMBER_2" updateContact
"$NUMBER_1" -n NUMBER_1
-e 10
118 run_main
-u "$NUMBER_2" block
"$NUMBER_1"
119 run_main
-u "$NUMBER_2" unblock
"$NUMBER_1"
120 run_main
-u "$NUMBER_2" listContacts
122 run_main
-u "$NUMBER_1" send
"$NUMBER_2" -m hi
123 run_main
-u "$NUMBER_2" receive
124 run_main
-u "$NUMBER_2" send
"$NUMBER_1" -m hi
125 run_main
-u "$NUMBER_1" receive
126 run_main
-u "$NUMBER_2" receive
128 GROUP_ID
=$
(run_main
-u "$NUMBER_1" updateGroup
-n GRUPPE
-a LICENSE
-m "$NUMBER_1" | grep -oP '(?<=").+(?=")')
129 run_main
-u "$NUMBER_1" send
"$NUMBER_2" -m first
130 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
131 run_main
-u "$NUMBER_1" listGroups
-d
132 run_main
-u "$NUMBER_1" --output=json listGroups
-d
133 run_main
-u "$NUMBER_2" --verbose receive
134 run_main
-u "$NUMBER_2" quitGroup
-g "$GROUP_ID"
135 run_main
-u "$NUMBER_2" listGroups
-d
136 run_main
-u "$NUMBER_2" --output=json listGroups
-d
137 run_main
-u "$NUMBER_1" receive
138 run_main
-u "$NUMBER_1" updateGroup
-g "$GROUP_ID" -m "$NUMBER_2"
139 run_main
-u "$NUMBER_1" block
"$GROUP_ID"
140 run_main
-u "$NUMBER_1" unblock
"$GROUP_ID"
143 run_main
-u "$NUMBER_1" listIdentities
144 run_main
-u "$NUMBER_2" listIdentities
145 run_main
-u "$NUMBER_2" trust
"$NUMBER_1" -a
147 ## Basic send/receive
148 for OUTPUT
in "plain-text" "json"; do
149 run_main
-u "$NUMBER_1" --output="$OUTPUT" getUserStatus
"$NUMBER_1" "$NUMBER_2" "+111111111"
150 run_main
-u "$NUMBER_1" send
"$NUMBER_2" -m hi
151 run_main
-u "$NUMBER_2" send
"$NUMBER_1" -m hi
152 run_main
-u "$NUMBER_1" send
-g "$GROUP_ID" -m hi
-a LICENSE
153 TIMESTAMP
=$
(uname
-a | run_main
-u "$NUMBER_1" send
"$NUMBER_2")
154 run_main
-u "$NUMBER_2" sendReaction
"$NUMBER_1" -e 🍀
-a "$NUMBER_1" -t "$TIMESTAMP"
155 run_main
-u "$NUMBER_1" remoteDelete
"$NUMBER_2" -t "$TIMESTAMP"
156 run_main
-u "$NUMBER_2" --output="$OUTPUT" receive
157 run_main
-u "$NUMBER_1" --output="$OUTPUT" receive
158 run_main
-u "$NUMBER_1" send
-e "$NUMBER_2"
159 run_main
-u "$NUMBER_2" --output="$OUTPUT" receive
163 run_main
-u "$NUMBER_1" updateProfile
--given-name=GIVEN
--family-name=FAMILY
--about=ABOUT
--about-emoji=EMOJI
--avatar=LICENSE
168 run_main
-u "$NUMBER_1" listDevices
169 run_linked
-u "$NUMBER_1" sendSyncRequest
170 run_main
-u "$NUMBER_1" sendContacts
172 for OUTPUT
in "plain-text" "json"; do
173 run_main
-u "$NUMBER_1" send
"$NUMBER_2" -m hi
174 run_main
-u "$NUMBER_2" send
"$NUMBER_1" -m hi
175 run_main
-u "$NUMBER_2" --output="$OUTPUT" receive
176 run_main
-u "$NUMBER_1" --output="$OUTPUT" receive
177 run_linked
-u "$NUMBER_1" --output="$OUTPUT" receive
180 run_main
-u "$NUMBER_1" removeDevice
-d 2
183 #run_main -u "$NUMBER_1" --dbus send "$NUMBER_2" -m daemon_not_running
187 #run_main -u "$NUMBER_1" --dbus send "$NUMBER_2" -m hii
188 #run_main -u "$NUMBER_2" --dbus receive
192 run_main
-u "$NUMBER_1" unregister
193 run_main
-u "$NUMBER_2" unregister
--delete-account