Skip to content

Commit 9d42ee3

Browse files
committed
Add secretcli tests to ci.yaml
1 parent 7cdff07 commit 9d42ee3

File tree

3 files changed

+95
-86
lines changed

3 files changed

+95
-86
lines changed

.github/workflows/ci.yaml

+7
Original file line numberDiff line numberDiff line change
@@ -331,6 +331,13 @@ jobs:
331331
run: |
332332
docker load --input /tmp/localsecret.tar
333333
docker load --input /tmp/hermes.tar
334+
- name: Run secretcli tests
335+
run: |
336+
cd integration-tests
337+
make run-localsecret
338+
sleep 10
339+
./basic-tests.sh
340+
make kill-localsecret # next step needs the localsecret ports
334341
- name: Run integration tests
335342
run: |
336343
cd integration-tests

integration-tests/basic-tests.sh

+83-81
Original file line numberDiff line numberDiff line change
@@ -51,84 +51,84 @@ $SECRETCLI status --output=json | jq
5151
# ----- NODE STATUS CHECK - END -----
5252

5353
# ------ NODE REGISTRATION - START ------
54-
if [ -f $SCRT_SGX_STORAGE/attectation_cert.der ]; then
55-
rm ${SCRT_SGX_STORAGE}/attectation_cert.der
56-
fi
57-
./secretd init-enclave
58-
if [ $? -ne 0 ]; then
59-
echo "Failed to initialize SGX enclave"
60-
exit 1
61-
fi
62-
63-
if [ ! -f ${SCRT_SGX_STORAGE}/attestation_cert.der ]; then
64-
echo "Failed to generate attestation_cert.der certificate"
65-
exit 1
66-
fi
67-
68-
PUBLIC_KEY=$(./secretd parse ${SCRT_SGX_STORAGE}/attestation_cert.der 2> /dev/null | cut -c 3-)
69-
if [ -z $PUBLIC_KEY ]; then
70-
echo "Failed to parse attestation_cert.der certificate"
71-
exit 1
72-
fi
73-
echo "Certificate public key: $PUBLIC_KEY"
74-
75-
# On-chain registration and attestation
76-
json_register=$(mktemp -p $TMP_DIR)
77-
./secretd tx register auth ${SCRT_SGX_STORAGE}/attestation_cert.der -y --from a --fees 3000uscrt --keyring-backend ${KEYRING} --home ${SECRETD_HOME} --output json | jq > $json_register
78-
if [ $? -ne 0 ]; then
79-
echo "Failed to register/auth node"
80-
exit 1
81-
fi
82-
code_id=$(cat $json_register | jq ".code")
83-
if [[ ${code_id} -ne 0 ]]; then
84-
echo "Failed to register/auth node. Code: ${code_id}. Error: $(cat $json_register | jq '.raw_log')"
85-
exit 1
86-
fi
87-
sleep 5s
88-
txhash=$(cat $json_register | jq ".txhash" | tr -d '"')
89-
$SECRETCLI q tx --type=hash "$txhash" --output json | jq > $json_register
90-
code_id=$(cat $json_register | jq ".code")
91-
if [[ ${code_id} -ne 0 ]]; then
92-
echo "Failed to register/auth node. Error: $(cat $json_register | jq '.raw_log')"
93-
exit 1
94-
fi
95-
96-
SEED=$(./secretd query register seed $PUBLIC_KEY | cut -c 3-)
97-
if [ -z $SEED ]; then
98-
echo "Failed to obtain encrypted seed"
99-
exit 1
100-
fi
101-
echo "Encrypted seed: $SEED"
102-
sleep 5s
103-
./secretd query register secret-network-params
104-
if [ ! -f ./io-master-key.txt ] || [ ! -f ./node-master-key.txt ]; then
105-
echo "Failed to generate IO and Node Exch master key"
106-
exit 1
107-
fi
108-
ls -lh ./io-master-key.txt ./node-master-key.txt
109-
110-
mkdir -p ${SECRETD_HOME}/.node
111-
./secretd configure-secret node-master-key.txt $SEED --home ${SECRETD_HOME}
112-
if [ $? -ne 0 ]; then
113-
echo "Failed to configure secret node"
114-
exit 1
115-
fi
116-
54+
#if [ -f $SCRT_SGX_STORAGE/attectation_cert.der ]; then
55+
#rm ${SCRT_SGX_STORAGE}/attectation_cert.der
56+
#fi
57+
#./secretd init-enclave
58+
#if [ $? -ne 0 ]; then
59+
#echo "Failed to initialize SGX enclave"
60+
#exit 1
61+
#fi
62+
#
63+
#if [ ! -f ${SCRT_SGX_STORAGE}/attestation_cert.der ]; then
64+
#echo "Failed to generate attestation_cert.der certificate"
65+
#exit 1
66+
#fi
67+
#
68+
#PUBLIC_KEY=$(./secretd parse ${SCRT_SGX_STORAGE}/attestation_cert.der 2> /dev/null | cut -c 3-)
69+
#if [ -z $PUBLIC_KEY ]; then
70+
#echo "Failed to parse attestation_cert.der certificate"
71+
#exit 1
72+
#fi
73+
#echo "Certificate public key: $PUBLIC_KEY"
74+
#
75+
## On-chain registration and attestation
76+
#json_register=$(mktemp -p $TMP_DIR)
77+
#./secretd tx register auth ${SCRT_SGX_STORAGE}/attestation_cert.der -y --from a --keyring-backend ${KEYRING} --home ${SECRETD_HOME} --output json | jq > $json_register
78+
#if [ $? -ne 0 ]; then
79+
#echo "Failed to register/auth node"
80+
#exit 1
81+
#fi
82+
#code_id=$(cat $json_register | jq ".code")
83+
#if [[ ${code_id} -ne 0 ]]; then
84+
#echo "Failed to register/auth node. Code: ${code_id}. Error: $(cat $json_register | jq '.raw_log')"
85+
#exit 1
86+
#fi
87+
#sleep 5s
88+
#txhash=$(cat $json_register | jq ".txhash" | tr -d '"')
89+
#$SECRETCLI q tx --type=hash "$txhash" --output json | jq > $json_register
90+
#code_id=$(cat $json_register | jq ".code")
91+
#if [[ ${code_id} -ne 0 ]]; then
92+
#echo "Failed to register/auth node. Error: $(cat $json_register | jq '.raw_log')"
93+
#exit 1
94+
#fi
95+
#
96+
#SEED=$(./secretd query register seed $PUBLIC_KEY | cut -c 3-)
97+
#if [ -z $SEED ]; then
98+
#echo "Failed to obtain encrypted seed"
99+
#exit 1
100+
#fi
101+
#echo "Encrypted seed: $SEED"
102+
#sleep 5s
103+
#./secretd query register secret-network-params
104+
#if [ ! -f ./io-master-key.txt ] || [ ! -f ./node-master-key.txt ]; then
105+
#echo "Failed to generate IO and Node Exch master key"
106+
#exit 1
107+
#fi
108+
#ls -lh ./io-master-key.txt ./node-master-key.txt
109+
#
110+
#mkdir -p ${SECRETD_HOME}/.node
111+
#./secretd configure-secret node-master-key.txt $SEED --home ${SECRETD_HOME}
112+
#if [ $? -ne 0 ]; then
113+
#echo "Failed to configure secret node"
114+
#exit 1
115+
#fi
116+
#
117117
# Skip adding persistent peers seeds to config
118118

