2023-10-13 11:54:33 +00:00
|
|
|
package unittest
|
|
|
|
|
|
|
|
import (
|
|
|
|
"os"
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
"github.com/VictoriaMetrics/VictoriaMetrics/app/vmalert/templates"
|
|
|
|
)
|
|
|
|
|
|
|
|
func TestMain(m *testing.M) {
|
|
|
|
if err := templates.Load([]string{}, true); err != nil {
|
|
|
|
os.Exit(1)
|
|
|
|
}
|
|
|
|
os.Exit(m.Run())
|
|
|
|
}
|
|
|
|
|
2024-07-12 19:57:56 +00:00
|
|
|
func TestUnitTest_Failure(t *testing.T) {
|
|
|
|
f := func(files []string) {
|
|
|
|
t.Helper()
|
|
|
|
|
|
|
|
failed := UnitTest(files, false)
|
|
|
|
if !failed {
|
|
|
|
t.Fatalf("expecting failed test")
|
|
|
|
}
|
2023-10-13 11:54:33 +00:00
|
|
|
}
|
2024-07-12 19:57:56 +00:00
|
|
|
|
|
|
|
// failing test
|
|
|
|
f([]string{"./testdata/failed-test.yaml"})
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestUnitTest_Success(t *testing.T) {
|
|
|
|
f := func(disableGroupLabel bool, files []string) {
|
|
|
|
t.Helper()
|
|
|
|
|
|
|
|
failed := UnitTest(files, disableGroupLabel)
|
|
|
|
if failed {
|
|
|
|
t.Fatalf("unexpected failed test")
|
2023-10-13 11:54:33 +00:00
|
|
|
}
|
|
|
|
}
|
2024-07-12 19:57:56 +00:00
|
|
|
|
|
|
|
// run multi files
|
|
|
|
f(false, []string{"./testdata/test1.yaml", "./testdata/test2.yaml"})
|
|
|
|
|
|
|
|
// disable group label
|
|
|
|
f(true, []string{"./testdata/disable-group-label.yaml"})
|
2023-10-13 11:54:33 +00:00
|
|
|
}
|