diff --git a/engine/attributes_test.go b/engine/attributes_test.go index 4bd0c6962..b837d5d68 100644 --- a/engine/attributes_test.go +++ b/engine/attributes_test.go @@ -1821,3 +1821,33 @@ func BenchmarkAttributeProcessEventVariable(b *testing.B) { } } } + +func TestGetAttributeProfileFromInline(t *testing.T) { + //refresh the DM + if err := dmAtr.DataDB().Flush(""); err != nil { + t.Error(err) + } + Cache.Clear(nil) + if test, err := dmAtr.DataDB().IsDBEmpty(); err != nil { + t.Error(err) + } else if test != true { + t.Errorf("\nExpecting: true got :%+v", test) + } + attrID := "*sum:Field2:10;~NumField;20" + expAttrPrf1 := &AttributeProfile{ + Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, + ID: attrID, + Contexts: []string{utils.META_ANY}, + Attributes: []*Attribute{&Attribute{ + FieldName: "Field2", + Type: utils.MetaSum, + Value: config.NewRSRParsersMustCompile("10;~NumField;20", true, utils.INFIELD_SEP), + }}, + } + attr, err := dm.GetAttributeProfile(config.CgrConfig().GeneralCfg().DefaultTenant, attrID, false, false, "") + if err != nil { + t.Error(err) + } else if !reflect.DeepEqual(expAttrPrf1, attr) { + t.Errorf("Expecting %+v, received: %+v", utils.ToJSON(expAttrPrf1), utils.ToJSON(attr)) + } +} diff --git a/engine/libattributes_test.go b/engine/libattributes_test.go index a5307cfd5..edd3a1577 100644 --- a/engine/libattributes_test.go +++ b/engine/libattributes_test.go @@ -120,3 +120,23 @@ func TestConvertExternalToProfileMissing2(t *testing.T) { } } + +func TestNewAttributeFromInline(t *testing.T) { + attrID := "*sum:Field2:10;~NumField;20" + expAttrPrf1 := &AttributeProfile{ + Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, + ID: attrID, + Contexts: []string{utils.META_ANY}, + Attributes: []*Attribute{&Attribute{ + FieldName: "Field2", + Type: utils.MetaSum, + Value: config.NewRSRParsersMustCompile("10;~NumField;20", true, utils.INFIELD_SEP), + }}, + } + attr, err := NewAttributeFromInline(config.CgrConfig().GeneralCfg().DefaultTenant, attrID) + if err != nil { + t.Error(err) + } else if !reflect.DeepEqual(expAttrPrf1, attr) { + t.Errorf("Expecting %+v, received: %+v", utils.ToJSON(expAttrPrf1), utils.ToJSON(attr)) + } +}