From 0fcafbb5264f43c5378ccb572ba640234f106c3d Mon Sep 17 00:00:00 2001 From: TeoV Date: Mon, 10 Feb 2020 11:25:14 +0200 Subject: [PATCH] Add backwards compatible with ApierV1/ApierV2 prefix --- apier/v1/apier_it_test.go | 10 ++++++++++ apier/v2/apier.go | 6 ++++++ apier/v2/apierv2_it_test.go | 10 ++++++++++ services/apierv1.go | 3 ++- services/apierv2.go | 3 ++- utils/consts.go | 2 ++ 6 files changed, 32 insertions(+), 2 deletions(-) diff --git a/apier/v1/apier_it_test.go b/apier/v1/apier_it_test.go index 5735c9e0d..9be9e6519 100644 --- a/apier/v1/apier_it_test.go +++ b/apier/v1/apier_it_test.go @@ -136,6 +136,7 @@ var ( testApierReplayFailedPosts, testApierGetDataDBVesions, testApierGetStorDBVesions, + testApierBackwardsCompatible, testApierStopEngine, } ) @@ -1999,6 +2000,15 @@ func testApierGetStorDBVesions(t *testing.T) { } } +func testApierBackwardsCompatible(t *testing.T) { + var reply string + if err := rater.Call("ApierV1.Ping", new(utils.CGREvent), &reply); err != nil { + t.Error(err) + } else if reply != utils.Pong { + t.Errorf("Expecting : %+v, received: %+v", utils.Pong, reply) + } +} + // Simply kill the engine after we are done with tests within this file func testApierStopEngine(t *testing.T) { if err := engine.KillEngine(100); err != nil { diff --git a/apier/v2/apier.go b/apier/v2/apier.go index a0a901c9d..4dc77a4ad 100644 --- a/apier/v2/apier.go +++ b/apier/v2/apier.go @@ -334,3 +334,9 @@ func (apiv2 *APIerSv2) SetActions(attrs utils.AttrSetActions, reply *string) err *reply = utils.OK return nil } + +// Ping return pong if the service is active +func (apiv2 *APIerSv2) Ping(ign *utils.CGREvent, reply *string) error { + *reply = utils.Pong + return nil +} diff --git a/apier/v2/apierv2_it_test.go b/apier/v2/apierv2_it_test.go index a15b2c860..b7021d61c 100644 --- a/apier/v2/apierv2_it_test.go +++ b/apier/v2/apierv2_it_test.go @@ -55,6 +55,7 @@ var ( testAPIerSv2itSetActionWithCategory, testAPIerSv2itSetActionPlanWithWrongTiming, testAPIerSv2itSetActionPlanWithWrongTiming2, + testAPIerSv2BackwardsCompatible, testAPIerSv2itKillEngine, } ) @@ -430,6 +431,15 @@ func testAPIerSv2itSetActionPlanWithWrongTiming2(t *testing.T) { } } +func testAPIerSv2BackwardsCompatible(t *testing.T) { + var reply string + if err := apierRPC.Call("ApierV2.Ping", new(utils.CGREvent), &reply); err != nil { + t.Error(err) + } else if reply != utils.Pong { + t.Errorf("Expecting : %+v, received: %+v", utils.Pong, reply) + } +} + func testAPIerSv2itKillEngine(t *testing.T) { if err := engine.KillEngine(delay); err != nil { t.Error(err) diff --git a/services/apierv1.go b/services/apierv1.go index ad377c839..947c43734 100644 --- a/services/apierv1.go +++ b/services/apierv1.go @@ -115,13 +115,14 @@ func (apiService *APIerSv1Service) Start() (err error) { if !apiService.cfg.DispatcherSCfg().Enabled { apiService.server.RpcRegister(apiService.api) + apiService.server.RpcRegisterName(utils.ApierV1, apiService.api) apiService.server.RpcRegister(v1.NewReplicatorSv1(datadb)) } utils.RegisterRpcParams("", &v1.CDRsV1{}) utils.RegisterRpcParams("", &v1.SMGenericV1{}) utils.RegisterRpcParams("", apiService.api) - utils.RegisterRpcParams("ApierV1", apiService.api) + utils.RegisterRpcParams(utils.ApierV1, apiService.api) //backwards compatible apiService.connChan <- apiService.api diff --git a/services/apierv2.go b/services/apierv2.go index 089c20b9f..e5010af8b 100644 --- a/services/apierv2.go +++ b/services/apierv2.go @@ -71,11 +71,12 @@ func (api *APIerSv2Service) Start() (err error) { if !api.cfg.DispatcherSCfg().Enabled { api.server.RpcRegister(api.api) + api.server.RpcRegisterName(utils.ApierV2, api.api) } utils.RegisterRpcParams("", &v2.CDRsV2{}) utils.RegisterRpcParams("", api.api) - utils.RegisterRpcParams("ApierV2", api.api) + utils.RegisterRpcParams(utils.ApierV2, api.api) api.connChan <- api.api return diff --git a/utils/consts.go b/utils/consts.go index 090f8dd4f..0019e548a 100755 --- a/utils/consts.go +++ b/utils/consts.go @@ -968,6 +968,8 @@ const ( // APIerSv1 APIs const ( + ApierV1 = "ApierV1" + ApierV2 = "ApierV2" APIerSv1 = "APIerSv1" APIerSv1ComputeFilterIndexes = "APIerSv1.ComputeFilterIndexes" APIerSv1ComputeFilterIndexIDs = "APIerSv1.ComputeFilterIndexIDs"