119119
# Optimize SGX memory for heavy contract calculations (e.g. NFT minting)
120-
sed -i.bak -e "s/^contract-memory-enclave-cache-size *=.*/contract-memory-enclave-cache-size = \"15\"/" ${SECRETD_HOME}/config/app.toml
120+
#sed -i.bak -e "s/^contract-memory-enclave-cache-size *=.*/contract-memory-enclave-cache-size = \"15\"/" ${SECRETD_HOME}/config/app.toml
121121

122122
# Set min gas price
123-
perl -i -pe 's/^minimum-gas-prices = .+?$/minimum-gas-prices = "0.0125uscrt"/' ${SECRETD_HOME}/config/app.toml
123+
#perl -i -pe 's/^minimum-gas-prices = .+?$/minimum-gas-prices = "0.0125uscrt"/' ${SECRETD_HOME}/config/app.toml
124124

125-
NODE_ID=$(./secretd tendermint show-node-id --home ${SECRETD_HOME})
126-
if [ -z $NODE_ID ]; then
127-
echo "Failed to obtain node id"
128-
exit 1
129-
fi
130-
echo "Node ID: ${NODE_ID}"
131-
echo "<======= Secret Node registration successful ======>"
125+
#NODE_ID=$(./secretd tendermint show-node-id --home ${SECRETD_HOME})
126+
#if [ -z $NODE_ID ]; then
127+
#echo "Failed to obtain node id"
128+
#exit 1
129+
#fi
130+
#echo "Node ID: ${NODE_ID}"
131+
#echo "<======= Secret Node registration successful ======>"
132132

