Browse Source

Move test for failed,warning,error to test_helper, add test for "not found"

pull/550/head
Tim Kimber 6 years ago
parent
commit
23d4d6ae65
No known key found for this signature in database GPG Key ID: 3E1804964E76BD18
17 changed files with 60 additions and 88 deletions
  1. +2
    -6
      test/1-simple-http01.bats
  2. +1
    -3
      test/10-mixed-case-staging.bats
  3. +2
    -6
      test/10-mixed-case.bats
  4. +2
    -6
      test/11-test--install.bats
  5. +1
    -0
      test/11-test-no-domain-storage.bats
  6. +2
    -6
      test/2-simple-dns01-dig.bats
  7. +1
    -4
      test/2-simple-dns01-nslookup.bats
  8. +4
    -0
      test/3-dual-rsa-ecdsa.bats
  9. +2
    -6
      test/4-more-than-10-hosts.bats
  10. +4
    -0
      test/5-secp384-http01.bats
  11. +1
    -0
      test/6-dual-rsa-ecdsa-copy-2-locations.bats
  12. +2
    -6
      test/7-staging-dns01-dig.bats
  13. +2
    -6
      test/7-staging-dns01-nslookup.bats
  14. +4
    -12
      test/8-staging-ecdsa.bats
  15. +3
    -9
      test/9-multiple-domains-dns01.bats
  16. +1
    -3
      test/9-test--all.bats
  17. +26
    -15
      test/test_helper.bash

+ 2
- 6
test/1-simple-http01.bats View File

@ -20,9 +20,7 @@ setup() {
init_getssl init_getssl
create_certificate create_certificate
assert_success assert_success
refute_output --regexp '[Ff][Aa][Ii][Ll][Ee][Dd]'
refute_output --regexp '[Ee][Rr][Rr][Oo][Rr]'
refute_output --regexp '[Ww][Aa][Rr][Nn][Ii][Nn][Gg]'
check_output_for_errors
} }
@ -32,8 +30,6 @@ setup() {
fi fi
run ${CODE_DIR}/getssl -f $GETSSL_HOST run ${CODE_DIR}/getssl -f $GETSSL_HOST
assert_success assert_success
refute_output --regexp '[Ff][Aa][Ii][Ll][Ee][Dd]'
refute_output --regexp '[Ee][Rr][Rr][Oo][Rr]'
refute_output --regexp '[Ww][Aa][Rr][Nn][Ii][Nn][Gg]'
check_output_for_errors
cleanup_environment cleanup_environment
} }

+ 1
- 3
test/10-mixed-case-staging.bats View File

@ -18,7 +18,5 @@ load '/getssl/test/test_helper.bash'
create_certificate create_certificate
assert_success assert_success
refute_output --regexp '[Ff][Aa][Ii][Ll][Ee][Dd]'
refute_output --regexp '[Ee][Rr][Rr][Oo][Rr]'
refute_output --regexp '[Ww][Aa][Rr][Nn][Ii][Nn][Gg]'
check_output_for_errors
} }

+ 2
- 6
test/10-mixed-case.bats View File

