From 476f319accb26659aae8ac28772c91e86cf854a4 Mon Sep 17 00:00:00 2001 From: Paul Payne Date: Sat, 16 Aug 2025 08:08:35 -0700 Subject: [PATCH] Updates tests. --- test/README.md | 4 ++-- test/test_common_functions.bats | 10 +++++++--- test/test_config_functions.bats | 26 ++++++++++++++------------ test/test_helper.bash | 2 +- test/test_project_detection.bats | 16 +++++++++++----- 5 files changed, 35 insertions(+), 23 deletions(-) diff --git a/test/README.md b/test/README.md index 28a5ae6..2f9bc09 100644 --- a/test/README.md +++ b/test/README.md @@ -28,8 +28,8 @@ Tests project detection and script execution: ### `test_config_functions.bats` Tests configuration and secret access: -- `get_current_config()` function -- `get_current_secret()` function +- `wild-config` command +- `wild-secret` command - Configuration access from subdirectories - Fixture data usage diff --git a/test/test_common_functions.bats b/test/test_common_functions.bats index 83d1db7..052e0ac 100644 --- a/test/test_common_functions.bats +++ b/test/test_common_functions.bats @@ -36,14 +36,18 @@ teardown() { @test "init_wild_env sets WC_HOME correctly" { mkdir -p "$TEST_PROJECT_DIR/deep/nested" cd "$TEST_PROJECT_DIR/deep/nested" - unset WC_HOME WC_ROOT + unset WC_HOME + export WC_ROOT="$PROJECT_ROOT" + export PATH="$PROJECT_ROOT/bin:$PATH" init_wild_env assert_equal "$WC_HOME" "$TEST_PROJECT_DIR" } @test "init_wild_env sets WC_ROOT correctly" { cd "$TEST_PROJECT_DIR" - unset WC_HOME WC_ROOT + unset WC_HOME + export WC_ROOT="$PROJECT_ROOT" + export PATH="$PROJECT_ROOT/bin:$PATH" init_wild_env # WC_ROOT is set (value depends on test execution context) assert [ -n "$WC_ROOT" ] @@ -58,7 +62,7 @@ teardown() { @test "print functions work correctly" { cd "$TEST_PROJECT_DIR" run bash -c ' - source "$PROJECT_ROOT/bin/wild-common.sh" + source "$PROJECT_ROOT/scripts/common.sh" print_header "Test Header" print_info "Test info message" print_warning "Test warning message" diff --git a/test/test_config_functions.bats b/test/test_config_functions.bats index 39a8399..36bb068 100644 --- a/test/test_config_functions.bats +++ b/test/test_config_functions.bats @@ -15,45 +15,47 @@ teardown() { teardown_test_project "config-test" } -@test "get_current_config with existing config" { - CLUSTER_NAME=$(get_current_config "cluster.name") +@test "wild-config with existing config" { + CLUSTER_NAME=$(wild-config "cluster.name") assert_equal "$CLUSTER_NAME" "test-cluster" } -@test "get_current_config with nested path" { - VIP=$(get_current_config "cluster.nodes.control.vip") +@test "wild-config with nested path" { + VIP=$(wild-config "cluster.nodes.control.vip") assert_equal "$VIP" "192.168.100.200" } -@test "get_current_config with non-existent key" { - NONEXISTENT=$(get_current_config "nonexistent.key") +@test "wild-config with non-existent key" { + NONEXISTENT=$(wild-config "nonexistent.key") assert_equal "$NONEXISTENT" "" } @test "active nodes configuration access - interface" { - CONTROL_NODE_INTERFACE=$(get_current_config "cluster.nodes.active.\"192.168.100.201\".interface") + CONTROL_NODE_INTERFACE=$(wild-config "cluster.nodes.active.\"192.168.100.201\".interface") assert_equal "$CONTROL_NODE_INTERFACE" "eth0" } @test "active nodes configuration access - maintenance IP" { - MAINTENANCE_IP=$(get_current_config "cluster.nodes.active.\"192.168.100.201\".maintenanceIp") + MAINTENANCE_IP=$(wild-config "cluster.nodes.active.\"192.168.100.201\".maintenanceIp") assert_equal "$MAINTENANCE_IP" "192.168.100.131" } -@test "get_current_secret function" { +@test "wild-secret function" { # Create temporary secrets file for testing cp "$TEST_DIR/fixtures/sample-secrets.yaml" "$TEST_PROJECT_DIR/secrets.yaml" - SECRET_VAL=$(get_current_secret "operator.cloudflareApiToken") + SECRET_VAL=$(wild-secret "operator.cloudflareApiToken") assert_equal "$SECRET_VAL" "test_api_token_123456789" } @test "config access from subdirectory" { mkdir -p "$TEST_PROJECT_DIR/config-subdir" cd "$TEST_PROJECT_DIR/config-subdir" - unset WC_HOME WC_ROOT + unset WC_HOME + export WC_ROOT="$PROJECT_ROOT" + export PATH="$PROJECT_ROOT/bin:$PATH" init_wild_env - SUBDIR_CLUSTER=$(get_current_config "cluster.name") + SUBDIR_CLUSTER=$(wild-config "cluster.name") assert_equal "$SUBDIR_CLUSTER" "test-cluster" } \ No newline at end of file diff --git a/test/test_helper.bash b/test/test_helper.bash index a20b720..f7770f6 100644 --- a/test/test_helper.bash +++ b/test/test_helper.bash @@ -29,7 +29,7 @@ setup_test_project() { fi # Source wild-common.sh - source "$PROJECT_ROOT/bin/wild-common.sh" + source "$PROJECT_ROOT/scripts/common.sh" } # Clean up test environment diff --git a/test/test_project_detection.bats b/test/test_project_detection.bats index a59c804..8cb796c 100644 --- a/test/test_project_detection.bats +++ b/test/test_project_detection.bats @@ -59,7 +59,9 @@ teardown() { cd "$TEST_PROJECT_DIR/config-test" # Set up environment like the scripts do - unset WC_HOME WC_ROOT + unset WC_HOME + export WC_ROOT="$PROJECT_ROOT" + export PATH="$PROJECT_ROOT/bin:$PATH" init_wild_env CLUSTER_NAME=$("$PROJECT_ROOT/bin/wild-config" cluster.name 2>/dev/null) @@ -68,8 +70,10 @@ teardown() { @test "environment variables from project root" { cd "$TEST_PROJECT_DIR" - unset WC_HOME WC_ROOT - source "$PROJECT_ROOT/bin/wild-common.sh" + unset WC_HOME + export WC_ROOT="$PROJECT_ROOT" + export PATH="$PROJECT_ROOT/bin:$PATH" + source "$PROJECT_ROOT/scripts/common.sh" init_wild_env assert_equal "$WC_HOME" "$TEST_PROJECT_DIR" @@ -79,8 +83,10 @@ teardown() { @test "environment variables from nested directory" { mkdir -p "$TEST_PROJECT_DIR/deep/very" cd "$TEST_PROJECT_DIR/deep/very" - unset WC_HOME WC_ROOT - source "$PROJECT_ROOT/bin/wild-common.sh" + unset WC_HOME + export WC_ROOT="$PROJECT_ROOT" + export PATH="$PROJECT_ROOT/bin:$PATH" + source "$PROJECT_ROOT/scripts/common.sh" init_wild_env assert_equal "$WC_HOME" "$TEST_PROJECT_DIR"