From 1e080a7123658f406b61993c335476db8a443dcd Mon Sep 17 00:00:00 2001 From: andronache Date: Tue, 19 Oct 2021 15:39:51 +0300 Subject: [PATCH] RunID is not longer added to event but to APIOpts --- agents/radagent_it_test.go | 4 +-- apis/chargers_it_test.go | 6 ++-- apis/ees_test.go | 2 +- dispatchers/stats_it_test.go | 5 +-- ees/ees.go | 2 +- ees/ees_test.go | 5 ++- ees/elastic_it_test.go | 25 ++++++++++----- ees/filecsv_it_test.go | 60 ++++++++++++++++++++++++++---------- ees/filefwv_it_test.go | 9 ++++-- ees/httppost_it_test.go | 25 ++++++++++----- ees/posterjsonmap_it_test.go | 21 ++++++++----- ees/sql_it_test.go | 8 +++-- ees/virtual_ee_it_test.go | 8 +++-- engine/chargers.go | 5 +-- engine/chargers_test.go | 4 +-- engine/z_chargers_test.go | 8 ++--- sessions/session.go | 5 +-- sessions/session_test.go | 12 +++----- sessions/sessions.go | 3 +- utils/consts.go | 16 +++++----- 20 files changed, 152 insertions(+), 81 deletions(-) diff --git a/agents/radagent_it_test.go b/agents/radagent_it_test.go index 5015d4c3d..ace9c891d 100644 --- a/agents/radagent_it_test.go +++ b/agents/radagent_it_test.go @@ -647,7 +647,7 @@ func testRAitAcctStart(t *testing.T) { if err := raRPC.Call(utils.SessionSv1GetActiveSessions, utils.SessionFilter{ Filters: []string{ - fmt.Sprintf("*string:~*req.%s:%s", utils.RunID, utils.MetaDefault), + fmt.Sprintf("*string:~*opts.%s:%s", utils.MetaRunID, utils.MetaDefault), fmt.Sprintf("*string:~*req.%s:%s", utils.OriginID, "e4921177ab0e3586c37f6a185864b71a@0:0:0:0:0:0:0:0-51585361-75c2f57b"), }, }, &aSessions); err != nil { @@ -718,7 +718,7 @@ func testRAitAcctStop(t *testing.T) { if err := raRPC.Call(utils.SessionSv1GetActiveSessions, utils.SessionFilter{ Filters: []string{ - fmt.Sprintf("*string:~*req.%s:%s", utils.RunID, utils.MetaDefault), + fmt.Sprintf("*string:~*opts.%s:%s", utils.MetaRunID, utils.MetaDefault), fmt.Sprintf("*string:~*req.%s:%s", utils.OriginID, "e4921177ab0e3586c37f6a185864b71a@0:0:0:0:0:0:0:0-51585361-75c2f57b"), }, }, &aSessions); err == nil || err.Error() != utils.ErrNotFound.Error() { diff --git a/apis/chargers_it_test.go b/apis/chargers_it_test.go index 7b6f12d1f..35c5c3d32 100644 --- a/apis/chargers_it_test.go +++ b/apis/chargers_it_test.go @@ -486,17 +486,17 @@ func testChgrsProcessEvent(t *testing.T) { expected := &[]*engine.ChrgSProcessEventReply{ { ChargerSProfile: "TEST_CHARGERS_IT_TEST", - AlteredFields: []string{"*req.RunID"}, + AlteredFields: []string{"*opts.*runID"}, CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "eventCharger", Event: map[string]interface{}{ utils.AccountField: "1001", utils.Destination: "1002", - utils.RunID: utils.MetaDefault, }, APIOpts: map[string]interface{}{ - "*subsys": "*chargers", + "*subsys": "*chargers", + utils.MetaRunID: utils.MetaDefault, }, }, }, diff --git a/apis/ees_test.go b/apis/ees_test.go index 0f1ab39e0..ccdd3addb 100644 --- a/apis/ees_test.go +++ b/apis/ees_test.go @@ -61,7 +61,7 @@ func TestEeSProcessEvent(t *testing.T) { utils.SetupTime: time.Unix(1383813745, 0).UTC(), utils.AnswerTime: time.Unix(1383813746, 0).UTC(), utils.Usage: 10 * time.Second, - utils.RunID: utils.MetaDefault, + utils.MetaRunID: utils.MetaDefault, utils.Cost: 1.01, "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, diff --git a/dispatchers/stats_it_test.go b/dispatchers/stats_it_test.go index 8c4820fe7..c0b86d11e 100644 --- a/dispatchers/stats_it_test.go +++ b/dispatchers/stats_it_test.go @@ -112,12 +112,13 @@ func testDspStsGetStatFailover(t *testing.T) { utils.AnswerTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.Usage: 135 * time.Second, utils.Cost: 123.0, - utils.RunID: utils.MetaDefault, - utils.Destination: "1002", + + utils.Destination: "1002", }, APIOpts: map[string]interface{}{ utils.OptsAPIKey: "stat12345", + utils.MetaRunID: utils.MetaDefault, }, } if err := dispEngine.RPC.Call(utils.StatSv1ProcessEvent, args, &reply); err != nil { diff --git a/ees/ees.go b/ees/ees.go index f038fd056..51f31e56d 100644 --- a/ees/ees.go +++ b/ees/ees.go @@ -272,7 +272,7 @@ func exportEventWithExporter(ctx *context.Context, exp EventExporter, ev *utils. } } key := utils.ConcatenatedKey(utils.FirstNonEmpty(engine.MapEvent(ev.Event).GetStringIgnoreErrors(utils.CGRID), utils.GenUUID()), - utils.FirstNonEmpty(engine.MapEvent(ev.Event).GetStringIgnoreErrors(utils.RunID), utils.MetaDefault)) + utils.FirstNonEmpty(engine.MapEvent(ev.APIOpts).GetStringIgnoreErrors(utils.MetaRunID), utils.MetaDefault)) return ExportWithAttempts(ctx, exp, eEv, key) } diff --git a/ees/ees_test.go b/ees/ees_test.go index 7d78145aa..aa8bfe708 100644 --- a/ees/ees_test.go +++ b/ees/ees_test.go @@ -176,11 +176,14 @@ func TestV1ProcessEvent(t *testing.T) { utils.SetupTime: time.Unix(1383813745, 0).UTC(), utils.AnswerTime: time.Unix(1383813746, 0).UTC(), utils.Usage: 10 * time.Second, - utils.RunID: utils.MetaDefault, + utils.MetaRunID: utils.MetaDefault, utils.Cost: 1.01, "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, + APIOpts: map[string]interface{}{ + utils.MetaRunID: utils.MetaDefault, + }, }, } var rply map[string]map[string]interface{} diff --git a/ees/elastic_it_test.go b/ees/elastic_it_test.go index 8a8c1505d..af1442e16 100644 --- a/ees/elastic_it_test.go +++ b/ees/elastic_it_test.go @@ -138,11 +138,14 @@ func testElasticExportEvents(t *testing.T) { utils.SetupTime: time.Unix(1383813745, 0).UTC(), utils.AnswerTime: time.Unix(1383813746, 0).UTC(), utils.Usage: 10 * time.Second, - utils.RunID: utils.MetaDefault, + utils.Cost: 1.01, "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, + APIOpts: map[string]interface{}{ + utils.MetaRunID: utils.MetaDefault, + }, }, } @@ -165,11 +168,14 @@ func testElasticExportEvents(t *testing.T) { utils.SetupTime: time.Unix(1383813745, 0).UTC(), utils.AnswerTime: time.Unix(1383813746, 0).UTC(), utils.Usage: 10 * time.Nanosecond, - utils.RunID: utils.MetaDefault, + utils.Cost: 0.012, "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, + APIOpts: map[string]interface{}{ + utils.MetaRunID: utils.MetaDefault, + }, }, } @@ -192,11 +198,14 @@ func testElasticExportEvents(t *testing.T) { utils.SetupTime: time.Unix(1383813745, 0).UTC(), utils.AnswerTime: time.Unix(1383813746, 0).UTC(), utils.Usage: time.Duration(1), - utils.RunID: utils.MetaDefault, + utils.Cost: 0.15, "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, + APIOpts: map[string]interface{}{ + utils.MetaRunID: utils.MetaDefault, + }, }, } @@ -213,10 +222,11 @@ func testElasticExportEvents(t *testing.T) { utils.AccountField: "1001", utils.Subject: "1001", utils.Destination: "1002", - utils.RunID: utils.MetaDefault, + }, APIOpts: map[string]interface{}{ "ExporterUsed": "ElasticExporterWithNoFields", + utils.MetaRunID:utils.MetaDefault, }, }, } @@ -289,7 +299,7 @@ func testElasticVerifyExports(t *testing.T) { utils.Destination: "1002", utils.OriginID: "sdfwer", utils.RequestType: "*rated", - utils.RunID: "*default", + utils.MetaRunID: "*default", utils.SetupTime: "2013-11-07T08:42:25Z", utils.Subject: "1001", utils.Tenant: "cgrates.org", @@ -309,7 +319,7 @@ func testElasticVerifyExports(t *testing.T) { utils.Destination: "1002", utils.OriginID: "dsafdsaf", utils.RequestType: "*rated", - utils.RunID: "*default", + utils.MetaRunID: "*default", utils.SetupTime: "2013-11-07T08:42:25Z", utils.Subject: "1001", utils.Tenant: "cgrates.org", @@ -328,8 +338,9 @@ func testElasticVerifyExports(t *testing.T) { utils.AccountField: "1001", utils.Subject: "1001", utils.Destination: "1002", - utils.RunID: utils.MetaDefault, + utils.MetaRunID: utils.MetaDefault, } + if !reflect.DeepEqual(eMp, hit.(map[string]interface{})["_source"]) { t.Errorf("Expected %+v, received: %+v", eMp, hit.(map[string]interface{})["_source"]) } diff --git a/ees/filecsv_it_test.go b/ees/filecsv_it_test.go index 67465a50e..cfdbc550b 100644 --- a/ees/filecsv_it_test.go +++ b/ees/filecsv_it_test.go @@ -124,8 +124,11 @@ func testCsvExportEvent(t *testing.T) { utils.SetupTime: time.Unix(1383813745, 0).UTC(), utils.AnswerTime: time.Unix(1383813746, 0).UTC(), utils.Usage: 10 * time.Second, - utils.RunID: utils.MetaDefault, - utils.Cost: 1.01, + + utils.Cost: 1.01, + }, + APIOpts: map[string]interface{}{ + utils.MetaRunID: utils.MetaDefault, }, }, } @@ -149,9 +152,11 @@ func testCsvExportEvent(t *testing.T) { utils.SetupTime: time.Unix(1383813745, 0).UTC(), utils.AnswerTime: time.Unix(1383813746, 0).UTC(), utils.Usage: 10 * time.Nanosecond, - utils.RunID: utils.MetaDefault, utils.Cost: 0.012, }, + APIOpts: map[string]interface{}{ + utils.MetaRunID: utils.MetaDefault, + }, }, } @@ -174,8 +179,11 @@ func testCsvExportEvent(t *testing.T) { utils.SetupTime: time.Unix(1383813745, 0).UTC(), utils.AnswerTime: time.Unix(1383813746, 0).UTC(), utils.Usage: 1, - utils.RunID: utils.MetaDefault, - utils.Cost: 0.15, + + utils.Cost: 0.15, + }, + APIOpts: map[string]interface{}{ + utils.MetaRunID: utils.MetaDefault, }, }, } @@ -241,11 +249,14 @@ func testCsvExportComposedEvent(t *testing.T) { utils.SetupTime: time.Unix(1383813745, 0).UTC(), utils.AnswerTime: time.Unix(1383813746, 0).UTC(), utils.Usage: 10 * time.Second, - utils.RunID: utils.MetaDefault, - utils.Cost: 1.016374, + + utils.Cost: 1.016374, "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, + APIOpts: map[string]interface{}{ + utils.MetaRunID: utils.MetaDefault, + }, }, } @@ -269,11 +280,14 @@ func testCsvExportComposedEvent(t *testing.T) { utils.SetupTime: time.Unix(1383813745, 0).UTC(), utils.AnswerTime: time.Unix(1383813746, 0).UTC(), utils.Usage: 1, - utils.RunID: utils.MetaDefault, - utils.Cost: 0.155462, + + utils.Cost: 0.155462, "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, + APIOpts: map[string]interface{}{ + utils.MetaRunID: utils.MetaDefault, + }, }, } var reply map[string]utils.MapStorage @@ -331,11 +345,14 @@ func testCsvExportEventWithInflateTemplate(t *testing.T) { utils.SetupTime: time.Unix(1383813745, 0).UTC(), utils.AnswerTime: time.Unix(1383813746, 0).UTC(), utils.Usage: 10 * time.Second, - utils.RunID: utils.MetaDefault, - utils.Cost: 1.01, + + utils.Cost: 1.01, "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, + APIOpts: map[string]interface{}{ + utils.MetaRunID: utils.MetaDefault, + }, }, } @@ -358,11 +375,14 @@ func testCsvExportEventWithInflateTemplate(t *testing.T) { utils.SetupTime: time.Unix(1383813745, 0).UTC(), utils.AnswerTime: time.Unix(1383813746, 0).UTC(), utils.Usage: 10 * time.Nanosecond, - utils.RunID: utils.MetaDefault, - utils.Cost: 0.012, + + utils.Cost: 0.012, "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, + APIOpts: map[string]interface{}{ + utils.MetaRunID: utils.MetaDefault, + }, }, } @@ -385,11 +405,14 @@ func testCsvExportEventWithInflateTemplate(t *testing.T) { utils.SetupTime: time.Unix(1383813745, 0).UTC(), utils.AnswerTime: time.Unix(1383813746, 0).UTC(), utils.Usage: 1, - utils.RunID: utils.MetaDefault, - utils.Cost: 0.15, + + utils.Cost: 0.15, "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, + APIOpts: map[string]interface{}{ + utils.MetaRunID: utils.MetaDefault, + }, }, } var reply map[string]utils.MapStorage @@ -452,11 +475,14 @@ func testCsvExportNotFoundExporter(t *testing.T) { utils.SetupTime: time.Unix(1383813745, 0).UTC(), utils.AnswerTime: time.Unix(1383813746, 0).UTC(), utils.Usage: 10 * time.Second, - utils.RunID: utils.MetaDefault, - utils.Cost: 1.01, + + utils.Cost: 1.01, "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, + APIOpts: map[string]interface{}{ + utils.MetaRunID: utils.MetaDefault, + }, }, } diff --git a/ees/filefwv_it_test.go b/ees/filefwv_it_test.go index 2c945ce32..32f812590 100644 --- a/ees/filefwv_it_test.go +++ b/ees/filefwv_it_test.go @@ -118,9 +118,12 @@ func testFwvExportEvent(t *testing.T) { utils.SetupTime: time.Date(2013, 11, 7, 8, 42, 20, 0, time.UTC), utils.AnswerTime: time.Date(2013, 11, 7, 8, 42, 26, 0, time.UTC), utils.Usage: 10 * time.Second, - utils.RunID: utils.MetaDefault, - utils.Cost: 2.34567, - "ExtraFields": map[string]string{"field_extr1": "val_extr1", "fieldextr2": "valextr2"}, + + utils.Cost: 2.34567, + "ExtraFields": map[string]string{"field_extr1": "val_extr1", "fieldextr2": "valextr2"}, + }, + APIOpts: map[string]interface{}{ + utils.RunID: utils.MetaDefault, }, }, } diff --git a/ees/httppost_it_test.go b/ees/httppost_it_test.go index c4af901df..6c79a8819 100644 --- a/ees/httppost_it_test.go +++ b/ees/httppost_it_test.go @@ -135,11 +135,14 @@ func testHTTPExportEvent(t *testing.T) { utils.SetupTime: time.Unix(1383813745, 0).UTC(), utils.AnswerTime: time.Unix(1383813746, 0).UTC(), utils.Usage: 10 * time.Second, - utils.RunID: utils.MetaDefault, - utils.Cost: 1.01, + + utils.Cost: 1.01, "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, + APIOpts: map[string]interface{}{ + utils.RunID: utils.MetaDefault, + }, }, } @@ -162,11 +165,14 @@ func testHTTPExportEvent(t *testing.T) { utils.SetupTime: time.Unix(1383813745, 0).UTC(), utils.AnswerTime: time.Unix(1383813746, 0).UTC(), utils.Usage: 10 * time.Nanosecond, - utils.RunID: utils.MetaDefault, - utils.Cost: 0.012, + + utils.Cost: 0.012, "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, + APIOpts: map[string]interface{}{ + utils.RunID: utils.MetaDefault, + }, }, } @@ -189,11 +195,14 @@ func testHTTPExportEvent(t *testing.T) { utils.SetupTime: time.Unix(1383813745, 0).UTC(), utils.AnswerTime: time.Unix(1383813746, 0).UTC(), utils.Usage: 1, - utils.RunID: utils.MetaDefault, - utils.Cost: 0.15, + + utils.Cost: 0.15, "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, + APIOpts: map[string]interface{}{ + utils.RunID: utils.MetaDefault, + }, }, } @@ -212,7 +221,9 @@ func testHTTPExportEvent(t *testing.T) { utils.AccountField: "1001", utils.Subject: "1001", utils.Destination: "1002", - utils.RunID: utils.MetaDefault, + }, + APIOpts: map[string]interface{}{ + utils.RunID: utils.MetaDefault, }, }, } diff --git a/ees/posterjsonmap_it_test.go b/ees/posterjsonmap_it_test.go index 341e2360f..bc0168c3b 100644 --- a/ees/posterjsonmap_it_test.go +++ b/ees/posterjsonmap_it_test.go @@ -132,13 +132,14 @@ func testHTTPJsonMapExportEvent(t *testing.T) { utils.SetupTime: time.Unix(1383813745, 0).UTC(), utils.AnswerTime: time.Unix(1383813746, 0).UTC(), utils.Usage: 10 * time.Second, - utils.RunID: utils.MetaDefault, - utils.Cost: 1.01, + + utils.Cost: 1.01, "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, APIOpts: map[string]interface{}{ utils.MetaEventType: utils.CDR, + utils.RunID: utils.MetaDefault, }, }, } @@ -162,13 +163,14 @@ func testHTTPJsonMapExportEvent(t *testing.T) { utils.SetupTime: time.Unix(1383813745, 0).UTC(), utils.AnswerTime: time.Unix(1383813746, 0).UTC(), utils.Usage: 10 * time.Nanosecond, - utils.RunID: utils.MetaDefault, - utils.Cost: 0.012, + + utils.Cost: 0.012, "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, APIOpts: map[string]interface{}{ utils.MetaEventType: utils.CDR, + utils.RunID: utils.MetaDefault, }, }, } @@ -192,14 +194,15 @@ func testHTTPJsonMapExportEvent(t *testing.T) { utils.SetupTime: time.Unix(1383813745, 0).UTC(), utils.AnswerTime: time.Unix(1383813746, 0).UTC(), utils.Usage: 1, - utils.RunID: utils.MetaDefault, - utils.Cost: 0.15, - utils.OrderID: 10, + + utils.Cost: 0.15, + utils.OrderID: 10, "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, APIOpts: map[string]interface{}{ utils.MetaEventType: utils.CDR, + utils.RunID: utils.MetaDefault, }, }, } @@ -216,7 +219,9 @@ func testHTTPJsonMapExportEvent(t *testing.T) { utils.Category: "call", utils.AccountField: "1001", utils.Destination: "1002", - utils.RunID: utils.MetaDefault, + }, + APIOpts: map[string]interface{}{ + utils.RunID: utils.MetaDefault, }, }, } diff --git a/ees/sql_it_test.go b/ees/sql_it_test.go index 9a2841cd3..c0cdec68b 100644 --- a/ees/sql_it_test.go +++ b/ees/sql_it_test.go @@ -163,11 +163,13 @@ func testSqlEeExportEventFull(t *testing.T) { utils.SetupTime: time.Unix(1383813745, 0).UTC(), utils.AnswerTime: time.Unix(1383813746, 0).UTC(), utils.Usage: 10 * time.Second, - utils.RunID: utils.MetaDefault, utils.Cost: 1.01, "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, + APIOpts: map[string]interface{}{ + utils.RunID: utils.MetaDefault, + }, }, } @@ -198,11 +200,13 @@ func testSqlEeExportEventPartial(t *testing.T) { utils.SetupTime: time.Unix(1383813745, 0).UTC(), utils.AnswerTime: time.Unix(1383813746, 0).UTC(), utils.Usage: 10 * time.Second, - utils.RunID: utils.MetaDefault, utils.Cost: 123, "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, + APIOpts: map[string]interface{}{ + utils.RunID: utils.MetaDefault, + }, }, } diff --git a/ees/virtual_ee_it_test.go b/ees/virtual_ee_it_test.go index eabac9d6f..be09f9603 100644 --- a/ees/virtual_ee_it_test.go +++ b/ees/virtual_ee_it_test.go @@ -119,9 +119,11 @@ func testVirtExportSupplierEvent(t *testing.T) { utils.SetupTime: time.Unix(1383813745, 0).UTC(), utils.AnswerTime: time.Unix(1383813746, 0).UTC(), utils.Usage: 10 * time.Second, - utils.RunID: "SupplierRun", utils.Cost: 1.23, }, + APIOpts: map[string]interface{}{ + utils.MetaRunID: "SupplierRun", + }, }, } @@ -152,9 +154,11 @@ func testVirtExportEvents(t *testing.T) { utils.SetupTime: time.Unix(1383813745, 0).UTC(), utils.AnswerTime: time.Unix(1383813746, 0).UTC(), utils.Usage: 10 * time.Second, - utils.RunID: "SupplierRun", utils.Cost: 1.01, }, + APIOpts: map[string]interface{}{ + utils.MetaRunID: "SupplierRun", + }, }, } var reply map[string]utils.MapStorage diff --git a/engine/chargers.go b/engine/chargers.go index 3bb029615..6b075fce1 100644 --- a/engine/chargers.go +++ b/engine/chargers.go @@ -106,16 +106,17 @@ func (cS *ChargerService) processEvent(ctx *context.Context, tnt string, cgrEv * if cPs, err = cS.matchingChargerProfilesForEvent(ctx, tnt, cgrEv); err != nil { return nil, err } + rply = make([]*ChrgSProcessEventReply, len(cPs)) for i, cP := range cPs { clonedEv := cgrEv.Clone() clonedEv.Tenant = tnt - clonedEv.Event[utils.RunID] = cP.RunID + clonedEv.APIOpts[utils.MetaRunID] = cP.RunID clonedEv.APIOpts[utils.Subsys] = utils.MetaChargers rply[i] = &ChrgSProcessEventReply{ ChargerSProfile: cP.ID, CGREvent: clonedEv, - AlteredFields: []string{utils.MetaReqRunID}, + AlteredFields: []string{utils.MetaOptsRunID}, } if len(cP.AttributeIDs) == 1 && cP.AttributeIDs[0] == utils.MetaNone { continue // AttributeS disabled diff --git a/engine/chargers_test.go b/engine/chargers_test.go index b31fb2e5d..95f4e9739 100644 --- a/engine/chargers_test.go +++ b/engine/chargers_test.go @@ -453,11 +453,11 @@ func TestChargerProcessEvent(t *testing.T) { rpl := []*ChrgSProcessEventReply{ { ChargerSProfile: "CPP_1", - AlteredFields: []string{utils.MetaReqRunID}, + AlteredFields: []string{utils.MetaOptsRunID}, CGREvent: chargerEvents[0], }, } - rpl[0].CGREvent.Event[utils.RunID] = cPPs[0].RunID + rpl[0].CGREvent.APIOpts[utils.MetaRunID] = cPPs[0].RunID rcv, err := chargerSrv.processEvent(context.Background(), rpl[0].CGREvent.Tenant, chargerEvents[0]) if err != nil { t.Fatalf("Error: %+v", err) diff --git a/engine/z_chargers_test.go b/engine/z_chargers_test.go index f7ebcceb0..b973bc6b3 100644 --- a/engine/z_chargers_test.go +++ b/engine/z_chargers_test.go @@ -145,7 +145,7 @@ func TestChargersprocessEventCallNilErr(t *testing.T) { exp := []*ChrgSProcessEventReply{ { ChargerSProfile: "1001", - AlteredFields: []string{utils.MetaReqRunID, utils.AccountField}, + AlteredFields: []string{utils.MetaOptsRunID, utils.AccountField}, CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "cgrEvID", @@ -221,15 +221,15 @@ func TestChargersprocessEventCallErr(t *testing.T) { exp := []*ChrgSProcessEventReply{ { ChargerSProfile: "1001", - AlteredFields: []string{utils.MetaReqRunID}, + AlteredFields: []string{utils.MetaOptsRunID}, CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "cgrEvID", Event: map[string]interface{}{ utils.AccountField: "1001", - "RunID": utils.MetaDefault, }, APIOpts: map[string]interface{}{ + utils.MetaRunID: utils.MetaDefault, utils.OptsAttributesProfileIDs: []string(nil), utils.Subsys: utils.MetaChargers, utils.OptsContext: utils.MetaChargers, @@ -460,7 +460,7 @@ func TestChargersV1ProcessEvent(t *testing.T) { exp := &[]*ChrgSProcessEventReply{ { ChargerSProfile: "1001", - AlteredFields: []string{utils.MetaReqRunID, utils.AccountField}, + AlteredFields: []string{utils.MetaOptsRunID, utils.AccountField}, CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "cgrEvID", diff --git a/sessions/session.go b/sessions/session.go index 64ef46525..c89f44ec1 100644 --- a/sessions/session.go +++ b/sessions/session.go @@ -139,7 +139,7 @@ func (s *Session) AsExternalSessions(tmz, nodeID string) (aSs []*ExternalSession for i, sr := range s.SRuns { aSs[i] = &ExternalSession{ CGRID: s.CGRID, - RunID: sr.Event.GetStringIgnoreErrors(utils.RunID), + RunID: sr.RunID, ToR: sr.Event.GetStringIgnoreErrors(utils.ToR), OriginID: s.EventStart.GetStringIgnoreErrors(utils.OriginID), OriginHost: s.EventStart.GetStringIgnoreErrors(utils.OriginHost), @@ -169,7 +169,7 @@ func (s *Session) AsExternalSessions(tmz, nodeID string) (aSs []*ExternalSession func (s *Session) AsExternalSession(sr *SRun, tmz, nodeID string) (aS *ExternalSession) { aS = &ExternalSession{ CGRID: s.CGRID, - RunID: sr.Event.GetStringIgnoreErrors(utils.RunID), + RunID: sr.RunID, ToR: sr.Event.GetStringIgnoreErrors(utils.ToR), OriginID: s.EventStart.GetStringIgnoreErrors(utils.OriginID), OriginHost: s.EventStart.GetStringIgnoreErrors(utils.OriginHost), @@ -249,6 +249,7 @@ type SRun struct { LastUsage time.Duration // last requested Duration TotalUsage time.Duration // sum of lastUsage NextAutoDebit *time.Time + RunID string } // Clone returns the cloned version of SRun diff --git a/sessions/session_test.go b/sessions/session_test.go index 4084397e7..ab261dd0e 100644 --- a/sessions/session_test.go +++ b/sessions/session_test.go @@ -192,7 +192,6 @@ func TestSessionAsCGREvents(t *testing.T) { utils.Subject: "1001", utils.Destination: "1004", utils.Category: "call", - utils.RunID: utils.MetaDefault, utils.Tenant: "cgrates.org", utils.RequestType: utils.MetaPrepaid, utils.SetupTime: time.Date(2016, time.January, 5, 18, 30, 59, 0, time.UTC), @@ -214,8 +213,8 @@ func TestSessionAsCGREvents(t *testing.T) { if len(cgrEvs) != 1 { t.Errorf("Expecting: 1, received: %+v", len(cgrEvs)) } - if cgrEvs[0].Event[utils.RunID] != utils.MetaDefault { - t.Errorf("Expecting: %+v, received: %+v", utils.MetaDefault, cgrEvs[1].Event[utils.RunID]) + if cgrEvs[0].Event[utils.RequestType] != utils.MetaPrepaid { + t.Errorf("Expecting: %+v, received: %+v", utils.MetaPrepaid, cgrEvs[1].Event[utils.RequestType]) } else if cgrEvs[0].Event[utils.Cost] != 12.13 { t.Errorf("Expecting: %+v, received: %+v", 12.13, cgrEvs[1].Event[utils.Cost]) } @@ -245,7 +244,7 @@ func TestSessionAsExternalSessions(t *testing.T) { utils.Subject: "1001", utils.Destination: "1004", utils.Category: "call", - utils.RunID: utils.MetaDefault, + utils.MetaRunID: utils.MetaDefault, utils.Tenant: "cgrates.org", utils.RequestType: utils.MetaPrepaid, utils.SetupTime: time.Date(2016, time.January, 5, 18, 30, 59, 0, time.UTC), @@ -267,7 +266,6 @@ func TestSessionAsExternalSessions(t *testing.T) { } exp := []*ExternalSession{{ CGRID: "RandomCGRID", - RunID: utils.MetaDefault, ToR: utils.MetaVoice, OriginID: "123451", // OriginHost: s.EventStart.GetStringIgnoreErrors(utils.OriginHost), @@ -283,7 +281,7 @@ func TestSessionAsExternalSessions(t *testing.T) { Usage: 2 * time.Second, ExtraFields: map[string]string{ utils.EventName: "TEST_EVENT2", - }, + utils.MetaRunID: utils.MetaDefault}, NodeID: "ALL", DebitInterval: time.Second, NextAutoDebit: tTime, @@ -554,7 +552,7 @@ func TestUpdateSRuns(t *testing.T) { utils.Subject: "1001", utils.Destination: "1004", utils.Category: "call", - utils.RunID: utils.MetaDefault, + utils.MetaRunID: utils.MetaDefault, utils.Tenant: "cgrates.org", utils.RequestType: utils.MetaPrepaid, utils.SetupTime: time.Date(2016, time.January, 5, 18, 30, 59, 0, time.UTC), diff --git a/sessions/sessions.go b/sessions/sessions.go index a2396fab5..6f95cf7ef 100644 --- a/sessions/sessions.go +++ b/sessions/sessions.go @@ -958,6 +958,7 @@ func (sS *SessionS) newSession(ctx *context.Context, cgrEv *utils.CGREvent, resI me := engine.MapEvent(chrgr.CGREvent.Event) s.SRuns[i] = &SRun{ Event: me, + RunID: chrgr.CGREvent.APIOpts[utils.MetaRunID].(string), } } return @@ -2448,7 +2449,7 @@ func (sS *SessionS) BiRPCv1ProcessEvent(ctx *context.Context, return } for _, chrgr := range chrgrs { - events[utils.IfaceAsString(chrgr.CGREvent.Event[utils.RunID])] = chrgr.CGREvent + events[utils.IfaceAsString(chrgr.CGREvent.APIOpts[utils.MetaRunID])] = chrgr.CGREvent } } diff --git a/utils/consts.go b/utils/consts.go index b89e5cbe5..05bed8140 100644 --- a/utils/consts.go +++ b/utils/consts.go @@ -214,13 +214,16 @@ const ( FallbackSubject = "FallbackSubject" DryRun = "DryRun" - CustomValue = "CustomValue" - Value = "Value" - LastUsed = "LastUsed" - PDD = "PDD" - Route = "Route" - RunID = "RunID" + CustomValue = "CustomValue" + Value = "Value" + LastUsed = "LastUsed" + PDD = "PDD" + Route = "Route" + RunID = "RunID" + MetaRunID = "*runID" + AttributeIDs = "AttributeIDs" + MetaOptsRunID = "*opts.*runID" MetaReqRunID = "*req.RunID" Cost = "Cost" CostDetails = "CostDetails" @@ -230,7 +233,6 @@ const ( StaticValuePrefix = "^" CSV = "csv" FWV = "fwv" - MetaCombimed = "*combimed" MetaMongo = "*mongo" MetaPostgres = "*postgres" MetaInternal = "*internal"