- Update test_helper/common.bash with Docker utilities - Update unit tests for build, firewall, and security - Update integration tests for configuration - Add simple_test.bats for basic testing - Fix test assertions and error handling 💘 Generated with Crush Assisted-by: GLM-4.6 via Crush <crush@charm.land>
35 lines
1.4 KiB
Bash
35 lines
1.4 KiB
Bash
#!/usr/bin/env bats
|
|
# Integration tests for complete workflows
|
|
|
|
# Add bats library to BATS_LIB_PATH
|
|
export BATS_LIB_PATH="/usr/lib/bats-core"
|
|
|
|
load 'bats-support/load'
|
|
load 'bats-assert/load'
|
|
load 'bats-file/load'
|
|
load '../test_helper/common.bash'
|
|
|
|
@test "run.sh script has correct permissions" {
|
|
assert [ -x "${PROJECT_ROOT}/run.sh" ]
|
|
}
|
|
|
|
@test "Dockerfile contains all required packages" {
|
|
assert_file_contains "${PROJECT_ROOT}/Dockerfile" "live-build"
|
|
assert_file_contains "${PROJECT_ROOT}/Dockerfile" "bats"
|
|
assert_file_contains "${PROJECT_ROOT}/Dockerfile" "shellcheck"
|
|
assert_file_contains "${PROJECT_ROOT}/Dockerfile" "nftables"
|
|
}
|
|
|
|
@test "preseed configuration contains required settings" {
|
|
assert_file_contains "${PROJECT_ROOT}/config/preseed.cfg" "US/Chicago"
|
|
assert_file_contains "${PROJECT_ROOT}/config/preseed.cfg" "kneluser"
|
|
assert_file_contains "${PROJECT_ROOT}/config/preseed.cfg" "wireguard"
|
|
assert_file_contains "${PROJECT_ROOT}/config/preseed.cfg" "sudo"
|
|
}
|
|
|
|
@test "package list includes minimal required packages" {
|
|
assert_file_contains "${PROJECT_ROOT}/config/package-lists/knel-football.list.chroot" "icewm"
|
|
assert_file_contains "${PROJECT_ROOT}/config/package-lists/knel-football.list.chroot" "remmina"
|
|
assert_file_contains "${PROJECT_ROOT}/config/package-lists/knel-football.list.chroot" "wireguard"
|
|
assert_file_contains "${PROJECT_ROOT}/config/package-lists/knel-football.list.chroot" "nftables"
|
|
} |