Files
gitea-ci-library/tests/ci-validate.bats
T
niko c422825bf0
CI / load-config (push) Successful in 16s
CI / feature (push) Has been skipped
ci-cucumber Cucumber tests passed
ci-bats Bats tests
ci-build Build complete
CI / main (push) Successful in 2m23s
pipeline siivous ja testikattavuuden nosto (#9)
Co-authored-by: moilanik <niko.moilanen@tietoevry.com>
Reviewed-on: #9
2026-06-14 03:26:44 +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 GIT_PAGES_PUBLISH_TOKEN secret → exit 1" {
cat > "$CONF_FILE" <<EOF
SOME_KEY=ok
EOF
export GITEA_TOKEN="sometoken"
unset GIT_PAGES_PUBLISH_TOKEN
run bash scripts/ci-validate.sh
[ "$status" -eq 1 ]
[[ "$output" == *"GIT_PAGES_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 GIT_PAGES_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 GIT_PAGES_PUBLISH_TOKEN="sometoken"
run bash scripts/ci-validate.sh
[ "$status" -eq 0 ]
}