mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-20 14:48:43 +05:00
CdrExporter using Value instead CdrFieldId for better flexibility
This commit is contained in:
@@ -142,3 +142,11 @@ func ParseRSRFieldsFromSlice(flds []string) (RSRFields, error) {
|
||||
}
|
||||
|
||||
type RSRFields []*RSRField
|
||||
|
||||
// Return first Id of the rsrFields, used in cdre
|
||||
func (self RSRFields) Id() string {
|
||||
if len(self) == 0 {
|
||||
return ""
|
||||
}
|
||||
return self[0].Id
|
||||
}
|
||||
|
||||
@@ -206,3 +206,18 @@ func TestFilterPasses(t *testing.T) {
|
||||
t.Error("Passing filter")
|
||||
}
|
||||
}
|
||||
|
||||
func TestRSRFieldsId(t *testing.T) {
|
||||
fieldsStr1 := `~account:s/^\w+[mpls]\d{6}$//;~subject:s/^0\d{9}$//;^destination/+4912345/;~mediation_runid:s/^default$/default/`
|
||||
if rsrFlds, err := ParseRSRFields(fieldsStr1, INFIELD_SEP); err != nil {
|
||||
t.Error("Unexpected error: ", err)
|
||||
} else if idRcv := rsrFlds.Id(); idRcv != "account" {
|
||||
t.Errorf("Received id: %s", idRcv)
|
||||
}
|
||||
fieldsStr2 := ""
|
||||
if rsrFlds, err := ParseRSRFields(fieldsStr2, INFIELD_SEP); err != nil {
|
||||
t.Error("Unexpected error: ", err)
|
||||
} else if idRcv := rsrFlds.Id(); idRcv != "" {
|
||||
t.Errorf("Received id: %s", idRcv)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user