38 lines
705 B
Go
38 lines
705 B
Go
package filter
|
|
|
|
import (
|
|
"encoding/json"
|
|
"os"
|
|
"path/filepath"
|
|
"testing"
|
|
|
|
"github.com/pkg/errors"
|
|
)
|
|
|
|
func TestFilterFromJSON(t *testing.T) {
|
|
files, err := filepath.Glob("testdata/json/*.json")
|
|
if err != nil {
|
|
t.Fatalf("%+v", errors.WithStack(err))
|
|
}
|
|
|
|
for _, f := range files {
|
|
testName := filepath.Base(f)
|
|
t.Run(testName, func(t *testing.T) {
|
|
data, err := os.ReadFile(f)
|
|
if err != nil {
|
|
t.Fatalf("%+v", errors.WithStack(err))
|
|
}
|
|
|
|
var rawFilter map[string]any
|
|
|
|
if err := json.Unmarshal(data, &rawFilter); err != nil {
|
|
t.Fatalf("%+v", errors.WithStack(err))
|
|
}
|
|
|
|
if _, err := NewFrom(rawFilter); err != nil {
|
|
t.Fatalf("%+v", errors.WithStack(err))
|
|
}
|
|
})
|
|
}
|
|
}
|