@ -23,9 +23,7 @@ setup() {
create_certificate create_certificate
assert_success assert_success
refute_output --regexp '[Ff][Aa][Ii][Ll][Ee][Dd]'
refute_output --regexp '[Ee][Rr][Rr][Oo][Rr]'
refute_output --regexp '[Ww][Aa][Rr][Nn][Ii][Nn][Gg]'
check_output_for_errors
} }
@test "Check that DNS-01 verification works if the domain is not lowercase" { @test "Check that DNS-01 verification works if the domain is not lowercase" {
@ -39,7 +37,5 @@ setup() {
init_getssl init_getssl
create_certificate create_certificate
assert_success assert_success
refute_output --regexp '[Ff][Aa][Ii][Ll][Ee][Dd]'
refute_output --regexp '[Ee][Rr][Rr][Oo][Rr]'
refute_output --regexp '[Ww][Aa][Rr][Nn][Ii][Nn][Gg]'
check_output_for_errors
} }

+ 2
- 6
test/11-test--install.bats View File

@ -32,9 +32,7 @@ setup() {
run ${CODE_DIR}/getssl "$GETSSL_CMD_HOST" run ${CODE_DIR}/getssl "$GETSSL_CMD_HOST"
assert_success assert_success
refute_output --regexp '[Ff][Aa][Ii][Ll][Ee][Dd]'
refute_output --regexp '[Ee][Rr][Rr][Oo][Rr]'
refute_output --regexp '[Ww][Aa][Rr][Nn][Ii][Nn][Gg]'
check_output_for_errors
assert_line 'Verification completed, obtaining certificate.' assert_line 'Verification completed, obtaining certificate.'
assert_line 'Requesting certificate' assert_line 'Requesting certificate'
refute [ -d '$HOME/.getssl' ] refute [ -d '$HOME/.getssl' ]
@ -53,9 +51,7 @@ setup() {
run ${CODE_DIR}/getssl --install "$GETSSL_CMD_HOST" run ${CODE_DIR}/getssl --install "$GETSSL_CMD_HOST"
assert_success assert_success
refute_output --regexp '[Ff][Aa][Ii][Ll][Ee][Dd]'
refute_output --regexp '[Ee][Rr][Rr][Oo][Rr]'
refute_output --regexp '[Ww][Aa][Rr][Nn][Ii][Nn][Gg]'
check_output_for_errors
refute_line 'Verification completed, obtaining certificate.' refute_line 'Verification completed, obtaining certificate.'
refute_line 'Requesting certificate' refute_line 'Requesting certificate'
assert_line --partial 'copying domain certificate to' assert_line --partial 'copying domain certificate to'


+ 1
- 0
test/11-test-no-domain-storage.bats View File

@ -15,5 +15,6 @@ load '/getssl/test/test_helper.bash'
cp "${CODE_DIR}/test/test-config/${CONFIG_FILE}" "${INSTALL_DIR}/.getssl/getssl.cfg" cp "${CODE_DIR}/test/test-config/${CONFIG_FILE}" "${INSTALL_DIR}/.getssl/getssl.cfg"
run ${CODE_DIR}/getssl -a run ${CODE_DIR}/getssl -a
assert_success assert_success
check_output_for_errors
assert_line 'Not going to delete TEMP_DIR ///tmp as it appears to be /tmp' assert_line 'Not going to delete TEMP_DIR ///tmp as it appears to be /tmp'
} }

+ 2
- 6
test/2-simple-dns01-dig.bats View File

@ -22,9 +22,7 @@ setup() {
create_certificate -d create_certificate -d
assert_success assert_success
assert_output --partial "dig" assert_output --partial "dig"
refute_output --regexp '[Ff][Aa][Ii][Ll][Ee][Dd]'
refute_output --regexp '[^:][Ee][Rr][Rr][Oo][Rr][^:]' # don't fail for :error:badNonce
refute_output --regexp '[Ww][Aa][Rr][Nn][Ii][Nn][Gg]'
check_output_for_errors "debug"
} }
@ -35,8 +33,6 @@ setup() {
run ${CODE_DIR}/getssl -d -f $GETSSL_HOST run ${CODE_DIR}/getssl -d -f $GETSSL_HOST
assert_success assert_success
assert_output --partial "dig" assert_output --partial "dig"
refute_output --regexp '[Ff][Aa][Ii][Ll][Ee][Dd]'
refute_output --regexp '[^:][Ee][Rr][Rr][Oo][Rr][^:]' # don't fail for :error:badNonce
refute_output --regexp '[Ww][Aa][Rr][Nn][Ii][Nn][Gg]'
check_output_for_errors "debug"
cleanup_environment cleanup_environment
} }

+ 1
- 4
test/2-simple-dns01-nslookup.bats View File

