diff --git a/internal/model1/helpers.go b/internal/model1/helpers.go index fb0ac597a7..e1664940c5 100644 --- a/internal/model1/helpers.go +++ b/internal/model1/helpers.go @@ -50,7 +50,7 @@ func IsValid(ns string, h Header, r Row) bool { return true } - return strings.TrimSpace(r.Fields[idx]) == "" + return strings.TrimSpace(r.Fields[idx]) == "" || strings.ToLower(strings.TrimSpace(r.Fields[idx])) == "true" } func sortLabels(m map[string]string) (keys, vals []string) { diff --git a/internal/model1/helpers_test.go b/internal/model1/helpers_test.go index 3e6a04272f..f3db189439 100644 --- a/internal/model1/helpers_test.go +++ b/internal/model1/helpers_test.go @@ -53,6 +53,55 @@ func TestLabelize(t *testing.T) { } } +func TestIsValid(t *testing.T) { + + uu := map[string]struct { + ns string + h Header + r Row + e bool + }{ + "empty": { + ns: "blee", + h: Header{}, + r: Row{}, + e: true, + }, + "valid": { + ns: "blee", + h: Header{HeaderColumn{Name: "VALID"}}, + r: Row{Fields: Fields{"true"}}, + e: true, + }, + "invalid": { + ns: "blee", + h: Header{HeaderColumn{Name: "VALID"}}, + r: Row{Fields: Fields{"false"}}, + e: false, + }, + "valid_capital_case": { + ns: "blee", + h: Header{HeaderColumn{Name: "VALID"}}, + r: Row{Fields: Fields{"True"}}, + e: true, + }, + "valid_all_caps": { + ns: "blee", + h: Header{HeaderColumn{Name: "VALID"}}, + r: Row{Fields: Fields{"TRUE"}}, + e: true, + }, + } + + for k, u := range uu { + t.Run(k, func(t *testing.T) { + valid := IsValid(u.ns, u.h, u.r) + assert.Equal(t, u.e, valid) + }) + } + +} + func TestDurationToSecond(t *testing.T) { uu := map[string]struct { s string