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)
+ }
+}