@ -32,8 +32,5 @@ teardown() {
create_certificate -d create_certificate -d
assert_success assert_success
assert_output --partial "nslookup" assert_output --partial "nslookup"
refute_output --regexp '[Ff][Aa][Ii][Ll][Ee][Dd]'
refute_output --regexp '[^:][Ee][Rr][Rr][Oo][Rr][^:]' # don't fail for :error:badNonce
# don't check for "Warnings:" as there might be a warning message if nslookup doesn't support -debug (alpine/ubuntu)
refute_output --regexp '[Ww][Aa][Rr][Nn][Ii][Nn][Gg][^:]'
check_output_for_errors "debug"
} }

+ 4
- 0
test/3-dual-rsa-ecdsa.bats View File

@ -20,6 +20,7 @@ setup() {
init_getssl init_getssl
create_certificate create_certificate
assert_success assert_success
check_output_for_errors
} }
@ -29,6 +30,7 @@ setup() {
fi fi
run ${CODE_DIR}/getssl -f $GETSSL_HOST run ${CODE_DIR}/getssl -f $GETSSL_HOST
assert_success assert_success
check_output_for_errors
} }
@test "Create dual certificates using DNS-01 verification" { @test "Create dual certificates using DNS-01 verification" {
@ -40,6 +42,7 @@ setup() {
init_getssl init_getssl
create_certificate create_certificate
assert_success assert_success
check_output_for_errors
} }
@ -49,5 +52,6 @@ setup() {
fi fi
run ${CODE_DIR}/getssl -f $GETSSL_HOST run ${CODE_DIR}/getssl -f $GETSSL_HOST
assert_success assert_success
check_output_for_errors
cleanup_environment cleanup_environment
} }

+ 2
- 6
test/4-more-than-10-hosts.bats View File

@ -26,9 +26,7 @@ setup() {
init_getssl init_getssl
create_certificate create_certificate
assert_success assert_success
refute_output --regexp '[Ff][Aa][Ii][Ll][Ee][Dd]'
refute_output --regexp '[Ee][Rr][Rr][Oo][Rr]'
refute_output --regexp '[Ww][Aa][Rr][Nn][Ii][Nn][Gg]'
check_output_for_errors
} }
@ -38,9 +36,7 @@ setup() {
fi fi
run ${CODE_DIR}/getssl -f $GETSSL_HOST run ${CODE_DIR}/getssl -f $GETSSL_HOST
assert_success assert_success
refute_output --regexp '[Ff][Aa][Ii][Ll][Ee][Dd]'
refute_output --regexp '[Ee][Rr][Rr][Oo][Rr]'
refute_output --regexp '[Ww][Aa][Rr][Nn][Ii][Nn][Gg]'
check_output_for_errors
# Remove all the dns aliases # Remove all the dns aliases
cleanup_environment cleanup_environment
for prefix in a b c d e f g h i j k; do for prefix in a b c d e f g h i j k; do


+ 4
- 0
test/5-secp384-http01.bats View File

@ -20,6 +20,7 @@ setup() {
init_getssl init_getssl
create_certificate create_certificate
assert_success assert_success
check_output_for_errors
} }
@ -29,6 +30,7 @@ setup() {
fi fi
run ${CODE_DIR}/getssl -f $GETSSL_HOST run ${CODE_DIR}/getssl -f $GETSSL_HOST
assert_success assert_success
check_output_for_errors
} }
@ -41,6 +43,7 @@ setup() {
init_getssl init_getssl
create_certificate create_certificate
assert_success assert_success
check_output_for_errors
} }
@ -50,4 +53,5 @@ setup() {
fi fi
run ${CODE_DIR}/getssl -f $GETSSL_HOST run ${CODE_DIR}/getssl -f $GETSSL_HOST
assert_success assert_success
check_output_for_errors
} }

+ 1
- 0
test/6-dual-rsa-ecdsa-copy-2-locations.bats View File

