test: add network template tests

This commit is contained in:
ajschroeder
2024-12-09 22:39:52 +00:00
parent 6c313c97d9
commit dbc24c6688
15 changed files with 227 additions and 0 deletions

68
tests/network/test Normal file
View File

@@ -0,0 +1,68 @@
#!/usr/bin/env bats
setup() {
DIR="$( cd "$( dirname "$BATS_TEST_FILENAME" )" >/dev/null 2>&1 && pwd )"
echo "$DIR"
packer init -upgrade "$DIR"
}
teardown() {
rm -f /tmp/tmpfile
}
clean_blank_lines() {
# Remove any blank lines that HCL likes to leave around
awk 'NF' "$1" > /tmp/tmpfile && cat /tmp/tmpfile > "$1"
}
## Test DHCP
###############################################################################
@test "network with Autoinstall using DHCP" {
mkdir -p "$DIR/output/dhcp"
packer build -var-file="$DIR/test-dhcp.pkrvars.hcl" -var "output_folder=$DIR/output/dhcp" -only "autoinstall.*" "$DIR"
run clean_blank_lines "$DIR/output/dhcp/autoinstall"
run diff -u "$DIR/output/dhcp/autoinstall" "$DIR/golden/dhcp-autoinstall"
[ "$status" -eq 0 ]
}
@test "network with Kickstart using DHCP" {
mkdir -p "$DIR/output/dhcp"
packer build -var-file="$DIR/test-dhcp.pkrvars.hcl" -var "output_folder=$DIR/output/dhcp" -only "kickstart.*" "$DIR"
run clean_blank_lines "$DIR/output/dhcp/kickstart"
run diff -u "$DIR/output/dhcp/kickstart" "$DIR/golden/dhcp-kickstart"
[ "$status" -eq 0 ]
}
@test "network with Preseed using DHCP" {
mkdir -p "$DIR/output/dhcp"
packer build -var-file="$DIR/test-dhcp.pkrvars.hcl" -var "output_folder=$DIR/output/dhcp" -only "preseed.*" "$DIR"
run clean_blank_lines "$DIR/output/dhcp/preseed"
run diff -u "$DIR/output/dhcp/preseed" "$DIR/golden/dhcp-preseed"
[ "$status" -eq 0 ]
}
## Test static IP
###############################################################################
@test "network with Autoinstall using static IP" {
mkdir -p "$DIR/output/static"
packer build -var-file="$DIR/test-static.pkrvars.hcl" -var "output_folder=$DIR/output/static" -only "autoinstall.*" "$DIR"
run clean_blank_lines "$DIR/output/static/autoinstall"
run diff -u "$DIR/output/static/autoinstall" "$DIR/golden/static-autoinstall"
[ "$status" -eq 0 ]
}
@test "network with Kickstart using static IP" {
mkdir -p "$DIR/output/static"
packer build -var-file="$DIR/test-static.pkrvars.hcl" -var "output_folder=$DIR/output/static" -only "kickstart.*" "$DIR"
run clean_blank_lines "$DIR/output/static/kickstart"
run diff -u "$DIR/output/static/kickstart" "$DIR/golden/static-kickstart"
[ "$status" -eq 0 ]
}
@test "network with Preseed using static IP" {
mkdir -p "$DIR/output/static"
packer build -var-file="$DIR/test-static.pkrvars.hcl" -var "output_folder=$DIR/output/static" -only "preseed.*" "$DIR"
run clean_blank_lines "$DIR/output/static/preseed"
run diff -u "$DIR/output/static/preseed" "$DIR/golden/static-preseed"
[ "$status" -eq 0 ]
}