From c3c995cb265ad8754f6e54578b686c1cccc79b0d Mon Sep 17 00:00:00 2001 From: ionutboangiu Date: Tue, 6 Jul 2021 13:29:28 +0300 Subject: [PATCH] Check if cache_dump_fields is empty when partialCacheAction is MetaDumpToFile --- config/configsanity.go | 3 +++ config/configsanity_test.go | 9 +++++++++ 2 files changed, 12 insertions(+) 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,