abuild/tests/abuild_sign_test

79 lines
1.5 KiB
Plaintext
Executable File

#!/usr/bin/env atf-sh
. $(atf_get_srcdir)/test_env.sh
init_tests \
abuild_sign_help \
abuild_sign_invalid_opt \
abuild_sign_missing_arg \
abuild_sign_installed_missing \
abuild_sign_installed_missing_pub \
abuild_sign_installed_missing_priv \
abuild_sign_installed \
abuild_sign_owner
export ABUILD_SHAREDIR="$(atf_get_srcdir)/.."
init_keys() {
cp -ra "$(atf_get_srcdir)"/testdata/.abuild "$PWD"
}
abuild_sign_help_body() {
atf_check -s exit:0 \
-o match:"Usage:" \
abuild-sign --help
}
abuild_sign_invalid_opt_body() {
atf_check -s exit:2 \
-e match:"Usage:" \
abuild-sign -INVALID
}
abuild_sign_missing_arg_body() {
atf_check -s exit:2 \
-e match:"Usage:" \
abuild-sign
}
abuild_sign_installed_missing_body() {
atf_check -s exit:1 \
-e match:"No private key found" \
abuild-sign --installed
}
abuild_sign_installed_missing_pub_body() {
init_keys
rm .abuild/*.rsa.pub
atf_check -s exit:1 \
-e match:"rsa.pub: File not found" \
abuild-sign --installed
}
abuild_sign_installed_missing_priv_body() {
init_keys
rm .abuild/*.rsa
atf_check -s exit:1 \
-e match:"rsa: File not found" \
abuild-sign --installed
}
abuild_sign_installed_body() {
init_keys
atf_check -s exit:0 \
abuild-sign --installed
}
abuild_sign_owner_body() {
init_keys
echo foo > .PKGINFO
tar -zcf foo.tar.gz .PKGINFO || atf_fail "Failed to create unsigned test archive"
atf_check -s exit:0 \
-e match:"Signed" \
abuild-sign foo.tar.gz
atf_check -s exit:0 \
-o match:"0/0.*\.SIGN\.RSA" \
tar -ztvf foo.tar.gz
}