133133
# ------ NODE REGISTRATION - END --------
134134

@@ -209,7 +209,7 @@ sleep 5s
209209
$SECRETCLI q tx --type=hash "$txhash" --output json | jq
210210
$SECRETCLI q bank balances $address_scrt --home=$SECRETD_HOME --output=json | jq
211211

212-
txhash=$($SECRETCLI tx compute store ./integration-tests/test-contracts/contract.wasm.gz -y --gas 950000 --fees 12500uscrt --from $address_scrt --chain-id=$CHAINID --keyring-backend ${KEYRING} --home=$SECRETD_HOME --output=json | jq ".txhash" | sed 's/"//g')
212+
txhash=$($SECRETCLI tx compute store ./integration-tests/test-contracts/contract.wasm.gz -y --gas 950000 --from $address_scrt --chain-id=$CHAINID --keyring-backend ${KEYRING} --home=$SECRETD_HOME --output=json | jq ".txhash" | sed 's/"//g')
213213
sleep 5s
214214
$SECRETCLI q tx --type=hash "$txhash" --output json | jq
215215
$SECRETCLI q compute list-code --home=$SECRETD_HOME --output json | jq
@@ -219,7 +219,7 @@ CONTRACT_LABEL="counterContract"
219219
TMPFILE=$(mktemp -p $TMP_DIR)
220220

221221
res_comp_1=$(mktemp -p $TMP_DIR)
222-
$SECRETCLI tx compute instantiate 1 '{"count": 1}' --from $address_scrt --fees 5000uscrt --label $CONTRACT_LABEL -y --keyring-backend ${KEYRING} --home=$SECRETD_HOME --chain-id $CHAINID --output json | jq >$res_comp_1
222+
$SECRETCLI tx compute instantiate 1 '{"count": 1}' --from $address_scrt --label $CONTRACT_LABEL -y --keyring-backend ${KEYRING} --home=$SECRETD_HOME --chain-id $CHAINID --output json | jq >$res_comp_1
223223
txhash=$(cat $res_comp_1 | jq ".txhash" | sed 's/"//g')
224224
sleep 5s
225225
res_q_tx=$(mktemp -p $TMP_DIR)
@@ -241,7 +241,7 @@ if [[ ${expected_count} -ne 1 ]]; then
241241
fi
242242
# Scenario 1 - execute by query by contract label
243243
json_compute_s1=$(mktemp -p $TMP_DIR)
244-
$SECRETCLI tx compute execute --label $CONTRACT_LABEL --from scrtsc '{"increment":{}}' -y --home $SECRETD_HOME --keyring-backend ${KEYRING} --chain-id $CHAINID --fees 3000uscrt --output json | jq >$json_compute_s1
244+
$SECRETCLI tx compute execute --label $CONTRACT_LABEL --from scrtsc '{"increment":{}}' -y --home $SECRETD_HOME --keyring-backend ${KEYRING} --chain-id $CHAINID --output json | jq >$json_compute_s1
245245
code_id=$(cat $json_compute_s1 | jq ".code")
246246
if [[ ${code_id} -ne 0 ]]; then
247247
cat $json_compute_s1 | jq ".raw_log"
@@ -258,7 +258,7 @@ if [[ ${expected_count} -ne 2 ]]; then
258258
fi
259259
# Scenario 2 - execute by contract address
260260
json_compute_s2=$(mktemp -p $TMP_DIR)
261-
$SECRETCLI tx compute execute $contr_addr --from scrtsc '{"increment":{}}' -y --home $SECRETD_HOME --keyring-backend ${KEYRING} --chain-id $CHAINID --fees 3000uscrt --output json | jq >$json_compute_s2
261+
$SECRETCLI tx compute execute $contr_addr --from scrtsc '{"increment":{}}' -y --home $SECRETD_HOME --keyring-backend ${KEYRING} --chain-id $CHAINID --output json | jq >$json_compute_s2
262262
code_id=$(cat $json_compute_s2 | jq ".code")
263263
if [[ ${code_id} -ne 0 ]]; then
264264
cat $json_compute_s2 | jq ".raw_log"
@@ -487,11 +487,11 @@ fi
487487
#TMP_DIR=$(mktemp -d -p $(pwd))
488488
unsigned_tx_file=$TMP_DIR/unsigned_tx.json
489489
amount_to_send="10000"
490-
$SECRETCLI tx bank send $address_a $address_b ${amount_to_send}uscrt --fees=5000uscrt --generate-only --output=json >$unsigned_tx_file
490+
$SECRETCLI tx bank send $address_a $address_b ${amount_to_send}uscrt --generate-only --output=json >$unsigned_tx_file
491491

