From 93fa37b20bcf1f1ea9c2bc00af415edb2c08b5b4 Mon Sep 17 00:00:00 2001 From: DanB Date: Sun, 25 May 2014 11:16:52 +0200 Subject: [PATCH] Including TOR field in cdrc, tests fixups --- apier/apier_local_test.go | 3 +++ cdrc/cdrc.go | 4 +++- cdrc/cdrc_test.go | 26 +++++++++++++------------- 3 files changed, 19 insertions(+), 14 deletions(-) diff --git a/apier/apier_local_test.go b/apier/apier_local_test.go index 11adc4753..e017a6262 100644 --- a/apier/apier_local_test.go +++ b/apier/apier_local_test.go @@ -78,6 +78,9 @@ func TestCreateDirs(t *testing.T) { if err := os.RemoveAll(pathDir); err != nil { t.Fatal("Error removing folder: ", pathDir, err) } + if err := os.MkdirAll(pathDir, 0755); err != nil { + t.Fatal("Error creating folder: ", pathDir, err) + } } } diff --git a/cdrc/cdrc.go b/cdrc/cdrc.go index 742011527..fecd52a5e 100644 --- a/cdrc/cdrc.go +++ b/cdrc/cdrc.go @@ -86,7 +86,7 @@ func (self *Cdrc) Run() error { // Takes the record out of csv and turns it into http form which can be posted func (self *Cdrc) recordForkCdr(record []string) (*utils.StoredCdr, error) { - storedCdr := &utils.StoredCdr{TOR: utils.VOICE, CdrSource: self.cdrSourceId, ExtraFields: make(map[string]string), Cost: -1} + storedCdr := &utils.StoredCdr{CdrSource: self.cdrSourceId, ExtraFields: make(map[string]string), Cost: -1} var err error for cfgFieldName, cfgFieldRSR := range self.cdrFields { var fieldVal string @@ -100,6 +100,8 @@ func (self *Cdrc) recordForkCdr(record []string) (*utils.StoredCdr, error) { fieldVal = "UNKNOWN" } switch cfgFieldName { + case utils.TOR: + storedCdr.TOR = fieldVal case utils.ACCID: storedCdr.AccId = fieldVal case utils.REQTYPE: diff --git a/cdrc/cdrc_test.go b/cdrc/cdrc_test.go index 42c06c534..e09866799 100644 --- a/cdrc/cdrc_test.go +++ b/cdrc/cdrc_test.go @@ -30,7 +30,7 @@ import ( func TestRecordForkCdr(t *testing.T) { cgrConfig, _ := config.NewDefaultCGRConfig() - cgrConfig.CdrcCdrFields["supplier"] = &utils.RSRField{Id: "11"} + cgrConfig.CdrcCdrFields["supplier"] = &utils.RSRField{Id: "14"} csvSepRune, _ := utf8.DecodeRune([]byte(cgrConfig.CdrcCsvSep)) cdrc := &Cdrc{cgrConfig.CdrcCdrs, cgrConfig.CdrcCdrType, cgrConfig.CdrcCdrInDir, cgrConfig.CdrcCdrOutDir, cgrConfig.CdrcSourceId, cgrConfig.CdrcRunDelay, csvSepRune, cgrConfig.CdrcCdrFields, new(cdrs.CDRS), nil} @@ -39,24 +39,24 @@ func TestRecordForkCdr(t *testing.T) { if err == nil { t.Error("Failed to corectly detect missing fields from record") } - cdrRow = []string{"acc1", "prepaid", "*out", "cgrates.org", "call", "1001", "1001", "+4986517174963", "2013-02-03 19:50:00", "2013-02-03 19:54:00", "62", - "supplier1", "172.16.1.1"} + cdrRow = []string{"ignored", "ignored", utils.VOICE, "acc1", "prepaid", "*out", "cgrates.org", "call", "1001", "1001", "+4986517174963", + "2013-02-03 19:50:00", "2013-02-03 19:54:00", "62", "supplier1", "172.16.1.1"} rtCdr, err := cdrc.recordForkCdr(cdrRow) if err != nil { t.Error("Failed to parse CDR in rated cdr", err) } expectedCdr := &utils.StoredCdr{ - CgrId: utils.Sha1(cdrRow[0], time.Date(2013, 2, 3, 19, 50, 0, 0, time.UTC).String()), - TOR: utils.VOICE, - AccId: cdrRow[0], + CgrId: utils.Sha1(cdrRow[3], time.Date(2013, 2, 3, 19, 50, 0, 0, time.UTC).String()), + TOR: cdrRow[2], + AccId: cdrRow[3], CdrSource: cgrConfig.CdrcSourceId, - ReqType: cdrRow[1], - Direction: cdrRow[2], - Tenant: cdrRow[3], - Category: cdrRow[4], - Account: cdrRow[5], - Subject: cdrRow[6], - Destination: cdrRow[7], + ReqType: cdrRow[4], + Direction: cdrRow[5], + Tenant: cdrRow[6], + Category: cdrRow[7], + Account: cdrRow[8], + Subject: cdrRow[9], + Destination: cdrRow[10], 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,