You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.0 KiB
Go
46 lines
1.0 KiB
Go
package gitflamecivalidator
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
)
|
|
|
|
func TestValidateGitLabCIFile(t *testing.T) {
|
|
// Пример корректного (упрощённого) YAML
|
|
validYAML := `
|
|
stages:
|
|
- build
|
|
- test
|
|
jobs:
|
|
build_job:
|
|
stage: build
|
|
script:
|
|
- echo "Building..."
|
|
test_job:
|
|
stage: test
|
|
dependencies: ["build_job"]
|
|
script:
|
|
- echo "Testing..."
|
|
`
|
|
err := ValidateGitLabCIFile(validYAML, ValidationOptions{})
|
|
if err != nil {
|
|
t.Errorf("Ожидали, что ошибок не будет, но возникла: %v", err)
|
|
}
|
|
|
|
// Пример некорректного YAML
|
|
invalidYAML := `
|
|
jobs:
|
|
.hidden_job:
|
|
script:
|
|
- echo "I am hidden"
|
|
# Нет ни одной видимой задачи
|
|
`
|
|
err2 := ValidateGitLabCIFile(invalidYAML, ValidationOptions{})
|
|
if err2 == nil {
|
|
t.Errorf("Ожидали ошибку, но её не было")
|
|
} else {
|
|
fmt.Println("Полученная ошибка (ожидаемо некорректная конфигурация):")
|
|
fmt.Println(err2.Error())
|
|
}
|
|
}
|