Compare commits

...

29 Commits

Author SHA1 Message Date
Tommy Verrall 07b566071b supress output 2023-02-03 16:11:15 -01:00
Tommy Verrall 5f231e3eac last check 2023-02-03 15:50:38 -01:00
Tommy Verrall 9d3cad2771 directories 2023-02-03 15:41:17 -01:00
Tommy Verrall ae0f9b1b7b move the files to the correct place 2023-02-03 15:31:50 -01:00
Tommy Verrall 8a1e225365 write to file 2023-02-03 15:22:54 -01:00
Tommy Verrall 2a6d0f3113 quotes 2023-02-03 15:03:10 -01:00
Tommy Verrall d81e1fe44d operator 2023-02-03 15:01:58 -01:00
Tommy Verrall ef62ec6560 check output 2023-02-03 14:57:03 -01:00
Tommy Verrall 6649f859e6 wrong positioning 2023-02-03 14:47:39 -01:00
Tommy Verrall 617113555b print for debugging existing and after to check 2023-02-03 14:43:05 -01:00
Tommy Verrall b9e8ba3215 the version is always due to change, everything else should be okay 2023-02-03 14:36:38 -01:00
Tommy Verrall 2693ccafd1 format 2023-02-03 14:31:07 -01:00
Tommy Verrall 8d78d23060 update the config 2023-02-03 14:29:41 -01:00
Tommy Verrall 9543247def try diffing the files 2023-02-03 14:28:02 -01:00
Tommy Verrall 618c54ede3 format 2023-02-03 13:51:14 -01:00
Tommy Verrall c91b63a6f8 tidy up now it's passing now validate against new binary 2023-02-03 13:40:01 -01:00
Tommy Verrall 4e63f2ce60 try assertion command via outputting via echo 2023-02-03 13:35:04 -01:00
Tommy Verrall bc80511863 weird behaviour from local to machine 2023-02-03 13:25:41 -01:00
Tommy Verrall bc08b26ed4 more debug 2023-02-03 13:17:10 -01:00
Tommy Verrall 81c5cafc60 binary add 2023-02-03 13:16:19 -01:00
Tommy Verrall a9f25c2492 debugging 2023-02-03 13:09:21 -01:00
Tommy Verrall 0ab5320656 fix var 2023-02-03 12:25:45 -01:00
Tommy Verrall 28e7ce11e3 input assertion again 2023-02-03 10:19:05 -01:00
Tommy Verrall 03364b848b bad variable placement 2023-02-03 10:16:34 -01:00
Tommy Verrall 8926d622b3 wrap the var name 2023-02-03 10:13:11 -01:00
Tommy Verrall a58d3dc6b2 fixing up 2023-02-03 10:12:28 -01:00
Tommy Verrall ece189773d typo on the function 2023-02-03 10:09:00 -01:00
Tommy Verrall de2c3851ee change output 2023-02-03 10:05:18 -01:00
Tommy Verrall 6869de5640 install the binaries from github and run it against specific branch 2023-02-03 09:57:05 -01:00
2 changed files with 117 additions and 26 deletions
+43 -7
View File
@@ -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
+74 -19
View File
@@ -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