docs/buildscripts/testclient.sh

51 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/env bash
set -e
make client
set +e
RANDOMSTRING="$(cat /dev/urandom | env LC_CTYPE=C tr -dc 'a-zA-Z0-9' | fold -w 10 | head -n 1)"
HOST="${REMOTE_SERVER_URL:-https://notary-server:4443}"
REPONAME="docker.com/notary/${RANDOMSTRING}"
OPTS="-c cmd/notary/config.json -d /tmp/${RANDOMSTRING}"
export NOTARY_ROOT_PASSPHRASE=ponies
export NOTARY_TARGETS_PASSPHRASE=ponies
export NOTARY_SNAPSHOT_PASSPHRASE=ponies
echo "Notary Host: ${HOST}"
echo "Repo Name: ${REPONAME}"
echo
rm -rf "/tmp/${RANDOMSTRING}"
iter=0
until (curl -s -S -k "${HOST}")
do
((iter++))
if (( iter > 30 )); then
echo "notary service failed to come up within 30 seconds"
exit 1;
fi
echo "waiting for notary service to come up."
sleep 1
done
set -e
set -x
bin/notary ${OPTS} init ${REPONAME}
bin/notary ${OPTS} delegation add ${REPONAME} targets/releases fixtures/secure.example.com.crt --all-paths
bin/notary ${OPTS} add ${REPONAME} readmetarget README.md
bin/notary ${OPTS} publish ${REPONAME}
bin/notary ${OPTS} delegation list ${REPONAME} | grep targets/releases
cat README.md | bin/notary ${OPTS} verify $REPONAME readmetarget > /test_output/SUCCESS
# Make this file accessible for CI
chmod 777 /test_output/SUCCESS