package tests
import (
"context"
"canmi.net/vane-mock-tests/pkg/env"
"canmi.net/vane-mock-tests/tests/common"
"canmi.net/vane-mock-tests/tests/l4"
"canmi.net/vane-mock-tests/tests/l4p"
"canmi.net/vane-mock-tests/tests/l7"
"canmi.net/vane-mock-tests/tests/mgmt"
)
type TestFunc func(ctx context.Context, s *env.Sandbox) error
type TestCase struct {
ID int
Name string
Description string
Run TestFunc
}
var Registry []TestCase
func Initialize() {
for _, t := range common.GetTests() {
register(t.Name, t.Desc, TestFunc(t.Run))
}
for _, t := range l4.GetTests() {
register(t.Name, t.Desc, TestFunc(t.Run))
}
for _, t := range l4p.GetTests() {
register(t.Name, t.Desc, TestFunc(t.Run))
}
for _, t := range l7.GetTests() {
register(t.Name, t.Desc, TestFunc(t.Run))
}
for _, t := range mgmt.GetTests() {
register(t.Name, t.Desc, TestFunc(t.Run))
}
}
func register(name, desc string, fn TestFunc) {
id := len(Registry) + 1
Registry = append(Registry, TestCase{
ID: id,
Name: name,
Description: desc,
Run: fn,
})
}