From 6e606df61fd4fffef0b98f048a22ac5a7bf38289 Mon Sep 17 00:00:00 2001 From: Trial97 Date: Mon, 18 Nov 2019 15:35:22 +0200 Subject: [PATCH] Updated apier_it_test.go to work with RPC over gob --- apier/v1/apier_it_test.go | 204 ++++++++++++----------- apier/v1/cdre_it_test.go | 2 +- apier/v1/chargers_it_test.go | 6 +- apier/v1/tptimings_it_test.go | 16 +- apier/v1/versions_it_test.go | 8 +- apier/v2/cdrs_it_test.go | 2 +- apier/v2/cdrs_offline_it_test.go | 2 +- apier/v2/tp_it_test.go | 4 +- cmd/cgr-tester/cgr-tester.go | 2 +- console/balance_debit.go | 5 +- console/datadb_versions.go | 3 +- console/debit_max.go | 2 +- console/stordb_versions.go | 3 +- general_tests/a1_it_test.go | 4 +- general_tests/cdre_it_test.go | 2 +- general_tests/cdrs_onlexp_it_test.go | 2 +- general_tests/dest_management_it_test.go | 4 +- general_tests/oldtutorial_it_test.go | 50 +++--- general_tests/tp_it_test.go | 6 +- general_tests/tut_smgeneric_it_test.go | 2 +- sessions/sessions_data_it_test.go | 2 +- utils/consts.go | 12 ++ 22 files changed, 186 insertions(+), 157 deletions(-) diff --git a/apier/v1/apier_it_test.go b/apier/v1/apier_it_test.go index c3a3b95b1..0201f681a 100644 --- a/apier/v1/apier_it_test.go +++ b/apier/v1/apier_it_test.go @@ -83,7 +83,7 @@ func newRPCClient(cfg *config.ListenCfg) (c *rpc.Client, err error) { func TestApierLoadConfig(t *testing.T) { var err error - cfgPath = path.Join(*dataDir, "conf", "samples", "apier") + cfgPath = path.Join(*dataDir, "conf", "samples", "apier") // no need for a new config with *gob transport in this case if cfg, err = config.NewCGRConfigFromPath(cfgPath); err != nil { t.Error(err) } @@ -123,7 +123,7 @@ func TestApierStartEngine(t *testing.T) { // Connect rpc client to rater func TestApierRpcConn(t *testing.T) { var err error - rater, err = jsonrpc.Dial("tcp", cfg.ListenCfg().RPCJSONListen) // We connect over JSON so we can also troubleshoot if needed + rater, err = newRPCClient(cfg.ListenCfg()) // We connect over JSON so we can also troubleshoot if needed if err != nil { t.Fatal("Could not connect to rater: ", err.Error()) } @@ -154,33 +154,33 @@ func TestApierTPTiming(t *testing.T) { } reply := "" for _, tm := range []*utils.ApierTPTiming{tmAlways, tmAsap, tmAlways2} { - if err := rater.Call("ApierV1.SetTPTiming", tm, &reply); err != nil { + if err := rater.Call(utils.ApierV1SetTPTiming, tm, &reply); err != nil { t.Error("Got error on ApierV1.SetTPTiming: ", err.Error()) } else if reply != "OK" { t.Error("Unexpected reply received when calling ApierV1.SetTPTiming: ", reply) } } // Check second set - if err := rater.Call("ApierV1.SetTPTiming", tmAlways, &reply); err != nil { + if err := rater.Call(utils.ApierV1SetTPTiming, tmAlways, &reply); err != nil { t.Error("Got error on second ApierV1.SetTPTiming: ", err.Error()) } else if reply != "OK" { t.Error("Calling ApierV1.SetTPTiming got reply: ", reply) } // Check missing params - if err := rater.Call("ApierV1.SetTPTiming", new(utils.ApierTPTiming), &reply); err == nil { + if err := rater.Call(utils.ApierV1SetTPTiming, new(utils.ApierTPTiming), &reply); err == nil { t.Error("Calling ApierV1.SetTPTiming, expected error, received: ", reply) } else if err.Error() != "MANDATORY_IE_MISSING: [TPid ID Years Months MonthDays WeekDays Time]" { t.Error("Calling ApierV1.SetTPTiming got unexpected error: ", err.Error()) } // Test get var rplyTmAlways2 *utils.ApierTPTiming - if err := rater.Call("ApierV1.GetTPTiming", AttrGetTPTiming{tmAlways2.TPid, tmAlways2.ID}, &rplyTmAlways2); err != nil { + if err := rater.Call(utils.ApierV1GetTPTiming, AttrGetTPTiming{tmAlways2.TPid, tmAlways2.ID}, &rplyTmAlways2); err != nil { t.Error("Calling ApierV1.GetTPTiming, got error: ", err.Error()) } else if !reflect.DeepEqual(tmAlways2, rplyTmAlways2) { t.Errorf("Calling ApierV1.GetTPTiming expected: %v, received: %v", tmAlways, rplyTmAlways2) } // Test remove - if err := rater.Call("ApierV1.RemoveTPTiming", AttrGetTPTiming{tmAlways2.TPid, tmAlways2.ID}, &reply); err != nil { + if err := rater.Call(utils.ApierV1RemoveTPTiming, AttrGetTPTiming{tmAlways2.TPid, tmAlways2.ID}, &reply); err != nil { t.Error("Calling ApierV1.RemoveTPTiming, got error: ", err.Error()) } else if reply != "OK" { t.Error("Calling ApierV1.RemoveTPTiming received: ", reply) @@ -188,7 +188,7 @@ func TestApierTPTiming(t *testing.T) { // Test getIds var rplyTmIds []string expectedTmIds := []string{"ALWAYS", "ASAP"} - if err := rater.Call("ApierV1.GetTPTimingIds", AttrGetTPTimingIds{tmAlways.TPid, utils.PaginatorWithSearch{}}, &rplyTmIds); err != nil { + if err := rater.Call(utils.ApierV1GetTPTimingIds, AttrGetTPTimingIds{tmAlways.TPid, utils.PaginatorWithSearch{}}, &rplyTmIds); err != nil { t.Error("Calling ApierV1.GetTPTimingIds, got error: ", err.Error()) } else if !reflect.DeepEqual(expectedTmIds, rplyTmIds) { t.Errorf("Calling ApierV1.GetTPTimingIds expected: %v, received: %v", expectedTmIds, rplyTmIds) @@ -705,7 +705,7 @@ func TestApierLoadRatingProfile(t *testing.T) { func TestApierLoadAccountActions(t *testing.T) { var rcvStats map[string]*ltcache.CacheStats expectedStats := engine.GetDefaultEmptyCacheStats() // Make sure nothing in cache so far - if err := rater.Call("CacheSv1.GetCacheStats", nil, &rcvStats); err != nil { + if err := rater.Call(utils.CacheSv1GetCacheStats, new(utils.AttrCacheIDsWithArgDispatcher), &rcvStats); err != nil { t.Error("Got error on CacheSv1.GetCacheStats: ", err.Error()) } else if !reflect.DeepEqual(expectedStats, rcvStats) { t.Errorf("Calling CacheSv1.GetCacheStats expected: %+v, received: %+v", utils.ToJSON(expectedStats), utils.ToJSON(rcvStats)) @@ -721,7 +721,7 @@ func TestApierLoadAccountActions(t *testing.T) { expectedStats[utils.CacheAccountActionPlans].Items = 1 expectedStats[utils.CacheActionPlans].Items = 1 expectedStats[utils.CacheActions].Items = 1 - if err := rater.Call("CacheSv1.GetCacheStats", nil, &rcvStats); err != nil { + if err := rater.Call(utils.CacheSv1GetCacheStats, new(utils.AttrCacheIDsWithArgDispatcher), &rcvStats); err != nil { t.Error("Got error on CacheSv1.GetCacheStats: ", err.Error()) } else if !reflect.DeepEqual(expectedStats, rcvStats) { t.Errorf("Calling CacheSv1.GetCacheStats expected: %+v, received: %+v", utils.ToJSON(expectedStats), utils.ToJSON(rcvStats)) @@ -756,7 +756,7 @@ func TestApierSetRatingProfile(t *testing.T) { expectedStats[utils.CacheActionPlans].Items = 1 expectedStats[utils.CacheActions].Items = 1 expectedStats[utils.CacheRatingProfiles].Items = 1 - if err := rater.Call("CacheSv1.GetCacheStats", nil, &rcvStats); err != nil { + if err := rater.Call(utils.CacheSv1GetCacheStats, new(utils.AttrCacheIDsWithArgDispatcher), &rcvStats); err != nil { t.Error("Got error on CacheSv1.GetCacheStats: ", err.Error()) } else if !reflect.DeepEqual(expectedStats, rcvStats) { t.Errorf("Calling CacheSv1.GetCacheStats expected: %+v, received: %+v", expectedStats, rcvStats) @@ -769,26 +769,28 @@ func TestApierSetRatingProfile(t *testing.T) { // Test here ResponderGetCost tStart, _ := utils.ParseTimeDetectLayout("2013-08-07T17:30:00Z", "") tEnd, _ := utils.ParseTimeDetectLayout("2013-08-07T17:31:30Z", "") - cd := engine.CallDescriptor{ - Category: "call", - Tenant: "cgrates.org", - Subject: "dan", - Account: "dan", - Destination: "+4917621621391", - DurationIndex: 90, - TimeStart: tStart, - TimeEnd: tEnd, + cd := &engine.CallDescriptorWithArgDispatcher{ + CallDescriptor: &engine.CallDescriptor{ + Category: "call", + Tenant: "cgrates.org", + Subject: "dan", + Account: "dan", + Destination: "+4917621621391", + DurationIndex: 90, + TimeStart: tStart, + TimeEnd: tEnd, + }, } var cc engine.CallCost // Simple test that command is executed without errors - if err := rater.Call("Responder.GetCost", cd, &cc); err != nil { + if err := rater.Call(utils.ResponderGetCost, cd, &cc); err != nil { t.Error("Got error on Responder.GetCost: ", err.Error()) } else if cc.Cost != 0 { t.Errorf("Calling Responder.GetCost got callcost: %v", cc.Cost) } expectedStats[utils.CacheRatingPlans].Items = 1 expectedStats[utils.CacheReverseDestinations].Items = 10 - if err := rater.Call("CacheSv1.GetCacheStats", nil, &rcvStats); err != nil { + if err := rater.Call(utils.CacheSv1GetCacheStats, new(utils.AttrCacheIDsWithArgDispatcher), &rcvStats); err != nil { t.Error("Got error on CacheSv1.GetCacheStats: ", err.Error()) } else if !reflect.DeepEqual(expectedStats, rcvStats) { t.Errorf("Calling CacheSv1.GetCacheStats expected: %+v, received: %+v", utils.ToJSON(expectedStats), utils.ToJSON(rcvStats)) @@ -861,7 +863,7 @@ func TestApierReloadCache(t *testing.T) { expectedStats[utils.CacheRatingPlans].Items = 1 expectedStats[utils.CacheReverseDestinations].Items = 10 expectedStats[utils.CacheLoadIDs].Items = 20 - if err := rater.Call("CacheSv1.GetCacheStats", nil, &rcvStats); err != nil { + if err := rater.Call(utils.CacheSv1GetCacheStats, new(utils.AttrCacheIDsWithArgDispatcher), &rcvStats); err != nil { t.Error("Got error on CacheSv1.GetCacheStats: ", err.Error()) } else if !reflect.DeepEqual(expectedStats, rcvStats) { t.Errorf("Calling CacheSv1.GetCacheStats expected: %+v, received: %+v", utils.ToJSON(expectedStats), utils.ToJSON(rcvStats)) @@ -929,43 +931,43 @@ func TestApierRemoveRatingPlan(t *testing.T) { func TestApierAddBalance(t *testing.T) { reply := "" attrs := &AttrAddBalance{Tenant: "cgrates.org", Account: "1001", BalanceType: "*monetary", Value: 1.5} - if err := rater.Call(utils.ApierV1AddBalance, attrs, &reply); err != nil { + if err := rater.Call("ApierV1.AddBalance", attrs, &reply); err != nil { t.Error("Got error on ApierV1.AddBalance: ", err.Error()) } else if reply != "OK" { t.Errorf("Calling ApierV1.AddBalance received: %s", reply) } attrs = &AttrAddBalance{Tenant: "cgrates.org", Account: "dan", BalanceType: "*monetary", Value: 1.5} - if err := rater.Call(utils.ApierV1AddBalance, attrs, &reply); err != nil { + if err := rater.Call("ApierV1.AddBalance", attrs, &reply); err != nil { t.Error("Got error on ApierV1.AddBalance: ", err.Error()) } else if reply != "OK" { t.Errorf("Calling ApierV1.AddBalance received: %s", reply) } attrs = &AttrAddBalance{Tenant: "cgrates.org", Account: "dan2", BalanceType: "*monetary", Value: 1.5} - if err := rater.Call(utils.ApierV1AddBalance, attrs, &reply); err != nil { + if err := rater.Call("ApierV1.AddBalance", attrs, &reply); err != nil { t.Error("Got error on ApierV1.AddBalance: ", err.Error()) } else if reply != "OK" { t.Errorf("Calling ApierV1.AddBalance received: %s", reply) } attrs = &AttrAddBalance{Tenant: "cgrates.org", Account: "dan3", BalanceType: "*monetary", Value: 1.5} - if err := rater.Call(utils.ApierV1AddBalance, attrs, &reply); err != nil { + if err := rater.Call("ApierV1.AddBalance", attrs, &reply); err != nil { t.Error("Got error on ApierV1.AddBalance: ", err.Error()) } else if reply != "OK" { t.Errorf("Calling ApierV1.AddBalance received: %s", reply) } attrs = &AttrAddBalance{Tenant: "cgrates.org", Account: "dan3", BalanceType: "*monetary", Value: 2.1} - if err := rater.Call(utils.ApierV1AddBalance, attrs, &reply); err != nil { + if err := rater.Call("ApierV1.AddBalance", attrs, &reply); err != nil { t.Error("Got error on ApierV1.AddBalance: ", err.Error()) } else if reply != "OK" { t.Errorf("Calling ApierV1.AddBalance received: %s", reply) } attrs = &AttrAddBalance{Tenant: "cgrates.org", Account: "dan6", BalanceType: "*monetary", Value: 2.1} - if err := rater.Call(utils.ApierV1AddBalance, attrs, &reply); err != nil { + if err := rater.Call("ApierV1.AddBalance", attrs, &reply); err != nil { t.Error("Got error on ApierV1.AddBalance: ", err.Error()) } else if reply != "OK" { t.Errorf("Calling ApierV1.AddBalance received: %s", reply) } attrs = &AttrAddBalance{Tenant: "cgrates.org", Account: "dan6", BalanceType: "*monetary", Value: 1, Overwrite: true} - if err := rater.Call(utils.ApierV1AddBalance, attrs, &reply); err != nil { + if err := rater.Call("ApierV1.AddBalance", attrs, &reply); err != nil { t.Error("Got error on ApierV1.AddBalance: ", err.Error()) } else if reply != "OK" { t.Errorf("Calling ApierV1.AddBalance received: %s", reply) @@ -1039,7 +1041,7 @@ func TestApierSetActionPlan(t *testing.T) { func TestApierAddTriggeredAction(t *testing.T) { var reply string attrs := &AttrAddBalance{Tenant: "cgrates.org", Account: "dan32", BalanceType: "*monetary", Value: 1.5} - if err := rater.Call(utils.ApierV1AddBalance, attrs, &reply); err != nil { + if err := rater.Call("ApierV1.AddBalance", attrs, &reply); err != nil { t.Error("Got error on ApierV1.AddBalance: ", err.Error()) } else if reply != "OK" { t.Errorf("Calling ApierV1.AddBalance received: %s", reply) @@ -1171,7 +1173,7 @@ func TestApierRemAccountActionTriggers(t *testing.T) { func TestApierSetAccount(t *testing.T) { reply := "" attrs := &utils.AttrSetAccount{Tenant: "cgrates.org", Account: "dan7", ActionPlanId: "ATMS_1", ReloadScheduler: true} - if err := rater.Call(utils.ApierV1SetAccount, attrs, &reply); err != nil { + if err := rater.Call("ApierV1.SetAccount", attrs, &reply); err != nil { t.Error("Got error on ApierV1.SetAccount: ", err.Error()) } else if reply != "OK" { t.Errorf("Calling ApierV1.SetAccount received: %s", reply) @@ -1181,7 +1183,7 @@ func TestApierSetAccount(t *testing.T) { *attrs2 = *attrs attrs2.ActionPlanId = "DUMMY_DATA" // Does not exist so it should error when adding triggers on it // Add account with actions timing which does not exist - if err := rater.Call(utils.ApierV1SetAccount, attrs2, &reply2); err == nil || reply2 == "OK" { // OK is not welcomed + if err := rater.Call("ApierV1.SetAccount", attrs2, &reply2); err == nil || reply2 == "OK" { // OK is not welcomed t.Error("Expecting error on ApierV1.SetAccount.", err, reply2) } } @@ -1272,13 +1274,13 @@ func TestApierGetAccount(t *testing.T) { func TestApierTriggersExecute(t *testing.T) { reply := "" attrs := &utils.AttrSetAccount{Tenant: "cgrates.org", Account: "dan8", ReloadScheduler: true} - if err := rater.Call(utils.ApierV1SetAccount, attrs, &reply); err != nil { + if err := rater.Call("ApierV1.SetAccount", attrs, &reply); err != nil { t.Error("Got error on ApierV1.SetAccount: ", err.Error()) } else if reply != "OK" { t.Errorf("Calling ApierV1.SetAccount received: %s", reply) } attrAddBlnc := &AttrAddBalance{Tenant: "cgrates.org", Account: "1008", BalanceType: "*monetary", Value: 2} - if err := rater.Call(utils.ApierV1AddBalance, attrAddBlnc, &reply); err != nil { + if err := rater.Call("ApierV1.AddBalance", attrAddBlnc, &reply); err != nil { t.Error("Got error on ApierV1.AddBalance: ", err.Error()) } else if reply != "OK" { t.Errorf("Calling ApierV1.AddBalance received: %s", reply) @@ -1297,7 +1299,7 @@ func TestApierResetDataBeforeLoadFromFolder(t *testing.T) { } var rcvStats map[string]*ltcache.CacheStats expectedStats := engine.GetDefaultEmptyCacheStats() - err := rater.Call("CacheSv1.GetCacheStats", nil, &rcvStats) + err := rater.Call(utils.CacheSv1GetCacheStats, new(utils.AttrCacheIDsWithArgDispatcher), &rcvStats) if err != nil { t.Error("Got error on CacheSv1.GetCacheStats: ", err.Error()) } else if !reflect.DeepEqual(rcvStats, expectedStats) { @@ -1350,7 +1352,7 @@ func TestApierResetDataAfterLoadFromFolder(t *testing.T) { expStats[utils.CacheActions].Items = 6 expStats[utils.CacheDestinations].Items = 3 expStats[utils.CacheLoadIDs].Items = 14 - if err := rater.Call("CacheSv1.GetCacheStats", nil, &rcvStats); err != nil { + if err := rater.Call(utils.CacheSv1GetCacheStats, new(utils.AttrCacheIDsWithArgDispatcher), &rcvStats); err != nil { t.Error("Got error on CacheSv1.GetCacheStats: ", err.Error()) } else if !reflect.DeepEqual(expStats, rcvStats) { t.Errorf("Expecting: %+v,\n received: %+v", utils.ToJSON(expStats), utils.ToJSON(rcvStats)) @@ -1378,7 +1380,7 @@ func TestApierResetDataAfterLoadFromFolder(t *testing.T) { expStats[utils.CacheThresholds].Items = 1 expStats[utils.CacheLoadIDs].Items = 20 - if err := rater.Call("CacheSv1.GetCacheStats", nil, &rcvStats); err != nil { + if err := rater.Call(utils.CacheSv1GetCacheStats, new(utils.AttrCacheIDsWithArgDispatcher), &rcvStats); err != nil { t.Error(err) } else if !reflect.DeepEqual(expStats, rcvStats) { t.Errorf("Expecting: %+v, received: %+v", utils.ToJSON(expStats), utils.ToJSON(rcvStats)) @@ -1401,19 +1403,21 @@ func TestApierGetAccountAfterLoad(t *testing.T) { func TestApierResponderGetCost(t *testing.T) { tStart, _ := utils.ParseTimeDetectLayout("2013-08-07T17:30:00Z", "") tEnd, _ := utils.ParseTimeDetectLayout("2013-08-07T17:31:30Z", "") - cd := engine.CallDescriptor{ - Category: "call", - Tenant: "cgrates.org", - Subject: "1001", - Account: "1001", - Destination: "+4917621621391", - DurationIndex: 90, - TimeStart: tStart, - TimeEnd: tEnd, + cd := &engine.CallDescriptorWithArgDispatcher{ + CallDescriptor: &engine.CallDescriptor{ + Category: "call", + Tenant: "cgrates.org", + Subject: "1001", + Account: "1001", + Destination: "+4917621621391", + DurationIndex: 90, + TimeStart: tStart, + TimeEnd: tEnd, + }, } var cc engine.CallCost // Simple test that command is executed without errors - if err := rater.Call("Responder.GetCost", cd, &cc); err != nil { + if err := rater.Call(utils.ResponderGetCost, cd, &cc); err != nil { t.Error("Got error on Responder.GetCost: ", err.Error()) } else if cc.Cost != 90.0 { t.Errorf("Calling Responder.GetCost got callcost: %v", cc) @@ -1423,19 +1427,21 @@ func TestApierResponderGetCost(t *testing.T) { func TestApierMaxDebitInexistentAcnt(t *testing.T) { cc := &engine.CallCost{} - cd := engine.CallDescriptor{ - Tenant: "cgrates.org", - Category: "call", - Subject: "INVALID", - Account: "INVALID", - Destination: "1002", - TimeStart: time.Date(2014, 3, 27, 10, 42, 26, 0, time.UTC), - TimeEnd: time.Date(2014, 3, 27, 10, 42, 26, 0, time.UTC).Add(time.Duration(10) * time.Second), + cd := &engine.CallDescriptorWithArgDispatcher{ + CallDescriptor: &engine.CallDescriptor{ + Tenant: "cgrates.org", + Category: "call", + Subject: "INVALID", + Account: "INVALID", + Destination: "1002", + TimeStart: time.Date(2014, 3, 27, 10, 42, 26, 0, time.UTC), + TimeEnd: time.Date(2014, 3, 27, 10, 42, 26, 0, time.UTC).Add(time.Duration(10) * time.Second), + }, } - if err := rater.Call("Responder.MaxDebit", cd, cc); err == nil { + if err := rater.Call(utils.ResponderMaxDebit, cd, cc); err == nil { t.Error(err.Error()) } - if err := rater.Call("Responder.Debit", cd, cc); err == nil { + if err := rater.Call(utils.ResponderDebit, cd, cc); err == nil { t.Error(err.Error()) } @@ -1463,7 +1469,7 @@ func TestApierCdrServer(t *testing.T) { func TestApierITGetCdrs(t *testing.T) { var reply []*engine.ExternalCDR req := utils.AttrGetCdrs{MediationRunIds: []string{utils.MetaRaw}} - if err := rater.Call("ApierV1.GetCDRs", req, &reply); err != nil { + if err := rater.Call(utils.ApierV1GetCDRs, req, &reply); err != nil { t.Error("Unexpected error: ", err.Error()) } else if len(reply) != 2 { t.Error("Unexpected number of CDRs returned: ", len(reply)) @@ -1472,34 +1478,38 @@ func TestApierITGetCdrs(t *testing.T) { func TestApierITProcessCdr(t *testing.T) { //add a default charger - chargerProfile := &engine.ChargerProfile{ - Tenant: "cgrates.org", - ID: "Default", - RunID: utils.MetaDefault, - AttributeIDs: []string{"*none"}, - Weight: 20, + chargerProfile := &ChargerWithCache{ + ChargerProfile: &engine.ChargerProfile{ + Tenant: "cgrates.org", + ID: "Default", + RunID: utils.MetaDefault, + AttributeIDs: []string{"*none"}, + Weight: 20, + }, } var result string - if err := rater.Call("ApierV1.SetChargerProfile", chargerProfile, &result); err != nil { + if err := rater.Call(utils.ApierV1SetChargerProfile, chargerProfile, &result); err != nil { t.Error(err) } else if result != utils.OK { t.Error("Unexpected reply returned", result) } var reply string - cdr := engine.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: "test", RequestType: utils.META_RATED, Tenant: "cgrates.org", Category: "call", Account: "1001", Subject: "1001", - Destination: "1002", - SetupTime: time.Date(2013, 11, 7, 8, 42, 26, 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, ExtraFields: map[string]string{"field_extr1": "val_extr1", "fieldextr2": "valextr2"}, Cost: 1.01, + cdr := &engine.CDRWithArgDispatcher{ + CDR: &engine.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: "test", RequestType: utils.META_RATED, Tenant: "cgrates.org", Category: "call", Account: "1001", Subject: "1001", + Destination: "1002", + SetupTime: time.Date(2013, 11, 7, 8, 42, 26, 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, ExtraFields: map[string]string{"field_extr1": "val_extr1", "fieldextr2": "valextr2"}, Cost: 1.01, + }, } - if err := rater.Call("CDRsV1.ProcessCDR", cdr, &reply); err != nil { + if err := rater.Call(utils.CDRsV1ProcessCDR, cdr, &reply); err != nil { t.Error("Unexpected error: ", err.Error()) } else if reply != utils.OK { t.Error("Unexpected reply received: ", reply) } var cdrs []*engine.ExternalCDR req := utils.AttrGetCdrs{MediationRunIds: []string{utils.MetaRaw}} - if err := rater.Call("ApierV1.GetCDRs", req, &cdrs); err != nil { + if err := rater.Call(utils.ApierV1GetCDRs, req, &cdrs); err != nil { t.Error("Unexpected error: ", err.Error()) } else if len(cdrs) != 3 { t.Error("Unexpected number of CDRs returned: ", len(cdrs)) @@ -1520,28 +1530,30 @@ func TestApierGetCallCostLog(t *testing.T) { t.Error("ApierV1.GetCallCostLog: should return NOT_FOUND, got:", err) } tm := time.Now().Truncate(time.Millisecond) - cdr := &engine.CDR{ - CGRID: "Cdr1", - OrderID: 123, - ToR: utils.VOICE, - OriginID: "OriginCDR1", - OriginHost: "192.168.1.1", - Source: "test", - RequestType: utils.META_RATED, - Tenant: "cgrates.org", - Category: "call", - Account: "1001", - Subject: "1001", - Destination: "+4986517174963", - SetupTime: tm, - AnswerTime: tm, - RunID: utils.DEFAULT_RUNID, - Usage: time.Duration(0), - ExtraFields: map[string]string{"field_extr1": "val_extr1", "fieldextr2": "valextr2"}, - Cost: 1.01, + cdr := &engine.CDRWithArgDispatcher{ + CDR: &engine.CDR{ + CGRID: "Cdr1", + OrderID: 123, + ToR: utils.VOICE, + OriginID: "OriginCDR1", + OriginHost: "192.168.1.1", + Source: "test", + RequestType: utils.META_RATED, + Tenant: "cgrates.org", + Category: "call", + Account: "1001", + Subject: "1001", + Destination: "+4986517174963", + SetupTime: tm, + AnswerTime: tm, + RunID: utils.DEFAULT_RUNID, + Usage: time.Duration(0), + ExtraFields: map[string]string{"field_extr1": "val_extr1", "fieldextr2": "valextr2"}, + Cost: 1.01, + }, } var reply string - if err := rater.Call("CDRsV1.ProcessCDR", cdr, &reply); err != nil { + if err := rater.Call(utils.CDRsV1ProcessCDR, cdr, &reply); err != nil { t.Error("Unexpected error: ", err.Error()) } else if reply != utils.OK { t.Error("Unexpected reply received: ", reply) @@ -1694,7 +1706,7 @@ func TestApierLoadTariffPlanFromStorDbDryRun(t *testing.T) { func TestApierGetCacheStats2(t *testing.T) { var rcvStats map[string]*ltcache.CacheStats expectedStats := engine.GetDefaultEmptyCacheStats() - err := rater.Call("CacheSv1.GetCacheStats", nil, &rcvStats) + err := rater.Call(utils.CacheSv1GetCacheStats, new(utils.AttrCacheIDsWithArgDispatcher), &rcvStats) if err != nil { t.Error("Got error on CacheSv1.GetCacheStats: ", err.Error()) } else if !reflect.DeepEqual(expectedStats, rcvStats) { @@ -1852,7 +1864,7 @@ func TestApierReplayFailedPosts(t *testing.T) { func TestApierGetDataDBVesions(t *testing.T) { var reply *engine.Versions - if err := rater.Call("ApierV1.GetDataDBVersions", "", &reply); err != nil { + if err := rater.Call(utils.ApierV1GetDataDBVersions, "", &reply); err != nil { t.Error(err) } else if !reflect.DeepEqual(engine.CurrentDataDBVersions(), *reply) { t.Errorf("Expecting : %+v, received: %+v", engine.CurrentDataDBVersions(), *reply) @@ -1861,7 +1873,7 @@ func TestApierGetDataDBVesions(t *testing.T) { func TestApierGetStorDBVesions(t *testing.T) { var reply *engine.Versions - if err := rater.Call("ApierV1.GetStorDBVersions", "", &reply); err != nil { + if err := rater.Call(utils.ApierV1GetStorDBVersions, "", &reply); err != nil { t.Error(err) } else if !reflect.DeepEqual(engine.CurrentStorDBVersions(), *reply) { t.Errorf("Expecting : %+v, received: %+v", engine.CurrentStorDBVersions(), *reply) diff --git a/apier/v1/cdre_it_test.go b/apier/v1/cdre_it_test.go index 9a419c0c5..f45761ba3 100755 --- a/apier/v1/cdre_it_test.go +++ b/apier/v1/cdre_it_test.go @@ -147,7 +147,7 @@ func testCDReAddCDRs(t *testing.T) { } for _, cdr := range storedCdrs { var reply string - if err := cdreRPC.Call("CDRsV1.ProcessCDR", cdr, &reply); err != nil { + if err := cdreRPC.Call(utils.CDRsV1ProcessCDR, cdr, &reply); err != nil { t.Error("Unexpected error: ", err.Error()) } else if reply != utils.OK { t.Error("Unexpected reply received: ", reply) diff --git a/apier/v1/chargers_it_test.go b/apier/v1/chargers_it_test.go index a37ceb9a2..d4c4cf89c 100755 --- a/apier/v1/chargers_it_test.go +++ b/apier/v1/chargers_it_test.go @@ -154,7 +154,7 @@ func testChargerSLoadAddCharger(t *testing.T) { } var result string - if err := chargerRPC.Call("ApierV1.SetChargerProfile", chargerProfile, &result); err != nil { + if err := chargerRPC.Call(utils.ApierV1SetChargerProfile, chargerProfile, &result); err != nil { t.Error(err) } else if result != utils.OK { t.Error("Unexpected reply returned", result) @@ -257,7 +257,7 @@ func testChargerSSetChargerProfile(t *testing.T) { }, } var result string - if err := chargerRPC.Call("ApierV1.SetChargerProfile", chargerProfile, &result); err != nil { + if err := chargerRPC.Call(utils.ApierV1SetChargerProfile, chargerProfile, &result); err != nil { t.Error(err) } else if result != utils.OK { t.Error("Unexpected reply returned", result) @@ -292,7 +292,7 @@ func testChargerSGetChargerProfileIDs(t *testing.T) { func testChargerSUpdateChargerProfile(t *testing.T) { chargerProfile.RunID = "*rated" var result string - if err := chargerRPC.Call("ApierV1.SetChargerProfile", chargerProfile, &result); err != nil { + if err := chargerRPC.Call(utils.ApierV1SetChargerProfile, chargerProfile, &result); err != nil { t.Error(err) } else if result != utils.OK { t.Error("Unexpected reply returned", result) diff --git a/apier/v1/tptimings_it_test.go b/apier/v1/tptimings_it_test.go index 1da91c7b4..64b636bdc 100644 --- a/apier/v1/tptimings_it_test.go +++ b/apier/v1/tptimings_it_test.go @@ -129,7 +129,7 @@ func testTPTimingsRpcConn(t *testing.T) { func testTPTimingsGetTPTimingBeforeSet(t *testing.T) { var reply *utils.ApierTPTiming - if err := tpTimingRPC.Call("ApierV1.GetTPTiming", AttrGetTPTiming{TPid: "TPT1", ID: "Timining"}, &reply); err == nil || err.Error() != utils.ErrNotFound.Error() { + if err := tpTimingRPC.Call(utils.ApierV1GetTPTiming, AttrGetTPTiming{TPid: "TPT1", ID: "Timining"}, &reply); err == nil || err.Error() != utils.ErrNotFound.Error() { t.Error(err) } } @@ -145,7 +145,7 @@ func testTPTimingsSetTPTiming(t *testing.T) { Time: "15:00:00Z", } var result string - if err := tpTimingRPC.Call("ApierV1.SetTPTiming", tpTiming, &result); err != nil { + if err := tpTimingRPC.Call(utils.ApierV1SetTPTiming, tpTiming, &result); err != nil { t.Error(err) } else if result != utils.OK { t.Error("Unexpected reply returned", result) @@ -154,7 +154,7 @@ func testTPTimingsSetTPTiming(t *testing.T) { func testTPTimingsGetTPTimingAfterSet(t *testing.T) { var respond *utils.ApierTPTiming - if err := tpTimingRPC.Call("ApierV1.GetTPTiming", &AttrGetTPTiming{TPid: tpTiming.TPid, ID: tpTiming.ID}, &respond); err != nil { + if err := tpTimingRPC.Call(utils.ApierV1GetTPTiming, &AttrGetTPTiming{TPid: tpTiming.TPid, ID: tpTiming.ID}, &respond); err != nil { t.Error(err) } else if !reflect.DeepEqual(tpTiming, respond) { t.Errorf("Expecting: %+v, received: %+v", tpTiming, respond) @@ -164,7 +164,7 @@ func testTPTimingsGetTPTimingAfterSet(t *testing.T) { func testTPTimingsGetTPTimingIds(t *testing.T) { var result []string expectedTPID := []string{"Timing"} - if err := tpTimingRPC.Call("ApierV1.GetTPTimingIds", &AttrGetTPTimingIds{TPid: tpTiming.TPid}, &result); err != nil { + if err := tpTimingRPC.Call(utils.ApierV1GetTPTimingIds, &AttrGetTPTimingIds{TPid: tpTiming.TPid}, &result); err != nil { t.Error(err) } else if !reflect.DeepEqual(result, expectedTPID) { t.Errorf("Expecting: %+v, received: %+v", result, expectedTPID) @@ -174,7 +174,7 @@ func testTPTimingsGetTPTimingIds(t *testing.T) { func testTPTimingsUpdateTPTiming(t *testing.T) { var result string tpTiming.Years = "2015" - if err := tpTimingRPC.Call("ApierV1.SetTPTiming", tpTiming, &result); err != nil { + if err := tpTimingRPC.Call(utils.ApierV1SetTPTiming, tpTiming, &result); err != nil { t.Error(err) } else if result != utils.OK { t.Error("Unexpected reply returned", result) @@ -183,7 +183,7 @@ func testTPTimingsUpdateTPTiming(t *testing.T) { func testTPTimingsGetTPTimingAfterUpdate(t *testing.T) { var expectedTPS *utils.ApierTPTiming - if err := tpTimingRPC.Call("ApierV1.GetTPTiming", &AttrGetTPTiming{TPid: tpTiming.TPid, ID: tpTiming.ID}, &expectedTPS); err != nil { + if err := tpTimingRPC.Call(utils.ApierV1GetTPTiming, &AttrGetTPTiming{TPid: tpTiming.TPid, ID: tpTiming.ID}, &expectedTPS); err != nil { t.Error(err) } else if !reflect.DeepEqual(tpTiming, expectedTPS) { t.Errorf("Expecting: %+v, received: %+v", tpTiming, expectedTPS) @@ -192,7 +192,7 @@ func testTPTimingsGetTPTimingAfterUpdate(t *testing.T) { func testTPTimingsRemoveTPTiming(t *testing.T) { var resp string - if err := tpTimingRPC.Call("ApierV1.RemoveTPTiming", &AttrGetTPTiming{TPid: tpTiming.TPid, ID: tpTiming.ID}, &resp); err != nil { + if err := tpTimingRPC.Call(utils.ApierV1RemoveTPTiming, &AttrGetTPTiming{TPid: tpTiming.TPid, ID: tpTiming.ID}, &resp); err != nil { t.Error(err) } else if resp != utils.OK { t.Error("Unexpected reply returned", resp) @@ -201,7 +201,7 @@ func testTPTimingsRemoveTPTiming(t *testing.T) { func testTPTimingsGetTPTimingAfterRemove(t *testing.T) { var reply *utils.ApierTPTiming - if err := tpTimingRPC.Call("ApierV1.GetTPTiming", AttrGetTPTiming{TPid: "TPT1", ID: "Timining"}, &reply); err == nil || err.Error() != utils.ErrNotFound.Error() { + if err := tpTimingRPC.Call(utils.ApierV1GetTPTiming, AttrGetTPTiming{TPid: "TPT1", ID: "Timining"}, &reply); err == nil || err.Error() != utils.ErrNotFound.Error() { t.Error(err) } } diff --git a/apier/v1/versions_it_test.go b/apier/v1/versions_it_test.go index 36c62e9ed..9f9ad2f8c 100644 --- a/apier/v1/versions_it_test.go +++ b/apier/v1/versions_it_test.go @@ -119,7 +119,7 @@ func testVrsDataDB(t *testing.T) { "RatingProfile": 1, "User": 1, "Accounts": 3, "ActionPlans": 3, "Chargers": 1, "Destinations": 1, "LoadIDs": 1, "SharedGroups": 2, "Stats": 2, "Resource": 1, "Subscribers": 1, "Suppliers": 1, "Thresholds": 3, "Timing": 1} - if err := vrsRPC.Call("ApierV1.GetDataDBVersions", "", &result); err != nil { + if err := vrsRPC.Call(utils.ApierV1GetDataDBVersions, "", &result); err != nil { t.Error(err) } else if expectedVrs.Compare(result, vrsStorageType, true) != "" { t.Errorf("Expecting: %+v, received: %+v", result, expectedVrs) @@ -133,7 +133,7 @@ func testVrsStorDB(t *testing.T) { "TpSharedGroups": 1, "TpSuppliers": 1, "SessionSCosts": 3, "TpRatingProfiles": 1, "TpStats": 1, "TpTiming": 1, "CostDetails": 2, "TpAccountActions": 1, "TpActionPlans": 1, "TpChargers": 1, "TpRatingProfile": 1, "TpRatingPlan": 1, "TpResources": 1} - if err := vrsRPC.Call("ApierV1.GetStorDBVersions", "", &result); err != nil { + if err := vrsRPC.Call(utils.ApierV1GetStorDBVersions, "", &result); err != nil { t.Error(err) } else if expectedVrs.Compare(result, vrsStorageType, true) != "" { t.Errorf("Expecting: %+v, received: %+v", result, expectedVrs) @@ -159,7 +159,7 @@ func testVrsSetDataDBVrs(t *testing.T) { "RatingProfile": 1, "User": 1, "Accounts": 3, "ActionPlans": 3, "Chargers": 1, "Destinations": 1, "LoadIDs": 1, "SharedGroups": 2, "Stats": 2, "Resource": 1, "Subscribers": 1, "Suppliers": 1, "Thresholds": 3, "Timing": 1} - if err := vrsRPC.Call("ApierV1.GetDataDBVersions", "", &result); err != nil { + if err := vrsRPC.Call(utils.ApierV1GetDataDBVersions, "", &result); err != nil { t.Error(err) } else if expectedVrs.Compare(result, vrsStorageType, true) != "" { t.Errorf("Expecting: %+v, received: %+v", result, expectedVrs) @@ -194,7 +194,7 @@ func testVrsSetStorDBVrs(t *testing.T) { "TpSharedGroups": 1, "TpSuppliers": 1, "SessionSCosts": 3, "TpRatingProfiles": 1, "TpStats": 1, "TpTiming": 1, "CostDetails": 2, "TpAccountActions": 1, "TpActionPlans": 1, "TpChargers": 1, "TpRatingProfile": 1, "TpRatingPlan": 1, "TpResources": 2} - if err := vrsRPC.Call("ApierV1.GetStorDBVersions", "", &result); err != nil { + if err := vrsRPC.Call(utils.ApierV1GetStorDBVersions, "", &result); err != nil { t.Error(err) } else if expectedVrs.Compare(result, vrsStorageType, true) != "" { t.Errorf("Expecting: %+v, received: %+v", result, expectedVrs) diff --git a/apier/v2/cdrs_it_test.go b/apier/v2/cdrs_it_test.go index 0db043616..b4fafc34a 100644 --- a/apier/v2/cdrs_it_test.go +++ b/apier/v2/cdrs_it_test.go @@ -460,7 +460,7 @@ func testV2CDRsDifferentTenants(t *testing.T) { }, Cache: utils.StringPointer(utils.MetaReload), } - if err := cdrsRpc.Call("ApierV1.SetChargerProfile", chargerProfile, &result); err != nil { + if err := cdrsRpc.Call(utils.ApierV1SetChargerProfile, chargerProfile, &result); err != nil { t.Error(err) } else if result != utils.OK { t.Error("Unexpected reply returned", result) diff --git a/apier/v2/cdrs_offline_it_test.go b/apier/v2/cdrs_offline_it_test.go index 88e082b40..f8f3713c2 100644 --- a/apier/v2/cdrs_offline_it_test.go +++ b/apier/v2/cdrs_offline_it_test.go @@ -204,7 +204,7 @@ func testV2CDRsOfflineBalanceUpdate(t *testing.T) { t.Error("Unexpected error received: ", err) } //process cdr should trigger balance update event - if err := cdrsOfflineRpc.Call("CDRsV1.ProcessCDR", cdr, &reply); err != nil { + if err := cdrsOfflineRpc.Call(utils.CDRsV1ProcessCDR, cdr, &reply); err != nil { t.Error("Unexpected error: ", err.Error()) } else if reply != utils.OK { t.Error("Unexpected reply received: ", reply) diff --git a/apier/v2/tp_it_test.go b/apier/v2/tp_it_test.go index 2fed0dd59..2672b9d4c 100644 --- a/apier/v2/tp_it_test.go +++ b/apier/v2/tp_it_test.go @@ -191,7 +191,7 @@ func testTPitTimings(t *testing.T) { } var rplyTmIDs []string expectedTmIDs := []string{"OFFPEAK_EVENING", "OFFPEAK_MORNING", "OFFPEAK_WEEKEND", "PEAK", tmDummyRemove.ID} - if err := tpRPC.Call("ApierV1.GetTPTimingIds", v1.AttrGetTPTimingIds{testTPid, utils.PaginatorWithSearch{}}, &rplyTmIDs); err != nil { + if err := tpRPC.Call(utils.ApierV1GetTPTimingIds, v1.AttrGetTPTimingIds{testTPid, utils.PaginatorWithSearch{}}, &rplyTmIDs); err != nil { t.Error("Calling ApierV1.GetTPTimingIds, got error: ", err.Error()) } else if len(expectedTmIDs) != len(rplyTmIDs) { t.Errorf("Calling ApierV1.GetTPTimingIds expected: %v, received: %v", expectedTmIDs, rplyTmIDs) @@ -205,7 +205,7 @@ func testTPitTimings(t *testing.T) { // Test getIds rplyTmIDs = []string{} expectedTmIDs = []string{"OFFPEAK_EVENING", "OFFPEAK_MORNING", "OFFPEAK_WEEKEND", "PEAK"} - if err := tpRPC.Call("ApierV1.GetTPTimingIds", v1.AttrGetTPTimingIds{testTPid, utils.PaginatorWithSearch{}}, &rplyTmIDs); err != nil { + if err := tpRPC.Call(utils.ApierV1GetTPTimingIds, v1.AttrGetTPTimingIds{testTPid, utils.PaginatorWithSearch{}}, &rplyTmIDs); err != nil { t.Error("Calling ApierV1.GetTPTimingIds, got error: ", err.Error()) } else if len(expectedTmIDs) != len(rplyTmIDs) { t.Errorf("Calling ApierV1.GetTPTimingIds expected: %v, received: %v", expectedTmIDs, rplyTmIDs) diff --git a/cmd/cgr-tester/cgr-tester.go b/cmd/cgr-tester/cgr-tester.go index d7720c8e3..1e61a434e 100644 --- a/cmd/cgr-tester/cgr-tester.go +++ b/cmd/cgr-tester/cgr-tester.go @@ -138,7 +138,7 @@ func durRemoteRater(cd *engine.CallDescriptorWithArgDispatcher) (time.Duration, client.Call(utils.ResponderGetCost, cd, &result) <-sem finish <- 1 - // divCall = client.Go("Responder.GetCost", cd, &result, nil) + // divCall = client.Go(utils.ResponderGetCost, cd, &result, nil) }() } for i := 0; i < *runs; i++ { diff --git a/console/balance_debit.go b/console/balance_debit.go index 7c1dde92d..5890e866b 100644 --- a/console/balance_debit.go +++ b/console/balance_debit.go @@ -18,7 +18,10 @@ along with this program. If not, see package console -import "github.com/cgrates/cgrates/apier/v1" +import ( + v1 "github.com/cgrates/cgrates/apier/v1" + "github.com/cgrates/cgrates/utils" +) func init() { c := &CmdBalanceDebit{ diff --git a/console/datadb_versions.go b/console/datadb_versions.go index bac88cc10..4626a35e4 100644 --- a/console/datadb_versions.go +++ b/console/datadb_versions.go @@ -20,12 +20,13 @@ package console import ( "github.com/cgrates/cgrates/engine" + "github.com/cgrates/cgrates/utils" ) func init() { c := &CmdGetDataDBVersions{ name: "datadb_versions", - rpcMethod: "ApierV1.GetDataDBVersions", + rpcMethod: utils.ApierV1GetDataDBVersions, } commands[c.Name()] = c c.CommandExecuter = &CommandExecuter{c} diff --git a/console/debit_max.go b/console/debit_max.go index fd9cbd4c9..20a14a7e4 100644 --- a/console/debit_max.go +++ b/console/debit_max.go @@ -26,7 +26,7 @@ import ( func init() { c := &CmdMaxDebit{ name: "debit_max", - rpcMethod: "Responder.MaxDebit", + rpcMethod: utils.ResponderMaxDebit, clientArgs: []string{"Direction", "Category", "TOR", "Tenant", "Subject", "Account", "Destination", "TimeStart", "TimeEnd", "CallDuration", "FallbackSubject"}, } commands[c.Name()] = c diff --git a/console/stordb_versions.go b/console/stordb_versions.go index d8b86c9b9..5a90877d3 100644 --- a/console/stordb_versions.go +++ b/console/stordb_versions.go @@ -20,12 +20,13 @@ package console import ( "github.com/cgrates/cgrates/engine" + "github.com/cgrates/cgrates/utils" ) func init() { c := &CmdGetStorDBVersions{ name: "stordb_versions", - rpcMethod: "ApierV1.GetStorDBVersions", + rpcMethod: utils.ApierV1GetStorDBVersions, } commands[c.Name()] = c c.CommandExecuter = &CommandExecuter{c} diff --git a/general_tests/a1_it_test.go b/general_tests/a1_it_test.go index 52db4c7b1..8b403338e 100644 --- a/general_tests/a1_it_test.go +++ b/general_tests/a1_it_test.go @@ -131,7 +131,7 @@ func testA1itLoadTPFromFolder(t *testing.T) { TimeEnd: tEnd, } var cc engine.CallCost - if err := a1rpc.Call("Responder.GetCost", cd, &cc); err != nil { + if err := a1rpc.Call(utils.ResponderGetCost, cd, &cc); err != nil { t.Error("Got error on Responder.GetCost: ", err.Error()) } else if cc.Cost != 0.0 { t.Errorf("Calling Responder.GetCost got callcost: %v", cc) @@ -146,7 +146,7 @@ func testA1itLoadTPFromFolder(t *testing.T) { Weight: 20, } var result string - if err := a1rpc.Call("ApierV1.SetChargerProfile", chargerProfile, &result); err != nil { + if err := a1rpc.Call(utils.ApierV1SetChargerProfile, chargerProfile, &result); err != nil { t.Error(err) } else if result != utils.OK { t.Error("Unexpected reply returned", result) diff --git a/general_tests/cdre_it_test.go b/general_tests/cdre_it_test.go index f4a9766c2..07c918294 100644 --- a/general_tests/cdre_it_test.go +++ b/general_tests/cdre_it_test.go @@ -109,7 +109,7 @@ func testCDRERpcConn(t *testing.T) { func testCDREGetCdrs(t *testing.T) { var reply []*engine.ExternalCDR req := utils.RPCCDRsFilter{} - if err := cdreRPC.Call("ApierV1.GetCDRs", req, &reply); err.Error() != utils.ErrNotFound.Error() { + if err := cdreRPC.Call(utils.ApierV1GetCDRs, req, &reply); err.Error() != utils.ErrNotFound.Error() { t.Error("Unexpected error: ", err.Error()) } } diff --git a/general_tests/cdrs_onlexp_it_test.go b/general_tests/cdrs_onlexp_it_test.go index 98a53a99c..ba1c41368 100644 --- a/general_tests/cdrs_onlexp_it_test.go +++ b/general_tests/cdrs_onlexp_it_test.go @@ -207,7 +207,7 @@ func testCDRsOnExpHttpCdrReplication(t *testing.T) { Weight: 20, } var result string - if err := cdrsMasterRpc.Call("ApierV1.SetChargerProfile", chargerProfile, &result); err != nil { + if err := cdrsMasterRpc.Call(utils.ApierV1SetChargerProfile, chargerProfile, &result); err != nil { t.Error(err) } else if result != utils.OK { t.Error("Unexpected reply returned", result) diff --git a/general_tests/dest_management_it_test.go b/general_tests/dest_management_it_test.go index f8a9d4c65..e33672a18 100644 --- a/general_tests/dest_management_it_test.go +++ b/general_tests/dest_management_it_test.go @@ -320,7 +320,7 @@ func testDestManagCacheWithGetCost(t *testing.T) { TimeStart: time.Date(2016, 2, 24, 0, 0, 0, 0, time.UTC), TimeEnd: time.Date(2016, 2, 24, 0, 0, 10, 0, time.UTC), } - if err := destRPC.Call("Responder.GetCost", cd, &cc); err != nil { + if err := destRPC.Call(utils.ResponderGetCost, cd, &cc); err != nil { t.Error(err) } else if cc.Cost != 1.6667 { t.Error("Empty loadId received, loadInstance: ", utils.ToIJSON(cc)) @@ -339,7 +339,7 @@ func testDestManagCacheWithGetCost(t *testing.T) { t.Errorf("Calling ApierV2.GetDestinations got reply: %v", utils.ToIJSON(dests)) } - if err := destRPC.Call("Responder.GetCost", cd, &cc); err.Error() != utils.ErrUnauthorizedDestination.Error() { + if err := destRPC.Call(utils.ResponderGetCost, cd, &cc); err.Error() != utils.ErrUnauthorizedDestination.Error() { t.Error(err) } } diff --git a/general_tests/oldtutorial_it_test.go b/general_tests/oldtutorial_it_test.go index 58d30030c..bd2253649 100644 --- a/general_tests/oldtutorial_it_test.go +++ b/general_tests/oldtutorial_it_test.go @@ -199,7 +199,7 @@ package general_tests // TimeEnd: tEnd, // } // var cc engine.CallCost -// if err := tutLocalRpc.Call("Responder.GetCost", cd, &cc); err != nil { +// if err := tutLocalRpc.Call(utils.ResponderGetCost, cd, &cc); err != nil { // t.Error("Got error on Responder.GetCost: ", err.Error()) // } else if cc.Cost != 0.6 { // t.Errorf("Calling Responder.GetCost got callcost: %v", cc.Cost) @@ -217,7 +217,7 @@ package general_tests // TimeEnd: tEnd, // ExtraFields: map[string]string{"Uuid": "388539dfd4f5cefee8f488b78c6c244b9e19138e"}, // } -// if err := tutLocalRpc.Call("Responder.GetCost", cd, &cc); err != nil { +// if err := tutLocalRpc.Call(utils.ResponderGetCost, cd, &cc); err != nil { // t.Error("Got error on Responder.GetCost: ", err.Error()) // } else if cc.Cost != 0.6 { // t.Errorf("Calling Responder.GetCost got callcost: %v", cc.Cost) @@ -235,7 +235,7 @@ package general_tests // TimeStart: tStart, // TimeEnd: tEnd, // } -// if err := tutLocalRpc.Call("Responder.GetCost", cd, &cc); err != nil { +// if err := tutLocalRpc.Call(utils.ResponderGetCost, cd, &cc); err != nil { // t.Error("Got error on Responder.GetCost: ", err.Error()) // } else if cc.Cost != 0.6418 { // 0.01 first minute, 0.04 25 seconds with RT_20CNT // t.Errorf("Calling Responder.GetCost got callcost: %v", cc.Cost) @@ -253,7 +253,7 @@ package general_tests // TimeStart: tStart, // TimeEnd: tEnd, // } -// if err := tutLocalRpc.Call("Responder.GetCost", cd, &cc); err != nil { +// if err := tutLocalRpc.Call(utils.ResponderGetCost, cd, &cc); err != nil { // t.Error("Got error on Responder.GetCost: ", err.Error()) // } else if cc.Cost != 1 { // t.Errorf("Calling Responder.GetCost got callcost: %v", cc.Cost) @@ -271,7 +271,7 @@ package general_tests // TimeStart: tStart, // TimeEnd: tEnd, // } -// if err := tutLocalRpc.Call("Responder.GetCost", cd, &cc); err != nil { +// if err := tutLocalRpc.Call(utils.ResponderGetCost, cd, &cc); err != nil { // t.Error("Got error on Responder.GetCost: ", err.Error()) // } else if cc.Cost != 1.3 { // t.Errorf("Calling Responder.GetCost got callcost: %v", cc.Cost) @@ -289,7 +289,7 @@ package general_tests // TimeStart: tStart, // TimeEnd: tEnd, // } -// if err := tutLocalRpc.Call("Responder.GetCost", cd, &cc); err != nil { +// if err := tutLocalRpc.Call(utils.ResponderGetCost, cd, &cc); err != nil { // t.Error("Got error on Responder.GetCost: ", err.Error()) // } else if cc.Cost != 1 { // t.Errorf("Calling Responder.GetCost got callcost: %v", cc.Cost) @@ -307,7 +307,7 @@ package general_tests // TimeStart: tStart, // TimeEnd: tEnd, // } -// if err := tutLocalRpc.Call("Responder.GetCost", cd, &cc); err != nil { +// if err := tutLocalRpc.Call(utils.ResponderGetCost, cd, &cc); err != nil { // t.Error("Got error on Responder.GetCost: ", err.Error()) // } else if cc.Cost != 1.3 { // t.Errorf("Calling Responder.GetCost got callcost: %v", cc.Cost) @@ -323,7 +323,7 @@ package general_tests // TimeStart: tStart, // TimeEnd: tStart.Add(time.Duration(50) * time.Second), // } -// if err := tutLocalRpc.Call("Responder.GetCost", cd, &cc); err != nil { +// if err := tutLocalRpc.Call(utils.ResponderGetCost, cd, &cc); err != nil { // t.Error("Got error on Responder.GetCost: ", err.Error()) // } else if cc.Cost != 0.5 { // t.Errorf("Calling Responder.GetCost got callcost: %s", cc.AsJSON()) @@ -338,7 +338,7 @@ package general_tests // TimeStart: tStart, // TimeEnd: tStart.Add(time.Duration(70) * time.Second), // } -// if err := tutLocalRpc.Call("Responder.GetCost", cd, &cc); err != nil { +// if err := tutLocalRpc.Call(utils.ResponderGetCost, cd, &cc); err != nil { // t.Error("Got error on Responder.GetCost: ", err.Error()) // } else if cc.Cost != 0.62 { // t.Errorf("Calling Responder.GetCost got callcost: %v", cc.Cost) @@ -353,7 +353,7 @@ package general_tests // TimeStart: tStart, // TimeEnd: tStart.Add(time.Duration(50) * time.Second), // } -// if err := tutLocalRpc.Call("Responder.GetCost", cd, &cc); err != nil { +// if err := tutLocalRpc.Call(utils.ResponderGetCost, cd, &cc); err != nil { // t.Error("Got error on Responder.GetCost: ", err.Error()) // } else if cc.Cost != 0.5 { // t.Errorf("Calling Responder.GetCost got callcost: %s", cc.AsJSON()) @@ -368,7 +368,7 @@ package general_tests // TimeStart: tStart, // TimeEnd: tStart.Add(time.Duration(70) * time.Second), // } -// if err := tutLocalRpc.Call("Responder.GetCost", cd, &cc); err != nil { +// if err := tutLocalRpc.Call(utils.ResponderGetCost, cd, &cc); err != nil { // t.Error("Got error on Responder.GetCost: ", err.Error()) // } else if cc.Cost != 0.7 { // In case of *disconnect strategy, it will not be applied so we can go on negative costs // t.Errorf("Calling Responder.GetCost got callcost: %s", cc.AsJSON()) @@ -383,7 +383,7 @@ package general_tests // TimeStart: time.Date(2016, 1, 6, 19, 0, 0, 0, time.UTC), // TimeEnd: time.Date(2016, 1, 6, 19, 1, 30, 0, time.UTC), // } -// if err := tutLocalRpc.Call("Responder.GetCost", cd, &cc); err != nil { +// if err := tutLocalRpc.Call(utils.ResponderGetCost, cd, &cc); err != nil { // t.Error("Got error on Responder.GetCost: ", err.Error()) // } else if cc.Cost != 0.3249 { // // t.Errorf("Calling Responder.GetCost got callcost: %s", cc.AsJSON()) @@ -398,7 +398,7 @@ package general_tests // TimeStart: time.Date(2016, 1, 6, 18, 31, 5, 0, time.UTC), // TimeEnd: time.Date(2016, 1, 6, 18, 32, 35, 0, time.UTC), // } -// if err := tutLocalRpc.Call("Responder.GetCost", cd, &cc); err != nil { +// if err := tutLocalRpc.Call(utils.ResponderGetCost, cd, &cc); err != nil { // t.Error("Got error on Responder.GetCost: ", err.Error()) // } else if cc.Cost != 1.3 { // // t.Errorf("Calling Responder.GetCost got callcost: %s", cc.AsJSON()) @@ -413,7 +413,7 @@ package general_tests // TimeStart: time.Date(2014, 12, 7, 8, 42, 26, 0, time.UTC), // TimeEnd: time.Date(2014, 12, 7, 8, 44, 26, 0, time.UTC), // } -// if err := tutLocalRpc.Call("Responder.GetCost", cd, &cc); err != nil { +// if err := tutLocalRpc.Call(utils.ResponderGetCost, cd, &cc); err != nil { // t.Error("Got error on Responder.GetCost: ", err.Error()) // } else if cc.Cost != 0.3498 { // // t.Errorf("Calling Responder.GetCost got callcost: %s", cc.AsJSON()) @@ -435,7 +435,7 @@ package general_tests // TimeEnd: tStart.Add(time.Duration(20) * time.Second), // } // var cc engine.CallCost -// if err := tutLocalRpc.Call("Responder.MaxDebit", cd, &cc); err != nil { +// if err := tutLocalRpc.Call(utils.ResponderMaxDebit, cd, &cc); err != nil { // t.Error("Got error on Responder.GetCost: ", err.Error()) // } else if cc.GetDuration() == 20 { // t.Errorf("Calling Responder.MaxDebit got callcost: %v", cc.GetDuration()) @@ -451,7 +451,7 @@ package general_tests // TimeStart: tStart, // TimeEnd: tStart.Add(time.Duration(200) * time.Second), // } -// if err := tutLocalRpc.Call("Responder.MaxDebit", cd, &cc); err != nil { +// if err := tutLocalRpc.Call(utils.ResponderMaxDebit, cd, &cc); err != nil { // t.Error("Got error on Responder.MaxDebit: ", err.Error()) // } else if cc.GetDuration() == 200 { // t.Errorf("Calling Responder.MaxDebit got duration: %v", cc.GetDuration()) @@ -468,7 +468,7 @@ package general_tests // TimeEnd: tStart.Add(time.Duration(120) * time.Second), // } // cd.CgrID = "1" -// if err := tutLocalRpc.Call("Responder.MaxDebit", cd, &cc); err != nil { +// if err := tutLocalRpc.Call(utils.ResponderMaxDebit, cd, &cc); err != nil { // t.Error("Got error on Responder.GetCost: ", err.Error()) // } else if cc.GetDuration() == 120 { // t.Errorf("Calling Responder.MaxDebit got callcost: %v", cc.GetDuration()) @@ -485,7 +485,7 @@ package general_tests // TimeEnd: tStart.Add(time.Duration(120) * time.Second), // } // cd.CgrID = "2" -// if err := tutLocalRpc.Call("Responder.MaxDebit", cd, &cc); err != nil { +// if err := tutLocalRpc.Call(utils.ResponderMaxDebit, cd, &cc); err != nil { // t.Error("Got error on Responder.GetCost: ", err.Error()) // } else if cc.GetDuration() != time.Duration(62)*time.Second { // We have as strategy *dsconnect // t.Errorf("Calling Responder.MaxDebit got callcost: %v", cc.GetDuration()) @@ -993,7 +993,7 @@ package general_tests // ExtraFields: map[string]string{"field_extr1": "val_extr1", "fieldextr2": "valextr2"}} // var reply string // for _, cdr := range []*engine.CDR{testCdr1, testCdr2} { -// if err := tutLocalRpc.Call("CdrsV1.ProcessCdr", cdr, &reply); err != nil { +// if err := tutLocalRpc.Call(utils.CDRsV1ProcessCDR, cdr, &reply); err != nil { // t.Error("Unexpected error: ", err.Error()) // } else if reply != utils.OK { // t.Error("Unexpected reply received: ", reply) @@ -1031,7 +1031,7 @@ package general_tests // Tenant: "cgrates.org", Category: "call", Account: "1003", Subject: "1003", Destination: "1004", // SetupTime: time.Date(2014, 12, 7, 8, 42, 24, 0, time.UTC), AnswerTime: time.Date(2014, 12, 7, 8, 42, 26, 0, time.UTC), // Usage: time.Duration(180) * time.Second} -// if err := tutLocalRpc.Call("CdrsV1.ProcessCdr", testCdr3, &reply); err != nil { +// if err := tutLocalRpc.Call(utils.CDRsV1ProcessCDR, testCdr3, &reply); err != nil { // t.Error("Unexpected error: ", err.Error()) // } else if reply != utils.OK { // t.Error("Unexpected reply received: ", reply) @@ -1095,7 +1095,7 @@ package general_tests // SetupTime: time.Date(2014, 12, 7, 8, 42, 24, 0, time.UTC), AnswerTime: time.Date(2014, 12, 7, 8, 42, 26, 0, time.UTC), // Usage: time.Duration(60) * time.Second} // var reply string -// if err := tutLocalRpc.Call("CdrsV1.ProcessCdr", testCdr4, &reply); err != nil { // Should drop ACD under the 2m required by threshold, removing suppl2 from lcr +// if err := tutLocalRpc.Call(utils.CDRsV1ProcessCDR, testCdr4, &reply); err != nil { // Should drop ACD under the 2m required by threshold, removing suppl2 from lcr // t.Error("Unexpected error: ", err.Error()) // } else if reply != utils.OK { // t.Error("Unexpected reply received: ", reply) @@ -1159,7 +1159,7 @@ package general_tests // Tenant: "cgrates.org", Category: "call", Account: "1003", Subject: "1003", Destination: "1004", // SetupTime: time.Date(2014, 12, 7, 8, 42, 24, 0, time.UTC), AnswerTime: time.Date(2014, 12, 7, 8, 42, 26, 0, time.UTC), // Usage: time.Duration(1) * time.Second} -// if err := tutLocalRpc.Call("CdrsV1.ProcessCdr", testCdr5, &reply); err != nil { // Should drop ACD under the 1m required by threshold, removing suppl2 from lcr +// if err := tutLocalRpc.Call(utils.CDRsV1ProcessCDR, testCdr5, &reply); err != nil { // Should drop ACD under the 1m required by threshold, removing suppl2 from lcr // t.Error("Unexpected error: ", err.Error()) // } else if reply != utils.OK { // t.Error("Unexpected reply received: ", reply) @@ -1379,7 +1379,7 @@ package general_tests // } else if reply != utils.OK { // t.Error("Unexpected reply received: ", reply) // } -// if err := tutLocalRpc.Call("CdrsV1.ProcessCdr", cdr, &reply); err != nil { +// if err := tutLocalRpc.Call(utils.CDRsV1ProcessCDR, cdr, &reply); err != nil { // t.Error("Unexpected error: ", err.Error()) // } else if reply != utils.OK { // t.Error("Unexpected reply received: ", reply) @@ -1410,7 +1410,7 @@ package general_tests // Usage: time.Duration(90) * time.Second, // ExtraFields: map[string]string{"field_extr1": "val_extr1", "fieldextr2": "valextr2"}} // var reply string -// if err := tutLocalRpc.Call("CdrsV1.ProcessCdr", cdr, &reply); err != nil { +// if err := tutLocalRpc.Call(utils.CDRsV1ProcessCDR, cdr, &reply); err != nil { // t.Error("Unexpected error: ", err.Error()) // } else if reply != utils.OK { // t.Error("Unexpected reply received: ", reply) @@ -1442,7 +1442,7 @@ package general_tests // ExtraFields: map[string]string{"field_extr1": "val_extr1", "fieldextr2": "valextr2"}} // cdr.ComputeCGRID() // var reply string -// if err := tutLocalRpc.Call("CdrsV1.ProcessCdr", cdr, &reply); err != nil { +// if err := tutLocalRpc.Call(utils.CDRsV1ProcessCDR, cdr, &reply); err != nil { // t.Error("Unexpected error: ", err.Error()) // } else if reply != utils.OK { // t.Error("Unexpected reply received: ", reply) diff --git a/general_tests/tp_it_test.go b/general_tests/tp_it_test.go index c9bd54b00..5d528f3d6 100644 --- a/general_tests/tp_it_test.go +++ b/general_tests/tp_it_test.go @@ -130,7 +130,7 @@ func testTpBalanceCounter(t *testing.T) { TimeEnd: tStart.Add(time.Duration(20) * time.Second), } var cc engine.CallCost - if err := tpRPC.Call("Responder.Debit", cd, &cc); err != nil { + if err := tpRPC.Call(utils.ResponderDebit, cd, &cc); err != nil { t.Error("Got error on Responder.GetCost: ", err.Error()) } else if cc.GetDuration() != 20*time.Second { t.Errorf("Calling Responder.MaxDebit got callcost: %v", cc.GetDuration()) @@ -211,7 +211,7 @@ func testTpZeroCost(t *testing.T) { TimeEnd: tStart.Add(time.Duration(20) * time.Second), } var cc engine.CallCost - if err := tpRPC.Call("Responder.Debit", cd, &cc); err != nil { + if err := tpRPC.Call(utils.ResponderDebit, cd, &cc); err != nil { t.Error("Got error on Responder.Debit: ", err.Error()) } else if cc.GetDuration() != 20*time.Second { t.Errorf("Calling Responder.MaxDebit got callcost: %v", utils.ToIJSON(cc)) @@ -236,7 +236,7 @@ func testTpZeroNegativeCost(t *testing.T) { TimeEnd: tStart.Add(time.Duration(20) * time.Second), } var cc engine.CallCost - if err := tpRPC.Call("Responder.Debit", cd, &cc); err != nil { + if err := tpRPC.Call(utils.ResponderDebit, cd, &cc); err != nil { t.Error("Got error on Responder.GetCost: ", err.Error()) } else if cc.GetDuration() != 20*time.Second { t.Errorf("Calling Responder.MaxDebit got callcost: %v", utils.ToIJSON(cc)) diff --git a/general_tests/tut_smgeneric_it_test.go b/general_tests/tut_smgeneric_it_test.go index 38cf22515..a60cda55a 100644 --- a/general_tests/tut_smgeneric_it_test.go +++ b/general_tests/tut_smgeneric_it_test.go @@ -144,7 +144,7 @@ func TestTutSMGCacheStats(t *testing.T) { expectedStats[utils.CacheActionTriggers].Items = 1 expectedStats[utils.CacheLoadIDs].Items = 20 expectedStats[utils.CacheChargerProfiles].Items = 1 - if err := tutSMGRpc.Call("CacheSv1.GetCacheStats", nil, &rcvStats); err != nil { + if err := tutSMGRpc.Call(utils.CacheSv1GetCacheStats, nil, &rcvStats); err != nil { t.Error("Got error on CacheSv1.GetCacheStats: ", err.Error()) } else if !reflect.DeepEqual(expectedStats, rcvStats) { t.Errorf("Calling ApierV2.CacheSv1 expected: %+v,\n received: %+v", utils.ToJSON(expectedStats), utils.ToJSON(rcvStats)) diff --git a/sessions/sessions_data_it_test.go b/sessions/sessions_data_it_test.go index a395b598e..28d36eeb0 100644 --- a/sessions/sessions_data_it_test.go +++ b/sessions/sessions_data_it_test.go @@ -109,7 +109,7 @@ func TestSessionsDataLastUsedData(t *testing.T) { } var cc engine.CallCost // Make sure the cost is what we expect to be for 1MB of data - if err := sDataRPC.Call("Responder.GetCost", cd, &cc); err != nil { + if err := sDataRPC.Call(utils.ResponderGetCost, cd, &cc); err != nil { t.Error("Got error on Responder.GetCost: ", err.Error()) } else if cc.Cost != 1024 { t.Errorf("Calling Responder.GetCost got callcost: %v", cc.Cost) diff --git a/utils/consts.go b/utils/consts.go index 918fa8e90..c351e9314 100755 --- a/utils/consts.go +++ b/utils/consts.go @@ -866,8 +866,20 @@ const ( ApierV1AddBalance = "ApierV1.AddBalance" ApierV1DebitBalance = "ApierV1.DebitBalance" ApierV1SetAccount = "ApierV1.SetAccount" + ApierV1GetDataDBVersions = "ApierV1.GetDataDBVersions" + ApierV1GetStorDBVersions = "ApierV1.GetStorDBVersions" + ApierV1GetCDRs = "ApierV1.GetCDRs" ) +// ApierV1 TP APIs +const ( + ApierV1SetTPTiming = "ApierV1.SetTPTiming" + ApierV1GetTPTiming = "ApierV1.GetTPTiming" + ApierV1RemoveTPTiming = "ApierV1.RemoveTPTiming" + ApierV1GetTPTimingIds = "ApierV1.GetTPTimingIds" +) + +// ApierV2 APIs const ( ApierV2 = "ApierV2" ApierV2LoadTariffPlanFromFolder = "ApierV2.LoadTariffPlanFromFolder"