diff --git a/config/configsanity.go b/config/configsanity.go index f757498f7..cd67113ac 100644 --- a/config/configsanity.go +++ b/config/configsanity.go @@ -644,6 +644,9 @@ func (cfg *CGRConfig) checkConfigSanity() error { utils.IfaceAsString(fldSep) == utils.EmptyString { return fmt.Errorf("<%s> empty %s for reader with ID: %s", utils.ERs, utils.PartialCSVFieldSepartorOpt, rdr.ID) } + if len(rdr.CacheDumpFields) == 0 { + return fmt.Errorf("<%s> empty %s for reader with ID: %s", utils.ERs, utils.CacheDumpFieldsCfg, rdr.ID) + } } switch rdr.Type { case utils.MetaFileCSV: diff --git a/config/configsanity_test.go b/config/configsanity_test.go index bff2eb32a..4efcdc97e 100644 --- a/config/configsanity_test.go +++ b/config/configsanity_test.go @@ -1818,6 +1818,15 @@ func TestConfigSanityErs(t *testing.T) { t.Errorf("expected: <%v>,\n received: <%v>", expected, err) } + cfg.ersCfg.Readers[0].Opts = map[string]interface{}{ + utils.PartialCacheActionOpt: utils.MetaDumpToFile, + utils.PartialCSVFieldSepartorOpt: utils.FieldsSep, + } + expected = " empty cache_dump_fields for reader with ID: rdrID" + if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected { + t.Errorf("expected: <%v>,\n received: <%v>", expected, err) + } + cfg.ersCfg.Readers[0].Opts = map[string]interface{}{ utils.PartialOrderFieldOpt: "non_empty", utils.PartialCacheActionOpt: utils.MetaDumpToFile,