@ -32,6 +32,7 @@ teardown() {
init_getssl init_getssl
create_certificate create_certificate
assert_success assert_success
check_output_for_errors
# Check that the RSA chain and key have been copied to both locations # Check that the RSA chain and key have been copied to both locations
assert [ -e "/etc/nginx/pki/domain-chain.crt" ] assert [ -e "/etc/nginx/pki/domain-chain.crt" ]


+ 2
- 6
test/7-staging-dns01-dig.bats View File

@ -16,9 +16,7 @@ load '/getssl/test/test_helper.bash'
init_getssl init_getssl
create_certificate create_certificate
assert_success assert_success
refute_output --regexp '[Ff][Aa][Ii][Ll][Ee][Dd]'
refute_output --regexp '[Ee][Rr][Rr][Oo][Rr]'
refute_output --regexp '[Ww][Aa][Rr][Nn][Ii][Nn][Gg]'
check_output_for_errors
} }
@test "Force renewal of certificate using staging server, dig and DuckDNS" { @test "Force renewal of certificate using staging server, dig and DuckDNS" {
@ -27,8 +25,6 @@ load '/getssl/test/test_helper.bash'
fi fi
run ${CODE_DIR}/getssl -f $GETSSL_HOST run ${CODE_DIR}/getssl -f $GETSSL_HOST
assert_success assert_success
refute_output --regexp '[Ff][Aa][Ii][Ll][Ee][Dd]'
refute_output --regexp '[Ee][Rr][Rr][Oo][Rr]'
refute_output --regexp '[Ww][Aa][Rr][Nn][Ii][Nn][Gg]'
check_output_for_errors
cleanup_environment cleanup_environment
} }

+ 2
- 6
test/7-staging-dns01-nslookup.bats View File

@ -30,9 +30,7 @@ teardown() {
init_getssl init_getssl
create_certificate create_certificate
assert_success assert_success
refute_output --regexp '[Ff][Aa][Ii][Ll][Ee][Dd]'
refute_output --regexp '[Ee][Rr][Rr][Oo][Rr]'
refute_output --regexp '[Ww][Aa][Rr][Nn][Ii][Nn][Gg][^:]' # ignore nslookup warnings
check_output_for_errors "debug"
} }
@ -42,8 +40,6 @@ teardown() {
fi fi
run ${CODE_DIR}/getssl -f $GETSSL_HOST run ${CODE_DIR}/getssl -f $GETSSL_HOST
assert_success assert_success
refute_output --regexp '[Ff][Aa][Ii][Ll][Ee][Dd]'
refute_output --regexp '[Ee][Rr][Rr][Oo][Rr]'
refute_output --regexp '[Ww][Aa][Rr][Nn][Ii][Nn][Gg][^:]' # ignore nslookup warnings
check_output_for_errors "debug"
cleanup_environment cleanup_environment
} }

+ 4
- 12
test/8-staging-ecdsa.bats View File