492492
unsigned_tx_file_aux=$TMP_DIR/unsigned_tx_aux.json
493493
amount_to_send="10000"
494-
$SECRETCLI tx bank send $address_a $address_b ${amount_to_send}uscrt --fee-payer=${address_b} --fees=5000uscrt --generate-only --output=json >$unsigned_tx_file_aux
494+
$SECRETCLI tx bank send $address_a $address_b ${amount_to_send}uscrt --fee-payer=${address_b} --generate-only --output=json >$unsigned_tx_file_aux
495495

496496
# direct sign mode
497497
signed_tx_file_direct=$TMP_DIR/signed_tx_direct.json
@@ -548,11 +548,11 @@ if [[ ! $? ]]; then
548548
fi
549549

550550
# multisig
551-
$SECRETCLI keys add --multisig=a,b,c --multisig-threshold 2 abc --home=$SECRETD_HOME
551+
$SECRETCLI keys add --multisig=a,b,c --multisig-threshold 2 abc --home=$SECRETD_HOME --keyring-backend ${KEYRING}
552552
address_abc=$($SECRETCLI keys show -a abc --keyring-backend ${KEYRING} --home=$SECRETD_HOME)
553553

554554
$SECRETCLI q bank balance $address_abc uscrt --output=json | jq '.balance.amount'
555-
$SECRETCLI tx bank send $address_a $address_abc 100000uscrt --fees=2500uscrt -y --keyring-backend ${KEYRING} --home ${SECRETD_HOME}
555+
$SECRETCLI tx bank send $address_a $address_abc 100000uscrt -y --keyring-backend ${KEYRING} --home ${SECRETD_HOME}
556556
sleep 5s
557557
$SECRETCLI q bank balance $address_abc uscrt --output=json | jq '.balance.amount'
558558

@@ -561,7 +561,7 @@ signed_a=$TMP_DIR/aSig.json
561561
signed_b=$TMP_DIR/bSig.json
562562
signed_multisig=$TMP_DIR/signed_multisig.json
563563
amount_to_send_multisig="1000"
564-
$SECRETCLI tx bank send $address_abc $address_a ${amount_to_send_multisig}uscrt --fees=5000uscrt --generate-only --output=json >$unsigned_tx_file_multisig
564+
$SECRETCLI tx bank send $address_abc $address_a ${amount_to_send_multisig}uscrt --generate-only --output=json >$unsigned_tx_file_multisig
565565

