Completed tests for utils/struct.go

This commit is contained in:
andronache
2020-11-24 10:22:20 +02:00
committed by Dan Christian Bogos
parent 0bbcdfa250
commit 93baba1be1
2 changed files with 146 additions and 4 deletions

View File

@@ -51,11 +51,16 @@ func MissingMapFields(s map[string]interface{}, mandatories []string) []string {
} else {
fld := reflect.ValueOf(fldval)
// sanitize the string fields before checking
if fld.Kind() == reflect.String && fld.CanSet() {
fld.SetString(strings.TrimSpace(fld.String()))
if fld.Kind() == reflect.String {
str := strings.TrimSpace(fld.String())
s[fieldName] = str
if len(str) == 0 {
missing = append(missing, fieldName)
}
continue
//fld.SetString(strings.TrimSpace(fld.String()))
}
if (fld.Kind() == reflect.String && fld.String() == "") ||
((fld.Kind() == reflect.Slice || fld.Kind() == reflect.Map) && fld.Len() == 0) ||
if ((fld.Kind() == reflect.Slice || fld.Kind() == reflect.Map) && fld.Len() == 0) ||
(fld.Kind() == reflect.Int && fld.Int() == 0) {
missing = append(missing, fieldName)
}