Add Enterprise tests

This commit is contained in:
Gabriel Adrian Samfira 2022-12-04 17:30:27 +00:00
parent 0869073906
commit cb5baeb547
9 changed files with 640 additions and 141 deletions

View file

@ -21,7 +21,10 @@ import (
"garm/config"
"os"
"path/filepath"
"sort"
"testing"
"github.com/stretchr/testify/require"
)
var (
@ -44,3 +47,42 @@ func GetTestSqliteDBConfig(t *testing.T) config.Database {
},
}
}
type IDDBEntity interface {
GetID() string
}
type NameAndIDDBEntity interface {
IDDBEntity
GetName() string
}
func EqualDBEntityByName[T NameAndIDDBEntity](t *testing.T, expected, actual []T) {
require.Equal(t, len(expected), len(actual))
sort.Slice(expected, func(i, j int) bool { return expected[i].GetName() > expected[j].GetName() })
sort.Slice(actual, func(i, j int) bool { return actual[i].GetName() > actual[j].GetName() })
for i := 0; i < len(expected); i++ {
require.Equal(t, expected[i].GetName(), actual[i].GetName())
}
}
func EqualDBEntityID[T IDDBEntity](t *testing.T, expected, actual []T) {
require.Equal(t, len(expected), len(actual))
sort.Slice(expected, func(i, j int) bool { return expected[i].GetID() > expected[j].GetID() })
sort.Slice(actual, func(i, j int) bool { return actual[i].GetID() > actual[j].GetID() })
for i := 0; i < len(expected); i++ {
require.Equal(t, expected[i].GetID(), actual[i].GetID())
}
}
func DBEntityMapToSlice[T NameAndIDDBEntity](orgs map[string]T) []T {
orgsSlice := []T{}
for _, value := range orgs {
orgsSlice = append(orgsSlice, value)
}
return orgsSlice
}