Attributes tests in engine

This commit is contained in:
andronache
2021-12-02 17:18:22 +02:00
committed by Dan Christian Bogos
parent 8c04f93a43
commit b6b094391c
2 changed files with 95 additions and 1 deletions

View File

@@ -119,5 +119,4 @@ func TestActionAPDiktatRSRValuesError(t *testing.T) {
if err == nil || err.Error() != expErr {
t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expErr, err)
}
}

View File

@@ -4582,3 +4582,98 @@ func TestAttributesProcessEventSetError(t *testing.T) {
t.Error(err)
}
}
func TestAttributesAttributeServiceV1PrcssEvPrcssRunsGetIntOptsErr(t *testing.T) {
tmp := Cache
defer func() {
Cache = tmp
}()
cfg := config.NewDefaultCGRConfig()
cfg.AttributeSCfg().IndexedSelects = false
data := NewInternalDB(nil, nil, cfg.DataDbCfg().Items)
dm := NewDataManager(data, cfg.CacheCfg(), nil)
filterS := NewFilterS(cfg, nil, dm)
Cache = NewCacheS(cfg, dm, nil)
alS := NewAttributeService(dm, filterS, cfg)
pw := config.NewRSRParsersMustCompile("CGRateS.org", utils.InfieldSep)
ap1 := &AttributeProfile{
Tenant: "cgrates.org",
ID: "ATTR1",
Attributes: []*Attribute{
{
Path: "*req.Password",
Type: utils.MetaConstant,
Value: pw,
},
},
Weight: 10,
}
err = alS.dm.SetAttributeProfile(context.Background(), ap1, true)
if err != nil {
t.Error(err)
}
ev := &utils.CGREvent{
Tenant: "cgrates.org",
ID: "AttrProcessEventMultipleRuns",
Event: map[string]interface{}{},
APIOpts: map[string]interface{}{
utils.OptsAttributesProcessRuns: "errVal",
},
}
reply := &AttrSProcessEventReply{}
exrErr := `strconv.ParseInt: parsing "errVal": invalid syntax`
if err := alS.V1ProcessEvent(context.Background(), ev, reply); err == nil || err.Error() != exrErr {
t.Errorf("\nExpected <%+v>, \nReceived <%+v>", exrErr, err)
}
}
func TestAttributesAttributeServiceV1PrcssEvProfRunsGetIntOptsErr(t *testing.T) {
tmp := Cache
defer func() {
Cache = tmp
}()
cfg := config.NewDefaultCGRConfig()
cfg.AttributeSCfg().IndexedSelects = false
data := NewInternalDB(nil, nil, cfg.DataDbCfg().Items)
dm := NewDataManager(data, cfg.CacheCfg(), nil)
filterS := NewFilterS(cfg, nil, dm)
Cache = NewCacheS(cfg, dm, nil)
alS := NewAttributeService(dm, filterS, cfg)
pw := config.NewRSRParsersMustCompile("CGRateS.org", utils.InfieldSep)
ap1 := &AttributeProfile{
Tenant: "cgrates.org",
ID: "ATTR1",
Attributes: []*Attribute{
{
Path: "*req.Password",
Type: utils.MetaConstant,
Value: pw,
},
},
Weight: 10,
}
err = alS.dm.SetAttributeProfile(context.Background(), ap1, true)
if err != nil {
t.Error(err)
}
ev := &utils.CGREvent{
Tenant: "cgrates.org",
ID: "AttrProcessEventMultipleRuns",
Event: map[string]interface{}{},
APIOpts: map[string]interface{}{
utils.OptsAttributesProfileRuns: "errVal",
},
}
reply := &AttrSProcessEventReply{}
exrErr := `strconv.ParseInt: parsing "errVal": invalid syntax`
if err := alS.V1ProcessEvent(context.Background(), ev, reply); err == nil || err.Error() != exrErr {
t.Errorf("\nExpected <%+v>, \nReceived <%+v>", exrErr, err)
}
}