Files
gitea-ci-library/tests/ci-validate.bats
moilanik baa5e8dac6
CI Feature / Load example-gitea-env.conf to pipeline env (push) Failing after 16s
CI Feature / Bats tests (push) Has been skipped
CI Feature / Cucumber tests (push) Has been skipped
CI Feature / Report Summary (push) Successful in 5s
git-pages siivottu pois, ja secret nimi nyt giteassa REPORTS_PUBLISH_TOKEN
2026-06-28 08:45:35 +03:00

80 lines
1.7 KiB
Bash

#!/usr/bin/env bats
setup() {
export CONF_FILE=$(mktemp)
export CI_CONF_FILE="$CONF_FILE"
}
teardown() {
rm -f "$CONF_FILE"
}
@test "missing config file → exit 1" {
export CI_CONF_FILE="/nonexistent/path/$(date +%s).conf"
run bash scripts/ci-validate.sh
[ "$status" -eq 1 ]
[[ "$output" == *"ERROR"* ]]
}
@test "empty value in config → exit 1" {
cat > "$CONF_FILE" <<EOF
SOME_KEY=
EOF
run bash scripts/ci-validate.sh
[ "$status" -eq 1 ]
[[ "$output" == *"empty"* ]]
}
@test "invalid URL in config → exit 1" {
cat > "$CONF_FILE" <<EOF
API_URL=not-a-url
EOF
run bash scripts/ci-validate.sh
[ "$status" -eq 1 ]
[[ "$output" == *"URL"* ]]
}
@test "missing GITEA_TOKEN secret → exit 1" {
cat > "$CONF_FILE" <<EOF
SOME_KEY=ok
EOF
unset GITEA_TOKEN
run bash scripts/ci-validate.sh
[ "$status" -eq 1 ]
[[ "$output" == *"GITEA_TOKEN"* ]]
}
@test "missing REPORTS_PUBLISH_TOKEN secret → exit 1" {
cat > "$CONF_FILE" <<EOF
SOME_KEY=ok
EOF
export GITEA_TOKEN="sometoken"
unset REPORTS_PUBLISH_TOKEN
run bash scripts/ci-validate.sh
[ "$status" -eq 1 ]
[[ "$output" == *"REPORTS_PUBLISH_TOKEN"* ]]
}
@test "valid config and all secrets → exit 0" {
cat > "$CONF_FILE" <<EOF
API_URL=https://example.com
ANOTHER=https://test.fi
EOF
export GITEA_TOKEN="sometoken"
export REPORTS_PUBLISH_TOKEN="sometoken"
run bash scripts/ci-validate.sh
[ "$status" -eq 0 ]
}
@test "comment and blank lines are ignored → exit 0" {
cat > "$CONF_FILE" <<EOF
# this is a comment
VALID_URL=https://example.com
EOF
export GITEA_TOKEN="sometoken"
export REPORTS_PUBLISH_TOKEN="sometoken"
run bash scripts/ci-validate.sh
[ "$status" -eq 0 ]
}