@ -18,9 +18,7 @@ load '/getssl/test/test_helper.bash'
sed -e 's/rsa/prime256v1/g' < "${CODE_DIR}/test/test-config/${CONFIG_FILE}" > "${INSTALL_DIR}/.getssl/${GETSSL_HOST}/getssl.cfg" sed -e 's/rsa/prime256v1/g' < "${CODE_DIR}/test/test-config/${CONFIG_FILE}" > "${INSTALL_DIR}/.getssl/${GETSSL_HOST}/getssl.cfg"
run ${CODE_DIR}/getssl -d "$GETSSL_HOST" run ${CODE_DIR}/getssl -d "$GETSSL_HOST"
assert_success assert_success
refute_output --regexp '[Ff][Aa][Ii][Ll][Ee][Dd]'
refute_output --regexp '[^:][Ee][Rr][Rr][Oo][Rr][^:]'
refute_output --regexp '[Ww][Aa][Rr][Nn][Ii][Nn][Gg][^:]' # ignore nslookup warnings
check_output_for_errors "debug"
} }
@ -30,9 +28,7 @@ load '/getssl/test/test_helper.bash'
fi fi
run ${CODE_DIR}/getssl -d -f $GETSSL_HOST run ${CODE_DIR}/getssl -d -f $GETSSL_HOST
assert_success assert_success
refute_output --regexp '[Ff][Aa][Ii][Ll][Ee][Dd]'
refute_output --regexp '[^:][Ee][Rr][Rr][Oo][Rr][^:]'
refute_output --regexp '[Ww][Aa][Rr][Nn][Ii][Nn][Gg][^:]' # ignore nslookup warnings
check_output_for_errors "debug"
cleanup_environment cleanup_environment
} }
@ -48,9 +44,7 @@ load '/getssl/test/test_helper.bash'
sed -e 's/rsa/secp384r1/g' < "${CODE_DIR}/test/test-config/${CONFIG_FILE}" > "${INSTALL_DIR}/.getssl/${GETSSL_HOST}/getssl.cfg" sed -e 's/rsa/secp384r1/g' < "${CODE_DIR}/test/test-config/${CONFIG_FILE}" > "${INSTALL_DIR}/.getssl/${GETSSL_HOST}/getssl.cfg"
run ${CODE_DIR}/getssl -d "$GETSSL_HOST" run ${CODE_DIR}/getssl -d "$GETSSL_HOST"
assert_success assert_success
refute_output --regexp '[Ff][Aa][Ii][Ll][Ee][Dd]'
refute_output --regexp '[^:][Ee][Rr][Rr][Oo][Rr][^:]'
refute_output --regexp '[Ww][Aa][Rr][Nn][Ii][Nn][Gg][^:]'
check_output_for_errors "debug"
} }
@ -60,9 +54,7 @@ load '/getssl/test/test_helper.bash'
fi fi
run ${CODE_DIR}/getssl -d -f $GETSSL_HOST run ${CODE_DIR}/getssl -d -f $GETSSL_HOST
assert_success assert_success
refute_output --regexp '[Ff][Aa][Ii][Ll][Ee][Dd]'
refute_output --regexp '[^:][Ee][Rr][Rr][Oo][Rr][^:]'
refute_output --regexp '[Ww][Aa][Rr][Nn][Ii][Nn][Gg][^:]'
check_output_for_errors "debug"
cleanup_environment cleanup_environment
} }


+ 3
- 9
test/9-multiple-domains-dns01.bats View File

@ -25,9 +25,7 @@ setup() {
init_getssl init_getssl
create_certificate create_certificate
assert_success assert_success
refute_output --regexp '[Ff][Aa][Ii][Ll][Ee][Dd]'
refute_output --regexp '[Ee][Rr][Rr][Oo][Rr]'
refute_output --regexp '[Ww][Aa][Rr][Nn][Ii][Nn][Gg]'
check_output_for_errors
} }
@ -38,9 +36,7 @@ setup() {
fi fi
run ${CODE_DIR}/getssl -f $GETSSL_HOST run ${CODE_DIR}/getssl -f $GETSSL_HOST
assert_success assert_success
refute_output --regexp '[Ff][Aa][Ii][Ll][Ee][Dd]'
refute_output --regexp '[Ee][Rr][Rr][Oo][Rr]'
refute_output --regexp '[Ww][Aa][Rr][Nn][Ii][Nn][Gg]'
check_output_for_errors
# Remove all the dns aliases # Remove all the dns aliases
cleanup_environment cleanup_environment
curl --silent -X POST -d '{"host":"getssl.tst"}' http://10.30.50.3:8055/clear-a curl --silent -X POST -d '{"host":"getssl.tst"}' http://10.30.50.3:8055/clear-a
@ -60,7 +56,5 @@ setup() {
init_getssl init_getssl
create_certificate create_certificate
assert_success assert_success
refute_output --regexp '[Ff][Aa][Ii][Ll][Ee][Dd]'
refute_output --regexp '[Ee][Rr][Rr][Oo][Rr]'
refute_output --regexp '[Ww][Aa][Rr][Nn][Ii][Nn][Gg]'
check_output_for_errors
} }

