mirror of
https://gitlab.alpinelinux.org/alpine/cloud/tiny-cloud.git
synced 2025-12-15 11:22:43 +03:00
Add test for empty or no config
for all providers
This commit is contained in:
parent
f46b6b24d8
commit
468407db05
@ -30,31 +30,20 @@ aws_set_fake_meta() {
|
||||
| tr '/' '_')
|
||||
}
|
||||
|
||||
aws_create_fake_nc() {
|
||||
fake_bin nc <<-EOF
|
||||
#!/bin/sh
|
||||
input="\$(cat)"
|
||||
case "\$input" in
|
||||
-*) echo "nc: bad input: \$input" >&2; exit 1;;
|
||||
esac
|
||||
echo "token-foo"
|
||||
EOF
|
||||
}
|
||||
|
||||
imds_aws_hostname_body() {
|
||||
aws_create_fake_nc
|
||||
fake_netcat
|
||||
aws_set_fake_meta hostname myhostname
|
||||
CLOUD=aws atf_check -o match:"myhostname" imds @hostname
|
||||
}
|
||||
|
||||
imds_aws_local_hostname_body() {
|
||||
aws_create_fake_nc
|
||||
fake_netcat
|
||||
aws_set_fake_meta local-hostname myhostname
|
||||
CLOUD=aws atf_check -o match:"myhostname" imds @local-hostname
|
||||
}
|
||||
|
||||
imds_aws_ssh_keys_body() {
|
||||
aws_create_fake_nc
|
||||
fake_netcat
|
||||
aws_set_fake_meta public-keys 0=testuser
|
||||
aws_set_fake_meta public-keys/0/openssh-key "ssh-ed25519 keydata"
|
||||
|
||||
|
||||
@ -72,3 +72,14 @@ fake_interfaces() {
|
||||
n=$((n+1))
|
||||
done
|
||||
}
|
||||
|
||||
fake_netcat() {
|
||||
fake_bin nc <<-EOF
|
||||
#!/bin/sh
|
||||
input="\$(cat)"
|
||||
case "\$input" in
|
||||
-*) echo "nc: bad input: \$input" >&2; exit 1;;
|
||||
esac
|
||||
echo "token-foo"
|
||||
EOF
|
||||
}
|
||||
|
||||
@ -4,16 +4,66 @@
|
||||
|
||||
export PREFIX="$srcdir"
|
||||
export MOCK=echo
|
||||
PROVIDERS="alpine aws azure gcp nocloud oci"
|
||||
|
||||
init_tests \
|
||||
tiny_cloud_help
|
||||
tiny_cloud_help \
|
||||
no_metadata_early \
|
||||
no_userdata_main \
|
||||
no_userdata_final
|
||||
|
||||
tiny_cloud_help_body() {
|
||||
CLOUD=nocloud atf_check -s not-exit:0 \
|
||||
-e match:"Usage" \
|
||||
tiny-cloud --invalid
|
||||
for provider in $PROVIDERS; do
|
||||
CLOUD="$provider" atf_check -s not-exit:0 \
|
||||
-e match:"Usage" \
|
||||
tiny-cloud --invalid
|
||||
|
||||
CLOUD=nocloud atf_check -s exit:0 \
|
||||
-o match:"Usage" \
|
||||
tiny-cloud --help
|
||||
CLOUD="$provider" atf_check -s exit:0 \
|
||||
-o match:"Usage" \
|
||||
tiny-cloud --help
|
||||
done
|
||||
}
|
||||
|
||||
no_metadata_early_body() {
|
||||
fake_netcat
|
||||
for provider in $PROVIDERS; do
|
||||
# TODO: -e not-match:"UNKNOWN" \
|
||||
CLOUD="$provider" atf_check \
|
||||
-e not-match:"not found" \
|
||||
-e not-match:"o such file" \
|
||||
-o match:"rc-update add.*sshd" \
|
||||
tiny-cloud early
|
||||
done
|
||||
}
|
||||
|
||||
no_userdata_main_body() {
|
||||
fake_netcat
|
||||
for provider in $PROVIDERS; do
|
||||
# we should not set empty hostname
|
||||
# we should not create .ssh dir for non-existing user
|
||||
# TODO: -e not-match:"UNKNOWN" \
|
||||
CLOUD="$provider" atf_check \
|
||||
-e ignore \
|
||||
-o not-match:"hostname.*-F" \
|
||||
-o not-match:"chown.*/\.ssh" \
|
||||
tiny-cloud main
|
||||
for i in etc/hostname .ssh; do
|
||||
if [ -e "$i" ]; then
|
||||
atf_fail "$i should not have been created"
|
||||
fi
|
||||
done
|
||||
done
|
||||
}
|
||||
|
||||
no_userdata_final_body() {
|
||||
fake_netcat
|
||||
for provider in $PROVIDERS; do
|
||||
# TODO: -e not-match:"UNKNOWN" \
|
||||
CLOUD="$provider" atf_check \
|
||||
-e match:"bootstrap_complete .*" \
|
||||
tiny-cloud final
|
||||
CLOUD="$provider" atf_check \
|
||||
-e match:"bootstrap marked.*incomplete" \
|
||||
tiny-cloud --bootstrap incomplete
|
||||
done
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user