From b8a7ac07436221b7987e0050a97307bff13df4b7 Mon Sep 17 00:00:00 2001 From: adragusin Date: Wed, 20 May 2020 18:01:01 +0300 Subject: [PATCH] updated some APIs with pointers args --- apier/v1/accounts.go | 2 +- apier/v1/accounts_it_test.go | 4 +- apier/v1/apier.go | 24 ++++----- apier/v1/apier2_it_test.go | 2 +- apier/v1/apier_it_test.go | 20 +++---- apier/v1/attributes.go | 8 +-- apier/v1/attributes_it_test.go | 16 +++--- apier/v1/cdrs.go | 2 +- apier/v1/cdrs_it_test.go | 2 +- apier/v1/costs.go | 4 +- apier/v1/costs_it_test.go | 2 +- apier/v1/remote_it_test.go | 10 ++-- apier/v1/replicate_it_test.go | 52 +++++++++---------- apier/v1/triggers.go | 2 +- apier/v1/versions.go | 8 +-- apier/v1/versions_it_test.go | 16 +++--- engine/actions_it_test.go | 4 +- engine/filters.go | 3 +- general_tests/a1_it_test.go | 6 +-- general_tests/cdre_it_test.go | 2 +- general_tests/cgrloader_it_test.go | 2 +- general_tests/data_it_test.go | 4 +- general_tests/destination_combined_it_test.go | 4 +- general_tests/doubleremove_it_test.go | 10 ++-- general_tests/tp_it_test.go | 6 +-- general_tests/tutorial2_it_test.go | 26 +++++----- general_tests/tutorial_it_test.go | 2 +- 27 files changed, 121 insertions(+), 122 deletions(-) diff --git a/apier/v1/accounts.go b/apier/v1/accounts.go index c1e4c9d01..273fa851a 100644 --- a/apier/v1/accounts.go +++ b/apier/v1/accounts.go @@ -606,7 +606,7 @@ func (api *APIerSv1) RemoveBalances(attr *utils.AttrSetBalance, reply *string) ( return nil } -func (api *APIerSv1) GetAccountsCount(attr utils.TenantArg, reply *int) (err error) { +func (api *APIerSv1) GetAccountsCount(attr *utils.TenantArg, reply *int) (err error) { if len(attr.Tenant) == 0 { return utils.NewErrMandatoryIeMissing("Tenant") } diff --git a/apier/v1/accounts_it_test.go b/apier/v1/accounts_it_test.go index 4d88f3286..ea212cb85 100644 --- a/apier/v1/accounts_it_test.go +++ b/apier/v1/accounts_it_test.go @@ -205,7 +205,7 @@ func testAccITSetBalanceTimingIds(t *testing.T) { Time: "15:00:00Z", } var reply string - if err := accRPC.Call(utils.APIerSv1SetTPTiming, tpTiming, &reply); err != nil { + if err := accRPC.Call(utils.APIerSv1SetTPTiming, &tpTiming, &reply); err != nil { t.Error(err) } else if reply != utils.OK { t.Error("Unexpected reply returned", reply) @@ -513,7 +513,7 @@ func testAccITCountAccounts(t *testing.T) { args := &utils.TenantArg{ Tenant: "cgrates.org", } - if err := accRPC.Call(utils.APIerSv1GetAccountsCount, args, &reply); err != nil { + if err := accRPC.Call(utils.APIerSv1GetAccountsCount, &args, &reply); err != nil { t.Error(err) } else if reply != 10 { t.Errorf("Expecting: %v, received: %v", 10, reply) diff --git a/apier/v1/apier.go b/apier/v1/apier.go index d46833d10..83ab6a2b1 100644 --- a/apier/v1/apier.go +++ b/apier/v1/apier.go @@ -60,8 +60,8 @@ func (apiv1 *APIerSv1) Call(serviceMethod string, return utils.APIerRPCCall(apiv1, serviceMethod, args, reply) } -func (apiv1 *APIerSv1) GetDestination(dstId string, reply *engine.Destination) error { - if dst, err := apiv1.DataManager.GetDestination(dstId, false, utils.NonTransactional); err != nil { +func (apiv1 *APIerSv1) GetDestination(dstId *string, reply *engine.Destination) error { + if dst, err := apiv1.DataManager.GetDestination(*dstId, false, utils.NonTransactional); err != nil { return utils.ErrNotFound } else { *reply = *dst @@ -74,7 +74,7 @@ type AttrRemoveDestination struct { Prefixes []string } -func (apiv1 *APIerSv1) RemoveDestination(attr AttrRemoveDestination, reply *string) (err error) { +func (apiv1 *APIerSv1) RemoveDestination(attr *AttrRemoveDestination, reply *string) (err error) { for _, dstID := range attr.DestinationIDs { if len(attr.Prefixes) == 0 { if err = apiv1.DataManager.RemoveDestination(dstID, utils.NonTransactional); err != nil { @@ -94,12 +94,12 @@ func (apiv1 *APIerSv1) RemoveDestination(attr AttrRemoveDestination, reply *stri } // GetReverseDestination retrieves revese destination list for a prefix -func (apiv1 *APIerSv1) GetReverseDestination(prefix string, reply *[]string) (err error) { - if prefix == "" { +func (apiv1 *APIerSv1) GetReverseDestination(prefix *string, reply *[]string) (err error) { + if *prefix == utils.EmptyString { return utils.NewErrMandatoryIeMissing("prefix") } var revLst []string - if revLst, err = apiv1.DataManager.GetReverseDestination(prefix, false, utils.NonTransactional); err != nil { + if revLst, err = apiv1.DataManager.GetReverseDestination(*prefix, false, utils.NonTransactional); err != nil { return } *reply = revLst @@ -586,12 +586,12 @@ func (apiv1 *APIerSv1) SetActions(attrs V1AttrSetActions, reply *string) (err er } // Retrieves actions attached to specific ActionsId within cache -func (apiv1 *APIerSv1) GetActions(actsId string, reply *[]*utils.TPAction) error { - if len(actsId) == 0 { - return fmt.Errorf("%s ActionsId: %s", utils.ErrMandatoryIeMissing.Error(), actsId) +func (apiv1 *APIerSv1) GetActions(actsId *string, reply *[]*utils.TPAction) error { + if len(*actsId) == 0 { + return fmt.Errorf("%s ActionsId: %s", utils.ErrMandatoryIeMissing.Error(), *actsId) } acts := make([]*utils.TPAction, 0) - engActs, err := apiv1.DataManager.GetActions(actsId, false, utils.NonTransactional) + engActs, err := apiv1.DataManager.GetActions(*actsId, false, utils.NonTransactional) if err != nil { return utils.NewErrServerError(err) } @@ -822,7 +822,7 @@ type AttrGetActionPlan struct { ID string } -func (apiv1 *APIerSv1) GetActionPlan(attr AttrGetActionPlan, reply *[]*engine.ActionPlan) error { +func (apiv1 *APIerSv1) GetActionPlan(attr *AttrGetActionPlan, reply *[]*engine.ActionPlan) error { var result []*engine.ActionPlan if attr.ID == "" || attr.ID == "*" { result = make([]*engine.ActionPlan, 0) @@ -1360,7 +1360,7 @@ func (apiv1 *APIerSv1) ComputeActionPlanIndexes(_ string, reply *string) (err er } // GetActionPlanIDs returns list of ActionPlan IDs registered for a tenant -func (apiv1 *APIerSv1) GetActionPlanIDs(args utils.TenantArgWithPaginator, attrPrfIDs *[]string) error { +func (apiv1 *APIerSv1) GetActionPlanIDs(args *utils.TenantArgWithPaginator, attrPrfIDs *[]string) error { prfx := utils.ACTION_PLAN_PREFIX keys, err := apiv1.DataManager.DataDB().GetKeysForPrefix(utils.ACTION_PLAN_PREFIX) if err != nil { diff --git a/apier/v1/apier2_it_test.go b/apier/v1/apier2_it_test.go index 0b3bce3f0..47c839ab4 100644 --- a/apier/v1/apier2_it_test.go +++ b/apier/v1/apier2_it_test.go @@ -291,7 +291,7 @@ func testAPIerGetRatingPlanCost3(t *testing.T) { func testAPIerGetActionPlanIDs(t *testing.T) { var reply []string if err := apierRPC.Call(utils.APIerSv1GetActionPlanIDs, - utils.TenantArgWithPaginator{TenantArg: utils.TenantArg{Tenant: "cgrates.org"}}, + &utils.TenantArgWithPaginator{TenantArg: utils.TenantArg{Tenant: "cgrates.org"}}, &reply); err != nil { t.Error(err) } else if len(reply) != 1 { diff --git a/apier/v1/apier_it_test.go b/apier/v1/apier_it_test.go index e239c2bf5..8612b5ff0 100644 --- a/apier/v1/apier_it_test.go +++ b/apier/v1/apier_it_test.go @@ -980,7 +980,7 @@ func testApierGetDestination(t *testing.T) { reply := new(engine.Destination) dstId := "GERMANY_MOBILE" expectedReply := &engine.Destination{Id: dstId, Prefixes: []string{"+4915", "+4916", "+4917"}} - if err := rater.Call(utils.APIerSv1GetDestination, dstId, reply); err != nil { + if err := rater.Call(utils.APIerSv1GetDestination, &dstId, reply); err != nil { t.Error("Got error on APIerSv1.GetDestination: ", err.Error()) } else if !reflect.DeepEqual(expectedReply, reply) { t.Errorf("Calling APIerSv1.GetDestination expected: %v, received: %v", expectedReply, reply) @@ -1120,7 +1120,7 @@ func testApierGetActions(t *testing.T) { BalanceDisabled: "false", ExpiryTime: utils.UNLIMITED, Weight: 20.0}} var reply []*utils.TPAction - if err := rater.Call(utils.APIerSv1GetActions, "ACTS_1", &reply); err != nil { + if err := rater.Call(utils.APIerSv1GetActions, utils.StringPointer("ACTS_1"), &reply); err != nil { t.Error("Got error on APIerSv1.GetActions: ", err.Error()) } else if !reflect.DeepEqual(expectActs, reply) { t.Errorf("Expected: %v, received: %v", utils.ToJSON(expectActs), utils.ToJSON(reply)) @@ -1603,7 +1603,7 @@ func testApierCdrServer(t *testing.T) { func testApierITGetCdrs(t *testing.T) { var reply []*engine.ExternalCDR req := utils.AttrGetCdrs{MediationRunIds: []string{utils.MetaDefault}} - if err := rater.Call(utils.APIerSv1GetCDRs, req, &reply); err != nil { + if err := rater.Call(utils.APIerSv1GetCDRs, &req, &reply); err != nil { t.Error("Unexpected error: ", err.Error()) } else if len(reply) != 2 { t.Error("Unexpected number of CDRs returned: ", len(reply)) @@ -1627,7 +1627,7 @@ func testApierITProcessCdr(t *testing.T) { } var cdrs []*engine.ExternalCDR req := utils.AttrGetCdrs{MediationRunIds: []string{utils.MetaDefault}} - if err := rater.Call(utils.APIerSv1GetCDRs, req, &cdrs); err != nil { + if err := rater.Call(utils.APIerSv1GetCDRs, &req, &cdrs); err != nil { t.Error("Unexpected error: ", err.Error()) } else if len(cdrs) != 3 { t.Error("Unexpected number of CDRs returned: ", len(cdrs)) @@ -1727,14 +1727,14 @@ func testApierITSetDestination(t *testing.T) { } eDestination := engine.Destination{Id: attrs.Id, Prefixes: attrs.Prefixes} var rcvDestination engine.Destination - if err := rater.Call(utils.APIerSv1GetDestination, attrs.Id, &rcvDestination); err != nil { + if err := rater.Call(utils.APIerSv1GetDestination, &attrs.Id, &rcvDestination); err != nil { t.Error("Unexpected error", err.Error()) } else if !reflect.DeepEqual(eDestination, rcvDestination) { t.Errorf("Expecting: %+v, received: %+v", eDestination, rcvDestination) } eRcvIDs := []string{attrs.Id} var rcvIDs []string - if err := rater.Call(utils.APIerSv1GetReverseDestination, attrs.Prefixes[0], &rcvIDs); err != nil { + if err := rater.Call(utils.APIerSv1GetReverseDestination, &attrs.Prefixes[0], &rcvIDs); err != nil { t.Error("Unexpected error", err.Error()) } else if !reflect.DeepEqual(eRcvIDs, rcvIDs) { t.Errorf("Expecting: %+v, received: %+v", eRcvIDs, rcvIDs) @@ -1752,7 +1752,7 @@ func testApierITGetDataCost(t *testing.T) { attrs := AttrGetDataCost{Category: "data", Tenant: "cgrates.org", Subject: "1001", AnswerTime: utils.MetaNow, Usage: 640113} var rply *engine.DataCost - if err := rater.Call(utils.APIerSv1GetDataCost, attrs, &rply); err != nil { + if err := rater.Call(utils.APIerSv1GetDataCost, &attrs, &rply); err != nil { t.Error("Unexpected nil error received: ", err.Error()) } else if rply.Cost != 128.0240 { t.Errorf("Unexpected cost received: %f", rply.Cost) @@ -1763,7 +1763,7 @@ func testApierITGetCost(t *testing.T) { attrs := AttrGetCost{Category: "data", Tenant: "cgrates.org", Subject: "1001", AnswerTime: utils.MetaNow, Usage: "640113"} var rply *engine.EventCost - if err := rater.Call(utils.APIerSv1GetCost, attrs, &rply); err != nil { + if err := rater.Call(utils.APIerSv1GetCost, &attrs, &rply); err != nil { t.Error("Unexpected nil error received: ", err.Error()) } else if *rply.Cost != 128.0240 { t.Errorf("Unexpected cost received: %f", *rply.Cost) @@ -1992,7 +1992,7 @@ func testApierReplayFldPosts(t *testing.T) { func testApierGetDataDBVesions(t *testing.T) { var reply *engine.Versions - if err := rater.Call(utils.APIerSv1GetDataDBVersions, utils.EmptyString, &reply); err != nil { + if err := rater.Call(utils.APIerSv1GetDataDBVersions, utils.StringPointer(utils.EmptyString), &reply); err != nil { t.Error(err) } else if !reflect.DeepEqual(engine.CurrentDataDBVersions(), *reply) { t.Errorf("Expecting : %+v, received: %+v", engine.CurrentDataDBVersions(), *reply) @@ -2001,7 +2001,7 @@ func testApierGetDataDBVesions(t *testing.T) { func testApierGetStorDBVesions(t *testing.T) { var reply *engine.Versions - if err := rater.Call(utils.APIerSv1GetStorDBVersions, utils.EmptyString, &reply); err != nil { + if err := rater.Call(utils.APIerSv1GetStorDBVersions, utils.StringPointer(utils.EmptyString), &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/attributes.go b/apier/v1/attributes.go index 5c6ec3c9d..c39b9b03f 100644 --- a/apier/v1/attributes.go +++ b/apier/v1/attributes.go @@ -26,8 +26,8 @@ import ( ) // GetAttributeProfile returns an Attribute Profile -func (APIerSv1 *APIerSv1) GetAttributeProfile(arg utils.TenantIDWithArgDispatcher, reply *engine.AttributeProfile) error { - if missing := utils.MissingStructFields(&arg, []string{"Tenant", "ID"}); len(missing) != 0 { //Params missing +func (APIerSv1 *APIerSv1) GetAttributeProfile(arg *utils.TenantIDWithArgDispatcher, reply *engine.AttributeProfile) error { + if missing := utils.MissingStructFields(arg, []string{"Tenant", "ID"}); len(missing) != 0 { //Params missing return utils.NewErrMandatoryIeMissing(missing...) } if alsPrf, err := APIerSv1.DataManager.GetAttributeProfile(arg.Tenant, arg.ID, true, true, utils.NonTransactional); err != nil { @@ -42,8 +42,8 @@ func (APIerSv1 *APIerSv1) GetAttributeProfile(arg utils.TenantIDWithArgDispatche } // GetAttributeProfileIDs returns list of attributeProfile IDs registered for a tenant -func (APIerSv1 *APIerSv1) GetAttributeProfileIDs(args utils.TenantArgWithPaginator, attrPrfIDs *[]string) error { - if missing := utils.MissingStructFields(&args, []string{utils.Tenant}); len(missing) != 0 { //Params missing +func (APIerSv1 *APIerSv1) GetAttributeProfileIDs(args *utils.TenantArgWithPaginator, attrPrfIDs *[]string) error { + if missing := utils.MissingStructFields(args, []string{utils.Tenant}); len(missing) != 0 { //Params missing return utils.NewErrMandatoryIeMissing(missing...) } prfx := utils.AttributeProfilePrefix + args.Tenant + ":" diff --git a/apier/v1/attributes_it_test.go b/apier/v1/attributes_it_test.go index 5804bc6fd..095bca76d 100644 --- a/apier/v1/attributes_it_test.go +++ b/apier/v1/attributes_it_test.go @@ -694,16 +694,16 @@ func testAttributeSProcessEventWithHeader(t *testing.T) { func testAttributeSGetAttPrfIDs(t *testing.T) { expected := []string{"ATTR_2", "ATTR_PASS", "ATTR_1", "ATTR_3", "ATTR_Header", "AttributeWithNonSubstitute"} var result []string - if err := attrSRPC.Call(utils.APIerSv1GetAttributeProfileIDs, utils.TenantArgWithPaginator{}, &result); err == nil || + if err := attrSRPC.Call(utils.APIerSv1GetAttributeProfileIDs, &utils.TenantArgWithPaginator{}, &result); err == nil || err.Error() != utils.NewErrMandatoryIeMissing("Tenant").Error() { t.Errorf("Expected error recived reply %+v with err=%v", result, err) } - if err := attrSRPC.Call(utils.APIerSv1GetAttributeProfileIDs, utils.TenantArgWithPaginator{TenantArg: utils.TenantArg{Tenant: "cgrates.org"}}, &result); err != nil { + if err := attrSRPC.Call(utils.APIerSv1GetAttributeProfileIDs, &utils.TenantArgWithPaginator{TenantArg: utils.TenantArg{Tenant: "cgrates.org"}}, &result); err != nil { t.Error(err) } else if len(expected) != len(result) { t.Errorf("Expecting : %+v, received: %+v", expected, result) } - if err := attrSRPC.Call(utils.APIerSv1GetAttributeProfileIDs, utils.TenantArgWithPaginator{ + if err := attrSRPC.Call(utils.APIerSv1GetAttributeProfileIDs, &utils.TenantArgWithPaginator{ TenantArg: utils.TenantArg{Tenant: "cgrates.org"}, Paginator: utils.Paginator{Limit: utils.IntPointer(10)}, }, &result); err != nil { @@ -1371,7 +1371,7 @@ func testAttributeSCachingMetaNone(t *testing.T) { //check in dataManager expected := []string{"ATTR_1"} var rcvIDs []string - if err := attrSRPC.Call(utils.APIerSv1GetAttributeProfileIDs, utils.TenantArgWithPaginator{TenantArg: utils.TenantArg{Tenant: "cgrates.org"}}, &rcvIDs); err != nil { + if err := attrSRPC.Call(utils.APIerSv1GetAttributeProfileIDs, &utils.TenantArgWithPaginator{TenantArg: utils.TenantArg{Tenant: "cgrates.org"}}, &rcvIDs); err != nil { t.Error(err) } else if !reflect.DeepEqual(expected, rcvIDs) { t.Errorf("Expecting : %+v, received: %+v", expected, rcvIDs) @@ -1431,7 +1431,7 @@ func testAttributeSCachingMetaLoad(t *testing.T) { //check in dataManager expected := []string{"ATTR_1"} var rcvIDs []string - if err := attrSRPC.Call(utils.APIerSv1GetAttributeProfileIDs, utils.TenantArgWithPaginator{TenantArg: utils.TenantArg{Tenant: "cgrates.org"}}, &rcvIDs); err != nil { + if err := attrSRPC.Call(utils.APIerSv1GetAttributeProfileIDs, &utils.TenantArgWithPaginator{TenantArg: utils.TenantArg{Tenant: "cgrates.org"}}, &rcvIDs); err != nil { t.Error(err) } else if !reflect.DeepEqual(expected, rcvIDs) { t.Errorf("Expecting : %+v, received: %+v", expected, rcvIDs) @@ -1463,7 +1463,7 @@ func testAttributeSCachingMetaLoad(t *testing.T) { } //check in dataManager - if err := attrSRPC.Call(utils.APIerSv1GetAttributeProfileIDs, utils.TenantArgWithPaginator{TenantArg: utils.TenantArg{Tenant: "cgrates.org"}}, &rcvIDs); err == nil || + if err := attrSRPC.Call(utils.APIerSv1GetAttributeProfileIDs, &utils.TenantArgWithPaginator{TenantArg: utils.TenantArg{Tenant: "cgrates.org"}}, &rcvIDs); err == nil || err.Error() != utils.ErrNotFound.Error() { t.Fatalf("Expected error: %s received error: %s and reply: %v ", utils.ErrNotFound, err, rcvIDs) @@ -1522,7 +1522,7 @@ func testAttributeSCachingMetaReload1(t *testing.T) { //check in dataManager expected := []string{"ATTR_1"} var rcvIDs []string - if err := attrSRPC.Call(utils.APIerSv1GetAttributeProfileIDs, utils.TenantArgWithPaginator{TenantArg: utils.TenantArg{Tenant: "cgrates.org"}}, &rcvIDs); err != nil { + if err := attrSRPC.Call(utils.APIerSv1GetAttributeProfileIDs, &utils.TenantArgWithPaginator{TenantArg: utils.TenantArg{Tenant: "cgrates.org"}}, &rcvIDs); err != nil { t.Error(err) } else if !reflect.DeepEqual(expected, rcvIDs) { t.Errorf("Expecting : %+v, received: %+v", expected, rcvIDs) @@ -1701,7 +1701,7 @@ func testAttributeSCachingMetaRemove(t *testing.T) { //check in dataManager expected := []string{"ATTR_1"} var rcvIDs []string - if err := attrSRPC.Call(utils.APIerSv1GetAttributeProfileIDs, utils.TenantArgWithPaginator{TenantArg: utils.TenantArg{Tenant: "cgrates.org"}}, &rcvIDs); err != nil { + if err := attrSRPC.Call(utils.APIerSv1GetAttributeProfileIDs, &utils.TenantArgWithPaginator{TenantArg: utils.TenantArg{Tenant: "cgrates.org"}}, &rcvIDs); err != nil { t.Error(err) } else if !reflect.DeepEqual(expected, rcvIDs) { t.Errorf("Expecting : %+v, received: %+v", expected, rcvIDs) diff --git a/apier/v1/cdrs.go b/apier/v1/cdrs.go index 8af56f5dd..ec7f1d8af 100644 --- a/apier/v1/cdrs.go +++ b/apier/v1/cdrs.go @@ -50,7 +50,7 @@ func (apier *APIerSv1) GetEventCost(attrs utils.AttrGetCallCost, reply *engine.E } // Retrieves CDRs based on the filters -func (apier *APIerSv1) GetCDRs(attrs utils.AttrGetCdrs, reply *[]*engine.ExternalCDR) error { +func (apier *APIerSv1) GetCDRs(attrs *utils.AttrGetCdrs, reply *[]*engine.ExternalCDR) error { cdrsFltr, err := attrs.AsCDRsFilter(apier.Config.GeneralCfg().DefaultTimezone) if err != nil { return utils.NewErrServerError(err) diff --git a/apier/v1/cdrs_it_test.go b/apier/v1/cdrs_it_test.go index f94b17b92..8d295e986 100644 --- a/apier/v1/cdrs_it_test.go +++ b/apier/v1/cdrs_it_test.go @@ -178,7 +178,7 @@ func testV1CDRsProcessEventWithRefund(t *testing.T) { t.Error("Unexpected reply received: ", reply) } var cdrs []*engine.ExternalCDR - if err := cdrsRpc.Call(utils.APIerSv1GetCDRs, utils.AttrGetCdrs{}, &cdrs); err != nil { + if err := cdrsRpc.Call(utils.APIerSv1GetCDRs, &utils.AttrGetCdrs{}, &cdrs); err != nil { t.Error("Unexpected error: ", err.Error()) } else if len(cdrs) != 1 { t.Error("Unexpected number of CDRs returned: ", len(cdrs)) diff --git a/apier/v1/costs.go b/apier/v1/costs.go index 6b4d58a43..60b168ed3 100644 --- a/apier/v1/costs.go +++ b/apier/v1/costs.go @@ -35,7 +35,7 @@ type AttrGetCost struct { *utils.ArgDispatcher } -func (apier *APIerSv1) GetCost(attrs AttrGetCost, ec *engine.EventCost) error { +func (apier *APIerSv1) GetCost(attrs *AttrGetCost, ec *engine.EventCost) error { if apier.Responder == nil { return utils.NewErrNotConnected(utils.RALService) } @@ -79,7 +79,7 @@ type AttrGetDataCost struct { *utils.ArgDispatcher } -func (apier *APIerSv1) GetDataCost(attrs AttrGetDataCost, reply *engine.DataCost) error { +func (apier *APIerSv1) GetDataCost(attrs *AttrGetDataCost, reply *engine.DataCost) error { if apier.Responder == nil { return utils.NewErrNotConnected(utils.RALService) } diff --git a/apier/v1/costs_it_test.go b/apier/v1/costs_it_test.go index c0e93f1c8..fab3148f3 100644 --- a/apier/v1/costs_it_test.go +++ b/apier/v1/costs_it_test.go @@ -122,7 +122,7 @@ func testCostGetCost(t *testing.T) { attrs := AttrGetCost{Category: "call", Tenant: "cgrates.org", Subject: "1001", AnswerTime: "*now", Destination: "1002", Usage: "120000000000"} //120s ( 2m) var rply *engine.EventCost - if err := costRPC.Call(utils.APIerSv1GetCost, attrs, &rply); err != nil { + if err := costRPC.Call(utils.APIerSv1GetCost, &attrs, &rply); err != nil { t.Error("Unexpected nil error received: ", err.Error()) } else if *rply.Cost != 0.700200 { // expect to get 0.7 (0.4 connect fee 0.2 first minute 0.1 each minute after) t.Errorf("Unexpected cost received: %f", *rply.Cost) diff --git a/apier/v1/remote_it_test.go b/apier/v1/remote_it_test.go index e886141fe..f68197bae 100644 --- a/apier/v1/remote_it_test.go +++ b/apier/v1/remote_it_test.go @@ -527,7 +527,7 @@ func testInternalRemoteITGetAction(t *testing.T) { BalanceDisabled: "false", ExpiryTime: utils.UNLIMITED, Weight: 10.0}} var reply []*utils.TPAction - if err := internalRPC.Call(utils.APIerSv1GetActions, "ACT_TOPUP_RST_10", &reply); err != nil { + if err := internalRPC.Call(utils.APIerSv1GetActions, utils.StringPointer("ACT_TOPUP_RST_10"), &reply); err != nil { t.Error("Got error on APIerSv1.GetActions: ", err.Error()) } else if !reflect.DeepEqual(expectActs, reply) { t.Errorf("Expected: %v,\n received: %v", utils.ToJSON(expectActs), utils.ToJSON(reply)) @@ -542,7 +542,7 @@ func testInternalRemoteITGetActionPlan(t *testing.T) { "cgrates.org:1003": true, } if err := internalRPC.Call(utils.APIerSv1GetActionPlan, - AttrGetActionPlan{ID: "AP_PACKAGE_10"}, &aps); err != nil { + &AttrGetActionPlan{ID: "AP_PACKAGE_10"}, &aps); err != nil { t.Error(err) } else if len(aps) != 1 { t.Errorf("Expected: %v,\n received: %v", 1, len(aps)) @@ -552,7 +552,7 @@ func testInternalRemoteITGetActionPlan(t *testing.T) { t.Errorf("Expected: %v,\n received: %v", accIDsStrMp, aps[0].AccountIDs) } if err := internalRPC.Call(utils.APIerSv1GetActionPlan, - AttrGetActionPlan{ID: utils.EmptyString}, &aps); err != nil { + &AttrGetActionPlan{ID: utils.EmptyString}, &aps); err != nil { t.Error(err) } else if len(aps) != 1 { t.Errorf("Expected: %v,\n received: %v", 1, len(aps)) @@ -586,7 +586,7 @@ func testInternalRemoteITGetDestination(t *testing.T) { Id: "DST_1002", Prefixes: []string{"1002"}, } - if err := internalRPC.Call(utils.APIerSv1GetDestination, "DST_1002", &dst); err != nil { + if err := internalRPC.Call(utils.APIerSv1GetDestination, utils.StringPointer("DST_1002"), &dst); err != nil { t.Error(err) } else if !reflect.DeepEqual(eDst, dst) { t.Errorf("Expected: %v,\n received: %v", eDst, dst) @@ -596,7 +596,7 @@ func testInternalRemoteITGetDestination(t *testing.T) { func testInternalRemoteITGetReverseDestination(t *testing.T) { var ids []string eIDs := []string{"DST_1002"} - if err := internalRPC.Call(utils.APIerSv1GetReverseDestination, "1002", &ids); err != nil { + if err := internalRPC.Call(utils.APIerSv1GetReverseDestination, utils.StringPointer("1002"), &ids); err != nil { t.Error(err) } else if !reflect.DeepEqual(eIDs, ids) { t.Errorf("Expected: %v,\n received: %v", eIDs, ids) diff --git a/apier/v1/replicate_it_test.go b/apier/v1/replicate_it_test.go index de95a84d4..80ffbefa8 100644 --- a/apier/v1/replicate_it_test.go +++ b/apier/v1/replicate_it_test.go @@ -165,10 +165,10 @@ func testInternalReplicateLoadDataInInternalEngine(t *testing.T) { func testInternalReplicateITDestination(t *testing.T) { //check rpl := &engine.Destination{} - if err := engineOneRPC.Call(utils.APIerSv1GetDestination, "testDestination", &rpl); err == nil || err.Error() != utils.ErrNotFound.Error() { + if err := engineOneRPC.Call(utils.APIerSv1GetDestination, utils.StringPointer("testDestination"), &rpl); err == nil || err.Error() != utils.ErrNotFound.Error() { t.Error(err) } - if err := engineTwoRPC.Call(utils.APIerSv1GetDestination, "testDestination", &rpl); err == nil || err.Error() != utils.ErrNotFound.Error() { + if err := engineTwoRPC.Call(utils.APIerSv1GetDestination, utils.StringPointer("testDestination"), &rpl); err == nil || err.Error() != utils.ErrNotFound.Error() { t.Error(err) } //set @@ -184,12 +184,12 @@ func testInternalReplicateITDestination(t *testing.T) { Prefixes: []string{"004", "005"}, } // check - if err := engineOneRPC.Call(utils.APIerSv1GetDestination, "testDestination", &rpl); err != nil { + if err := engineOneRPC.Call(utils.APIerSv1GetDestination, utils.StringPointer("testDestination"), &rpl); err != nil { t.Error(err) } else if !reflect.DeepEqual(eDst, rpl) { t.Errorf("Expected: %v,\n received: %v", eDst, rpl) } - if err := engineTwoRPC.Call(utils.APIerSv1GetDestination, "testDestination", &rpl); err != nil { + if err := engineTwoRPC.Call(utils.APIerSv1GetDestination, utils.StringPointer("testDestination"), &rpl); err != nil { t.Error(err) } else if !reflect.DeepEqual(eDst, rpl) { t.Errorf("Expected: %v,\n received: %v", eDst, rpl) @@ -197,16 +197,16 @@ func testInternalReplicateITDestination(t *testing.T) { // remove attr := &AttrRemoveDestination{DestinationIDs: []string{"testDestination"}, Prefixes: []string{"004", "005"}} - if err := internalRPC.Call(utils.APIerSv1RemoveDestination, attr, &reply); err != nil { + if err := internalRPC.Call(utils.APIerSv1RemoveDestination, &attr, &reply); err != nil { t.Error("Unexpected error", err.Error()) } else if reply != utils.OK { t.Errorf("Unexpected reply returned: %+v", reply) } // check - if err := engineOneRPC.Call(utils.APIerSv1GetDestination, "testDestination", &rpl); err == nil || err.Error() != utils.ErrNotFound.Error() { + if err := engineOneRPC.Call(utils.APIerSv1GetDestination, utils.StringPointer("testDestination"), &rpl); err == nil || err.Error() != utils.ErrNotFound.Error() { t.Error(err) } - if err := engineTwoRPC.Call(utils.APIerSv1GetDestination, "testDestination", &rpl); err == nil || err.Error() != utils.ErrNotFound.Error() { + if err := engineTwoRPC.Call(utils.APIerSv1GetDestination, utils.StringPointer("testDestination"), &rpl); err == nil || err.Error() != utils.ErrNotFound.Error() { t.Error(err) } } @@ -835,10 +835,10 @@ func testInternalReplicateITResourceProfile(t *testing.T) { func testInternalReplicateITActions(t *testing.T) { // check var reply1 []*utils.TPAction - if err := engineOneRPC.Call(utils.APIerSv1GetActions, "ACTS_1", &reply1); err == nil || err.Error() != "SERVER_ERROR: NOT_FOUND" { + if err := engineOneRPC.Call(utils.APIerSv1GetActions, utils.StringPointer("ACTS_1"), &reply1); err == nil || err.Error() != "SERVER_ERROR: NOT_FOUND" { t.Error(err) } - if err := engineTwoRPC.Call(utils.APIerSv1GetActions, "ACTS_1", &reply1); err == nil || err.Error() != "SERVER_ERROR: NOT_FOUND" { + if err := engineTwoRPC.Call(utils.APIerSv1GetActions, utils.StringPointer("ACTS_1"), &reply1); err == nil || err.Error() != "SERVER_ERROR: NOT_FOUND" { t.Error(err) } // set @@ -870,17 +870,17 @@ func testInternalReplicateITActions(t *testing.T) { ExpiryTime: utils.UNLIMITED, Weight: 20.0, }} - if err := internalRPC.Call(utils.APIerSv1GetActions, "ACTS_1", &reply1); err != nil { + if err := internalRPC.Call(utils.APIerSv1GetActions, utils.StringPointer("ACTS_1"), &reply1); err != nil { t.Error("Got error on APIerSv1.GetActions: ", err.Error()) } else if !reflect.DeepEqual(eOut, reply1) { t.Errorf("Expected: %v, received: %v", utils.ToJSON(eOut), utils.ToJSON(reply1)) } - if err := engineOneRPC.Call(utils.APIerSv1GetActions, "ACTS_1", &reply1); err != nil { + if err := engineOneRPC.Call(utils.APIerSv1GetActions, utils.StringPointer("ACTS_1"), &reply1); err != nil { t.Error("Got error on APIerSv1.GetActions: ", err.Error()) } else if !reflect.DeepEqual(eOut, reply1) { t.Errorf("Expected: %v, received: %v", utils.ToJSON(eOut), utils.ToJSON(reply1)) } - if err := engineTwoRPC.Call(utils.APIerSv1GetActions, "ACTS_1", &reply1); err != nil { + if err := engineTwoRPC.Call(utils.APIerSv1GetActions, utils.StringPointer("ACTS_1"), &reply1); err != nil { t.Error("Got error on APIerSv1.GetActions: ", err.Error()) } else if !reflect.DeepEqual(eOut, reply1) { t.Errorf("Expected: %v, received: %v", utils.ToJSON(eOut), utils.ToJSON(reply1)) @@ -894,10 +894,10 @@ func testInternalReplicateITActions(t *testing.T) { t.Error("Unexpected reply when calling APIerSv1.RemoveActions: ", err.Error()) } // check again - if err := engineOneRPC.Call(utils.APIerSv1GetActions, "ACTS_1", &reply1); err == nil || err.Error() != "SERVER_ERROR: NOT_FOUND" { + if err := engineOneRPC.Call(utils.APIerSv1GetActions, utils.StringPointer("ACTS_1"), &reply1); err == nil || err.Error() != "SERVER_ERROR: NOT_FOUND" { t.Error(err) } - if err := engineTwoRPC.Call(utils.APIerSv1GetActions, "ACTS_1", &reply1); err == nil || err.Error() != "SERVER_ERROR: NOT_FOUND" { + if err := engineTwoRPC.Call(utils.APIerSv1GetActions, utils.StringPointer("ACTS_1"), &reply1); err == nil || err.Error() != "SERVER_ERROR: NOT_FOUND" { t.Error(err) } @@ -916,11 +916,11 @@ func testInternalReplicateITActionPlan(t *testing.T) { // check var aps []*engine.ActionPlan if err := engineOneRPC.Call(utils.APIerSv1GetActionPlan, - AttrGetActionPlan{ID: "ATMS_1"}, &aps); err == nil || err.Error() != utils.ErrNotFound.Error() { + &AttrGetActionPlan{ID: "ATMS_1"}, &aps); err == nil || err.Error() != utils.ErrNotFound.Error() { t.Errorf("Error at APIerSv1.GetActionPlan: %+v", err) } if err := engineTwoRPC.Call(utils.APIerSv1GetActionPlan, - AttrGetActionPlan{ID: "ATMS_1"}, &aps); err == nil || err.Error() != utils.ErrNotFound.Error() { + &AttrGetActionPlan{ID: "ATMS_1"}, &aps); err == nil || err.Error() != utils.ErrNotFound.Error() { t.Errorf("Error at APIerSv1.GetActionPlan: %+v", err) } // set @@ -941,7 +941,7 @@ func testInternalReplicateITActionPlan(t *testing.T) { } // check if err := engineOneRPC.Call(utils.APIerSv1GetActionPlan, - AttrGetActionPlan{ID: "ATMS_1"}, &aps); err != nil { + &AttrGetActionPlan{ID: "ATMS_1"}, &aps); err != nil { t.Error(err) } else if len(aps) != 1 { t.Errorf("Expected: %v,\n received: %v", 1, len(aps)) @@ -953,7 +953,7 @@ func testInternalReplicateITActionPlan(t *testing.T) { t.Errorf("Expected: 20.0,\n received: %v", aps[0].ActionTimings[0].Weight) } if err := engineTwoRPC.Call(utils.APIerSv1GetActionPlan, - AttrGetActionPlan{ID: "ATMS_1"}, &aps); err != nil { + &AttrGetActionPlan{ID: "ATMS_1"}, &aps); err != nil { t.Error(err) } else if len(aps) != 1 { t.Errorf("Expected: %v,\n received: %v", 1, len(aps)) @@ -973,11 +973,11 @@ func testInternalReplicateITActionPlan(t *testing.T) { } //check again if err := engineOneRPC.Call(utils.APIerSv1GetActionPlan, - AttrGetActionPlan{ID: "ATMS_1"}, &aps); err == nil || err.Error() != utils.ErrNotFound.Error() { + &AttrGetActionPlan{ID: "ATMS_1"}, &aps); err == nil || err.Error() != utils.ErrNotFound.Error() { t.Errorf("Error: %+v, rcv: %+v", err, utils.ToJSON(aps)) } if err := engineTwoRPC.Call(utils.APIerSv1GetActionPlan, - AttrGetActionPlan{ID: "ATMS_1"}, &aps); err == nil || err.Error() != utils.ErrNotFound.Error() { + &AttrGetActionPlan{ID: "ATMS_1"}, &aps); err == nil || err.Error() != utils.ErrNotFound.Error() { t.Errorf("Error: %+v, rcv: %+v", err, utils.ToJSON(aps)) } } @@ -1135,11 +1135,11 @@ func testInternalReplicateITActionTrigger(t *testing.T) { // check var atrs engine.ActionTriggers if err := engineOneRPC.Call(utils.APIerSv1GetActionTriggers, - AttrGetActionTriggers{GroupIDs: []string{"TestATR"}}, &atrs); err == nil || err.Error() != utils.ErrNotFound.Error() { + &AttrGetActionTriggers{GroupIDs: []string{"TestATR"}}, &atrs); err == nil || err.Error() != utils.ErrNotFound.Error() { t.Error("Got error on APIerSv1.GetActionTriggers: ", err) } if err := engineTwoRPC.Call(utils.APIerSv1GetActionTriggers, - AttrGetActionTriggers{GroupIDs: []string{"TestATR"}}, &atrs); err == nil || err.Error() != utils.ErrNotFound.Error() { + &AttrGetActionTriggers{GroupIDs: []string{"TestATR"}}, &atrs); err == nil || err.Error() != utils.ErrNotFound.Error() { t.Error("Got error on APIerSv1.GetActionTriggers: ", err) } // set @@ -1157,7 +1157,7 @@ func testInternalReplicateITActionTrigger(t *testing.T) { t.Errorf("Calling v1.SetActionTrigger got: %v", reply) } // check - if err := engineOneRPC.Call(utils.APIerSv1GetActionTriggers, AttrGetActionTriggers{GroupIDs: []string{"TestATR"}}, &atrs); err != nil { + if err := engineOneRPC.Call(utils.APIerSv1GetActionTriggers, &AttrGetActionTriggers{GroupIDs: []string{"TestATR"}}, &atrs); err != nil { t.Error("Got error on APIerSv1.GetActionTriggers: ", err) } else if len(atrs) != 1 { t.Errorf("Calling v1.GetActionTriggers got: %v", atrs) @@ -1168,7 +1168,7 @@ func testInternalReplicateITActionTrigger(t *testing.T) { } else if *atrs[0].Balance.ID != "BalanceIDtest1" { t.Errorf("Expecting BalanceIDtest1, received: %+v", atrs[0].Balance.ID) } - if err := engineTwoRPC.Call(utils.APIerSv1GetActionTriggers, AttrGetActionTriggers{GroupIDs: []string{"TestATR"}}, &atrs); err != nil { + if err := engineTwoRPC.Call(utils.APIerSv1GetActionTriggers, &AttrGetActionTriggers{GroupIDs: []string{"TestATR"}}, &atrs); err != nil { t.Error("Got error on APIerSv1.GetActionTriggers: ", err) } else if len(atrs) != 1 { t.Errorf("Calling v1.GetActionTriggers got: %v", atrs) @@ -1191,11 +1191,11 @@ func testInternalReplicateITActionTrigger(t *testing.T) { } //check if err := engineOneRPC.Call(utils.APIerSv1GetActionTriggers, - AttrGetActionTriggers{GroupIDs: []string{"TestATR"}}, &atrs); err == nil || err.Error() != utils.ErrNotFound.Error() { + &AttrGetActionTriggers{GroupIDs: []string{"TestATR"}}, &atrs); err == nil || err.Error() != utils.ErrNotFound.Error() { t.Errorf("Got error on APIerSv1.GetActionTriggers: %+v", err) } if err := engineTwoRPC.Call(utils.APIerSv1GetActionTriggers, - AttrGetActionTriggers{GroupIDs: []string{"TestATR"}}, &atrs); err == nil || err.Error() != utils.ErrNotFound.Error() { + &AttrGetActionTriggers{GroupIDs: []string{"TestATR"}}, &atrs); err == nil || err.Error() != utils.ErrNotFound.Error() { t.Error("Got error on APIerSv1.GetActionTriggers: ", err) } } diff --git a/apier/v1/triggers.go b/apier/v1/triggers.go index d622b8c9c..3b5e85f31 100644 --- a/apier/v1/triggers.go +++ b/apier/v1/triggers.go @@ -462,7 +462,7 @@ type AttrGetActionTriggers struct { GroupIDs []string } -func (api *APIerSv1) GetActionTriggers(attr AttrGetActionTriggers, atrs *engine.ActionTriggers) error { +func (api *APIerSv1) GetActionTriggers(attr *AttrGetActionTriggers, atrs *engine.ActionTriggers) error { var allAttrs engine.ActionTriggers if len(attr.GroupIDs) > 0 { for _, key := range attr.GroupIDs { diff --git a/apier/v1/versions.go b/apier/v1/versions.go index f168207ac..acf775917 100644 --- a/apier/v1/versions.go +++ b/apier/v1/versions.go @@ -24,7 +24,7 @@ import ( ) // Queries all versions from dataDB -func (self *APIerSv1) GetDataDBVersions(ign string, reply *engine.Versions) error { +func (self *APIerSv1) GetDataDBVersions(ign *string, reply *engine.Versions) error { if vrs, err := self.DataManager.DataDB().GetVersions(""); err != nil { return utils.NewErrServerError(err) } else if len(vrs) == 0 { @@ -36,7 +36,7 @@ func (self *APIerSv1) GetDataDBVersions(ign string, reply *engine.Versions) erro } // Queries all versions from stordb -func (self *APIerSv1) GetStorDBVersions(ign string, reply *engine.Versions) error { +func (self *APIerSv1) GetStorDBVersions(ign *string, reply *engine.Versions) error { if vrs, err := self.StorDb.GetVersions(""); err != nil { return utils.NewErrServerError(err) } else if len(vrs) == 0 { @@ -53,7 +53,7 @@ type SetVersionsArg struct { } // Queries all versions from dataDB -func (self *APIerSv1) SetDataDBVersions(arg SetVersionsArg, reply *string) error { +func (self *APIerSv1) SetDataDBVersions(arg *SetVersionsArg, reply *string) error { if arg.Versions == nil { arg.Versions = engine.CurrentDataDBVersions() } @@ -65,7 +65,7 @@ func (self *APIerSv1) SetDataDBVersions(arg SetVersionsArg, reply *string) error } // Queries all versions from stordb -func (self *APIerSv1) SetStorDBVersions(arg SetVersionsArg, reply *string) error { +func (self *APIerSv1) SetStorDBVersions(arg *SetVersionsArg, reply *string) error { if arg.Versions == nil { arg.Versions = engine.CurrentDataDBVersions() } diff --git a/apier/v1/versions_it_test.go b/apier/v1/versions_it_test.go index c60e6416b..58a9fa468 100644 --- a/apier/v1/versions_it_test.go +++ b/apier/v1/versions_it_test.go @@ -125,7 +125,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, "Routes": 1, "Thresholds": 3, "Timing": 1} - if err := vrsRPC.Call(utils.APIerSv1GetDataDBVersions, "", &result); err != nil { + if err := vrsRPC.Call(utils.APIerSv1GetDataDBVersions, utils.StringPointer(utils.EmptyString), &result); err != nil { t.Error(err) } else if expectedVrs.Compare(result, vrsStorageType, true) != "" { t.Errorf("Expecting: %+v, received: %+v", expectedVrs, result) @@ -139,7 +139,7 @@ func testVrsStorDB(t *testing.T) { "TpSharedGroups": 1, "TpRoutes": 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(utils.APIerSv1GetStorDBVersions, "", &result); err != nil { + if err := vrsRPC.Call(utils.APIerSv1GetStorDBVersions, utils.StringPointer(utils.EmptyString), &result); err != nil { t.Error(err) } else if expectedVrs.Compare(result, vrsStorageType, true) != "" { t.Errorf("Expecting: %+v, received: %+v", result, expectedVrs) @@ -153,7 +153,7 @@ func testVrsSetDataDBVrs(t *testing.T) { "Attributes": 3, }, } - if err := vrsRPC.Call(utils.APIerSv1SetDataDBVersions, args, &reply); err != nil { + if err := vrsRPC.Call(utils.APIerSv1SetDataDBVersions, &args, &reply); err != nil { t.Error(err) } else if reply != utils.OK { t.Errorf("Expecting: %+v, received: %+v", utils.OK, reply) @@ -165,7 +165,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, "Routes": 1, "Thresholds": 3, "Timing": 1} - if err := vrsRPC.Call(utils.APIerSv1GetDataDBVersions, "", &result); err != nil { + if err := vrsRPC.Call(utils.APIerSv1GetDataDBVersions, utils.StringPointer(utils.EmptyString), &result); err != nil { t.Error(err) } else if expectedVrs.Compare(result, vrsStorageType, true) != "" { t.Errorf("Expecting: %+v, received: %+v", expectedVrs, result) @@ -174,7 +174,7 @@ func testVrsSetDataDBVrs(t *testing.T) { args = SetVersionsArg{ Versions: nil, } - if err := vrsRPC.Call(utils.APIerSv1SetDataDBVersions, args, &reply); err != nil { + if err := vrsRPC.Call(utils.APIerSv1SetDataDBVersions, &args, &reply); err != nil { t.Error(err) } else if reply != utils.OK { t.Errorf("Expecting: %+v, received: %+v", utils.OK, reply) @@ -188,7 +188,7 @@ func testVrsSetStorDBVrs(t *testing.T) { "TpResources": 2, }, } - if err := vrsRPC.Call(utils.APIerSv1SetStorDBVersions, args, &reply); err != nil { + if err := vrsRPC.Call(utils.APIerSv1SetStorDBVersions, &args, &reply); err != nil { t.Error(err) } else if reply != utils.OK { t.Errorf("Expecting: %+v, received: %+v", utils.OK, reply) @@ -200,7 +200,7 @@ func testVrsSetStorDBVrs(t *testing.T) { "TpSharedGroups": 1, "TpRoutes": 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(utils.APIerSv1GetStorDBVersions, "", &result); err != nil { + if err := vrsRPC.Call(utils.APIerSv1GetStorDBVersions, utils.StringPointer(utils.EmptyString), &result); err != nil { t.Error(err) } else if expectedVrs.Compare(result, vrsStorageType, true) != "" { t.Errorf("Expecting: %+v, received: %+v", result, expectedVrs) @@ -209,7 +209,7 @@ func testVrsSetStorDBVrs(t *testing.T) { args = SetVersionsArg{ Versions: nil, } - if err := vrsRPC.Call(utils.APIerSv1SetStorDBVersions, args, &reply); err != nil { + if err := vrsRPC.Call(utils.APIerSv1SetStorDBVersions, &args, &reply); err != nil { t.Error(err) } else if reply != utils.OK { t.Errorf("Expecting: %+v, received: %+v", utils.OK, reply) diff --git a/engine/actions_it_test.go b/engine/actions_it_test.go index 013c9aa0e..68797e009 100644 --- a/engine/actions_it_test.go +++ b/engine/actions_it_test.go @@ -722,7 +722,7 @@ func testActionsitSetSDestinations(t *testing.T) { //verify destinations var dest Destination if err := actsLclRpc.Call(utils.APIerSv1GetDestination, - "*ddc_test", &dest); err != nil { + utils.StringPointer("*ddc_test"), &dest); err != nil { t.Error(err.Error()) } else { if len(dest.Prefixes) != 2 || !utils.IsSliceMember(dest.Prefixes, "111") || !utils.IsSliceMember(dest.Prefixes, "222") { @@ -800,7 +800,7 @@ func testActionsitSetSDestinations(t *testing.T) { //verify destinations if err := actsLclRpc.Call(utils.APIerSv1GetDestination, - "*ddc_test", &dest); err != nil { + utils.StringPointer("*ddc_test"), &dest); err != nil { t.Error(err.Error()) } else { if len(dest.Prefixes) != 2 || !utils.IsSliceMember(dest.Prefixes, "333") || !utils.IsSliceMember(dest.Prefixes, "777") { diff --git a/engine/filters.go b/engine/filters.go index 3fa2f3fd5..0bdb404c4 100644 --- a/engine/filters.go +++ b/engine/filters.go @@ -427,8 +427,7 @@ func (fltr *FilterRule) passDestinations(dDP utils.DataProvider) (bool, error) { } for _, p := range utils.SplitPrefix(dst, MIN_PREFIX_MATCH) { var destIDs []string - if err = connMgr.Call(config.CgrConfig().FilterSCfg().ApierSConns, nil, utils.APIerSv1GetReverseDestination, - p, &destIDs); err != nil { + if err = connMgr.Call(config.CgrConfig().FilterSCfg().ApierSConns, nil, utils.APIerSv1GetReverseDestination, &p, &destIDs); err != nil { continue } for _, dID := range destIDs { diff --git a/general_tests/a1_it_test.go b/general_tests/a1_it_test.go index 16d26f0af..81bb5e8c6 100644 --- a/general_tests/a1_it_test.go +++ b/general_tests/a1_it_test.go @@ -352,7 +352,7 @@ func testA1itConcurrentAPs(t *testing.T) { wg.Wait() // Make sure action plan was properly set var aps []*engine.ActionPlan - if err := a1rpc.Call(utils.APIerSv1GetActionPlan, v1.AttrGetActionPlan{ID: "PACKAGE_1"}, &aps); err != nil { + if err := a1rpc.Call(utils.APIerSv1GetActionPlan, &v1.AttrGetActionPlan{ID: "PACKAGE_1"}, &aps); err != nil { t.Error(err) } else if len(aps[0].AccountIDs.Slice()) != len(acnts) { t.Errorf("Received: %+v", aps[0]) @@ -394,13 +394,13 @@ func testA1itConcurrentAPs(t *testing.T) { wg.Wait() // Make sure action plan was properly rem/set aps = []*engine.ActionPlan{} - if err := a1rpc.Call(utils.APIerSv1GetActionPlan, v1.AttrGetActionPlan{ID: "PACKAGE_1"}, &aps); err != nil { + if err := a1rpc.Call(utils.APIerSv1GetActionPlan, &v1.AttrGetActionPlan{ID: "PACKAGE_1"}, &aps); err != nil { t.Error(err) } else if len(aps[0].AccountIDs.Slice()) != 0 { t.Errorf("Received: %+v", aps[0]) } aps = []*engine.ActionPlan{} - if err := a1rpc.Call(utils.APIerSv1GetActionPlan, v1.AttrGetActionPlan{ID: "PACKAGE_2"}, &aps); err != nil { + if err := a1rpc.Call(utils.APIerSv1GetActionPlan, &v1.AttrGetActionPlan{ID: "PACKAGE_2"}, &aps); err != nil { t.Error(err) } else if len(aps[0].AccountIDs.Slice()) != len(acnts) { t.Errorf("Received: %+v", aps[0]) diff --git a/general_tests/cdre_it_test.go b/general_tests/cdre_it_test.go index 3108fc739..8bec91db7 100644 --- a/general_tests/cdre_it_test.go +++ b/general_tests/cdre_it_test.go @@ -110,7 +110,7 @@ func testCDRERpcConn(t *testing.T) { func testCDREGetCdrs(t *testing.T) { var reply []*engine.ExternalCDR req := utils.RPCCDRsFilter{} - if err := cdreRPC.Call(utils.APIerSv1GetCDRs, req, &reply); err.Error() != utils.ErrNotFound.Error() { + if err := cdreRPC.Call(utils.APIerSv1GetCDRs, &req, &reply); err.Error() != utils.ErrNotFound.Error() { t.Error("Unexpected error: ", err.Error()) } } diff --git a/general_tests/cgrloader_it_test.go b/general_tests/cgrloader_it_test.go index 0898a2bf8..1439175ca 100644 --- a/general_tests/cgrloader_it_test.go +++ b/general_tests/cgrloader_it_test.go @@ -126,7 +126,7 @@ func testCGRLoaderGetData(t *testing.T) { "ATTR_1001_SESSIONAUTH", "ATTR_1002_SESSIONAUTH", "ATTR_1003_SESSIONAUTH", "ATTR_ACC_ALIAS"} var result []string - if err := cgrloaderRPC.Call(utils.APIerSv1GetAttributeProfileIDs, utils.TenantArgWithPaginator{TenantArg: utils.TenantArg{Tenant: "cgrates.org"}}, &result); err != nil { + if err := cgrloaderRPC.Call(utils.APIerSv1GetAttributeProfileIDs, &utils.TenantArgWithPaginator{TenantArg: utils.TenantArg{Tenant: "cgrates.org"}}, &result); err != nil { t.Error(err) } else if len(expected) != len(result) { t.Errorf("Expecting : %+v, received: %+v", expected, result) diff --git a/general_tests/data_it_test.go b/general_tests/data_it_test.go index 4d486c18e..a76758b32 100644 --- a/general_tests/data_it_test.go +++ b/general_tests/data_it_test.go @@ -202,7 +202,7 @@ func testV1DataGetCostWith10Kilo(t *testing.T) { Subject: "10kilo", AnswerTime: "*now", Usage: 256000000} var rply *engine.DataCost tStart := time.Now() - if err := dataRpc.Call(utils.APIerSv1GetDataCost, attrs, &rply); err != nil { + if err := dataRpc.Call(utils.APIerSv1GetDataCost, &attrs, &rply); err != nil { t.Error("Unexpected nil error received: ", err.Error()) } else if rply.Cost != 25600.000000 { t.Errorf("Unexpected cost received: %f", rply.Cost) @@ -340,7 +340,7 @@ func testV1DataGetCost1G0(t *testing.T) { Subject: "10kilo", AnswerTime: "*now", Usage: 1000000000} var rply *engine.DataCost tStart := time.Now() - if err := dataRpc.Call(utils.APIerSv1GetDataCost, attrs, &rply); err != nil { + if err := dataRpc.Call(utils.APIerSv1GetDataCost, &attrs, &rply); err != nil { t.Error("Unexpected nil error received: ", err.Error()) } else if rply.Cost != 100000.000000 { t.Errorf("Unexpected cost received: %f", rply.Cost) diff --git a/general_tests/destination_combined_it_test.go b/general_tests/destination_combined_it_test.go index 5e387ff72..dccc782ca 100644 --- a/general_tests/destination_combined_it_test.go +++ b/general_tests/destination_combined_it_test.go @@ -116,7 +116,7 @@ func testDestinationGetCostFor1002(t *testing.T) { Usage: "1m", } var rply *engine.EventCost - if err := tutorialRpc.Call(utils.APIerSv1GetCost, attrs, &rply); err != nil { + if err := tutorialRpc.Call(utils.APIerSv1GetCost, &attrs, &rply); err != nil { t.Error("Unexpected nil error received: ", err.Error()) } else if *rply.Cost != 0.01 { t.Errorf("Unexpected cost received: %f", *rply.Cost) @@ -133,7 +133,7 @@ func testDestinationGetCostFor1003(t *testing.T) { Usage: "1m", } var rply *engine.EventCost - if err := tutorialRpc.Call(utils.APIerSv1GetCost, attrs, &rply); err != nil { + if err := tutorialRpc.Call(utils.APIerSv1GetCost, &attrs, &rply); err != nil { t.Error("Unexpected nil error received: ", err.Error()) } else if *rply.Cost != 0.3 { t.Errorf("Unexpected cost received: %f", *rply.Cost) diff --git a/general_tests/doubleremove_it_test.go b/general_tests/doubleremove_it_test.go index 754537f04..dbc86b84b 100644 --- a/general_tests/doubleremove_it_test.go +++ b/general_tests/doubleremove_it_test.go @@ -179,7 +179,7 @@ func testdoubleRemoveStatQueueProfile(t *testing.T) { func testdoubleRemoveActions(t *testing.T) { // check var reply1 []*utils.TPAction - if err := sesRPC.Call(utils.APIerSv1GetActions, "ACTS_1", &reply1); err == nil || err.Error() != "SERVER_ERROR: NOT_FOUND" { + if err := sesRPC.Call(utils.APIerSv1GetActions, utils.StringPointer("ACTS_1"), &reply1); err == nil || err.Error() != "SERVER_ERROR: NOT_FOUND" { t.Error(err) } // set @@ -214,7 +214,7 @@ func testdoubleRemoveActions(t *testing.T) { ExpiryTime: utils.UNLIMITED, Weight: 20.0, }} - if err := sesRPC.Call(utils.APIerSv1GetActions, "ACTS_1", &reply1); err != nil { + if err := sesRPC.Call(utils.APIerSv1GetActions, utils.StringPointer("ACTS_1"), &reply1); err != nil { t.Error("Got error on APIerSv1.GetActions: ", err.Error()) } else if !reflect.DeepEqual(eOut, reply1) { t.Errorf("Expected: %v, received: %v", utils.ToJSON(eOut), utils.ToJSON(reply1)) @@ -233,7 +233,7 @@ func testdoubleRemoveActions(t *testing.T) { // t.Error(err) // } // check again - if err := sesRPC.Call(utils.APIerSv1GetActions, "ACTS_1", &reply1); err == nil || err.Error() != "SERVER_ERROR: NOT_FOUND" { + if err := sesRPC.Call(utils.APIerSv1GetActions, utils.StringPointer("ACTS_1"), &reply1); err == nil || err.Error() != "SERVER_ERROR: NOT_FOUND" { t.Error(err) } } @@ -260,7 +260,7 @@ func testdoubleRemoveActionPlan(t *testing.T) { BalanceDisabled: "false", Weight: 0}} - if err := sesRPC.Call(utils.APIerSv1GetActions, "ACTS_1", &reply1); err != nil { + if err := sesRPC.Call(utils.APIerSv1GetActions, utils.StringPointer("ACTS_1"), &reply1); err != nil { t.Error("Got error on APIerSv1.GetActions: ", err.Error()) } else if !reflect.DeepEqual(eOut, reply1) { t.Errorf("Expected: %v, received: %v", utils.ToJSON(eOut), utils.ToJSON(reply1)) @@ -297,7 +297,7 @@ func testdoubleRemoveActionPlan(t *testing.T) { } // check if err := sesRPC.Call(utils.APIerSv1GetActionPlan, - v1.AttrGetActionPlan{ID: "ATMS_1"}, &aps); err != nil { + &v1.AttrGetActionPlan{ID: "ATMS_1"}, &aps); err != nil { t.Error(err) } else if len(aps) != 1 { t.Errorf("Expected: %v,\n received: %v", 1, len(aps)) diff --git a/general_tests/tp_it_test.go b/general_tests/tp_it_test.go index da02e8984..2dc181f80 100644 --- a/general_tests/tp_it_test.go +++ b/general_tests/tp_it_test.go @@ -160,7 +160,7 @@ func testTpBalanceCounter(t *testing.T) { func testTpActionTriggers(t *testing.T) { var atrs engine.ActionTriggers - if err := tpRPC.Call(utils.APIerSv1GetActionTriggers, v1.AttrGetActionTriggers{GroupIDs: []string{}}, &atrs); err != nil { + if err := tpRPC.Call(utils.APIerSv1GetActionTriggers, &v1.AttrGetActionTriggers{GroupIDs: []string{}}, &atrs); err != nil { t.Error("Got error on APIerSv1.GetActionTriggers: ", err.Error()) } else if len(atrs) != 4 { t.Errorf("Calling v1.GetActionTriggers got: %v", atrs) @@ -177,12 +177,12 @@ func testTpActionTriggers(t *testing.T) { } else if reply != utils.OK { t.Errorf("Calling v1.SetActionTrigger got: %v", reply) } - if err := tpRPC.Call(utils.APIerSv1GetActionTriggers, v1.AttrGetActionTriggers{GroupIDs: []string{}}, &atrs); err != nil { + if err := tpRPC.Call(utils.APIerSv1GetActionTriggers, &v1.AttrGetActionTriggers{GroupIDs: []string{}}, &atrs); err != nil { t.Error(err) } else if len(atrs) != 5 { t.Errorf("Calling v1.GetActionTriggers got: %v", atrs) } - if err := tpRPC.Call(utils.APIerSv1GetActionTriggers, v1.AttrGetActionTriggers{GroupIDs: []string{"TestATR"}}, &atrs); err != nil { + if err := tpRPC.Call(utils.APIerSv1GetActionTriggers, &v1.AttrGetActionTriggers{GroupIDs: []string{"TestATR"}}, &atrs); err != nil { t.Error("Got error on APIerSv1.GetActionTriggers: ", err.Error()) } else if len(atrs) != 1 { t.Errorf("Calling v1.GetActionTriggers got: %v", atrs) diff --git a/general_tests/tutorial2_it_test.go b/general_tests/tutorial2_it_test.go index 6297a638d..992991000 100644 --- a/general_tests/tutorial2_it_test.go +++ b/general_tests/tutorial2_it_test.go @@ -132,7 +132,7 @@ func testTutGetCost(t *testing.T) { Usage: "45s", } var rply *engine.EventCost - if err := tutRpc.Call(utils.APIerSv1GetCost, attrs, &rply); err != nil { + if err := tutRpc.Call(utils.APIerSv1GetCost, &attrs, &rply); err != nil { t.Error("Unexpected nil error received: ", err.Error()) } else if *rply.Cost != 0.550000 { t.Errorf("Unexpected cost received: %f", *rply.Cost) @@ -144,7 +144,7 @@ func testTutGetCost(t *testing.T) { AnswerTime: "2019-03-11T09:00:00Z", Usage: "45s", } - if err := tutRpc.Call(utils.APIerSv1GetCost, attrs, &rply); err != nil { + if err := tutRpc.Call(utils.APIerSv1GetCost, &attrs, &rply); err != nil { t.Error("Unexpected nil error received: ", err.Error()) } else if *rply.Cost != 1.4 { t.Errorf("Unexpected cost received: %f", *rply.Cost) @@ -163,7 +163,7 @@ func testTutGetCost(t *testing.T) { AnswerTime: "*now", Usage: "45s", } - if err := tutRpc.Call(utils.APIerSv1GetCost, attrs, &rply); err != nil { + if err := tutRpc.Call(utils.APIerSv1GetCost, &attrs, &rply); err != nil { t.Error("Unexpected nil error received: ", err.Error()) } else if *rply.Cost != 1.4 { t.Errorf("Unexpected cost received: %f", *rply.Cost) @@ -175,7 +175,7 @@ func testTutGetCost(t *testing.T) { AnswerTime: "2020-01-01T21:00:00Z", Usage: "45s", } - if err := tutRpc.Call(utils.APIerSv1GetCost, attrs, &rply); err != nil { + if err := tutRpc.Call(utils.APIerSv1GetCost, &attrs, &rply); err != nil { t.Error("Unexpected nil error received: ", err.Error()) } else if *rply.Cost != 0.55 { t.Errorf("Unexpected cost received: %f", *rply.Cost) @@ -187,7 +187,7 @@ func testTutGetCost(t *testing.T) { AnswerTime: "2019-03-11T21:00:00Z", Usage: "45s", } - if err := tutRpc.Call(utils.APIerSv1GetCost, attrs, &rply); err != nil { + if err := tutRpc.Call(utils.APIerSv1GetCost, &attrs, &rply); err != nil { t.Error("Unexpected nil error received: ", err.Error()) } else if *rply.Cost != 0.55 { t.Errorf("Unexpected cost received: %f", *rply.Cost) @@ -199,7 +199,7 @@ func testTutGetCost(t *testing.T) { AnswerTime: "2019-03-11T09:00:00Z", Usage: "1m", } - if err := tutRpc.Call(utils.APIerSv1GetCost, attrs, &rply); err == nil || + if err := tutRpc.Call(utils.APIerSv1GetCost, &attrs, &rply); err == nil || err.Error() != "SERVER_ERROR: UNAUTHORIZED_DESTINATION" { t.Error("Unexpected nil error received: ", err) } @@ -210,7 +210,7 @@ func testTutGetCost(t *testing.T) { AnswerTime: "*now", Usage: "2048", } - if err := tutRpc.Call(utils.APIerSv1GetCost, attrs, &rply); err != nil { + if err := tutRpc.Call(utils.APIerSv1GetCost, &attrs, &rply); err != nil { t.Error("Unexpected nil error received: ", err.Error()) } else if *rply.Cost != 2.0 { // FixMe: missing ConnectFee out of Cost t.Errorf("Unexpected cost received: %f", *rply.Cost) @@ -223,7 +223,7 @@ func testTutGetCost(t *testing.T) { AnswerTime: "*now", Usage: "1", } - if err := tutRpc.Call(utils.APIerSv1GetCost, attrs, &rply); err != nil { + if err := tutRpc.Call(utils.APIerSv1GetCost, &attrs, &rply); err != nil { t.Error("Unexpected nil error received: ", err.Error()) } else if *rply.Cost != 0.1 { t.Errorf("Unexpected cost received: %f", *rply.Cost) @@ -236,7 +236,7 @@ func testTutGetCost(t *testing.T) { AnswerTime: "*now", Usage: "1", } - if err := tutRpc.Call(utils.APIerSv1GetCost, attrs, &rply); err != nil { + if err := tutRpc.Call(utils.APIerSv1GetCost, &attrs, &rply); err != nil { t.Error("Unexpected nil error received: ", err.Error()) } else if *rply.Cost != 0.2 { t.Errorf("Unexpected cost received: %f", *rply.Cost) @@ -249,7 +249,7 @@ func testTutGetCost(t *testing.T) { AnswerTime: "*now", Usage: "1", } - if err := tutRpc.Call(utils.APIerSv1GetCost, attrs, &rply); err == nil || + if err := tutRpc.Call(utils.APIerSv1GetCost, &attrs, &rply); err == nil || err.Error() != "SERVER_ERROR: UNAUTHORIZED_DESTINATION" { t.Error("Unexpected nil error received: ", err) } @@ -261,7 +261,7 @@ func testTutGetCost(t *testing.T) { AnswerTime: "*now", Usage: "5m", } - if err := tutRpc.Call(utils.APIerSv1GetCost, attrs, &rply); err != nil { + if err := tutRpc.Call(utils.APIerSv1GetCost, &attrs, &rply); err != nil { t.Error("Unexpected nil error received: ", err.Error()) } else if *rply.Cost != 0.1 { t.Errorf("Unexpected cost received: %f", *rply.Cost) @@ -274,7 +274,7 @@ func testTutGetCost(t *testing.T) { Usage: "45s", Category: "reseller1", } - if err := tutRpc.Call(utils.APIerSv1GetCost, attrs, &rply); err != nil { + if err := tutRpc.Call(utils.APIerSv1GetCost, &attrs, &rply); err != nil { t.Error("Unexpected nil error received: ", err.Error()) } else if *rply.Cost != 0.1 { t.Errorf("Unexpected cost received: %f", *rply.Cost) @@ -287,7 +287,7 @@ func testTutGetCost(t *testing.T) { Usage: "10m45s", Category: "reseller1", } - if err := tutRpc.Call(utils.APIerSv1GetCost, attrs, &rply); err != nil { + if err := tutRpc.Call(utils.APIerSv1GetCost, &attrs, &rply); err != nil { t.Error("Unexpected nil error received: ", err.Error()) } else if *rply.Cost != 0.1 { t.Errorf("Unexpected cost received: %f", *rply.Cost) diff --git a/general_tests/tutorial_it_test.go b/general_tests/tutorial_it_test.go index 97def8a3a..955fbdb11 100644 --- a/general_tests/tutorial_it_test.go +++ b/general_tests/tutorial_it_test.go @@ -137,7 +137,7 @@ func testTutorialGetCost(t *testing.T) { Usage: "2m10s", } var rply *engine.EventCost - if err := tutorialRpc.Call(utils.APIerSv1GetCost, attrs, &rply); err != nil { + if err := tutorialRpc.Call(utils.APIerSv1GetCost, &attrs, &rply); err != nil { t.Error("Unexpected nil error received: ", err.Error()) } else if *rply.Cost != 0.716900 { t.Errorf("Unexpected cost received: %f", *rply.Cost)