diff --git a/agents/dmtagent.go b/agents/dmtagent.go index 40f224c0e..e961ed469 100644 --- a/agents/dmtagent.go +++ b/agents/dmtagent.go @@ -150,7 +150,7 @@ func (self DiameterAgent) processCCR(ccr *CCR, reqProcessor *config.DARequestPro } else if ccr.CCRequestType == 4 { err = self.smg.Call("SMGenericV2.ChargeEvent", smgEv.Clone(), &maxUsage) if maxUsage == 0 { - smgEv[utils.USAGE] = 0 // For CDR not to debit + smgEv[utils.Usage] = 0 // For CDR not to debit } } if self.cgrCfg.DiameterAgentCfg().CreateCDR && diff --git a/agents/librad_test.go b/agents/librad_test.go index 0e2948273..0d089707f 100644 --- a/agents/librad_test.go +++ b/agents/librad_test.go @@ -231,7 +231,7 @@ func TestRadReqAsSMGEvent(t *testing.T) { Value: utils.ParseRSRFieldsMustCompile("Ascend-User-Acct-Time", utils.INFIELD_SEP)}, &config.CfgCdrField{Tag: "AnswerTime", FieldId: utils.ANSWER_TIME, Type: utils.META_COMPOSED, Value: utils.ParseRSRFieldsMustCompile("Ascend-User-Acct-Time", utils.INFIELD_SEP)}, - &config.CfgCdrField{Tag: "Usage", FieldId: utils.USAGE, Type: utils.META_HANDLER, HandlerId: MetaUsageDifference, + &config.CfgCdrField{Tag: "Usage", FieldId: utils.Usage, Type: utils.META_HANDLER, HandlerId: MetaUsageDifference, Value: utils.ParseRSRFieldsMustCompile("Event-Timestamp;^|;Ascend-User-Acct-Time", utils.INFIELD_SEP)}, } @@ -247,7 +247,7 @@ func TestRadReqAsSMGEvent(t *testing.T) { utils.Destination: "1002", utils.SETUP_TIME: "1497106115", utils.ANSWER_TIME: "1497106115", - utils.USAGE: "4s", + utils.Usage: "4s", utils.CDRHOST: "127.0.0.1", } diff --git a/agents/radagent.go b/agents/radagent.go index 235942d6e..2f9edc7f3 100644 --- a/agents/radagent.go +++ b/agents/radagent.go @@ -179,7 +179,7 @@ func (ra *RadiusAgent) processRequest(reqProcessor *config.RARequestProcessor, processorVars[MetaCGRError] = err.Error() return } - if reqUsageStr, has := smgEv[utils.USAGE]; !has { // usage was not requested, decide based on 0 + if reqUsageStr, has := smgEv[utils.Usage]; !has { // usage was not requested, decide based on 0 if maxUsage == 0 { reply.Code = radigo.AccessReject } diff --git a/apier/v1/apier_it_test.go b/apier/v1/apier_it_test.go index e613d4f30..b7b84f6fc 100644 --- a/apier/v1/apier_it_test.go +++ b/apier/v1/apier_it_test.go @@ -1357,11 +1357,11 @@ func TestApierCdrServer(t *testing.T) { cdrForm1 := url.Values{utils.ACCID: []string{"dsafdsaf"}, utils.CDRHOST: []string{"192.168.1.1"}, utils.REQTYPE: []string{utils.META_RATED}, utils.TENANT: []string{"cgrates.org"}, utils.CATEGORY: []string{"call"}, utils.Account: []string{"1001"}, utils.SUBJECT: []string{"1001"}, utils.Destination: []string{"1002"}, utils.SETUP_TIME: []string{"2013-11-07T08:42:22Z"}, - utils.ANSWER_TIME: []string{"2013-11-07T08:42:26Z"}, utils.USAGE: []string{"10"}, "field_extr1": []string{"val_extr1"}, "fieldextr2": []string{"valextr2"}} + utils.ANSWER_TIME: []string{"2013-11-07T08:42:26Z"}, utils.Usage: []string{"10"}, "field_extr1": []string{"val_extr1"}, "fieldextr2": []string{"valextr2"}} cdrForm2 := url.Values{utils.ACCID: []string{"adsafdsaf"}, utils.CDRHOST: []string{"192.168.1.1"}, utils.REQTYPE: []string{utils.META_RATED}, utils.TENANT: []string{"cgrates.org"}, utils.CATEGORY: []string{"call"}, utils.Account: []string{"1001"}, utils.SUBJECT: []string{"1001"}, utils.Destination: []string{"1002"}, utils.SETUP_TIME: []string{"2013-11-07T08:42:23Z"}, - utils.ANSWER_TIME: []string{"2013-11-07T08:42:26Z"}, utils.USAGE: []string{"10"}, "field_extr1": []string{"val_extr1"}, "fieldextr2": []string{"valextr2"}} + utils.ANSWER_TIME: []string{"2013-11-07T08:42:26Z"}, utils.Usage: []string{"10"}, "field_extr1": []string{"val_extr1"}, "fieldextr2": []string{"valextr2"}} for _, cdrForm := range []url.Values{cdrForm1, cdrForm2} { cdrForm.Set(utils.CDRSOURCE, utils.TEST_SQL) if _, err := httpClient.PostForm(fmt.Sprintf("http://%s/cdr_http", "127.0.0.1:2080"), cdrForm); err != nil { diff --git a/apier/v1/stats_it_test.go b/apier/v1/stats_it_test.go index 3f97e5636..5c26d5815 100644 --- a/apier/v1/stats_it_test.go +++ b/apier/v1/stats_it_test.go @@ -48,7 +48,7 @@ var evs = []*utils.CGREvent{ Event: map[string]interface{}{ utils.Account: "1001", utils.ANSWER_TIME: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), - utils.USAGE: time.Duration(135 * time.Second), + utils.Usage: time.Duration(135 * time.Second), utils.COST: 123.0}}, &utils.CGREvent{ Tenant: "cgrates.org", @@ -56,14 +56,14 @@ var evs = []*utils.CGREvent{ Event: map[string]interface{}{ utils.Account: "1002", utils.ANSWER_TIME: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), - utils.USAGE: time.Duration(45 * time.Second)}}, + utils.Usage: time.Duration(45 * time.Second)}}, &utils.CGREvent{ Tenant: "cgrates.org", ID: "event3", Event: map[string]interface{}{ utils.Account: "1002", utils.SETUP_TIME: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), - utils.USAGE: 0}}, + utils.Usage: 0}}, } func init() { @@ -176,7 +176,7 @@ func testV1STSProcessEvent(t *testing.T) { Event: map[string]interface{}{ utils.Account: "1001", utils.ANSWER_TIME: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), - utils.USAGE: time.Duration(135 * time.Second), + utils.Usage: time.Duration(135 * time.Second), utils.COST: 123.0, utils.PDD: time.Duration(12 * time.Second)}} if err := stsV1Rpc.Call(utils.StatSv1ProcessEvent, &ev1, &reply); err != nil { @@ -205,7 +205,7 @@ func testV1STSProcessEvent(t *testing.T) { Event: map[string]interface{}{ utils.Account: "1002", utils.ANSWER_TIME: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), - utils.USAGE: time.Duration(45 * time.Second)}} + utils.Usage: time.Duration(45 * time.Second)}} if err := stsV1Rpc.Call(utils.StatSv1ProcessEvent, &ev2, &reply); err != nil { t.Error(err) } else if reply != utils.OK { @@ -217,7 +217,7 @@ func testV1STSProcessEvent(t *testing.T) { Event: map[string]interface{}{ utils.Account: "1002", utils.SETUP_TIME: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), - utils.USAGE: 0}} + utils.Usage: 0}} if err := stsV1Rpc.Call(utils.StatSv1ProcessEvent, &ev3, &reply); err != nil { t.Error(err) } else if reply != utils.OK { diff --git a/apier/v1/suppliers_it_test.go b/apier/v1/suppliers_it_test.go index 31b4466e7..a6f109c81 100644 --- a/apier/v1/suppliers_it_test.go +++ b/apier/v1/suppliers_it_test.go @@ -168,7 +168,7 @@ func testV1SplSGetLeastCostSuppliers(t *testing.T) { utils.SUBJECT: "1001", utils.Destination: "1002", utils.ANSWER_TIME: time.Date(2017, 12, 1, 14, 25, 0, 0, time.UTC), - utils.USAGE: "1m20s", + utils.Usage: "1m20s", }, } eSpls := engine.SortedSuppliers{ diff --git a/apier/v1/thresholds_it_test.go b/apier/v1/thresholds_it_test.go index 4fb328f75..39e5227eb 100644 --- a/apier/v1/thresholds_it_test.go +++ b/apier/v1/thresholds_it_test.go @@ -102,7 +102,7 @@ var tEvs = []*utils.CGREvent{ utils.EventType: utils.ResourceUpdate, utils.Account: "1002", utils.ResourceID: "RES_GRP_1", - utils.USAGE: 10.0}}, + utils.Usage: 10.0}}, &utils.CGREvent{ // hitting THD_RES_1 Tenant: "cgrates.org", ID: "event6", @@ -110,7 +110,7 @@ var tEvs = []*utils.CGREvent{ utils.EventType: utils.ResourceUpdate, utils.Account: "1002", utils.ResourceID: "RES_GRP_1", - utils.USAGE: 10.0}}, + utils.Usage: 10.0}}, &utils.CGREvent{ // hitting THD_RES_1 Tenant: "cgrates.org", ID: "event6", @@ -118,7 +118,7 @@ var tEvs = []*utils.CGREvent{ utils.EventType: utils.ResourceUpdate, utils.Account: "1002", utils.ResourceID: "RES_GRP_1", - utils.USAGE: 10.0}}, + utils.Usage: 10.0}}, &utils.CGREvent{ // hitting THD_CDRS_1 Tenant: "cgrates.org", ID: "cdrev1", @@ -143,7 +143,7 @@ var tEvs = []*utils.CGREvent{ utils.SETUP_TIME: time.Date(2013, 11, 7, 8, 42, 20, 0, time.UTC), utils.PDD: time.Duration(0) * time.Second, utils.ANSWER_TIME: time.Date(2013, 11, 7, 8, 42, 26, 0, time.UTC), - utils.USAGE: time.Duration(10) * time.Second, + utils.Usage: time.Duration(10) * time.Second, utils.SUPPLIER: "SUPPL1", utils.COST: -1.0}}, } diff --git a/cdrc/csv.go b/cdrc/csv.go index 79518bcfe..d6534e6fd 100644 --- a/cdrc/csv.go +++ b/cdrc/csv.go @@ -161,7 +161,7 @@ func (self *CsvRecordsProcessor) recordToStoredCdr(record []string, cdrcCfg *con switch cdrFldCfg.FieldId { case utils.ACCID: cdrFldCfg.Value = utils.ParseRSRFieldsMustCompile("3;1;2", utils.INFIELD_SEP) // in case of flatstore, accounting id is made up out of callid, from_tag and to_tag - case utils.USAGE: + case utils.Usage: cdrFldCfg.Value = utils.ParseRSRFieldsMustCompile(strconv.Itoa(len(record)-1), utils.INFIELD_SEP) // in case of flatstore, last element will be the duration computed by us } diff --git a/cdrc/csv_test.go b/cdrc/csv_test.go index 36fa36340..f86924c41 100644 --- a/cdrc/csv_test.go +++ b/cdrc/csv_test.go @@ -74,7 +74,7 @@ func TestCsvDataMultiplyFactor(t *testing.T) { cdrcConfig := cgrConfig.CdrcProfiles["/var/spool/cgrates/cdrc/in"][0] cdrcConfig.CdrSourceId = "TEST_CDRC" cdrcConfig.ContentFields = []*config.CfgCdrField{&config.CfgCdrField{Tag: "TORField", Type: utils.META_COMPOSED, FieldId: utils.TOR, Value: []*utils.RSRField{&utils.RSRField{Id: "0"}}}, - &config.CfgCdrField{Tag: "UsageField", Type: utils.META_COMPOSED, FieldId: utils.USAGE, Value: []*utils.RSRField{&utils.RSRField{Id: "1"}}}} + &config.CfgCdrField{Tag: "UsageField", Type: utils.META_COMPOSED, FieldId: utils.Usage, Value: []*utils.RSRField{&utils.RSRField{Id: "1"}}}} csvProcessor := &CsvRecordsProcessor{dfltCdrcCfg: cdrcConfig, cdrcCfgs: []*config.CdrcConfig{cdrcConfig}} csvProcessor.cdrcCfgs[0].DataUsageMultiplyFactor = 0 cdrRow := []string{"*data", "1"} diff --git a/cdrc/xml_test.go b/cdrc/xml_test.go index 45bee3d9a..a01fa15c0 100644 --- a/cdrc/xml_test.go +++ b/cdrc/xml_test.go @@ -234,10 +234,10 @@ func TestXMLRPProcess(t *testing.T) { &config.CfgCdrField{Tag: "AnswerTime", Type: utils.META_COMPOSED, FieldId: utils.ANSWER_TIME, Value: utils.ParseRSRFieldsMustCompile("broadWorksCDR>cdrData>basicModule>answerTime", utils.INFIELD_SEP), Mandatory: true}, &config.CfgCdrField{Tag: "Usage", Type: utils.META_HANDLER, - FieldId: utils.USAGE, HandlerId: utils.HandlerSubstractUsage, + FieldId: utils.Usage, HandlerId: utils.HandlerSubstractUsage, Value: utils.ParseRSRFieldsMustCompile("broadWorksCDR>cdrData>basicModule>releaseTime;^|;broadWorksCDR>cdrData>basicModule>answerTime", utils.INFIELD_SEP), Mandatory: true}, - &config.CfgCdrField{Tag: "UsageSeconds", Type: utils.META_COMPOSED, FieldId: utils.USAGE, + &config.CfgCdrField{Tag: "UsageSeconds", Type: utils.META_COMPOSED, FieldId: utils.Usage, Value: utils.ParseRSRFieldsMustCompile("^s", utils.INFIELD_SEP), Mandatory: true}, }, }, diff --git a/config/config_json_test.go b/config/config_json_test.go index 345429cdf..1c3357019 100755 --- a/config/config_json_test.go +++ b/config/config_json_test.go @@ -316,7 +316,7 @@ func TestDfCdreJsonCfgs(t *testing.T) { Layout: utils.StringPointer("2006-01-02T15:04:05Z07:00")}, &CdrFieldJsonCfg{Tag: utils.StringPointer("Usage"), Type: utils.StringPointer(utils.META_COMPOSED), - Value: utils.StringPointer(utils.USAGE)}, + Value: utils.StringPointer(utils.Usage)}, &CdrFieldJsonCfg{Tag: utils.StringPointer("Cost"), Type: utils.StringPointer(utils.META_COMPOSED), Value: utils.StringPointer(utils.COST), @@ -369,7 +369,7 @@ func TestDfCdrcJsonCfg(t *testing.T) { Value: utils.StringPointer("11"), Mandatory: utils.BoolPointer(true)}, &CdrFieldJsonCfg{Tag: utils.StringPointer("AnswerTime"), Field_id: utils.StringPointer(utils.ANSWER_TIME), Type: utils.StringPointer(utils.META_COMPOSED), Value: utils.StringPointer("12"), Mandatory: utils.BoolPointer(true)}, - &CdrFieldJsonCfg{Tag: utils.StringPointer("Usage"), Field_id: utils.StringPointer(utils.USAGE), Type: utils.StringPointer(utils.META_COMPOSED), + &CdrFieldJsonCfg{Tag: utils.StringPointer("Usage"), Field_id: utils.StringPointer(utils.Usage), Type: utils.StringPointer(utils.META_COMPOSED), Value: utils.StringPointer("13"), Mandatory: utils.BoolPointer(true)}, } cacheDumpFields := []*CdrFieldJsonCfg{ @@ -413,7 +413,7 @@ func TestDfCdrcJsonCfg(t *testing.T) { Layout: utils.StringPointer("2006-01-02T15:04:05Z07:00")}, &CdrFieldJsonCfg{Tag: utils.StringPointer("Usage"), Type: utils.StringPointer(utils.META_COMPOSED), - Value: utils.StringPointer(utils.USAGE)}, + Value: utils.StringPointer(utils.Usage)}, &CdrFieldJsonCfg{Tag: utils.StringPointer("Cost"), Type: utils.StringPointer(utils.META_COMPOSED), Value: utils.StringPointer(utils.COST)}, @@ -846,7 +846,7 @@ func TestNewCgrJsonCfgFromFile(t *testing.T) { cdrFields := []*CdrFieldJsonCfg{ &CdrFieldJsonCfg{Field_id: utils.StringPointer(utils.TOR), Value: utils.StringPointer("~7:s/^(voice|data|sms|mms|generic)$/*$1/")}, &CdrFieldJsonCfg{Field_id: utils.StringPointer(utils.ANSWER_TIME), Value: utils.StringPointer("1")}, - &CdrFieldJsonCfg{Field_id: utils.StringPointer(utils.USAGE), Value: utils.StringPointer(`~9:s/^(\d+)$/${1}s/`)}, + &CdrFieldJsonCfg{Field_id: utils.StringPointer(utils.Usage), Value: utils.StringPointer(`~9:s/^(\d+)$/${1}s/`)}, } eCfgCdrc := []*CdrcJsonCfg{ &CdrcJsonCfg{ diff --git a/config/config_test.go b/config/config_test.go index 54875f19c..e3958bcd5 100755 --- a/config/config_test.go +++ b/config/config_test.go @@ -139,7 +139,7 @@ func TestCgrCfgCDRC(t *testing.T) { Value: utils.ParseRSRFieldsMustCompile(utils.ANSWER_TIME, utils.INFIELD_SEP), Layout: "2006-01-02T15:04:05Z07:00"}, &CfgCdrField{Tag: "Usage", Type: utils.META_COMPOSED, - Value: utils.ParseRSRFieldsMustCompile(utils.USAGE, utils.INFIELD_SEP)}, + Value: utils.ParseRSRFieldsMustCompile(utils.Usage, utils.INFIELD_SEP)}, &CfgCdrField{Tag: "Cost", Type: utils.META_COMPOSED, Value: utils.ParseRSRFieldsMustCompile(utils.COST, utils.INFIELD_SEP)}, }, diff --git a/config/configcdrc_test.go b/config/configcdrc_test.go index 8b2f4d953..e29ead313 100644 --- a/config/configcdrc_test.go +++ b/config/configcdrc_test.go @@ -93,7 +93,7 @@ func TestLoadCdrcConfigMultipleFiles(t *testing.T) { Value: utils.ParseRSRFieldsMustCompile("12", utils.INFIELD_SEP), FieldFilter: utils.ParseRSRFieldsMustCompile("", utils.INFIELD_SEP), Width: 0, Strip: "", Padding: "", Layout: "", Mandatory: true}, - &CfgCdrField{Tag: "Usage", Type: utils.META_COMPOSED, FieldId: utils.USAGE, + &CfgCdrField{Tag: "Usage", Type: utils.META_COMPOSED, FieldId: utils.Usage, Value: utils.ParseRSRFieldsMustCompile("13", utils.INFIELD_SEP), FieldFilter: utils.ParseRSRFieldsMustCompile("", utils.INFIELD_SEP), Width: 0, Strip: "", Padding: "", Layout: "", Mandatory: true}, @@ -125,7 +125,7 @@ func TestLoadCdrcConfigMultipleFiles(t *testing.T) { &CfgCdrField{Tag: "AnswerTime", Type: utils.META_COMPOSED, Value: utils.ParseRSRFieldsMustCompile(utils.ANSWER_TIME, utils.INFIELD_SEP), Layout: "2006-01-02T15:04:05Z07:00"}, &CfgCdrField{Tag: "Usage", Type: utils.META_COMPOSED, - Value: utils.ParseRSRFieldsMustCompile(utils.USAGE, utils.INFIELD_SEP)}, + Value: utils.ParseRSRFieldsMustCompile(utils.Usage, utils.INFIELD_SEP)}, &CfgCdrField{Tag: "Cost", Type: utils.META_COMPOSED, Value: utils.ParseRSRFieldsMustCompile(utils.COST, utils.INFIELD_SEP)}, }, @@ -190,7 +190,7 @@ func TestLoadCdrcConfigMultipleFiles(t *testing.T) { Value: utils.ParseRSRFieldsMustCompile("12", utils.INFIELD_SEP), FieldFilter: utils.ParseRSRFieldsMustCompile("", utils.INFIELD_SEP), Width: 0, Strip: "", Padding: "", Layout: "", Mandatory: true}, - &CfgCdrField{Tag: "Usage", Type: utils.META_COMPOSED, FieldId: utils.USAGE, + &CfgCdrField{Tag: "Usage", Type: utils.META_COMPOSED, FieldId: utils.Usage, Value: utils.ParseRSRFieldsMustCompile("13", utils.INFIELD_SEP), FieldFilter: utils.ParseRSRFieldsMustCompile("", utils.INFIELD_SEP), Width: 0, Strip: "", Padding: "", Layout: "", Mandatory: true}, @@ -222,7 +222,7 @@ func TestLoadCdrcConfigMultipleFiles(t *testing.T) { &CfgCdrField{Tag: "AnswerTime", Type: utils.META_COMPOSED, Value: utils.ParseRSRFieldsMustCompile(utils.ANSWER_TIME, utils.INFIELD_SEP), Layout: "2006-01-02T15:04:05Z07:00"}, &CfgCdrField{Tag: "Usage", Type: utils.META_COMPOSED, - Value: utils.ParseRSRFieldsMustCompile(utils.USAGE, utils.INFIELD_SEP)}, + Value: utils.ParseRSRFieldsMustCompile(utils.Usage, utils.INFIELD_SEP)}, &CfgCdrField{Tag: "Cost", Type: utils.META_COMPOSED, Value: utils.ParseRSRFieldsMustCompile(utils.COST, utils.INFIELD_SEP)}, }, @@ -255,7 +255,7 @@ func TestLoadCdrcConfigMultipleFiles(t *testing.T) { Value: utils.ParseRSRFieldsMustCompile("1", utils.INFIELD_SEP), FieldFilter: utils.ParseRSRFieldsMustCompile("", utils.INFIELD_SEP), Width: 0, Strip: "", Padding: "", Layout: "", Mandatory: false}, - &CfgCdrField{FieldId: utils.USAGE, + &CfgCdrField{FieldId: utils.Usage, Value: utils.ParseRSRFieldsMustCompile("~9:s/^(\\d+)$/${1}s/", utils.INFIELD_SEP), FieldFilter: utils.ParseRSRFieldsMustCompile("", utils.INFIELD_SEP), Width: 0, Strip: "", Padding: "", Layout: "", Mandatory: false}, @@ -289,7 +289,7 @@ func TestLoadCdrcConfigMultipleFiles(t *testing.T) { Value: utils.ParseRSRFieldsMustCompile(utils.ANSWER_TIME, utils.INFIELD_SEP), Layout: "2006-01-02T15:04:05Z07:00"}, &CfgCdrField{Tag: "Usage", Type: utils.META_COMPOSED, - Value: utils.ParseRSRFieldsMustCompile(utils.USAGE, utils.INFIELD_SEP)}, + Value: utils.ParseRSRFieldsMustCompile(utils.Usage, utils.INFIELD_SEP)}, &CfgCdrField{Tag: "Cost", Type: utils.META_COMPOSED, Value: utils.ParseRSRFieldsMustCompile(utils.COST, utils.INFIELD_SEP)}, }, @@ -354,7 +354,7 @@ func TestLoadCdrcConfigMultipleFiles(t *testing.T) { Value: utils.ParseRSRFieldsMustCompile("12", utils.INFIELD_SEP), FieldFilter: utils.ParseRSRFieldsMustCompile("", utils.INFIELD_SEP), Width: 0, Strip: "", Padding: "", Layout: "", Mandatory: true}, - &CfgCdrField{Tag: "Usage", Type: utils.META_COMPOSED, FieldId: utils.USAGE, + &CfgCdrField{Tag: "Usage", Type: utils.META_COMPOSED, FieldId: utils.Usage, Value: utils.ParseRSRFieldsMustCompile("13", utils.INFIELD_SEP), FieldFilter: utils.ParseRSRFieldsMustCompile("", utils.INFIELD_SEP), Width: 0, Strip: "", Padding: "", Layout: "", Mandatory: true}, @@ -388,7 +388,7 @@ func TestLoadCdrcConfigMultipleFiles(t *testing.T) { Value: utils.ParseRSRFieldsMustCompile(utils.ANSWER_TIME, utils.INFIELD_SEP), Layout: "2006-01-02T15:04:05Z07:00"}, &CfgCdrField{Tag: "Usage", Type: utils.META_COMPOSED, - Value: utils.ParseRSRFieldsMustCompile(utils.USAGE, utils.INFIELD_SEP)}, + Value: utils.ParseRSRFieldsMustCompile(utils.Usage, utils.INFIELD_SEP)}, &CfgCdrField{Tag: "Cost", Type: utils.META_COMPOSED, Value: utils.ParseRSRFieldsMustCompile(utils.COST, utils.INFIELD_SEP)}, }, diff --git a/engine/calldesc.go b/engine/calldesc.go index 71d5be949..367e273ba 100755 --- a/engine/calldesc.go +++ b/engine/calldesc.go @@ -180,7 +180,7 @@ func (cd *CallDescriptor) AsCGREvent() *utils.CGREvent { cgrEv.Event[utils.SUBJECT] = cd.Subject cgrEv.Event[utils.Destination] = cd.Destination cgrEv.Event[utils.ANSWER_TIME] = cd.TimeStart - cgrEv.Event[utils.USAGE] = cd.TimeEnd.Sub(cd.TimeStart) + cgrEv.Event[utils.Usage] = cd.TimeEnd.Sub(cd.TimeStart) return cgrEv } @@ -218,7 +218,7 @@ func (cd *CallDescriptor) UpdateFromCGREvent(cgrEv *utils.CGREvent, fields []str if cd.TimeStart, err = cgrEv.FieldAsTime(fldName, config.CgrConfig().DefaultTimezone); err != nil { return } - case utils.USAGE: + case utils.Usage: usage, err := cgrEv.FieldAsDuration(fldName) if err != nil { return err diff --git a/engine/cdr.go b/engine/cdr.go index a136fcbd1..3635e813e 100644 --- a/engine/cdr.go +++ b/engine/cdr.go @@ -174,7 +174,7 @@ func (cdr *CDR) FieldAsString(rsrFld *utils.RSRField) string { return rsrFld.ParseValue(cdr.SetupTime.Format(time.RFC3339)) case utils.ANSWER_TIME: return rsrFld.ParseValue(cdr.AnswerTime.Format(time.RFC3339)) - case utils.USAGE: + case utils.Usage: return cdr.Usage.String() case utils.MEDI_RUNID: return rsrFld.ParseValue(cdr.RunID) @@ -227,7 +227,7 @@ func (cdr *CDR) ParseFieldValue(fieldId, fieldVal, timezone string) error { if cdr.AnswerTime, err = utils.ParseTimeDetectLayout(fieldVal, timezone); err != nil { return fmt.Errorf("Cannot parse answer time field with value: %s, err: %s", fieldVal, err.Error()) } - case utils.USAGE: + case utils.Usage: if cdr.Usage, err = utils.ParseDurationWithNanosecs(fieldVal); err != nil { return fmt.Errorf("Cannot parse duration field with value: %s, err: %s", fieldVal, err.Error()) } @@ -318,7 +318,7 @@ func (cdr *CDR) ForkCdr(runId string, RequestTypeFld, tenantFld, categFld, accou durationFld, _ = utils.NewRSRField(utils.META_DEFAULT) } if durationFld.Id == utils.META_DEFAULT { - durationFld.Id = utils.USAGE + durationFld.Id = utils.Usage } if ratedFld == nil { ratedFld, _ = utils.NewRSRField(utils.META_DEFAULT) @@ -379,7 +379,7 @@ func (cdr *CDR) ForkCdr(runId string, RequestTypeFld, tenantFld, categFld, accou } durStr := cdr.FieldAsString(durationFld) if primaryMandatory && len(durStr) == 0 { - return nil, utils.NewErrMandatoryIeMissing(utils.USAGE, durationFld.Id) + return nil, utils.NewErrMandatoryIeMissing(utils.Usage, durationFld.Id) } else if frkStorCdr.Usage, err = utils.ParseDurationWithNanosecs(durStr); err != nil { return nil, err } @@ -545,7 +545,7 @@ func (cdr *CDR) GetEndTime(fieldName, timezone string) (time.Time, error) { return cdr.AnswerTime.Add(cdr.Usage), nil } func (cdr *CDR) GetDuration(fieldName string) (time.Duration, error) { - if utils.IsSliceMember([]string{utils.USAGE, utils.META_DEFAULT, ""}, fieldName) { + if utils.IsSliceMember([]string{utils.Usage, utils.META_DEFAULT, ""}, fieldName) { return cdr.Usage, nil } var durVal string @@ -620,7 +620,7 @@ func (cdr *CDR) exportFieldValue(cfgCdrFld *config.CfgCdrField) (string, error) switch rsrFld.Id { case utils.COST: cdrVal = cdr.FormatCost(cfgCdrFld.CostShiftDigits, cfgCdrFld.RoundingDecimals) - case utils.USAGE: + case utils.Usage: cdrVal = cdr.FormatUsage(cfgCdrFld.Layout) case utils.SETUP_TIME: cdrVal = cdr.SetupTime.Format(cfgCdrFld.Layout) @@ -715,7 +715,7 @@ func (cdr *CDR) AsMapStringIface() (mp map[string]interface{}, err error) { mp[utils.Destination] = cdr.Destination mp[utils.SETUP_TIME] = cdr.SetupTime mp[utils.ANSWER_TIME] = cdr.AnswerTime - mp[utils.USAGE] = cdr.Usage + mp[utils.Usage] = cdr.Usage mp[utils.CostSource] = cdr.CostSource mp[utils.COST] = cdr.Cost mp[utils.COST_DETAILS] = cdr.CostDetails @@ -849,7 +849,7 @@ func (cdr *CDR) UpdateFromCGREvent(cgrEv *utils.CGREvent, fields []string) (err if cdr.AnswerTime, err = cgrEv.FieldAsTime(fldName, config.CgrConfig().DefaultTimezone); err != nil { return } - case utils.USAGE: + case utils.Usage: if cdr.Usage, err = cgrEv.FieldAsDuration(fldName); err != nil { return } diff --git a/engine/cdr_test.go b/engine/cdr_test.go index f48061164..224d32fe3 100644 --- a/engine/cdr_test.go +++ b/engine/cdr_test.go @@ -98,7 +98,7 @@ func TestFieldAsString(t *testing.T) { cdr.FieldAsString(&utils.RSRField{Id: utils.Destination}) != cdr.Destination || cdr.FieldAsString(&utils.RSRField{Id: utils.SETUP_TIME}) != cdr.SetupTime.Format(time.RFC3339) || cdr.FieldAsString(&utils.RSRField{Id: utils.ANSWER_TIME}) != cdr.AnswerTime.Format(time.RFC3339) || - cdr.FieldAsString(&utils.RSRField{Id: utils.USAGE}) != "10s" || + cdr.FieldAsString(&utils.RSRField{Id: utils.Usage}) != "10s" || cdr.FieldAsString(&utils.RSRField{Id: utils.MEDI_RUNID}) != cdr.RunID || cdr.FieldAsString(&utils.RSRField{Id: utils.COST}) != "1.01" || cdr.FieldAsString(&utils.RSRField{Id: "field_extr1"}) != cdr.ExtraFields["field_extr1"] || @@ -118,7 +118,7 @@ func TestFieldAsString(t *testing.T) { cdr.FieldAsString(&utils.RSRField{Id: utils.Destination}) != cdr.Destination, cdr.FieldAsString(&utils.RSRField{Id: utils.SETUP_TIME}) != cdr.SetupTime.Format(time.RFC3339), cdr.FieldAsString(&utils.RSRField{Id: utils.ANSWER_TIME}) != cdr.AnswerTime.Format(time.RFC3339), - cdr.FieldAsString(&utils.RSRField{Id: utils.USAGE}) != "10s", + cdr.FieldAsString(&utils.RSRField{Id: utils.Usage}) != "10s", cdr.FieldAsString(&utils.RSRField{Id: utils.MEDI_RUNID}) != cdr.RunID, cdr.FieldAsString(&utils.RSRField{Id: utils.COST}) != "1.01", cdr.FieldAsString(&utils.RSRField{Id: "field_extr1"}) != cdr.ExtraFields["field_extr1"], @@ -258,8 +258,8 @@ func TestCDRAsHttpForm(t *testing.T) { if cdrForm.Get(utils.ANSWER_TIME) != "2013-11-07T08:42:26Z" { t.Errorf("Expected: %s, received: %s", "2013-11-07T08:42:26Z", cdrForm.Get(utils.ANSWER_TIME)) } - if cdrForm.Get(utils.USAGE) != "10" { - t.Errorf("Expected: %s, received: %s", "10", cdrForm.Get(utils.USAGE)) + if cdrForm.Get(utils.Usage) != "10" { + t.Errorf("Expected: %s, received: %s", "10", cdrForm.Get(utils.Usage)) } if cdrForm.Get(utils.SUPPLIER) != "SUPPL1" { t.Errorf("Expected: %s, received: %s", "1001", cdrForm.Get(utils.SUPPLIER)) @@ -284,7 +284,7 @@ func TestCDRForkCdr(t *testing.T) { ExtraFields: map[string]string{"field_extr1": "val_extr1", "field_extr2": "valextr2"}} rtSampleCdrOut, err := storCdr.ForkCdr("sample_run1", &utils.RSRField{Id: utils.REQTYPE}, &utils.RSRField{Id: utils.TENANT}, &utils.RSRField{Id: utils.CATEGORY}, &utils.RSRField{Id: utils.Account}, &utils.RSRField{Id: utils.SUBJECT}, &utils.RSRField{Id: utils.Destination}, - &utils.RSRField{Id: utils.SETUP_TIME}, &utils.RSRField{Id: utils.ANSWER_TIME}, &utils.RSRField{Id: utils.USAGE}, + &utils.RSRField{Id: utils.SETUP_TIME}, &utils.RSRField{Id: utils.ANSWER_TIME}, &utils.RSRField{Id: utils.Usage}, &utils.RSRField{Id: utils.RATED_FLD}, &utils.RSRField{Id: utils.COST}, []*utils.RSRField{&utils.RSRField{Id: "field_extr1"}, &utils.RSRField{Id: "field_extr2"}}, true, "") if err != nil { @@ -343,7 +343,7 @@ func TestCDRForkCdrStaticVals(t *testing.T) { _, err = storCdr.ForkCdr("wholesale_run", &utils.RSRField{Id: "dummy_header"}, &utils.RSRField{Id: utils.TENANT}, &utils.RSRField{Id: utils.TOR}, &utils.RSRField{Id: utils.Account}, &utils.RSRField{Id: utils.SUBJECT}, &utils.RSRField{Id: utils.Destination}, - &utils.RSRField{Id: utils.SETUP_TIME}, &utils.RSRField{Id: utils.ANSWER_TIME}, &utils.RSRField{Id: utils.USAGE}, + &utils.RSRField{Id: utils.SETUP_TIME}, &utils.RSRField{Id: utils.ANSWER_TIME}, &utils.RSRField{Id: utils.Usage}, &utils.RSRField{Id: utils.RATED_FLD}, &utils.RSRField{Id: utils.COST}, []*utils.RSRField{}, true, "") if err == nil { t.Error("Failed to detect missing header") @@ -572,7 +572,7 @@ func TestCDRAsMapStringIface(t *testing.T) { utils.Destination: "+4986517174963", utils.SETUP_TIME: time.Date(2013, 11, 7, 8, 42, 20, 0, time.UTC), utils.ANSWER_TIME: time.Date(2013, 11, 7, 8, 42, 26, 0, time.UTC), - utils.USAGE: time.Duration(10) * time.Second, + utils.Usage: time.Duration(10) * time.Second, utils.CostSource: cdr.CostSource, utils.COST: 1.01, utils.COST_DETAILS: cdr.CostDetails, diff --git a/engine/cdrefwv_test.go b/engine/cdrefwv_test.go index 34ed4ee80..7025ae4d6 100644 --- a/engine/cdrefwv_test.go +++ b/engine/cdrefwv_test.go @@ -73,7 +73,7 @@ var contentJsnCfgFlds = []*config.CdrFieldJsonCfg{ Padding: utils.StringPointer("right")}, &config.CdrFieldJsonCfg{Tag: utils.StringPointer("SetupTime"), Type: utils.StringPointer(utils.META_COMPOSED), Value: utils.StringPointer(utils.SETUP_TIME), Width: utils.IntPointer(12), Strip: utils.StringPointer("right"), Padding: utils.StringPointer("right"), Layout: utils.StringPointer("020106150400")}, - &config.CdrFieldJsonCfg{Tag: utils.StringPointer("Duration"), Type: utils.StringPointer(utils.META_COMPOSED), Value: utils.StringPointer(utils.USAGE), Width: utils.IntPointer(6), + &config.CdrFieldJsonCfg{Tag: utils.StringPointer("Duration"), Type: utils.StringPointer(utils.META_COMPOSED), Value: utils.StringPointer(utils.Usage), Width: utils.IntPointer(6), Strip: utils.StringPointer("right"), Padding: utils.StringPointer("right"), Layout: utils.StringPointer(utils.SECONDS)}, &config.CdrFieldJsonCfg{Tag: utils.StringPointer("DataVolume"), Type: utils.StringPointer(utils.META_FILLER), Width: utils.IntPointer(6)}, &config.CdrFieldJsonCfg{Tag: utils.StringPointer("TaxCode"), Type: utils.StringPointer(utils.META_CONSTANT), Value: utils.StringPointer("1"), Width: utils.IntPointer(1)}, diff --git a/engine/cgrcdr.go b/engine/cgrcdr.go index 1c8c37b7b..78e0eba9f 100644 --- a/engine/cgrcdr.go +++ b/engine/cgrcdr.go @@ -73,7 +73,7 @@ func (cgrCdr CgrCdr) AsCDR(timezone string) *CDR { storCdr.Destination = cgrCdr[utils.Destination] storCdr.SetupTime, _ = utils.ParseTimeDetectLayout(cgrCdr[utils.SETUP_TIME], timezone) // Not interested to process errors, should do them if necessary in a previous step storCdr.AnswerTime, _ = utils.ParseTimeDetectLayout(cgrCdr[utils.ANSWER_TIME], timezone) - storCdr.Usage, _ = utils.ParseDurationWithNanosecs(cgrCdr[utils.USAGE]) + storCdr.Usage, _ = utils.ParseDurationWithNanosecs(cgrCdr[utils.Usage]) storCdr.ExtraFields = cgrCdr.getExtraFields() storCdr.Cost = -1 if costStr, hasIt := cgrCdr[utils.COST]; hasIt { diff --git a/engine/cgrcdr_test.go b/engine/cgrcdr_test.go index 4ad71a838..fec33f8a6 100644 --- a/engine/cgrcdr_test.go +++ b/engine/cgrcdr_test.go @@ -38,7 +38,7 @@ func TestCgrCdrAsCDR(t *testing.T) { utils.TENANT: "cgrates.org", utils.CATEGORY: "call", utils.Account: "1001", utils.SUBJECT: "1001", utils.Destination: "1002", utils.SETUP_TIME: "2013-11-07T08:42:20Z", utils.ANSWER_TIME: "2013-11-07T08:42:26Z", - utils.USAGE: "10s", "field_extr1": "val_extr1", "fieldextr2": "valextr2"} + utils.Usage: "10s", "field_extr1": "val_extr1", "fieldextr2": "valextr2"} setupTime, _ := utils.ParseTimeDetectLayout(cgrCdr[utils.SETUP_TIME], "") expctRtCdr := &CDR{CGRID: utils.Sha1(cgrCdr[utils.ACCID], setupTime.String()), ToR: utils.VOICE, OriginID: cgrCdr[utils.ACCID], @@ -63,7 +63,7 @@ func TestReplicatedCgrCdrAsCDR(t *testing.T) { utils.CDRSOURCE: "internal_test", utils.REQTYPE: utils.META_RATED, utils.DIRECTION: utils.OUT, utils.TENANT: "cgrates.org", utils.CATEGORY: "call", utils.Account: "1001", utils.SUBJECT: "1001", utils.Destination: "1002", utils.SETUP_TIME: "2013-11-07T08:42:20Z", utils.PDD: "0.200", utils.ANSWER_TIME: "2013-11-07T08:42:26Z", - utils.USAGE: "10s", utils.SUPPLIER: "SUPPL1", utils.DISCONNECT_CAUSE: "NORMAL_CLEARING", utils.COST: "0.12", utils.RATED: "true", "field_extr1": "val_extr1", "fieldextr2": "valextr2"} + utils.Usage: "10s", utils.SUPPLIER: "SUPPL1", utils.DISCONNECT_CAUSE: "NORMAL_CLEARING", utils.COST: "0.12", utils.RATED: "true", "field_extr1": "val_extr1", "fieldextr2": "valextr2"} expctRtCdr := &CDR{CGRID: cgrCdr[utils.CGRID], ToR: cgrCdr[utils.TOR], OriginID: cgrCdr[utils.ACCID], diff --git a/engine/resources.go b/engine/resources.go index 52ff3a822..d2f8e14d0 100755 --- a/engine/resources.go +++ b/engine/resources.go @@ -499,7 +499,7 @@ func (rS *ResourceService) processThresholds(r *Resource) (err error) { Event: map[string]interface{}{ utils.EventType: utils.ResourceUpdate, utils.ResourceID: r.ID, - utils.USAGE: r.totalUsage()}} + utils.Usage: r.totalUsage()}} var hits int if err = thresholdS.Call(utils.ThresholdSv1ProcessEvent, ev, &hits); err != nil { utils.Logger.Warning( diff --git a/engine/statmetrics.go b/engine/statmetrics.go index 749b14fa1..c420d8a08 100644 --- a/engine/statmetrics.go +++ b/engine/statmetrics.go @@ -194,7 +194,7 @@ func (acd *StatACD) AddEvent(ev *utils.CGREvent) (err error) { if at, err := ev.FieldAsTime(utils.ANSWER_TIME, config.CgrConfig().DefaultTimezone); err != nil { return err } else if !at.IsZero() { - if duration, err := ev.FieldAsDuration(utils.USAGE); err != nil && + if duration, err := ev.FieldAsDuration(utils.Usage); err != nil && err != utils.ErrNotFound { return err } else { @@ -281,7 +281,7 @@ func (tcd *StatTCD) AddEvent(ev *utils.CGREvent) (err error) { if at, err := ev.FieldAsTime(utils.ANSWER_TIME, config.CgrConfig().DefaultTimezone); err != nil { return err } else if !at.IsZero() { - if duration, err := ev.FieldAsDuration(utils.USAGE); err != nil && + if duration, err := ev.FieldAsDuration(utils.Usage); err != nil && err != utils.ErrNotFound { return err } else { diff --git a/engine/statmetrics_test.go b/engine/statmetrics_test.go index e3e3b5c0d..024aea3f4 100644 --- a/engine/statmetrics_test.go +++ b/engine/statmetrics_test.go @@ -123,7 +123,7 @@ func TestACDGetStringValue(t *testing.T) { acd, _ := NewACD(2) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", Event: map[string]interface{}{ - utils.USAGE: time.Duration(10 * time.Second), + utils.Usage: time.Duration(10 * time.Second), "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), }} if strVal := acd.GetStringValue(""); strVal != utils.NOT_AVAILABLE { @@ -667,7 +667,7 @@ func TestPDDGetStringValue(t *testing.T) { pdd, _ := NewPDD(2) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", Event: map[string]interface{}{ - utils.USAGE: time.Duration(10 * time.Second), + utils.Usage: time.Duration(10 * time.Second), "AnswerTime": time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.PDD: time.Duration(5 * time.Second), }} diff --git a/engine/storage_mongo_datadb.go b/engine/storage_mongo_datadb.go index 7eb2d900f..680c85ec7 100755 --- a/engine/storage_mongo_datadb.go +++ b/engine/storage_mongo_datadb.go @@ -89,7 +89,7 @@ var ( AnswerTimeLow = strings.ToLower(utils.ANSWER_TIME) CreatedAtLow = strings.ToLower(utils.CreatedAt) UpdatedAtLow = strings.ToLower(utils.UpdatedAt) - UsageLow = strings.ToLower(utils.USAGE) + UsageLow = strings.ToLower(utils.Usage) PDDLow = strings.ToLower(utils.PDD) CostDetailsLow = strings.ToLower(utils.COST_DETAILS) DestinationLow = strings.ToLower(utils.Destination) diff --git a/engine/suppliers.go b/engine/suppliers.go index cbca8f54a..483eb9389 100644 --- a/engine/suppliers.go +++ b/engine/suppliers.go @@ -171,7 +171,7 @@ func (spS *SupplierService) matchingSupplierProfilesForEvent(ev *utils.CGREvent) func (spS *SupplierService) costForEvent(ev *utils.CGREvent, acntIDs, rpIDs []string) (costData map[string]interface{}, err error) { if err = ev.CheckMandatoryFields([]string{utils.Account, - utils.Destination, utils.ANSWER_TIME, utils.USAGE}); err != nil { + utils.Destination, utils.ANSWER_TIME, utils.Usage}); err != nil { return } var acnt, subj, dst string @@ -192,7 +192,7 @@ func (spS *SupplierService) costForEvent(ev *utils.CGREvent, return } var usage time.Duration - if usage, err = ev.FieldAsDuration(utils.USAGE); err != nil { + if usage, err = ev.FieldAsDuration(utils.Usage); err != nil { return } for _, anctID := range acntIDs { diff --git a/general_tests/a1_it_test.go b/general_tests/a1_it_test.go index eb04cc1fb..517a674b1 100644 --- a/general_tests/a1_it_test.go +++ b/general_tests/a1_it_test.go @@ -140,7 +140,7 @@ func TestA1itDataSession1(t *testing.T) { utils.REQTYPE: utils.META_PREPAID, utils.SETUP_TIME: "2017-03-03 11:39:32 +0100 CET", utils.ANSWER_TIME: "2017-03-03 11:39:32 +0100 CET", - utils.USAGE: "10240", + utils.Usage: "10240", utils.SessionTTL: "28800s", utils.SessionTTLLastUsed: "0s", utils.SessionTTLUsage: "0s", @@ -169,7 +169,7 @@ func TestA1itDataSession1(t *testing.T) { utils.TOR: utils.DATA, utils.SETUP_TIME: "2017-03-03 11:39:32 +0100 CET", utils.ANSWER_TIME: "2017-03-03 11:39:32 +0100 CET", - utils.USAGE: "2097152", + utils.Usage: "2097152", } if err := a1rpc.Call(utils.SMGenericV2UpdateSession, smgEv, &maxUsage); err != nil { diff --git a/sessionmanager/data_it_test.go b/sessionmanager/data_it_test.go index b04603138..7ba8ecd78 100644 --- a/sessionmanager/data_it_test.go +++ b/sessionmanager/data_it_test.go @@ -124,7 +124,7 @@ func TestSMGDataLastUsedData(t *testing.T) { utils.REQTYPE: utils.META_PREPAID, utils.SETUP_TIME: "2016-01-05 18:30:59", utils.ANSWER_TIME: "2016-01-05 18:31:05", - utils.USAGE: "5120", // 5MB + utils.Usage: "5120", // 5MB } var maxUsage int64 if err := smgRPC.Call("SMGenericV2.InitiateSession", smgEv, &maxUsage); err != nil { @@ -153,7 +153,7 @@ func TestSMGDataLastUsedData(t *testing.T) { utils.REQTYPE: utils.META_PREPAID, utils.SETUP_TIME: "2016-01-05 18:30:59", utils.ANSWER_TIME: "2016-01-05 18:31:05", - utils.USAGE: "5120", + utils.Usage: "5120", utils.LastUsed: "4096", } if err := smgRPC.Call("SMGenericV2.UpdateSession", smgEv, &maxUsage); err != nil { @@ -231,7 +231,7 @@ func TestSMGDataLastUsedMultipleUpdates(t *testing.T) { utils.REQTYPE: utils.META_PREPAID, utils.SETUP_TIME: "2016-01-05 18:30:50", utils.ANSWER_TIME: "2016-01-05 18:31:05", - utils.USAGE: "6144", // 6 MB + utils.Usage: "6144", // 6 MB } var maxUsage float64 if err := smgRPC.Call("SMGenericV2.InitiateSession", smgEv, &maxUsage); err != nil { @@ -266,7 +266,7 @@ func TestSMGDataLastUsedMultipleUpdates(t *testing.T) { utils.REQTYPE: utils.META_PREPAID, utils.SETUP_TIME: "2016-01-05 18:30:50", utils.ANSWER_TIME: "2016-01-05 18:31:05", - utils.USAGE: "8192", // 8 MB + utils.Usage: "8192", // 8 MB utils.LastUsed: "7168", } if err := smgRPC.Call("SMGenericV2.UpdateSession", smgEv, &maxUsage); err != nil { @@ -300,7 +300,7 @@ func TestSMGDataLastUsedMultipleUpdates(t *testing.T) { utils.REQTYPE: utils.META_PREPAID, utils.SETUP_TIME: "2016-01-05 18:30:50", utils.ANSWER_TIME: "2016-01-05 18:31:05", - utils.USAGE: "1024", // 8 MB + utils.Usage: "1024", // 8 MB utils.LastUsed: "5120", // 5 MB } if err := smgRPC.Call("SMGenericV2.UpdateSession", smgEv, &maxUsage); err != nil { @@ -334,7 +334,7 @@ func TestSMGDataLastUsedMultipleUpdates(t *testing.T) { utils.REQTYPE: utils.META_PREPAID, utils.SETUP_TIME: "2016-01-05 18:30:50", utils.ANSWER_TIME: "2016-01-05 18:31:05", - utils.USAGE: "1024", + utils.Usage: "1024", } if err := smgRPC.Call("SMGenericV2.UpdateSession", smgEv, &maxUsage); err != nil { t.Error(err) @@ -437,7 +437,7 @@ func TestSMGDataTTLExpired(t *testing.T) { utils.REQTYPE: utils.META_PREPAID, utils.SETUP_TIME: "2016-01-05 18:30:52", utils.ANSWER_TIME: "2016-01-05 18:31:05", - utils.USAGE: "1024", + utils.Usage: "1024", utils.SessionTTLUsage: "2048", // will be charged on TTL } var maxUsage float64 @@ -496,7 +496,7 @@ func TestSMGDataTTLExpMultiUpdates(t *testing.T) { utils.REQTYPE: utils.META_PREPAID, utils.SETUP_TIME: "2016-01-05 18:30:53", utils.ANSWER_TIME: "2016-01-05 18:31:05", - utils.USAGE: "4096", // 3MB + utils.Usage: "4096", // 3MB } var maxUsage int64 if err := smgRPC.Call("SMGenericV2.InitiateSession", smgEv, &maxUsage); err != nil { @@ -532,7 +532,7 @@ func TestSMGDataTTLExpMultiUpdates(t *testing.T) { utils.SETUP_TIME: "2016-01-05 18:30:53", utils.ANSWER_TIME: "2016-01-05 18:31:05", utils.LastUsed: "1024", - utils.USAGE: "4096", + utils.Usage: "4096", utils.SessionTTLUsage: "2048", // will be charged on TTL utils.SessionTTLLastUsed: "1024"} // will force last usage on timeout if err := smgRPC.Call("SMGenericV2.UpdateSession", smgEv, &maxUsage); err != nil { @@ -594,7 +594,7 @@ func TestSMGDataMultipleDataNoUsage(t *testing.T) { utils.REQTYPE: utils.META_PREPAID, utils.SETUP_TIME: "2016-01-05 18:30:53", utils.ANSWER_TIME: "2016-01-05 18:31:05", - utils.USAGE: "2048", + utils.Usage: "2048", } var maxUsage int64 if err := smgRPC.Call("SMGenericV2.InitiateSession", smgEv, &maxUsage); err != nil { @@ -630,7 +630,7 @@ func TestSMGDataMultipleDataNoUsage(t *testing.T) { utils.SETUP_TIME: "2016-01-05 18:30:53", utils.ANSWER_TIME: "2016-01-05 18:31:05", utils.SessionTTL: "1h", // cancel timeout since usage 0 will not update it - utils.USAGE: "1024", + utils.Usage: "1024", utils.LastUsed: "1024", } if err := smgRPC.Call("SMGenericV2.UpdateSession", smgEv, &maxUsage); err != nil { @@ -667,7 +667,7 @@ func TestSMGDataMultipleDataNoUsage(t *testing.T) { utils.SETUP_TIME: "2016-01-05 18:30:53", utils.ANSWER_TIME: "2016-01-05 18:31:05", utils.SessionTTL: "1h", // cancel timeout since usage 0 will not update it - utils.USAGE: "0", + utils.Usage: "0", utils.LastUsed: "0", } if err := smgRPC.Call("SMGenericV2.UpdateSession", smgEv, &maxUsage); err != nil { @@ -756,7 +756,7 @@ func TestSMGDataTTLUsageProtection(t *testing.T) { utils.REQTYPE: utils.META_PREPAID, utils.SETUP_TIME: "2016-01-05 18:30:53", utils.ANSWER_TIME: "2016-01-05 18:31:05", - utils.USAGE: "2048", + utils.Usage: "2048", } var maxUsage int64 if err := smgRPC.Call("SMGenericV2.InitiateSession", smgEv, &maxUsage); err != nil { diff --git a/sessionmanager/fsevent.go b/sessionmanager/fsevent.go index 76b0128d1..b66994c80 100644 --- a/sessionmanager/fsevent.go +++ b/sessionmanager/fsevent.go @@ -293,7 +293,7 @@ func (fsev FSEvent) ParseEventValue(rsrFld *utils.RSRField, timezone string) str case utils.ANSWER_TIME: at, _ := fsev.GetAnswerTime("", timezone) return rsrFld.ParseValue(at.String()) - case utils.USAGE: + case utils.Usage: dur, _ := fsev.GetDuration("") return rsrFld.ParseValue(strconv.FormatInt(dur.Nanoseconds(), 10)) case utils.PDD: @@ -385,7 +385,7 @@ func (fsev FSEvent) AsMapStringInterface(timezone string) map[string]interface{} mp[utils.Destination] = fsev.GetDestination(utils.META_DEFAULT) mp[utils.SETUP_TIME], _ = fsev.GetSetupTime(utils.META_DEFAULT, timezone) mp[utils.ANSWER_TIME], _ = fsev.GetAnswerTime(utils.META_DEFAULT, timezone) - mp[utils.USAGE], _ = fsev.GetDuration(utils.META_DEFAULT) + mp[utils.Usage], _ = fsev.GetDuration(utils.META_DEFAULT) mp[utils.PDD], _ = fsev.GetPdd(utils.META_DEFAULT) mp[utils.COST] = -1 mp[utils.SUPPLIER] = fsev.GetSupplier(utils.META_DEFAULT) diff --git a/sessionmanager/fsevent_test.go b/sessionmanager/fsevent_test.go index 12a75dbfe..5abe194f8 100644 --- a/sessionmanager/fsevent_test.go +++ b/sessionmanager/fsevent_test.go @@ -539,7 +539,7 @@ func TestParseEventValue(t *testing.T) { if parsed := ev.ParseEventValue(&utils.RSRField{Id: utils.ANSWER_TIME}, ""); parsed != aTime.String() { t.Errorf("Expecting: %s, parsed: %s", aTime.String(), parsed) } - if parsed := ev.ParseEventValue(&utils.RSRField{Id: utils.USAGE}, ""); parsed != "66000000000" { + if parsed := ev.ParseEventValue(&utils.RSRField{Id: utils.Usage}, ""); parsed != "66000000000" { t.Error("Unexpected result parsed", parsed) } if parsed := ev.ParseEventValue(&utils.RSRField{Id: utils.PDD}, ""); parsed != "0.028" { diff --git a/sessionmanager/kamevent.go b/sessionmanager/kamevent.go index 7c81d75e6..7d09de835 100644 --- a/sessionmanager/kamevent.go +++ b/sessionmanager/kamevent.go @@ -300,7 +300,7 @@ func (kev KamEvent) ParseEventValue(rsrFld *utils.RSRField, timezone string) str return rsrFld.ParseValue(sTime.String()) case utils.ANSWER_TIME: return rsrFld.ParseValue(aTime.String()) - case utils.USAGE: + case utils.Usage: return rsrFld.ParseValue(strconv.FormatFloat(utils.Round(duration.Seconds(), 0, utils.ROUNDING_MIDDLE), 'f', -1, 64)) case utils.PDD: return rsrFld.ParseValue(strconv.FormatFloat(utils.Round(duration.Seconds(), 0, utils.ROUNDING_MIDDLE), 'f', -1, 64)) diff --git a/sessionmanager/sma_event.go b/sessionmanager/sma_event.go index 0444e2c60..97e46645a 100644 --- a/sessionmanager/sma_event.go +++ b/sessionmanager/sma_event.go @@ -224,18 +224,18 @@ func (smaEv *SMAsteriskEvent) UpdateSMGEvent(smgEv *SMGenericEvent) error { resSMGEv[utils.EVENT_NAME] = SMASessionTerminate resSMGEv[utils.DISCONNECT_CAUSE] = smaEv.DisconnectCause() if _, hasIt := resSMGEv[utils.ANSWER_TIME]; !hasIt { - resSMGEv[utils.USAGE] = "0s" + resSMGEv[utils.Usage] = "0s" } else { if aTime, err := smgEv.GetAnswerTime(utils.META_DEFAULT, ""); err != nil { return err } else if aTime.IsZero() { - resSMGEv[utils.USAGE] = "0s" + resSMGEv[utils.Usage] = "0s" } else { actualTime, err := utils.ParseTimeDetectLayout(smaEv.Timestamp(), "") if err != nil { return err } - resSMGEv[utils.USAGE] = actualTime.Sub(aTime).String() + resSMGEv[utils.Usage] = actualTime.Sub(aTime).String() } } } diff --git a/sessionmanager/sma_event_test.go b/sessionmanager/sma_event_test.go index d15ab5700..c1b103721 100644 --- a/sessionmanager/sma_event_test.go +++ b/sessionmanager/sma_event_test.go @@ -448,7 +448,7 @@ func TestSMAEventUpdateSMGEventAnswered(t *testing.T) { utils.Destination: "1003", utils.SETUP_TIME: "2016-09-12T13:53:48.919+0200", utils.ANSWER_TIME: "2016-09-12T13:53:52.110+0200", - utils.USAGE: "35.225s", + utils.Usage: "35.225s", utils.DISCONNECT_CAUSE: "Normal Clearing", "extra1": "val1", "extra2": "val2", @@ -480,7 +480,7 @@ func TestSMAEventUpdateSMGEventUnaswered(t *testing.T) { utils.Account: "1001", utils.Destination: "1003", utils.SETUP_TIME: "2016-09-12T13:53:48.919+0200", - utils.USAGE: "0s", + utils.Usage: "0s", utils.DISCONNECT_CAUSE: "Normal Clearing", "extra1": "val1", "extra2": "val2", @@ -518,7 +518,7 @@ func TestSMAEventUpdateSMGEventBusy(t *testing.T) { utils.Account: "1001", utils.Destination: "1003", utils.SETUP_TIME: "2016-09-12T13:53:48.919+0200", - utils.USAGE: "0s", + utils.Usage: "0s", utils.DISCONNECT_CAUSE: "User busy", "extra1": "val1", "extra2": "val2", diff --git a/sessionmanager/smg_event.go b/sessionmanager/smg_event.go index 9a2229ca9..c9f18384e 100644 --- a/sessionmanager/smg_event.go +++ b/sessionmanager/smg_event.go @@ -164,7 +164,7 @@ func (self SMGenericEvent) GetEndTime(fieldName, timezone string) (time.Time, er func (self SMGenericEvent) GetUsage(fieldName string) (time.Duration, error) { if fieldName == utils.META_DEFAULT { - fieldName = utils.USAGE + fieldName = utils.Usage } valIf, hasVal := self[fieldName] if !hasVal { @@ -269,7 +269,7 @@ func (self SMGenericEvent) GetSessionTTLUsage() *time.Duration { func (self SMGenericEvent) GetMaxUsage(fieldName string, cfgMaxUsage time.Duration) (time.Duration, error) { if fieldName == utils.META_DEFAULT { - fieldName = utils.USAGE + fieldName = utils.Usage } maxUsageStr, hasIt := self[fieldName] if !hasIt { @@ -393,7 +393,7 @@ func (self SMGenericEvent) ParseEventValue(rsrFld *utils.RSRField, timezone stri case utils.ANSWER_TIME: at, _ := self.GetAnswerTime(utils.META_DEFAULT, timezone) return rsrFld.ParseValue(at.String()) - case utils.USAGE: + case utils.Usage: dur, _ := self.GetUsage(utils.META_DEFAULT) return rsrFld.ParseValue(strconv.FormatInt(dur.Nanoseconds(), 10)) case utils.PDD: @@ -452,7 +452,7 @@ func (self SMGenericEvent) ComputeLcr() bool { func (self SMGenericEvent) AsLcrRequest() *engine.LcrRequest { setupTimeStr, _ := utils.CastFieldIfToString(self[utils.SETUP_TIME]) - usageStr, _ := utils.CastFieldIfToString(self[utils.USAGE]) + usageStr, _ := utils.CastFieldIfToString(self[utils.Usage]) return &engine.LcrRequest{ Direction: self.GetDirection(utils.META_DEFAULT), Tenant: self.GetTenant(utils.META_DEFAULT), diff --git a/sessionmanager/smg_event_test.go b/sessionmanager/smg_event_test.go index 5813da01a..16b5a8db9 100644 --- a/sessionmanager/smg_event_test.go +++ b/sessionmanager/smg_event_test.go @@ -44,7 +44,7 @@ func TestSMGenericEventParseFields(t *testing.T) { smGev[utils.REQTYPE] = "*prepaid" smGev[utils.SETUP_TIME] = "2015-11-09 14:21:24" smGev[utils.ANSWER_TIME] = "2015-11-09 14:22:02" - smGev[utils.USAGE] = "1m23s" + smGev[utils.Usage] = "1m23s" smGev[utils.LastUsed] = "21s" smGev[utils.PDD] = "300ms" smGev[utils.SUPPLIER] = "supplier1" @@ -164,7 +164,7 @@ func TestSMGenericEventAsCDR(t *testing.T) { smGev[utils.REQTYPE] = utils.META_PREPAID smGev[utils.SETUP_TIME] = "2015-11-09 14:21:24" smGev[utils.ANSWER_TIME] = "2015-11-09 14:22:02" - smGev[utils.USAGE] = "1m23s" + smGev[utils.Usage] = "1m23s" smGev[utils.PDD] = "300ms" smGev[utils.SUPPLIER] = "supplier1" smGev[utils.DISCONNECT_CAUSE] = "NORMAL_DISCONNECT" @@ -198,7 +198,7 @@ func TestSMGenericEventAsLcrRequest(t *testing.T) { smGev[utils.REQTYPE] = utils.META_PREPAID smGev[utils.SETUP_TIME] = "2015-11-09 14:21:24" smGev[utils.ANSWER_TIME] = "2015-11-09 14:22:02" - smGev[utils.USAGE] = "1m23s" + smGev[utils.Usage] = "1m23s" smGev[utils.PDD] = "300ms" smGev[utils.SUPPLIER] = "supplier1" smGev[utils.DISCONNECT_CAUSE] = "NORMAL_DISCONNECT" diff --git a/sessionmanager/smg_it_test.go b/sessionmanager/smg_it_test.go index dd00eaf4c..8b2199b9f 100644 --- a/sessionmanager/smg_it_test.go +++ b/sessionmanager/smg_it_test.go @@ -105,7 +105,7 @@ func TestSMGVoiceMonetaryRefund(t *testing.T) { utils.REQTYPE: utils.META_PREPAID, utils.SETUP_TIME: "2016-01-05 18:30:49", utils.ANSWER_TIME: "2016-01-05 18:31:05", - utils.USAGE: "1m30s", + utils.Usage: "1m30s", } var maxUsage time.Duration if err := smgRPC.Call(utils.SMGenericV2InitiateSession, @@ -136,7 +136,7 @@ func TestSMGVoiceMonetaryRefund(t *testing.T) { utils.REQTYPE: utils.META_PREPAID, utils.SETUP_TIME: "2016-01-05 18:30:49", utils.ANSWER_TIME: "2016-01-05 18:31:05", - utils.USAGE: "1m", + utils.Usage: "1m", } var rpl string if err = smgRPC.Call("SMGenericV1.TerminateSession", smgEv, &rpl); err != nil || rpl != utils.OK { @@ -164,7 +164,7 @@ func TestSMGVoiceVoiceRefund(t *testing.T) { utils.REQTYPE: utils.META_PREPAID, utils.SETUP_TIME: "2016-01-05 18:30:49", utils.ANSWER_TIME: "2016-01-05 18:31:05", - utils.USAGE: "1m30s", + utils.Usage: "1m30s", } var maxUsage time.Duration if err := smgRPC.Call(utils.SMGenericV2InitiateSession, @@ -196,7 +196,7 @@ func TestSMGVoiceVoiceRefund(t *testing.T) { utils.REQTYPE: utils.META_PREPAID, utils.SETUP_TIME: "2016-01-05 18:30:49", utils.ANSWER_TIME: "2016-01-05 18:31:05", - utils.USAGE: "1m", + utils.Usage: "1m", } var rpl string if err = smgRPC.Call("SMGenericV1.TerminateSession", smgEv, &rpl); err != nil || rpl != utils.OK { @@ -231,7 +231,7 @@ func TestSMGVoiceMixedRefund(t *testing.T) { utils.REQTYPE: utils.META_PREPAID, utils.SETUP_TIME: "2016-01-05 18:30:49", utils.ANSWER_TIME: "2016-01-05 18:31:05", - utils.USAGE: "1m30s", + utils.Usage: "1m30s", } var maxUsage time.Duration if err := smgRPC.Call(utils.SMGenericV2InitiateSession, smgEv, &maxUsage); err != nil { @@ -263,7 +263,7 @@ func TestSMGVoiceMixedRefund(t *testing.T) { utils.REQTYPE: utils.META_PREPAID, utils.SETUP_TIME: "2016-01-05 18:30:49", utils.ANSWER_TIME: "2016-01-05 18:31:05", - utils.USAGE: "1m", + utils.Usage: "1m", } var rpl string if err = smgRPC.Call("SMGenericV1.TerminateSession", smgEv, &rpl); err != nil || rpl != utils.OK { @@ -303,7 +303,7 @@ func TestSMGVoiceLastUsed(t *testing.T) { utils.REQTYPE: utils.META_PREPAID, utils.SETUP_TIME: "2016-01-05 18:30:49", utils.ANSWER_TIME: "2016-01-05 18:31:05", - utils.USAGE: "2m", + utils.Usage: "2m", } var maxUsage time.Duration if err := smgRPC.Call(utils.SMGenericV2InitiateSession, smgEv, &maxUsage); err != nil { @@ -329,7 +329,7 @@ func TestSMGVoiceLastUsed(t *testing.T) { utils.CATEGORY: "call", utils.TENANT: "cgrates.org", utils.REQTYPE: utils.META_PREPAID, - utils.USAGE: "2m", + utils.Usage: "2m", utils.LastUsed: "1m30s", } if err := smgRPC.Call(utils.SMGenericV2UpdateSession, smgEv, &maxUsage); err != nil { @@ -355,7 +355,7 @@ func TestSMGVoiceLastUsed(t *testing.T) { utils.CATEGORY: "call", utils.TENANT: "cgrates.org", utils.REQTYPE: utils.META_PREPAID, - utils.USAGE: "2m", + utils.Usage: "2m", utils.LastUsed: "2m30s", } if err := smgRPC.Call(utils.SMGenericV2UpdateSession, smgEv, &maxUsage); err != nil { @@ -381,7 +381,7 @@ func TestSMGVoiceLastUsed(t *testing.T) { utils.CATEGORY: "call", utils.TENANT: "cgrates.org", utils.REQTYPE: utils.META_PREPAID, - utils.USAGE: "1m", + utils.Usage: "1m", } var rpl string if err = smgRPC.Call("SMGenericV1.TerminateSession", smgEv, &rpl); err != nil || rpl != utils.OK { @@ -417,7 +417,7 @@ func TestSMGVoiceLastUsedEnd(t *testing.T) { utils.REQTYPE: utils.META_PREPAID, utils.SETUP_TIME: "2016-01-05 18:30:49", utils.ANSWER_TIME: "2016-01-05 18:31:05", - utils.USAGE: "2m", + utils.Usage: "2m", } var maxUsage time.Duration if err := smgRPC.Call(utils.SMGenericV2InitiateSession, smgEv, &maxUsage); err != nil { @@ -443,7 +443,7 @@ func TestSMGVoiceLastUsedEnd(t *testing.T) { utils.CATEGORY: "call", utils.TENANT: "cgrates.org", utils.REQTYPE: utils.META_PREPAID, - utils.USAGE: "2m", + utils.Usage: "2m", utils.LastUsed: "30s", } if err := smgRPC.Call(utils.SMGenericV2UpdateSession, smgEv, &maxUsage); err != nil { @@ -505,7 +505,7 @@ func TestSMGVoiceLastUsedNotFixed(t *testing.T) { utils.REQTYPE: utils.META_PREPAID, utils.SETUP_TIME: "2016-01-05 18:30:49", utils.ANSWER_TIME: "2016-01-05 18:31:05", - utils.USAGE: "2m", + utils.Usage: "2m", } var maxUsage time.Duration if err := smgRPC.Call(utils.SMGenericV2InitiateSession, smgEv, &maxUsage); err != nil { @@ -531,7 +531,7 @@ func TestSMGVoiceLastUsedNotFixed(t *testing.T) { utils.CATEGORY: "call", utils.TENANT: "cgrates.org", utils.REQTYPE: utils.META_PREPAID, - utils.USAGE: "2m", + utils.Usage: "2m", utils.LastUsed: "13s", } if err := smgRPC.Call(utils.SMGenericV2UpdateSession, smgEv, &maxUsage); err != nil { @@ -593,7 +593,7 @@ func TestSMGVoiceSessionTTL(t *testing.T) { utils.REQTYPE: utils.META_PREPAID, utils.SETUP_TIME: "2016-01-05 18:30:49", utils.ANSWER_TIME: "2016-01-05 18:31:05", - utils.USAGE: "2m", + utils.Usage: "2m", } var maxUsage time.Duration if err := smgRPC.Call(utils.SMGenericV2InitiateSession, smgEv, &maxUsage); err != nil { @@ -629,7 +629,7 @@ func TestSMGVoiceSessionTTL(t *testing.T) { utils.CATEGORY: "call", utils.TENANT: "cgrates.org", utils.REQTYPE: utils.META_PREPAID, - utils.USAGE: "2m", + utils.Usage: "2m", utils.LastUsed: "30s", } if err := smgRPC.Call(utils.SMGenericV2UpdateSession, smgEv, &maxUsage); err != nil { @@ -705,7 +705,7 @@ func TestSMGVoiceSessionTTLWithRelocate(t *testing.T) { utils.REQTYPE: utils.META_PREPAID, utils.SETUP_TIME: "2016-01-05 18:30:49", utils.ANSWER_TIME: "2016-01-05 18:31:05", - utils.USAGE: "2m", + utils.Usage: "2m", } var maxUsage time.Duration if err := smgRPC.Call(utils.SMGenericV2InitiateSession, smgEv, &maxUsage); err != nil { @@ -742,7 +742,7 @@ func TestSMGVoiceSessionTTLWithRelocate(t *testing.T) { utils.CATEGORY: smgEv[utils.CATEGORY], utils.TENANT: smgEv[utils.TENANT], utils.REQTYPE: smgEv[utils.REQTYPE], - utils.USAGE: "2m", + utils.Usage: "2m", utils.LastUsed: "30s", } if err := smgRPC.Call(utils.SMGenericV2UpdateSession, @@ -830,7 +830,7 @@ func TestSMGVoiceRelocateWithOriginIDPrefix(t *testing.T) { utils.REQTYPE: utils.META_PREPAID, utils.SETUP_TIME: "2016-01-05 18:30:49", utils.ANSWER_TIME: "2016-01-05 18:31:05", - utils.USAGE: "2m", + utils.Usage: "2m", } var maxUsage time.Duration if err := smgRPC.Call(utils.SMGenericV2InitiateSession, smgEv, &maxUsage); err != nil { @@ -867,7 +867,7 @@ func TestSMGVoiceRelocateWithOriginIDPrefix(t *testing.T) { utils.CATEGORY: smgEv[utils.CATEGORY], utils.TENANT: smgEv[utils.TENANT], utils.REQTYPE: smgEv[utils.REQTYPE], - utils.USAGE: "2m", + utils.Usage: "2m", utils.LastUsed: "30s", } if err := smgRPC.Call(utils.SMGenericV2UpdateSession, smgEv, &maxUsage); err != nil { @@ -902,7 +902,7 @@ func TestSMGVoiceRelocateWithOriginIDPrefix(t *testing.T) { utils.CATEGORY: smgEv[utils.CATEGORY], utils.TENANT: smgEv[utils.TENANT], utils.REQTYPE: smgEv[utils.REQTYPE], - utils.USAGE: "1m", // Total session usage + utils.Usage: "1m", // Total session usage } var rpl string if err = smgRPC.Call("SMGenericV1.TerminateSession", smgEv, &rpl); err != nil || rpl != utils.OK { @@ -962,7 +962,7 @@ func TestSMGDataDerivedChargingNoCredit(t *testing.T) { utils.REQTYPE: utils.META_PREPAID, utils.SETUP_TIME: "2016-01-05 18:30:49", utils.ANSWER_TIME: "2016-01-05 18:31:05", - utils.USAGE: "100", + utils.Usage: "100", } var maxUsage float64 if err := smgRPC.Call("SMGenericV2.InitiateSession", smgEv, &maxUsage); err != nil { diff --git a/sessionmanager/smg_session.go b/sessionmanager/smg_session.go index a4b74683b..f5a488ccb 100644 --- a/sessionmanager/smg_session.go +++ b/sessionmanager/smg_session.go @@ -152,7 +152,7 @@ func (self *SMGSession) debit(dur time.Duration, lastUsed *time.Duration) (time. // Send disconnect order to remote connection func (self *SMGSession) disconnectSession(reason string) error { - self.EventStart[utils.USAGE] = self.TotalUsage.Nanoseconds() // Set the usage to total one debitted + self.EventStart[utils.Usage] = self.TotalUsage.Nanoseconds() // Set the usage to total one debitted if self.clntConn == nil || reflect.ValueOf(self.clntConn).IsNil() { return errors.New("Calling SMGClientV1.DisconnectSession requires bidirectional JSON connection") } diff --git a/sessionmanager/smgbirpc_it_test.go b/sessionmanager/smgbirpc_it_test.go index 7cff3c820..ae92a7f30 100644 --- a/sessionmanager/smgbirpc_it_test.go +++ b/sessionmanager/smgbirpc_it_test.go @@ -159,7 +159,7 @@ func TestSMGBiRPCSessionAutomaticDisconnects(t *testing.T) { if SMGenericEvent(disconnectEv.EventStart).GetOriginID(utils.META_DEFAULT) != smgEv[utils.ACCID] { t.Errorf("Unexpected event received: %+v", disconnectEv) } - smgEv[utils.USAGE] = disconnectEv.EventStart[utils.USAGE] + smgEv[utils.Usage] = disconnectEv.EventStart[utils.Usage] } var rpl string if err = smgBiRPC.Call("SMGenericV1.TerminateSession", smgEv, &rpl); err != nil || rpl != utils.OK { @@ -233,7 +233,7 @@ func TestSMGBiRPCSessionOriginatorTerminate(t *testing.T) { t.Error("Bad max usage: ", maxUsage) } time.Sleep(time.Duration(10 * time.Millisecond)) // Give time for debits to occur - smgEv[utils.USAGE] = "7ms" + smgEv[utils.Usage] = "7ms" var rpl string if err = smgBiRPC.Call("SMGenericV1.TerminateSession", smgEv, &rpl); err != nil || rpl != utils.OK { diff --git a/sessionmanager/smgeneric_test.go b/sessionmanager/smgeneric_test.go index 93dae887f..887f10e49 100644 --- a/sessionmanager/smgeneric_test.go +++ b/sessionmanager/smgeneric_test.go @@ -48,7 +48,7 @@ func TestSMGSessionIndexing(t *testing.T) { utils.REQTYPE: "*prepaid", utils.SETUP_TIME: "2015-11-09 14:21:24", utils.ANSWER_TIME: "2015-11-09 14:22:02", - utils.USAGE: "1m23s", + utils.Usage: "1m23s", utils.LastUsed: "21s", utils.PDD: "300ms", utils.SUPPLIER: "supplier1", @@ -403,7 +403,7 @@ func TestSMGActiveSessions(t *testing.T) { utils.REQTYPE: "*prepaid", utils.SETUP_TIME: "2015-11-09 14:21:24", utils.ANSWER_TIME: "2015-11-09 14:22:02", - utils.USAGE: "1m23s", + utils.Usage: "1m23s", utils.LastUsed: "21s", utils.PDD: "300ms", utils.SUPPLIER: "supplier1", @@ -425,7 +425,7 @@ func TestSMGActiveSessions(t *testing.T) { utils.TENANT: "itsyscom.com", utils.REQTYPE: "*prepaid", utils.ANSWER_TIME: "2015-11-09 14:22:02", - utils.USAGE: "1m23s", + utils.Usage: "1m23s", utils.LastUsed: "21s", utils.PDD: "300ms", utils.SUPPLIER: "supplier2", @@ -480,7 +480,7 @@ func TestGetPassiveSessions(t *testing.T) { utils.REQTYPE: "*prepaid", utils.SETUP_TIME: "2015-11-09 14:21:24", utils.ANSWER_TIME: "2015-11-09 14:22:02", - utils.USAGE: "1m23s", + utils.Usage: "1m23s", utils.LastUsed: "21s", utils.PDD: "300ms", utils.SUPPLIER: "supplier1", @@ -507,7 +507,7 @@ func TestGetPassiveSessions(t *testing.T) { utils.REQTYPE: "*prepaid", utils.SETUP_TIME: "2015-11-09 14:21:24", utils.ANSWER_TIME: "2015-11-09 14:22:02", - utils.USAGE: "1m23s", + utils.Usage: "1m23s", utils.LastUsed: "21s", utils.PDD: "300ms", utils.SUPPLIER: "supplier1", diff --git a/sessionmanager/smgreplc_it_test.go b/sessionmanager/smgreplc_it_test.go index b06c45e06..aee67056d 100644 --- a/sessionmanager/smgreplc_it_test.go +++ b/sessionmanager/smgreplc_it_test.go @@ -108,7 +108,7 @@ func TestSMGRplcInitiate(t *testing.T) { utils.REQTYPE: utils.META_PREPAID, utils.SETUP_TIME: "2016-01-05 18:30:49", utils.ANSWER_TIME: "2016-01-05 18:31:05", - utils.USAGE: "1m30s", + utils.Usage: "1m30s", } var maxUsage time.Duration if err := smgRplcMstrRPC.Call(utils.SMGenericV2UpdateSession, @@ -149,7 +149,7 @@ func TestSMGRplcUpdate(t *testing.T) { smgEv := SMGenericEvent{ utils.EVENT_NAME: "TEST_EVENT", utils.ACCID: "123451", - utils.USAGE: "1m", + utils.Usage: "1m", } var maxUsage time.Duration if err := smgRplcSlvRPC.Call(utils.SMGenericV2UpdateSession, @@ -194,7 +194,7 @@ func TestSMGRplcTerminate(t *testing.T) { smgEv := SMGenericEvent{ utils.EVENT_NAME: "TEST_EVENT", utils.ACCID: "123451", - utils.USAGE: "3m", + utils.Usage: "3m", } var reply string if err := smgRplcMstrRPC.Call("SMGenericV1.TerminateSession", smgEv, &reply); err != nil { @@ -238,7 +238,7 @@ func TestSMGRplcManualReplicate(t *testing.T) { utils.REQTYPE: utils.META_PREPAID, utils.SETUP_TIME: "2016-01-05 18:30:49", utils.ANSWER_TIME: "2016-01-05 18:31:05", - utils.USAGE: "1m30s", + utils.Usage: "1m30s", } smgEv2 := SMGenericEvent{ utils.EVENT_NAME: "TEST_EVENT", @@ -253,7 +253,7 @@ func TestSMGRplcManualReplicate(t *testing.T) { utils.REQTYPE: utils.META_PREPAID, utils.SETUP_TIME: "2016-01-05 18:30:49", utils.ANSWER_TIME: "2016-01-05 18:31:05", - utils.USAGE: "1m30s", + utils.Usage: "1m30s", } for _, smgEv := range []SMGenericEvent{smgEv1, smgEv2} { var maxUsage time.Duration diff --git a/utils/cgrevent_test.go b/utils/cgrevent_test.go index 6cb4a8c18..9ee8dcaea 100644 --- a/utils/cgrevent_test.go +++ b/utils/cgrevent_test.go @@ -26,7 +26,7 @@ import ( func TestLibSuppliersUsage(t *testing.T) { event := make(map[string]interface{}) - event[USAGE] = time.Duration(20 * time.Second) + event[Usage] = time.Duration(20 * time.Second) se := &CGREvent{ Tenant: "cgrates.org", ID: "supplierevent1", @@ -37,14 +37,14 @@ func TestLibSuppliersUsage(t *testing.T) { ID: "supplierevent1", Event: make(map[string]interface{}), } - answ, err := se.FieldAsDuration(USAGE) + answ, err := se.FieldAsDuration(Usage) if err != nil { t.Error(err) } - if answ != event[USAGE] { - t.Errorf("Expecting: %+v, received: %+v", event[USAGE], answ) + if answ != event[Usage] { + t.Errorf("Expecting: %+v, received: %+v", event[Usage], answ) } - answ, err = seErr.FieldAsDuration(USAGE) + answ, err = seErr.FieldAsDuration(Usage) if err != ErrNotFound { t.Error(err) } diff --git a/utils/consts.go b/utils/consts.go index ac5fca935..fd7ab83bb 100755 --- a/utils/consts.go +++ b/utils/consts.go @@ -20,7 +20,7 @@ package utils var ( CDRExportFormats = []string{DRYRUN, MetaFileCSV, MetaFileFWV, MetaHTTPjsonCDR, MetaHTTPjsonMap, MetaHTTPjson, META_HTTP_POST, MetaAMQPjsonCDR, MetaAMQPjsonMap} - PrimaryCdrFields = []string{CGRID, CDRSOURCE, CDRHOST, ACCID, TOR, REQTYPE, DIRECTION, TENANT, CATEGORY, Account, SUBJECT, Destination, SETUP_TIME, PDD, ANSWER_TIME, USAGE, + PrimaryCdrFields = []string{CGRID, CDRSOURCE, CDRHOST, ACCID, TOR, REQTYPE, DIRECTION, TENANT, CATEGORY, Account, SUBJECT, Destination, SETUP_TIME, PDD, ANSWER_TIME, Usage, SUPPLIER, DISCONNECT_CAUSE, COST, RATED, PartialField, MEDI_RUNID} GitLastLog string // If set, it will be processed as part of versioning PosterTransportContentTypes = map[string]string{ @@ -134,7 +134,7 @@ const ( Destination = "Destination" SETUP_TIME = "SetupTime" ANSWER_TIME = "AnswerTime" - USAGE = "Usage" + Usage = "Usage" LastUsed = "LastUsed" PDD = "PDD" SUPPLIER = "Supplier"