+ 1
- 3
test/9-test--all.bats View File

@ -28,7 +28,5 @@ setup() {
# Check success conditions # Check success conditions
assert_success assert_success
refute_output --regexp '[Ff][Aa][Ii][Ll][Ee][Dd]'
refute_output --regexp '[Ee][Rr][Rr][Oo][Rr]'
refute_output --regexp '[Ww][Aa][Rr][Nn][Ii][Nn][Gg]'
check_output_for_errors
} }

+ 26
- 15
test/test_helper.bash View File

@ -1,23 +1,31 @@
INSTALL_DIR=/root INSTALL_DIR=/root
CODE_DIR=/getssl CODE_DIR=/getssl
setup_environment() {
# One-off test setup
if [[ -d ${INSTALL_DIR}/.getssl ]]; then
rm -r ${INSTALL_DIR}/.getssl
check_output_for_errors() {
refute_output --regexp '[Ff][Aa][Ii][Ll][Ee][Dd]'
# less strict tests if running with debug output
if [ -n "$1" ]; then
# don't fail for :error:badNonce
refute_output --regexp '[^:][Ee][Rr][Rr][Oo][Rr][^:]'
# don't check for "Warnings:" as there might be a warning message if nslookup doesn't support -debug (alpine/ubuntu)
refute_output --regexp '[Ww][Aa][Rr][Nn][Ii][Nn][Gg][^:]'
else
refute_output --regexp '[Ee][Rr][Rr][Oo][Rr]'
refute_output --regexp '[Ww][Aa][Rr][Nn][Ii][Nn][Gg]'
fi fi
curl --silent -X POST -d '{"host":"'"$GETSSL_HOST"'", "addresses":["'"$GETSSL_IP"'"]}' http://10.30.50.3:8055/add-a
cp ${CODE_DIR}/test/test-config/nginx-ubuntu-no-ssl "${NGINX_CONFIG}"
/getssl/test/restart-nginx
refute_output --partial 'not found'
} }
cleanup_environment() { cleanup_environment() {
curl --silent -X POST -d '{"host":"'"$GETSSL_HOST"'"}' http://10.30.50.3:8055/clear-a curl --silent -X POST -d '{"host":"'"$GETSSL_HOST"'"}' http://10.30.50.3:8055/clear-a
} }
create_certificate() {
# Create certificate
cp "${CODE_DIR}/test/test-config/${CONFIG_FILE}" "${INSTALL_DIR}/.getssl/${GETSSL_CMD_HOST}/getssl.cfg"
# shellcheck disable=SC2086
run ${CODE_DIR}/getssl $1 "$GETSSL_CMD_HOST"
}
init_getssl() { init_getssl() {
# Run initialisation (create account key, etc) # Run initialisation (create account key, etc)
@ -26,12 +34,15 @@ init_getssl() {
[ -d "$INSTALL_DIR/.getssl" ] [ -d "$INSTALL_DIR/.getssl" ]
} }
setup_environment() {
# One-off test setup
if [[ -d ${INSTALL_DIR}/.getssl ]]; then
rm -r ${INSTALL_DIR}/.getssl
fi
create_certificate() {
# Create certificate
cp "${CODE_DIR}/test/test-config/${CONFIG_FILE}" "${INSTALL_DIR}/.getssl/${GETSSL_CMD_HOST}/getssl.cfg"
# shellcheck disable=SC2086
run ${CODE_DIR}/getssl $1 "$GETSSL_CMD_HOST"
curl --silent -X POST -d '{"host":"'"$GETSSL_HOST"'", "addresses":["'"$GETSSL_IP"'"]}' http://10.30.50.3:8055/add-a
cp ${CODE_DIR}/test/test-config/nginx-ubuntu-no-ssl "${NGINX_CONFIG}"
/getssl/test/restart-nginx
} }
# start nginx in background on alpine via supervisord # start nginx in background on alpine via supervisord


Loading…
Cancel
Save