diff --git a/dispatchers/accounts_test.go b/dispatchers/accounts_test.go new file mode 100644 index 000000000..4a500a9e4 --- /dev/null +++ b/dispatchers/accounts_test.go @@ -0,0 +1,289 @@ +/* +Real-time Online/Offline Charging System (OCS) for Telecom & ISP environments +Copyright (C) ITsysCOM GmbH + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see +*/ + +package dispatchers + +import ( + "testing" + + "github.com/cgrates/cgrates/config" + "github.com/cgrates/cgrates/utils" +) + +func TestDspAccountSv1PingNil(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + CGREvent := &utils.CGREvent{ + Tenant: "tenant", + } + var reply *string + result := dspSrv.AccountSv1Ping(CGREvent, reply) + expected := "DISPATCHER_ERROR:NOT_FOUND" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestDspAccountSv1PingNilArgs(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + var reply *string + result := dspSrv.AccountSv1Ping(nil, reply) + expected := "DISPATCHER_ERROR:NOT_FOUND" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestDspAccountSv1PingErrorNil(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + cgrCfg.DispatcherSCfg().AttributeSConns = []string{"test"} + CGREvent := &utils.CGREvent{ + Tenant: "tenant", + } + var reply *string + result := dspSrv.AccountSv1Ping(CGREvent, reply) + expected := "MANDATORY_IE_MISSING: [ApiKey]" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestDspAAccountsForEventNil(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + CGREvent := &utils.ArgsAccountsForEvent{ + CGREvent: &utils.CGREvent{ + Tenant: "tenant", + }, + } + var reply *[]*utils.Account + result := dspSrv.AccountsForEvent(CGREvent, reply) + expected := "DISPATCHER_ERROR:NOT_FOUND" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestDspAccountsForEventErrorNil(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + cgrCfg.DispatcherSCfg().AttributeSConns = []string{"test"} + CGREvent := &utils.ArgsAccountsForEvent{ + CGREvent: &utils.CGREvent{ + Tenant: "tenant", + }, + } + var reply *[]*utils.Account + result := dspSrv.AccountsForEvent(CGREvent, reply) + expected := "MANDATORY_IE_MISSING: [ApiKey]" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestDspMaxAbstractsNil(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + CGREvent := &utils.ArgsAccountsForEvent{ + CGREvent: &utils.CGREvent{ + Tenant: "tenant", + }, + } + var reply *utils.ExtEventCharges + result := dspSrv.MaxAbstracts(CGREvent, reply) + expected := "DISPATCHER_ERROR:NOT_FOUND" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestDspMaxAbstractsErrorNil(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + cgrCfg.DispatcherSCfg().AttributeSConns = []string{"test"} + CGREvent := &utils.ArgsAccountsForEvent{ + CGREvent: &utils.CGREvent{ + Tenant: "tenant", + }, + } + var reply *utils.ExtEventCharges + result := dspSrv.MaxAbstracts(CGREvent, reply) + expected := "MANDATORY_IE_MISSING: [ApiKey]" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestDspDebitAbstractsNil(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + CGREvent := &utils.ArgsAccountsForEvent{ + CGREvent: &utils.CGREvent{ + Tenant: "tenant", + }, + } + var reply *utils.ExtEventCharges + result := dspSrv.DebitAbstracts(CGREvent, reply) + expected := "DISPATCHER_ERROR:NOT_FOUND" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestDspDebitAbstractsErrorNil(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + cgrCfg.DispatcherSCfg().AttributeSConns = []string{"test"} + CGREvent := &utils.ArgsAccountsForEvent{ + CGREvent: &utils.CGREvent{ + Tenant: "tenant", + }, + } + var reply *utils.ExtEventCharges + result := dspSrv.DebitAbstracts(CGREvent, reply) + expected := "MANDATORY_IE_MISSING: [ApiKey]" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestDspMaxConcretesNil(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + CGREvent := &utils.ArgsAccountsForEvent{ + CGREvent: &utils.CGREvent{ + Tenant: "tenant", + }, + } + var reply *utils.ExtEventCharges + result := dspSrv.MaxConcretes(CGREvent, reply) + expected := "DISPATCHER_ERROR:NOT_FOUND" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestDspMaxConcretesErrorNil(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + cgrCfg.DispatcherSCfg().AttributeSConns = []string{"test"} + CGREvent := &utils.ArgsAccountsForEvent{ + CGREvent: &utils.CGREvent{ + Tenant: "tenant", + }, + } + var reply *utils.ExtEventCharges + result := dspSrv.MaxConcretes(CGREvent, reply) + expected := "MANDATORY_IE_MISSING: [ApiKey]" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestDspDebitConcretesNil(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + CGREvent := &utils.ArgsAccountsForEvent{ + CGREvent: &utils.CGREvent{ + Tenant: "tenant", + }, + } + var reply *utils.ExtEventCharges + result := dspSrv.DebitConcretes(CGREvent, reply) + expected := "DISPATCHER_ERROR:NOT_FOUND" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestDspDebitConcretesErrorNil(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + cgrCfg.DispatcherSCfg().AttributeSConns = []string{"test"} + CGREvent := &utils.ArgsAccountsForEvent{ + CGREvent: &utils.CGREvent{ + Tenant: "tenant", + }, + } + var reply *utils.ExtEventCharges + result := dspSrv.DebitConcretes(CGREvent, reply) + expected := "MANDATORY_IE_MISSING: [ApiKey]" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestDspAccountSv1ActionSetBalanceNil(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + CGREvent := &utils.ArgsActSetBalance{ + Tenant: "tenant", + } + var reply *string + result := dspSrv.AccountSv1ActionSetBalance(CGREvent, reply) + expected := "DISPATCHER_ERROR:NOT_FOUND" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestDspAccountSv1ActionSetBalanceErrorNil(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + cgrCfg.DispatcherSCfg().AttributeSConns = []string{"test"} + CGREvent := &utils.ArgsActSetBalance{ + Tenant: "tenant", + } + var reply *string + result := dspSrv.AccountSv1ActionSetBalance(CGREvent, reply) + expected := "MANDATORY_IE_MISSING: [ApiKey]" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestDspAAccountSv1ActionRemoveBalanceNil(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + CGREvent := &utils.ArgsActRemoveBalances{ + Tenant: "tenant", + } + var reply *string + result := dspSrv.AccountSv1ActionRemoveBalance(CGREvent, reply) + expected := "DISPATCHER_ERROR:NOT_FOUND" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestDspAccountSv1ActionRemoveBalanceErrorNil(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + cgrCfg.DispatcherSCfg().AttributeSConns = []string{"test"} + CGREvent := &utils.ArgsActRemoveBalances{ + Tenant: "tenant", + } + var reply *string + result := dspSrv.AccountSv1ActionRemoveBalance(CGREvent, reply) + expected := "MANDATORY_IE_MISSING: [ApiKey]" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} diff --git a/dispatchers/actions.go b/dispatchers/actions.go index 532d234c4..27302cb86 100644 --- a/dispatchers/actions.go +++ b/dispatchers/actions.go @@ -36,7 +36,9 @@ func (dS *DispatcherService) ActionSv1Ping(args *utils.CGREvent, rpl *string) (e func (dS *DispatcherService) ActionSv1ScheduleActions(args *utils.ArgActionSv1ScheduleActions, rpl *string) (err error) { if args == nil { - args = new(utils.ArgActionSv1ScheduleActions) + args = &utils.ArgActionSv1ScheduleActions{ + CGREvent: &utils.CGREvent{}, + } } tnt := dS.cfg.GeneralCfg().DefaultTenant if args.CGREvent != nil && args.CGREvent.Tenant != utils.EmptyString { @@ -53,7 +55,9 @@ func (dS *DispatcherService) ActionSv1ScheduleActions(args *utils.ArgActionSv1Sc func (dS *DispatcherService) ActionSv1ExecuteActions(args *utils.ArgActionSv1ScheduleActions, rpl *string) (err error) { if args == nil { - args = new(utils.ArgActionSv1ScheduleActions) + args = &utils.ArgActionSv1ScheduleActions{ + CGREvent: &utils.CGREvent{}, + } } tnt := dS.cfg.GeneralCfg().DefaultTenant if args.CGREvent != nil && args.CGREvent.Tenant != utils.EmptyString { diff --git a/dispatchers/actions_test.go b/dispatchers/actions_test.go new file mode 100644 index 000000000..30cc90012 --- /dev/null +++ b/dispatchers/actions_test.go @@ -0,0 +1,156 @@ +/* +Real-time Online/Offline Charging System (OCS) for Telecom & ISP environments +Copyright (C) ITsysCOM GmbH + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see +*/ + +package dispatchers + +import ( + "testing" + + "github.com/cgrates/cgrates/config" + "github.com/cgrates/cgrates/utils" +) + +func TestDspActionSv1PingNil(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + CGREvent := &utils.CGREvent{ + Tenant: "tenant", + } + var reply *string + result := dspSrv.ActionSv1Ping(CGREvent, reply) + expected := "DISPATCHER_ERROR:NOT_FOUND" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestDspActionSv1PingNilArgs(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + var reply *string + result := dspSrv.ActionSv1Ping(nil, reply) + expected := "DISPATCHER_ERROR:NOT_FOUND" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestDspActionSv1PingErrorNil(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + cgrCfg.DispatcherSCfg().AttributeSConns = []string{"test"} + CGREvent := &utils.CGREvent{ + Tenant: "tenant", + } + var reply *string + result := dspSrv.ActionSv1Ping(CGREvent, reply) + expected := "MANDATORY_IE_MISSING: [ApiKey]" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestDspActionSv1ScheduleActionsNil(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + CGREvent := &utils.ArgActionSv1ScheduleActions{ + CGREvent: &utils.CGREvent{ + Tenant: "tenant", + }, + } + var reply *string + result := dspSrv.ActionSv1ScheduleActions(CGREvent, reply) + expected := "DISPATCHER_ERROR:NOT_FOUND" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestDspActionSv1ScheduleActionsErrorNil(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + cgrCfg.DispatcherSCfg().AttributeSConns = []string{"test"} + CGREvent := &utils.ArgActionSv1ScheduleActions{ + CGREvent: &utils.CGREvent{ + Tenant: "tenant", + }, + } + var reply *string + result := dspSrv.ActionSv1ScheduleActions(CGREvent, reply) + expected := "MANDATORY_IE_MISSING: [ApiKey]" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestDspActionSv1ScheduleActionsNilArgs(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + cgrCfg.DispatcherSCfg().AttributeSConns = []string{"test"} + var reply *string + result := dspSrv.ActionSv1ScheduleActions(nil, reply) + expected := "MANDATORY_IE_MISSING: [ApiKey]" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestDspActionSv1ExecuteActionsNil(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + CGREvent := &utils.ArgActionSv1ScheduleActions{ + CGREvent: &utils.CGREvent{ + Tenant: "tenant", + }, + } + var reply *string + result := dspSrv.ActionSv1ExecuteActions(CGREvent, reply) + expected := "DISPATCHER_ERROR:NOT_FOUND" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestDspActionSv1ExecuteActionsErrorNil(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + cgrCfg.DispatcherSCfg().AttributeSConns = []string{"test"} + CGREvent := &utils.ArgActionSv1ScheduleActions{ + CGREvent: &utils.CGREvent{ + Tenant: "tenant", + }, + } + var reply *string + result := dspSrv.ActionSv1ExecuteActions(CGREvent, reply) + expected := "MANDATORY_IE_MISSING: [ApiKey]" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestDspActionSv1ExecuteActionsNilArgs(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + cgrCfg.DispatcherSCfg().AttributeSConns = []string{"test"} + var reply *string + result := dspSrv.ActionSv1ExecuteActions(nil, reply) + expected := "MANDATORY_IE_MISSING: [ApiKey]" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} diff --git a/dispatchers/dispatchers_test.go b/dispatchers/dispatchers_test.go index a8327dff9..766c628ad 100644 --- a/dispatchers/dispatchers_test.go +++ b/dispatchers/dispatchers_test.go @@ -26,3 +26,27 @@ func (dS *DispatcherService) DispatcherServicePing(ev *utils.CGREvent, reply *st *reply = utils.Pong return nil } + +/* +func TestDispatcherCall1(t *testing.T) { + dS := &DispatcherService{} + var reply string + if err := dS.Call(context.Background(), utils.DispatcherServicePing, &utils.CGREvent{}, &reply); err != nil { + t.Error(err) + } else if reply != utils.Pong { + t.Errorf("Expected: %s , received: %s", utils.Pong, reply) + } +} + +func TestDispatcherCall2(t *testing.T) { + dS := &DispatcherService{} + var reply string + if err := dS.Call(context.Background(), "DispatcherServicePing", &utils.CGREvent{}, &reply); err == nil || err.Error() != rpcclient.ErrUnsupporteServiceMethod.Error() { + t.Error(err) + } + if err := dS.Call(context.Background(), "DispatcherService.Pong", &utils.CGREvent{}, &reply); err == nil || err.Error() != rpcclient.ErrUnsupporteServiceMethod.Error() { + t.Error(err) + } + dS.Shutdown() +} +*/ diff --git a/dispatchers/replicator.go b/dispatchers/replicator.go index 1667233e2..58f9c9dbc 100644 --- a/dispatchers/replicator.go +++ b/dispatchers/replicator.go @@ -979,7 +979,9 @@ func (dS *DispatcherService) ReplicatorSv1RemoveDispatcherHost(args *utils.Tenan func (dS *DispatcherService) ReplicatorSv1RemoveRateProfile(args *utils.TenantIDWithAPIOpts, rpl *string) (err error) { if args == nil { - args = &utils.TenantIDWithAPIOpts{} + args = &utils.TenantIDWithAPIOpts{ + TenantID: &utils.TenantID{}, + } } args.Tenant = utils.FirstNonEmpty(args.Tenant, dS.cfg.GeneralCfg().DefaultTenant) if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { @@ -996,7 +998,9 @@ func (dS *DispatcherService) ReplicatorSv1RemoveRateProfile(args *utils.TenantID func (dS *DispatcherService) ReplicatorSv1RemoveActionProfile(args *utils.TenantIDWithAPIOpts, rpl *string) (err error) { if args == nil { - args = &utils.TenantIDWithAPIOpts{} + args = &utils.TenantIDWithAPIOpts{ + TenantID: &utils.TenantID{}, + } } args.Tenant = utils.FirstNonEmpty(args.Tenant, dS.cfg.GeneralCfg().DefaultTenant) if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { diff --git a/dispatchers/replicator_it_test.go b/dispatchers/replicator_it_test.go index a161d59c3..b4a943d83 100644 --- a/dispatchers/replicator_it_test.go +++ b/dispatchers/replicator_it_test.go @@ -1157,187 +1157,3 @@ func testDspRplActionProfile(t *testing.T) { } } - -func TestDspReplicatorSv1GetRateProfileNil(t *testing.T) { - cgrCfg := config.NewDefaultCGRConfig() - dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) - CGREvent := &utils.TenantIDWithAPIOpts{ - TenantID: &utils.TenantID{ - Tenant: "tenant", - }, - } - var reply *utils.RateProfile - result := dspSrv.ReplicatorSv1GetRateProfile(CGREvent, reply) - expected := "DISPATCHER_ERROR:NOT_FOUND" - if result == nil || result.Error() != expected { - t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) - } -} - -func TestDspReplicatorSv1GetRateProfileErrorTenant(t *testing.T) { - cgrCfg := config.NewDefaultCGRConfig() - dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) - CGREvent := &utils.TenantIDWithAPIOpts{ - TenantID: &utils.TenantID{ - Tenant: "tenant", - }, - } - var reply *utils.RateProfile - result := dspSrv.ReplicatorSv1GetRateProfile(CGREvent, reply) - expected := "DISPATCHER_ERROR:NOT_FOUND" - if result == nil || result.Error() != expected { - t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) - } -} - -func TestDspReplicatorSv1GetRateProfileErrorNil(t *testing.T) { - cgrCfg := config.NewDefaultCGRConfig() - dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) - cgrCfg.DispatcherSCfg().AttributeSConns = []string{"test"} - CGREvent := &utils.TenantIDWithAPIOpts{} - var reply *utils.RateProfile - result := dspSrv.ReplicatorSv1GetRateProfile(CGREvent, reply) - expected := "MANDATORY_IE_MISSING: [ApiKey]" - if result == nil || result.Error() != expected { - t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) - } -} - -func TestDspReplicatorSv1GetActionProfileNil(t *testing.T) { - cgrCfg := config.NewDefaultCGRConfig() - dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) - CGREvent := &utils.TenantIDWithAPIOpts{ - TenantID: &utils.TenantID{ - Tenant: "tenant", - }, - } - var reply *engine.ActionProfile - result := dspSrv.ReplicatorSv1GetActionProfile(CGREvent, reply) - expected := "DISPATCHER_ERROR:NOT_FOUND" - if result == nil || result.Error() != expected { - t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) - } -} - -func TestDspReplicatorSv1GetActionProfileErrorTenant(t *testing.T) { - cgrCfg := config.NewDefaultCGRConfig() - dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) - CGREvent := &utils.TenantIDWithAPIOpts{ - TenantID: &utils.TenantID{ - Tenant: "tenant", - }, - } - var reply *engine.ActionProfile - result := dspSrv.ReplicatorSv1GetActionProfile(CGREvent, reply) - expected := "DISPATCHER_ERROR:NOT_FOUND" - if result == nil || result.Error() != expected { - t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) - } -} - -func TestDspReplicatorSv1GetActionProfileErrorNil(t *testing.T) { - cgrCfg := config.NewDefaultCGRConfig() - dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) - cgrCfg.DispatcherSCfg().AttributeSConns = []string{"test"} - CGREvent := &utils.TenantIDWithAPIOpts{ - TenantID: &utils.TenantID{ - Tenant: "tenant", - }, - } - var reply *engine.ActionProfile - result := dspSrv.ReplicatorSv1GetActionProfile(CGREvent, reply) - expected := "MANDATORY_IE_MISSING: [ApiKey]" - if result == nil || result.Error() != expected { - t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) - } -} - -func TestDspReplicatorSv1SetActionProfileNil(t *testing.T) { - cgrCfg := config.NewDefaultCGRConfig() - dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) - CGREvent := &engine.ActionProfileWithAPIOpts{ - ActionProfile: &engine.ActionProfile{ - Tenant: "tenant", - }, - } - var reply *string - result := dspSrv.ReplicatorSv1SetActionProfile(CGREvent, reply) - expected := "DISPATCHER_ERROR:NOT_FOUND" - if result == nil || result.Error() != expected { - t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) - } -} - -func TestDspReplicatorSv1SetActionProfileErrorNil(t *testing.T) { - cgrCfg := config.NewDefaultCGRConfig() - dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) - cgrCfg.DispatcherSCfg().AttributeSConns = []string{"test"} - CGREvent := &engine.ActionProfileWithAPIOpts{ - ActionProfile: &engine.ActionProfile{ - Tenant: "tenant", - }, - } - var reply *string - result := dspSrv.ReplicatorSv1SetActionProfile(CGREvent, reply) - expected := "MANDATORY_IE_MISSING: [ApiKey]" - if result == nil || result.Error() != expected { - t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) - } -} - -func TestDspReplicatorSv1SetActionProfileErrorNilArgs(t *testing.T) { - cgrCfg := config.NewDefaultCGRConfig() - dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) - cgrCfg.DispatcherSCfg().AttributeSConns = []string{"test"} - var reply *string - result := dspSrv.ReplicatorSv1SetActionProfile(nil, reply) - expected := "MANDATORY_IE_MISSING: [ApiKey]" - if result == nil || result.Error() != expected { - t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) - } -} - -func TestDspReplicatorSv1SetRateProfileNil(t *testing.T) { - cgrCfg := config.NewDefaultCGRConfig() - dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) - CGREvent := &utils.RateProfileWithAPIOpts{ - RateProfile: &utils.RateProfile{ - Tenant: "tenant", - }, - } - var reply *string - result := dspSrv.ReplicatorSv1SetRateProfile(CGREvent, reply) - expected := "DISPATCHER_ERROR:NOT_FOUND" - if result == nil || result.Error() != expected { - t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) - } -} - -func TestDspReplicatorSv1SetRateProfileErrorNil(t *testing.T) { - cgrCfg := config.NewDefaultCGRConfig() - dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) - cgrCfg.DispatcherSCfg().AttributeSConns = []string{"test"} - CGREvent := &utils.RateProfileWithAPIOpts{ - RateProfile: &utils.RateProfile{ - Tenant: "tenant", - }, - } - var reply *string - result := dspSrv.ReplicatorSv1SetRateProfile(CGREvent, reply) - expected := "MANDATORY_IE_MISSING: [ApiKey]" - if result == nil || result.Error() != expected { - t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) - } -} - -func TestDspReplicatorSv1SetRateProfileErrorNilArgs(t *testing.T) { - cgrCfg := config.NewDefaultCGRConfig() - dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) - cgrCfg.DispatcherSCfg().AttributeSConns = []string{"test"} - var reply *string - result := dspSrv.ReplicatorSv1SetRateProfile(nil, reply) - expected := "MANDATORY_IE_MISSING: [ApiKey]" - if result == nil || result.Error() != expected { - t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) - } -} diff --git a/dispatchers/replicator_test.go b/dispatchers/replicator_test.go index b2b46d172..8711f6634 100644 --- a/dispatchers/replicator_test.go +++ b/dispatchers/replicator_test.go @@ -2173,3 +2173,310 @@ func TestDspReplicatorSv1RemoveThresholdNilEvent(t *testing.T) { t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) } } + +func TestDspReplicatorSv1GetRateProfileNil(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + CGREvent := &utils.TenantIDWithAPIOpts{ + TenantID: &utils.TenantID{ + Tenant: "tenant", + }, + } + var reply *utils.RateProfile + result := dspSrv.ReplicatorSv1GetRateProfile(CGREvent, reply) + expected := "DISPATCHER_ERROR:NOT_FOUND" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestDspReplicatorSv1GetRateProfileErrorTenant(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + CGREvent := &utils.TenantIDWithAPIOpts{ + TenantID: &utils.TenantID{ + Tenant: "tenant", + }, + } + var reply *utils.RateProfile + result := dspSrv.ReplicatorSv1GetRateProfile(CGREvent, reply) + expected := "DISPATCHER_ERROR:NOT_FOUND" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestDspReplicatorSv1GetRateProfileErrorNil(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + cgrCfg.DispatcherSCfg().AttributeSConns = []string{"test"} + CGREvent := &utils.TenantIDWithAPIOpts{} + var reply *utils.RateProfile + result := dspSrv.ReplicatorSv1GetRateProfile(CGREvent, reply) + expected := "MANDATORY_IE_MISSING: [ApiKey]" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestDspReplicatorSv1GetActionProfileNil(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + CGREvent := &utils.TenantIDWithAPIOpts{ + TenantID: &utils.TenantID{ + Tenant: "tenant", + }, + } + var reply *engine.ActionProfile + result := dspSrv.ReplicatorSv1GetActionProfile(CGREvent, reply) + expected := "DISPATCHER_ERROR:NOT_FOUND" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestDspReplicatorSv1GetActionProfileErrorTenant(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + CGREvent := &utils.TenantIDWithAPIOpts{ + TenantID: &utils.TenantID{ + Tenant: "tenant", + }, + } + var reply *engine.ActionProfile + result := dspSrv.ReplicatorSv1GetActionProfile(CGREvent, reply) + expected := "DISPATCHER_ERROR:NOT_FOUND" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestDspReplicatorSv1GetActionProfileErrorNil(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + cgrCfg.DispatcherSCfg().AttributeSConns = []string{"test"} + CGREvent := &utils.TenantIDWithAPIOpts{ + TenantID: &utils.TenantID{ + Tenant: "tenant", + }, + } + var reply *engine.ActionProfile + result := dspSrv.ReplicatorSv1GetActionProfile(CGREvent, reply) + expected := "MANDATORY_IE_MISSING: [ApiKey]" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestDspReplicatorSv1SetActionProfileNil(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + CGREvent := &engine.ActionProfileWithAPIOpts{ + ActionProfile: &engine.ActionProfile{ + Tenant: "tenant", + }, + } + var reply *string + result := dspSrv.ReplicatorSv1SetActionProfile(CGREvent, reply) + expected := "DISPATCHER_ERROR:NOT_FOUND" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestDspReplicatorSv1SetActionProfileErrorNil(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + cgrCfg.DispatcherSCfg().AttributeSConns = []string{"test"} + CGREvent := &engine.ActionProfileWithAPIOpts{ + ActionProfile: &engine.ActionProfile{ + Tenant: "tenant", + }, + } + var reply *string + result := dspSrv.ReplicatorSv1SetActionProfile(CGREvent, reply) + expected := "MANDATORY_IE_MISSING: [ApiKey]" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestDspReplicatorSv1SetActionProfileErrorNilArgs(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + cgrCfg.DispatcherSCfg().AttributeSConns = []string{"test"} + var reply *string + result := dspSrv.ReplicatorSv1SetActionProfile(nil, reply) + expected := "MANDATORY_IE_MISSING: [ApiKey]" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestDspReplicatorSv1SetRateProfileNil(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + CGREvent := &utils.RateProfileWithAPIOpts{ + RateProfile: &utils.RateProfile{ + Tenant: "tenant", + }, + } + var reply *string + result := dspSrv.ReplicatorSv1SetRateProfile(CGREvent, reply) + expected := "DISPATCHER_ERROR:NOT_FOUND" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestDspReplicatorSv1SetRateProfileErrorNil(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + cgrCfg.DispatcherSCfg().AttributeSConns = []string{"test"} + CGREvent := &utils.RateProfileWithAPIOpts{ + RateProfile: &utils.RateProfile{ + Tenant: "tenant", + }, + } + var reply *string + result := dspSrv.ReplicatorSv1SetRateProfile(CGREvent, reply) + expected := "MANDATORY_IE_MISSING: [ApiKey]" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestDspReplicatorSv1SetRateProfileErrorNilArgs(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + cgrCfg.DispatcherSCfg().AttributeSConns = []string{"test"} + var reply *string + result := dspSrv.ReplicatorSv1SetRateProfile(nil, reply) + expected := "MANDATORY_IE_MISSING: [ApiKey]" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestDspReplicatorSv1RemoveRateProfileNil(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + CGREvent := &utils.TenantIDWithAPIOpts{ + TenantID: &utils.TenantID{ + Tenant: "tenant", + }, + } + var reply *string + result := dspSrv.ReplicatorSv1RemoveRateProfile(CGREvent, reply) + expected := "DISPATCHER_ERROR:NOT_FOUND" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestDsReplicatorSv1RemoveRateProfileErrorNil(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + cgrCfg.DispatcherSCfg().AttributeSConns = []string{"test"} + CGREvent := &utils.TenantIDWithAPIOpts{ + TenantID: &utils.TenantID{ + Tenant: "tenant", + }, + } + var reply *string + result := dspSrv.ReplicatorSv1RemoveRateProfile(CGREvent, reply) + expected := "MANDATORY_IE_MISSING: [ApiKey]" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestDspReplicatorSv1RemoveRateProfileErrorNilArgs(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + cgrCfg.DispatcherSCfg().AttributeSConns = []string{"test"} + var reply *string + result := dspSrv.ReplicatorSv1RemoveRateProfile(nil, reply) + expected := "MANDATORY_IE_MISSING: [ApiKey]" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestDspReplicatorSv1RemoveActionProfileNil(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + CGREvent := &utils.TenantIDWithAPIOpts{ + TenantID: &utils.TenantID{ + Tenant: "tenant", + }, + } + var reply *string + result := dspSrv.ReplicatorSv1RemoveActionProfile(CGREvent, reply) + expected := "DISPATCHER_ERROR:NOT_FOUND" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestDspReplicatorSv1RemoveActionProfileErrorNil(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + cgrCfg.DispatcherSCfg().AttributeSConns = []string{"test"} + CGREvent := &utils.TenantIDWithAPIOpts{ + TenantID: &utils.TenantID{ + Tenant: "tenant", + }, + } + var reply *string + result := dspSrv.ReplicatorSv1RemoveActionProfile(CGREvent, reply) + expected := "MANDATORY_IE_MISSING: [ApiKey]" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestReplicatorSv1RemoveActionProfileNilArgs(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + cgrCfg.DispatcherSCfg().AttributeSConns = []string{"test"} + var reply *string + result := dspSrv.ReplicatorSv1RemoveActionProfile(nil, reply) + expected := "MANDATORY_IE_MISSING: [ApiKey]" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestDspReplicatorSv1GetAccountErrorNil(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + cgrCfg.DispatcherSCfg().AttributeSConns = []string{"test"} + CGREvent := &utils.TenantIDWithAPIOpts{ + TenantID: &utils.TenantID{ + Tenant: "tenant", + }, + } + var reply *utils.Account + result := dspSrv.ReplicatorSv1GetAccount(CGREvent, reply) + expected := "MANDATORY_IE_MISSING: [ApiKey]" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +} + +func TestDspReplicatorSv1GetAccountErrorCase2(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + CGREvent := &utils.TenantIDWithAPIOpts{ + TenantID: &utils.TenantID{ + Tenant: "tenant", + }, + } + var reply *utils.Account + result := dspSrv.ReplicatorSv1GetAccount(CGREvent, reply) + expected := "DISPATCHER_ERROR:NOT_FOUND" + if result == nil || result.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, result) + } +}