mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
CDRC - allow RunID value on import
This commit is contained in:
@@ -27,14 +27,16 @@ import (
|
||||
"github.com/cgrates/cgrates/utils"
|
||||
)
|
||||
|
||||
func TestCsvRecordForkCdr(t *testing.T) {
|
||||
func TestCsvRecordToCDR(t *testing.T) {
|
||||
cgrConfig, _ := config.NewDefaultCGRConfig()
|
||||
cdrcConfig := cgrConfig.CdrcProfiles["/var/spool/cgrates/cdrc/in"][0]
|
||||
cdrcConfig.CdrSourceId = "TEST_CDRC"
|
||||
cdrcConfig.ContentFields = append(cdrcConfig.ContentFields, &config.CfgCdrField{Tag: "SupplierTest", Type: utils.META_COMPOSED, FieldId: utils.SUPPLIER, Value: []*utils.RSRField{&utils.RSRField{Id: "14"}}})
|
||||
cdrcConfig.ContentFields = append(cdrcConfig.ContentFields, &config.CfgCdrField{Tag: "DisconnectCauseTest", Type: utils.META_COMPOSED, FieldId: utils.DISCONNECT_CAUSE,
|
||||
Value: []*utils.RSRField{&utils.RSRField{Id: "16"}}})
|
||||
//
|
||||
cdrcConfig.ContentFields = append(cdrcConfig.ContentFields, &config.CfgCdrField{Tag: "RunID", Type: utils.META_COMPOSED,
|
||||
FieldId: utils.MEDI_RUNID, Value: utils.ParseRSRFieldsMustCompile("^*default", utils.INFIELD_SEP)})
|
||||
cdrcConfig.ContentFields = append(cdrcConfig.ContentFields, &config.CfgCdrField{Tag: "SupplierTest", Type: utils.META_COMPOSED,
|
||||
FieldId: utils.SUPPLIER, Value: []*utils.RSRField{&utils.RSRField{Id: "14"}}})
|
||||
cdrcConfig.ContentFields = append(cdrcConfig.ContentFields, &config.CfgCdrField{Tag: "DisconnectCauseTest", Type: utils.META_COMPOSED,
|
||||
FieldId: utils.DISCONNECT_CAUSE, Value: []*utils.RSRField{&utils.RSRField{Id: "16"}}})
|
||||
csvProcessor := &CsvRecordsProcessor{dfltCdrcCfg: cdrcConfig, cdrcCfgs: []*config.CdrcConfig{cdrcConfig}}
|
||||
cdrRow := []string{"firstField", "secondField"}
|
||||
_, err := csvProcessor.recordToStoredCdr(cdrRow, cdrcConfig)
|
||||
@@ -49,6 +51,7 @@ func TestCsvRecordForkCdr(t *testing.T) {
|
||||
}
|
||||
expectedCdr := &engine.CDR{
|
||||
CGRID: utils.Sha1(cdrRow[3], time.Date(2013, 2, 3, 19, 50, 0, 0, time.UTC).String()),
|
||||
RunID: "*default",
|
||||
ToR: cdrRow[2],
|
||||
OriginID: cdrRow[3],
|
||||
OriginHost: "0.0.0.0", // Got it over internal interface
|
||||
|
||||
@@ -223,7 +223,7 @@ const CGRATES_CFG_JSON = `
|
||||
{"tag": "Usage", "field_id": "Usage", "type": "*composed", "value": "13", "mandatory": true},
|
||||
],
|
||||
"trailer_fields": [], // template of the import trailer fields
|
||||
"cache_dump_fields": [
|
||||
"cache_dump_fields": [ // template used when dumping cached CDR, eg: partial CDRs
|
||||
{"tag": "CGRID", "type": "*composed", "value": "CGRID"},
|
||||
{"tag": "RunID", "type": "*composed", "value": "RunID"},
|
||||
{"tag": "TOR", "type": "*composed", "value": "ToR"},
|
||||
|
||||
@@ -212,6 +212,8 @@ func (cdr *CDR) ParseFieldValue(fieldId, fieldVal, timezone string) error {
|
||||
}
|
||||
case utils.TOR:
|
||||
cdr.ToR += fieldVal
|
||||
case utils.MEDI_RUNID:
|
||||
cdr.RunID += fieldVal
|
||||
case utils.ACCID:
|
||||
cdr.OriginID += fieldVal
|
||||
case utils.REQTYPE:
|
||||
|
||||
@@ -495,6 +495,11 @@ func TestCDRParseFieldValue(t *testing.T) {
|
||||
} else if cdr.OrderID != 5 {
|
||||
t.Errorf("Received cdr: %+v", cdr)
|
||||
}
|
||||
if err := cdr.ParseFieldValue(utils.MEDI_RUNID, "*default", ""); err != nil {
|
||||
t.Error(err)
|
||||
} else if cdr.RunID != "*default" {
|
||||
t.Errorf("Received cdr: %+v", cdr)
|
||||
}
|
||||
}
|
||||
|
||||
func TestCDRAsExportRecord(t *testing.T) {
|
||||
|
||||
Reference in New Issue
Block a user