mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
CDRC to support supplier, disconnect_cause and pdd as primary fields
This commit is contained in:
@@ -67,6 +67,10 @@ func populateStoredCdrField(cdr *engine.StoredCdr, fieldId, fieldVal string) err
|
||||
if cdr.SetupTime, err = utils.ParseTimeDetectLayout(fieldVal); err != nil {
|
||||
return fmt.Errorf("Cannot parse answer time field with value: %s, err: %s", fieldVal, err.Error())
|
||||
}
|
||||
case utils.PDD:
|
||||
if cdr.Pdd, err = utils.ParseDurationWithSecs(fieldVal); err != nil {
|
||||
return fmt.Errorf("Cannot parse answer time field with value: %s, err: %s", fieldVal, err.Error())
|
||||
}
|
||||
case utils.ANSWER_TIME:
|
||||
if cdr.AnswerTime, err = utils.ParseTimeDetectLayout(fieldVal); err != nil {
|
||||
return fmt.Errorf("Cannot parse answer time field with value: %s, err: %s", fieldVal, err.Error())
|
||||
@@ -75,6 +79,10 @@ func populateStoredCdrField(cdr *engine.StoredCdr, fieldId, fieldVal string) err
|
||||
if cdr.Usage, err = utils.ParseDurationWithSecs(fieldVal); err != nil {
|
||||
return fmt.Errorf("Cannot parse duration field with value: %s, err: %s", fieldVal, err.Error())
|
||||
}
|
||||
case utils.SUPPLIER:
|
||||
cdr.Supplier = fieldVal
|
||||
case utils.DISCONNECT_CAUSE:
|
||||
cdr.DisconnectCause = fieldVal
|
||||
default: // Extra fields will not match predefined so they all show up here
|
||||
cdr.ExtraFields[fieldId] = fieldVal
|
||||
}
|
||||
|
||||
@@ -60,7 +60,8 @@ func TestRecordForkCdr(t *testing.T) {
|
||||
SetupTime: time.Date(2013, 2, 3, 19, 50, 0, 0, time.UTC),
|
||||
AnswerTime: time.Date(2013, 2, 3, 19, 54, 0, 0, time.UTC),
|
||||
Usage: time.Duration(62) * time.Second,
|
||||
ExtraFields: map[string]string{"supplier": "supplier1"},
|
||||
Supplier: "supplier1",
|
||||
ExtraFields: map[string]string{},
|
||||
Cost: -1,
|
||||
}
|
||||
if !reflect.DeepEqual(expectedCdr, rtCdr) {
|
||||
|
||||
Reference in New Issue
Block a user