From 9966f2bf19293a93de92564ae1f21f20f1b29190 Mon Sep 17 00:00:00 2001 From: DanB Date: Wed, 23 Nov 2016 11:35:51 +0100 Subject: [PATCH] TestCDRAsExportMap --- engine/cdr_test.go | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/engine/cdr_test.go b/engine/cdr_test.go index 94d72ce24..32d28b722 100644 --- a/engine/cdr_test.go +++ b/engine/cdr_test.go @@ -536,3 +536,28 @@ func TestCDRAsExportRecord(t *testing.T) { t.Error("Should give error here, got none.") } } + +func TestCDRAsExportMap(t *testing.T) { + cdr := &CDR{CGRID: utils.Sha1("dsafdsaf", time.Date(2013, 11, 7, 8, 42, 26, 0, time.UTC).String()), OrderID: 123, ToR: utils.VOICE, OriginID: "dsafdsaf", + OriginHost: "192.168.1.1", Source: utils.UNIT_TEST, RequestType: utils.META_RATED, Direction: "*out", + Tenant: "cgrates.org", Category: "call", Account: "1001", Subject: "1001", Destination: "+4986517174963", + SetupTime: time.Date(2013, 11, 7, 8, 42, 20, 0, time.UTC), AnswerTime: time.Date(2013, 11, 7, 8, 42, 26, 0, time.UTC), RunID: utils.DEFAULT_RUNID, + Usage: time.Duration(10) * time.Second, Supplier: "SUPPL1", + ExtraFields: map[string]string{"field_extr1": "val_extr1", "fieldextr2": "valextr2"}, Cost: 1.01, + } + eCDRMp := map[string]string{ + utils.CGRID: cdr.CGRID, + utils.DESTINATION: "004986517174963", + "FieldExtra1": "val_extr1", + } + expFlds := []*config.CfgCdrField{ + &config.CfgCdrField{FieldId: utils.CGRID, Type: utils.META_COMPOSED, Value: utils.ParseRSRFieldsMustCompile(utils.CGRID, utils.INFIELD_SEP)}, + &config.CfgCdrField{FieldId: utils.DESTINATION, Type: utils.META_COMPOSED, Value: utils.ParseRSRFieldsMustCompile("~Destination:s/^\\+(\\d+)$/00${1}/", utils.INFIELD_SEP)}, + &config.CfgCdrField{FieldId: "FieldExtra1", Type: utils.META_COMPOSED, Value: utils.ParseRSRFieldsMustCompile("field_extr1", utils.INFIELD_SEP)}, + } + if cdrMp, err := cdr.AsExportMap(expFlds, false, nil); err != nil { + t.Error(err) + } else if !reflect.DeepEqual(eCDRMp, cdrMp) { + t.Errorf("Expecting: %+v, received: %+v", eCDRMp, cdrMp) + } +}