Compare commits
29 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 07b566071b | |||
| 5f231e3eac | |||
| 9d3cad2771 | |||
| ae0f9b1b7b | |||
| 8a1e225365 | |||
| 2a6d0f3113 | |||
| d81e1fe44d | |||
| ef62ec6560 | |||
| 6649f859e6 | |||
| 617113555b | |||
| b9e8ba3215 | |||
| 2693ccafd1 | |||
| 8d78d23060 | |||
| 9543247def | |||
| 618c54ede3 | |||
| c91b63a6f8 | |||
| 4e63f2ce60 | |||
| bc80511863 | |||
| bc08b26ed4 | |||
| 81c5cafc60 | |||
| a9f25c2492 | |||
| 0ab5320656 | |||
| 28e7ce11e3 | |||
| 03364b848b | |||
| 8926d622b3 | |||
| a58d3dc6b2 | |||
| ece189773d | |||
| de2c3851ee | |||
| 6869de5640 |
@@ -9,30 +9,66 @@ RELEASE_DIRECTORY="target/release"
|
||||
VERSION_NUMBER=$1
|
||||
WALLET_ADDRESS_CONST=n1435n84se65tn7yv536am0sfvng4yyrwj7thhxr
|
||||
MOCK_HOST="1.2.3.4"
|
||||
OUTPUT=$(for i in {1..8}; do echo -n $(( $RANDOM % 10 )); done)
|
||||
OUTPUT=$(for i in {1..8}; do echo -n $(($RANDOM % 10)); done)
|
||||
ID="test-${OUTPUT}"
|
||||
BINARY_NAME="nym-gateway"
|
||||
|
||||
echo "the version number is ${VERSION_NUMBER}"
|
||||
echo "the version number is ${VERSION_NUMBER} to be installed from github"
|
||||
|
||||
cd ${PWD}${RELEASE_DIRECTORY}
|
||||
|
||||
if [ -f nym-gateway ]; then
|
||||
# steps
|
||||
# we curl the existing binary from the release page of github
|
||||
# we init the binary to check successful init
|
||||
# then in our testing branch, we build the binary locally
|
||||
# re run the init based upon the configuration injected
|
||||
# we validate that no errors are return from upgrading the binary against the test
|
||||
|
||||
# install the current release binary
|
||||
# so this is dependant on running on a linux machine for the time being
|
||||
|
||||
curl -L https://github.com/nymtech/nym/releases/download/nym-binaries-${RELEASE_VERSION_NUMBER}/$BINARY_NAME -o $BINARY_NAME
|
||||
chmod u+x $BINARY_NAME
|
||||
|
||||
#--------------------------------------
|
||||
# functions
|
||||
#--------------------------------------
|
||||
|
||||
check_gateway_binary_build() if [ -f nym-gateway ]; then
|
||||
echo "running init tests"
|
||||
# we wont use config env files for now
|
||||
# unless we want to use a specific environment
|
||||
OUTPUT=$(./nym-gateway --output json init --id ${ID} --host ${MOCK_HOST} --wallet-address ${WALLET_ADDRESS_CONST}) > /dev/null 2>&1
|
||||
|
||||
OUTPUT=$(./nym-gateway --output json init --id ${ID} --host ${MOCK_HOST} --wallet-address ${WALLET_ADDRESS_CONST}) >/dev/null 2>&1
|
||||
|
||||
# get jq values for things we can assert against
|
||||
VALUE=$(echo ${OUTPUT} | jq .wallet_address)
|
||||
VALUE=${VALUE#\"}
|
||||
VALUE=${VALUE%\"}
|
||||
|
||||
|
||||
echo $OUTPUT
|
||||
sleep 2
|
||||
|
||||
# do asserts here based upon the output on init
|
||||
|
||||
assert $(cat ${VALUE}) $(echo ${WALLET_ADDRESS_CONST})
|
||||
assert $(echo ${VALUE}) $(echo ${WALLET_ADDRESS_CONST})
|
||||
assert_end nym-gateway-tests
|
||||
else
|
||||
echo "exting test no binary found"
|
||||
fi
|
||||
|
||||
# we run the release version first
|
||||
check_gateway_binary_build
|
||||
# lets remove the binary then navigate to the target/release directory for checking the latest version
|
||||
# expect to have successful output and configuration
|
||||
|
||||
if [ -f $BINARY_NAME ]; then
|
||||
echo "removing nym-mixnode"
|
||||
rm -rf $BINARY_NAME
|
||||
else
|
||||
echo "no binary found exiting"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# we should expect it to pass because no errors should be presented when performing the upgrade of an init
|
||||
# this should be caught at testing staage
|
||||
check_gateway_binary_build
|
||||
|
||||
@@ -4,31 +4,86 @@
|
||||
|
||||
PWD="../"
|
||||
RELEASE_DIRECTORY="target/release"
|
||||
VERSION_NUMBER=$1
|
||||
RELEASE_VERSION_NUMBER=$1
|
||||
WALLET_ADDRESS_CONST=n1435n84se65tn7yv536am0sfvng4yyrwj7thhxr
|
||||
MOCK_HOST="1.2.3.4"
|
||||
OUTPUT=$(for i in {1..8}; do echo -n $(( $RANDOM % 10 )); done)
|
||||
OUTPUT=$(for i in {1..8}; do echo -n $(($RANDOM % 10)); done)
|
||||
ID="test-${OUTPUT}"
|
||||
BINARY_NAME="nym-mixnode"
|
||||
|
||||
echo "the version number is ${VERSION_NUMBER}"
|
||||
echo "the version number is ${VERSION_NUMBER} to be installed from github"
|
||||
|
||||
cd $PWD/$RELEASE_DIRECTORY
|
||||
# steps
|
||||
# we curl the existing binary from the release page of github
|
||||
# we init the binary to check successful init
|
||||
# then in our testing branch, we build the binary locally
|
||||
# re run the init based upon the configuration injected
|
||||
# we validate that no errors are return from upgrading the binary against the test
|
||||
|
||||
if [ -f nym-mixnode ]; then
|
||||
echo "running init tests"
|
||||
# we wont use config env files for now
|
||||
OUTPUT=$(./nym-mixnode --output json init --id ${ID} --host ${MOCK_HOST} --wallet-address ${WALLET_ADDRESS_CONST}) > /dev/null 2>&1
|
||||
|
||||
# get jq values for things we can assert against
|
||||
# tidy this bit up - okay for first push
|
||||
VALUE=$(echo ${OUTPUT} | jq .wallet_address)
|
||||
VALUE=${VALUE#\"}
|
||||
VALUE=${VALUE%\"}
|
||||
|
||||
# do asserts here based upon the output on init
|
||||
# install the current release binary
|
||||
# so this is dependant on running on a linux machine for the time being
|
||||
curl -L "https://github.com/nymtech/nym/releases/download/nym-binaries-${RELEASE_VERSION_NUMBER}/${BINARY_NAME}" -o nym-mixnode
|
||||
chmod u+x "$BINARY_NAME"
|
||||
|
||||
assert $(cat ${VALUE}) $(echo ${WALLET_ADDRESS_CONST})
|
||||
assert_end nym-mixnode-tests
|
||||
#--------------------------------------
|
||||
# functions
|
||||
#--------------------------------------
|
||||
check_mixnode_binary_build() {
|
||||
if [ -f "$BINARY_NAME" ]; then
|
||||
echo "running init tests"
|
||||
# we wont use config env files for now
|
||||
OUTPUT=$(./${BINARY_NAME} --output json init --id ${ID} --host ${MOCK_HOST} --wallet-address ${WALLET_ADDRESS_CONST} > /dev/null)
|
||||
# get jq values for things we can assert against
|
||||
# tidy this bit up - okay for first push
|
||||
|
||||
VALUE="$(echo ${OUTPUT} | jq .wallet_address | tr -d '"')"
|
||||
|
||||
# do asserts here based upon the output on init
|
||||
assert "echo ${VALUE}" $(echo ${WALLET_ADDRESS_CONST})
|
||||
assert_end nym-mixnode-tests
|
||||
else
|
||||
echo "exiting test no binary found"
|
||||
fi
|
||||
}
|
||||
|
||||
#-------------------------------
|
||||
# tests
|
||||
#-------------------------------
|
||||
|
||||
# we run the release version first
|
||||
check_mixnode_binary_build
|
||||
# whoami
|
||||
# this is dependant on where it runs on ci potentially, will need to tweak this in the future
|
||||
first_init=$(cat /root/.nym/mixnodes/${ID}/config/config.toml | grep -v "^\[mixnode\]$" | grep -v "^version =")
|
||||
|
||||
#lets remove the binary then navigate to the target/release directory for checking the latest version
|
||||
if [ -f "$BINARY_NAME" ]; then
|
||||
echo "removing nym-mixnode"
|
||||
rm -rf "$BINARY_NAME"
|
||||
echo "successfully removed nym-mixnode"
|
||||
else
|
||||
echo "exting test no binary found"
|
||||
echo "no binary found exiting"
|
||||
exit 1
|
||||
fi
|
||||
# we should expect it to pass because no errors should be presented when performing the upgrade of an init
|
||||
# this should be caught at testing stage
|
||||
# navigate to latest binary build
|
||||
cd $PWD$RELEASE_DIRECTORY
|
||||
#re run against the current binary built locally
|
||||
check_mixnode_binary_build
|
||||
|
||||
echo "diff the config files after each init"
|
||||
echo "-------------------------------------"
|
||||
|
||||
second_init=$(cat /root/.nym/mixnodes/${ID}/config/config.toml | grep -v "^\[mixnode\]$" | grep -v "^version =")
|
||||
|
||||
diff -w <(echo "$first_init") <(echo "$second_init")
|
||||
|
||||
# check the status of the diff
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "no differences in config files, exiting script"
|
||||
exit 0
|
||||
else
|
||||
echo "there are differences in the config files, it may require a fresh init on the binary"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user