566566
$SECRETCLI tx sign --multisig=abc --from a --output=json $unsigned_tx_file_multisig --keyring-backend ${KEYRING} --home ${SECRETD_HOME} >$signed_a
567567
if [ $? -ne 0 ]; then
@@ -596,6 +596,8 @@ fi
596596
echo "Tx: $txhash Code:$(cat $qtx_json | jq '.code') RawLog:$(cat $qtx_json | jq '.raw_log')"
597597
# ------ SIGNING - END --------
598598

599+
cleanup
600+
599601
set +x
600602
echo " *** INTEGRATION TESTS PASSED! ***"
601603
exit 0

integration-tests/integration_test_funcs.sh

+5-5
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ function staking_unbond() {
6161

6262
json_unbond=$(mktemp -p $TMP_DIR)
6363

64-
$SECRETCLI tx staking unbond $val_addr ${amount}uscrt -y --from $del_addr --chain-id $CHAINID --keyring-backend ${KEYRING} --home $SECRETD_HOME --fees 3000uscrt --output json | jq >$json_unbond
64+
$SECRETCLI tx staking unbond $val_addr ${amount}uscrt -y --from $del_addr --chain-id $CHAINID --keyring-backend ${KEYRING} --home $SECRETD_HOME --output json | jq >$json_unbond
6565
retVal=$?
6666
if [ $retVal -ne 0 ]; then
6767
echo "Error => $SECRETCLI tx staking unbond $val_addr ${amount}uscrt --from $del_addr --chain-id $CHAINID"
@@ -186,10 +186,10 @@ function staking_delegate() {
186186
local del_addr=${2:?}
187187
local -i amount=${3:?}
188188
json_delegate=$(mktemp -p $TMP_DIR)
189-
$SECRETCLI tx staking delegate $val_addr ${amount}uscrt -y --from $del_addr --chain-id $CHAINID --keyring-backend ${KEYRING} --home $SECRETD_HOME --fees 3000uscrt --output json | jq >$json_delegate
189+
$SECRETCLI tx staking delegate $val_addr ${amount}uscrt -y --from $del_addr --chain-id $CHAINID --keyring-backend ${KEYRING} --home $SECRETD_HOME --output json | jq >$json_delegate
190190
retVal=$?
191191
if [ $retVal -ne 0 ]; then
192-
echo "Error => $SECRETCLI tx staking delegate $val_addr 500uscrt -y --from a --chain-id $CHAINID --keyring-backend ${KEYRING} --home $SECRETD_HOME --fees 3000uscrt"
192+
echo "Error => $SECRETCLI tx staking delegate $val_addr 500uscrt -y --from a --chain-id $CHAINID --keyring-backend ${KEYRING} --home $SECRETD_HOME "
193193
return 1
194194
fi
195195
code_id=$(cat $json_delegate | jq ".code")
@@ -249,10 +249,10 @@ function staking_withdraw_rewards() {
249249
local val_addr=${1:?}
250250
local del_addr=${2:?}
251251
json_withdraw=$(mktemp -p $TMP_DIR)
252-
$SECRETCLI tx distribution withdraw-rewards $val_addr -y --from $del_addr --keyring-backend ${KEYRING} --home $SECRETD_HOME --chain-id $CHAINID --output json --fees 3000uscrt | jq >$json_withdraw
252+
$SECRETCLI tx distribution withdraw-rewards $val_addr -y --from $del_addr --keyring-backend ${KEYRING} --home $SECRETD_HOME --chain-id $CHAINID --output json | jq >$json_withdraw
253253
retVal=$?
254254
if [ $retVal -ne 0 ]; then
255-
echo "Error => $SECRETCLI tx distribution withdraw-rewards $val_addr -y --from $del_addr --keyring-backend ${KEYRING} --home $SECRETD_HOME --chain-id $CHAINID --output json --fees 3000uscrt"
255+
echo "Error => $SECRETCLI tx distribution withdraw-rewards $val_addr -y --from $del_addr --keyring-backend ${KEYRING} --home $SECRETD_HOME --chain-id $CHAINID --output json "
256256
return 1
257257
fi
258258
code_id=$(cat $json_withdraw | jq ".code")

0 commit comments

Comments
 (0)