mirror of
https://gitlab.alpinelinux.org/alpine/cloud/tiny-cloud.git
synced 2025-12-16 11:52: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 '/' '_')
|
| 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() {
|
imds_aws_hostname_body() {
|
||||||
aws_create_fake_nc
|
fake_netcat
|
||||||
aws_set_fake_meta hostname myhostname
|
aws_set_fake_meta hostname myhostname
|
||||||
CLOUD=aws atf_check -o match:"myhostname" imds @hostname
|
CLOUD=aws atf_check -o match:"myhostname" imds @hostname
|
||||||
}
|
}
|
||||||
|
|
||||||
imds_aws_local_hostname_body() {
|
imds_aws_local_hostname_body() {
|
||||||
aws_create_fake_nc
|
fake_netcat
|
||||||
aws_set_fake_meta local-hostname myhostname
|
aws_set_fake_meta local-hostname myhostname
|
||||||
CLOUD=aws atf_check -o match:"myhostname" imds @local-hostname
|
CLOUD=aws atf_check -o match:"myhostname" imds @local-hostname
|
||||||
}
|
}
|
||||||
|
|
||||||
imds_aws_ssh_keys_body() {
|
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=testuser
|
||||||
aws_set_fake_meta public-keys/0/openssh-key "ssh-ed25519 keydata"
|
aws_set_fake_meta public-keys/0/openssh-key "ssh-ed25519 keydata"
|
||||||
|
|
||||||
|
|||||||
@ -72,3 +72,14 @@ fake_interfaces() {
|
|||||||
n=$((n+1))
|
n=$((n+1))
|
||||||
done
|
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 PREFIX="$srcdir"
|
||||||
export MOCK=echo
|
export MOCK=echo
|
||||||
|
PROVIDERS="alpine aws azure gcp nocloud oci"
|
||||||
|
|
||||||
init_tests \
|
init_tests \
|
||||||
tiny_cloud_help
|
tiny_cloud_help \
|
||||||
|
no_metadata_early \
|
||||||
|
no_userdata_main \
|
||||||
|
no_userdata_final
|
||||||
|
|
||||||
tiny_cloud_help_body() {
|
tiny_cloud_help_body() {
|
||||||
CLOUD=nocloud atf_check -s not-exit:0 \
|
for provider in $PROVIDERS; do
|
||||||
|
CLOUD="$provider" atf_check -s not-exit:0 \
|
||||||
-e match:"Usage" \
|
-e match:"Usage" \
|
||||||
tiny-cloud --invalid
|
tiny-cloud --invalid
|
||||||
|
|
||||||
CLOUD=nocloud atf_check -s exit:0 \
|
CLOUD="$provider" atf_check -s exit:0 \
|
||||||
-o match:"Usage" \
|
-o match:"Usage" \
|
||||||
tiny-cloud --help
|
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