1
0
mirror of https://github.com/certbot/certbot.git synced 2026-01-26 07:41:33 +03:00

Test renew and deploy hooks are run properly

This commit is contained in:
Brad Warren
2017-06-30 11:06:51 -04:00
parent 8a664622ea
commit 6dedfa62b6

View File

@@ -52,15 +52,19 @@ CheckHooks() {
if [ $(head -n1 $HOOK_TEST) = "wtf.pre" ]; then
echo "wtf.pre" > "$EXPECTED"
echo "wtf2.pre" >> "$EXPECTED"
echo "renew" >> "$EXPECTED"
echo "renew" >> "$EXPECTED"
echo "deploy" >> "$EXPECTED"
echo "deploy" >> "$EXPECTED"
echo "deploy" >> "$EXPECTED"
echo "deploy" >> "$EXPECTED"
echo "wtf.post" >> "$EXPECTED"
echo "wtf2.post" >> "$EXPECTED"
else
echo "wtf2.pre" > "$EXPECTED"
echo "wtf.pre" >> "$EXPECTED"
echo "renew" >> "$EXPECTED"
echo "renew" >> "$EXPECTED"
echo "deploy" >> "$EXPECTED"
echo "deploy" >> "$EXPECTED"
echo "deploy" >> "$EXPECTED"
echo "deploy" >> "$EXPECTED"
echo "wtf2.post" >> "$EXPECTED"
echo "wtf.post" >> "$EXPECTED"
fi
@@ -74,6 +78,27 @@ CheckHooks() {
rm "$HOOK_TEST"
}
# Checks if deploy was run and deletes the hook file
CheckDeployHook() {
CONTENTS=$(cat "$HOOK_TEST")
rm "$HOOK_TEST"
grep deploy <(echo "$CONTENTS")
}
# Asserts the deploy hook was run and deletes the hook file
AssertDeployHook() {
if ! CheckDeployHook; then
echo "The deploy hook wasn't run" >&2
fi
}
# Asserts the deploy hook wasn't run and deletes the hook file
AssertNoDeployHook() {
if CheckDeployHook; then
echo "The deploy hook was incorrectly run" >&2
fi
}
# Cleanup coverage data
coverage erase
@@ -104,24 +129,33 @@ python_server_pid=$!
common --domains le1.wtf --preferred-challenges tls-sni-01 auth \
--pre-hook 'echo wtf.pre >> "$HOOK_TEST"' \
--post-hook 'echo wtf.post >> "$HOOK_TEST"'\
--renew-hook 'echo renew >> "$HOOK_TEST"'
--deploy-hook 'echo deploy >> "$HOOK_TEST"'
kill $python_server_pid
AssertDeployHook
python ./tests/run_http_server.py $tls_sni_01_port &
python_server_pid=$!
common --domains le2.wtf --preferred-challenges http-01 run \
--pre-hook 'echo wtf.pre >> "$HOOK_TEST"' \
--post-hook 'echo wtf.post >> "$HOOK_TEST"'\
--renew-hook 'echo renew >> "$HOOK_TEST"'
--deploy-hook 'echo deploy >> "$HOOK_TEST"'
kill $python_server_pid
AssertDeployHook
common certonly -a manual -d le.wtf --rsa-key-size 4096 \
--manual-auth-hook ./tests/manual-http-auth.sh \
--manual-cleanup-hook ./tests/manual-http-cleanup.sh \
--pre-hook 'echo wtf2.pre >> "$HOOK_TEST"' \
--post-hook 'echo wtf2.post >> "$HOOK_TEST"'
--post-hook 'echo wtf2.post >> "$HOOK_TEST"' \
--renew-hook 'echo deploy >> "$HOOK_TEST"'
AssertNoDeployHook
common certonly -a manual -d dns.le.wtf --preferred-challenges dns,tls-sni \
--manual-auth-hook ./tests/manual-dns-auth.sh
common -a manual -d dns.le.wtf --preferred-challenges dns,tls-sni run \
--manual-auth-hook ./tests/manual-dns-auth.sh \
--pre-hook 'echo wtf2.pre >> "$HOOK_TEST"' \
--post-hook 'echo wtf2.post >> "$HOOK_TEST"' \
--renew-hook 'echo deploy >> "$HOOK_TEST"'
AssertNoDeployHook
common certonly --cert-name newname -d newname.le.wtf