mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Done testing onEvicted cases
This commit is contained in:
committed by
Dan Christian Bogos
parent
cccbec76b0
commit
e75a5b5acf
@@ -1421,3 +1421,73 @@ func TestErsOnEvictedDumpToJSONInvalidPath(t *testing.T) {
|
||||
t.Error(err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestErsOnEvictedDumpToJSONEncodeErr(t *testing.T) {
|
||||
utils.Logger.SetLogLevel(4)
|
||||
utils.Logger.SetSyslog(nil)
|
||||
|
||||
var buf bytes.Buffer
|
||||
log.SetOutput(&buf)
|
||||
defer func() {
|
||||
log.SetOutput(os.Stderr)
|
||||
}()
|
||||
|
||||
dirPath := "/tmp/TestErsOnEvictedDumpToJSON"
|
||||
err := os.MkdirAll(dirPath, 0755)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
value := &erEvents{
|
||||
events: []*utils.CGREvent{
|
||||
{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "EventErsOnEvicted",
|
||||
Event: map[string]interface{}{
|
||||
utils.AccountField: "1001",
|
||||
utils.Usage: "10s",
|
||||
utils.Category: "call",
|
||||
utils.Destination: "1002",
|
||||
utils.OriginHost: "local",
|
||||
utils.OriginID: "123456",
|
||||
utils.ToR: utils.MetaVoice,
|
||||
utils.CGRID: "1133dc80896edf5049b46aa911cb9085eeb27f4c",
|
||||
utils.Password: "secure_pass",
|
||||
"Additional_Field": "Additional_Value",
|
||||
"EncodeErr": func() {
|
||||
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
rdrCfg: &config.EventReaderCfg{ // CacheDumpFields will be empty
|
||||
ID: "ER1",
|
||||
Type: utils.MetaNone,
|
||||
Opts: map[string]interface{}{
|
||||
utils.PartialCacheActionOpt: utils.MetaDumpToJSON,
|
||||
utils.PartialPathOpt: dirPath,
|
||||
utils.PartialOrderFieldOpt: 2,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
cfg := config.NewDefaultCGRConfig()
|
||||
data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items)
|
||||
dm := engine.NewDataManager(data, cfg.CacheCfg(), nil)
|
||||
fltrS := engine.NewFilterS(cfg, nil, dm)
|
||||
erS := &ERService{
|
||||
cfg: cfg,
|
||||
rdrEvents: make(chan *erEvent, 1),
|
||||
filterS: fltrS,
|
||||
}
|
||||
|
||||
expLog := "error: json: unsupported type: func()"
|
||||
erS.onEvicted("ID_JSON", value)
|
||||
rcvLog := buf.String()[20:]
|
||||
if !strings.Contains(rcvLog, expLog) {
|
||||
t.Errorf("expected <%+v> to be included in: <%+v>", expLog, rcvLog)
|
||||
}
|
||||
utils.Logger.SetLogLevel(0)
|
||||
if err := os.RemoveAll(dirPath); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user