diff --git a/console/datadb_versions_test.go b/console/datadb_versions_test.go
new file mode 100644
index 000000000..69988add4
--- /dev/null
+++ b/console/datadb_versions_test.go
@@ -0,0 +1,53 @@
+/*
+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 console
+
+import (
+ "reflect"
+ "strings"
+ "testing"
+
+ v1 "github.com/cgrates/cgrates/apier/v1"
+ "github.com/cgrates/cgrates/utils"
+)
+
+func TestCmdDataDBVersions(t *testing.T) {
+ // commands map is initiated in init function
+ command := commands["datacost"]
+ // verify if ApierSv1 object has method on it
+ m, ok := reflect.TypeOf(new(v1.APIerSv1)).MethodByName(strings.Split(command.RpcMethod(), utils.NestingSep)[1])
+ if !ok {
+ t.Fatal("method not found")
+ }
+ if m.Type.NumIn() != 3 { // ApierSv1 is consider and we expect 3 inputs
+ t.Fatalf("invalid number of input parameters ")
+ }
+ // verify the type of input parameter
+ if ok := m.Type.In(1).AssignableTo(reflect.TypeOf(command.RpcParams(true))); !ok {
+ t.Fatalf("cannot assign input parameter")
+ }
+ // verify the type of output parameter
+ if ok := m.Type.In(2).AssignableTo(reflect.TypeOf(command.RpcResult())); !ok {
+ t.Fatalf("cannot assign output parameter")
+ }
+ // for coverage purpose
+ if err := command.PostprocessRpcParams(); err != nil {
+ t.Fatal(err)
+ }
+}
diff --git a/console/destination_set_test.go b/console/destination_set_test.go
new file mode 100644
index 000000000..134bc8c0f
--- /dev/null
+++ b/console/destination_set_test.go
@@ -0,0 +1,53 @@
+/*
+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 console
+
+import (
+ "reflect"
+ "strings"
+ "testing"
+
+ v1 "github.com/cgrates/cgrates/apier/v1"
+ "github.com/cgrates/cgrates/utils"
+)
+
+func TestCmdDestinationSet(t *testing.T) {
+ // commands map is initiated in init function
+ command := commands["destination_set"]
+ // verify if ApierSv1 object has method on it
+ m, ok := reflect.TypeOf(new(v1.APIerSv1)).MethodByName(strings.Split(command.RpcMethod(), utils.NestingSep)[1])
+ if !ok {
+ t.Fatal("method not found")
+ }
+ if m.Type.NumIn() != 3 { // ApierSv1 is consider and we expect 3 inputs
+ t.Fatalf("invalid number of input parameters ")
+ }
+ // verify the type of input parameter
+ if ok := m.Type.In(1).AssignableTo(reflect.TypeOf(command.RpcParams(true))); !ok {
+ t.Fatalf("cannot assign input parameter")
+ }
+ // verify the type of output parameter
+ if ok := m.Type.In(2).AssignableTo(reflect.TypeOf(command.RpcResult())); !ok {
+ t.Fatalf("cannot assign output parameter")
+ }
+ // for coverage purpose
+ if err := command.PostprocessRpcParams(); err != nil {
+ t.Fatal(err)
+ }
+}
diff --git a/console/destinations_test.go b/console/destinations_test.go
new file mode 100644
index 000000000..00fe47104
--- /dev/null
+++ b/console/destinations_test.go
@@ -0,0 +1,54 @@
+/*
+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 console
+
+import (
+ "reflect"
+ "strings"
+ "testing"
+
+ v2 "github.com/cgrates/cgrates/apier/v2"
+
+ "github.com/cgrates/cgrates/utils"
+)
+
+func TestCmdDestinations(t *testing.T) {
+ // commands map is initiated in init function
+ command := commands["destinations"]
+ // verify if ApierSv1 object has method on it
+ m, ok := reflect.TypeOf(new(v2.APIerSv2)).MethodByName(strings.Split(command.RpcMethod(), utils.NestingSep)[1])
+ if !ok {
+ t.Fatal("method not found")
+ }
+ if m.Type.NumIn() != 3 { // ApierSv1 is consider and we expect 3 inputs
+ t.Fatalf("invalid number of input parameters ")
+ }
+ // verify the type of input parameter
+ if ok := m.Type.In(1).AssignableTo(reflect.TypeOf(command.RpcParams(true))); !ok {
+ t.Fatalf("cannot assign input parameter")
+ }
+ // verify the type of output parameter
+ if ok := m.Type.In(2).AssignableTo(reflect.TypeOf(command.RpcResult())); !ok {
+ t.Fatalf("cannot assign output parameter")
+ }
+ // for coverage purpose
+ if err := command.PostprocessRpcParams(); err != nil {
+ t.Fatal(err)
+ }
+}
diff --git a/console/dispatchers_for_event_test.go b/console/dispatchers_for_event_test.go
new file mode 100644
index 000000000..b4e7309df
--- /dev/null
+++ b/console/dispatchers_for_event_test.go
@@ -0,0 +1,54 @@
+/*
+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 console
+
+import (
+ "reflect"
+ "strings"
+ "testing"
+
+ v1 "github.com/cgrates/cgrates/apier/v1"
+
+ "github.com/cgrates/cgrates/utils"
+)
+
+func TestCmdDispatchersForEvent(t *testing.T) {
+ // commands map is initiated in init function
+ command := commands["dispatches_for_event"]
+ // verify if ApierSv1 object has method on it
+ m, ok := reflect.TypeOf(new(v1.DispatcherSv1)).MethodByName(strings.Split(command.RpcMethod(), utils.NestingSep)[1])
+ if !ok {
+ t.Fatal("method not found")
+ }
+ if m.Type.NumIn() != 3 { // ApierSv1 is consider and we expect 3 inputs
+ t.Fatalf("invalid number of input parameters ")
+ }
+ // verify the type of input parameter
+ if ok := m.Type.In(1).AssignableTo(reflect.TypeOf(command.RpcParams(true))); !ok {
+ t.Fatalf("cannot assign input parameter")
+ }
+ // verify the type of output parameter
+ if ok := m.Type.In(2).AssignableTo(reflect.TypeOf(command.RpcResult())); !ok {
+ t.Fatalf("cannot assign output parameter")
+ }
+ // for coverage purpose
+ if err := command.PostprocessRpcParams(); err != nil {
+ t.Fatal(err)
+ }
+}
diff --git a/console/dispatchers_host_ids_test.go b/console/dispatchers_host_ids_test.go
new file mode 100644
index 000000000..23664569c
--- /dev/null
+++ b/console/dispatchers_host_ids_test.go
@@ -0,0 +1,54 @@
+/*
+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 console
+
+import (
+ "reflect"
+ "strings"
+ "testing"
+
+ v1 "github.com/cgrates/cgrates/apier/v1"
+
+ "github.com/cgrates/cgrates/utils"
+)
+
+func TestCmdDispatchersHostIDs(t *testing.T) {
+ // commands map is initiated in init function
+ command := commands["dispatchers_host_ids"]
+ // verify if ApierSv1 object has method on it
+ m, ok := reflect.TypeOf(new(v1.APIerSv1)).MethodByName(strings.Split(command.RpcMethod(), utils.NestingSep)[1])
+ if !ok {
+ t.Fatal("method not found")
+ }
+ if m.Type.NumIn() != 3 { // ApierSv1 is consider and we expect 3 inputs
+ t.Fatalf("invalid number of input parameters ")
+ }
+ // verify the type of input parameter
+ if ok := m.Type.In(1).AssignableTo(reflect.TypeOf(command.RpcParams(true))); !ok {
+ t.Fatalf("cannot assign input parameter")
+ }
+ // verify the type of output parameter
+ if ok := m.Type.In(2).AssignableTo(reflect.TypeOf(command.RpcResult())); !ok {
+ t.Fatalf("cannot assign output parameter")
+ }
+ // for coverage purpose
+ if err := command.PostprocessRpcParams(); err != nil {
+ t.Fatal(err)
+ }
+}
diff --git a/console/dispatchers_host_rem_test.go b/console/dispatchers_host_rem_test.go
new file mode 100644
index 000000000..0b91a8ce5
--- /dev/null
+++ b/console/dispatchers_host_rem_test.go
@@ -0,0 +1,54 @@
+/*
+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 console
+
+import (
+ "reflect"
+ "strings"
+ "testing"
+
+ v1 "github.com/cgrates/cgrates/apier/v1"
+
+ "github.com/cgrates/cgrates/utils"
+)
+
+func TestCmdDispatchersHostRem(t *testing.T) {
+ // commands map is initiated in init function
+ command := commands["dispatchers_host_remove"]
+ // verify if ApierSv1 object has method on it
+ m, ok := reflect.TypeOf(new(v1.APIerSv1)).MethodByName(strings.Split(command.RpcMethod(), utils.NestingSep)[1])
+ if !ok {
+ t.Fatal("method not found")
+ }
+ if m.Type.NumIn() != 3 { // ApierSv1 is consider and we expect 3 inputs
+ t.Fatalf("invalid number of input parameters ")
+ }
+ // verify the type of input parameter
+ if ok := m.Type.In(1).AssignableTo(reflect.TypeOf(command.RpcParams(true))); !ok {
+ t.Fatalf("cannot assign input parameter")
+ }
+ // verify the type of output parameter
+ if ok := m.Type.In(2).AssignableTo(reflect.TypeOf(command.RpcResult())); !ok {
+ t.Fatalf("cannot assign output parameter")
+ }
+ // for coverage purpose
+ if err := command.PostprocessRpcParams(); err != nil {
+ t.Fatal(err)
+ }
+}
diff --git a/console/dispatchers_host_set_test.go b/console/dispatchers_host_set_test.go
new file mode 100644
index 000000000..907ac00c9
--- /dev/null
+++ b/console/dispatchers_host_set_test.go
@@ -0,0 +1,54 @@
+/*
+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 console
+
+import (
+ "reflect"
+ "strings"
+ "testing"
+
+ v1 "github.com/cgrates/cgrates/apier/v1"
+
+ "github.com/cgrates/cgrates/utils"
+)
+
+func TestCmdDispatchersHostSet(t *testing.T) {
+ // commands map is initiated in init function
+ command := commands["dispatchers_host_set"]
+ // verify if ApierSv1 object has method on it
+ m, ok := reflect.TypeOf(new(v1.APIerSv1)).MethodByName(strings.Split(command.RpcMethod(), utils.NestingSep)[1])
+ if !ok {
+ t.Fatal("method not found")
+ }
+ if m.Type.NumIn() != 3 { // ApierSv1 is consider and we expect 3 inputs
+ t.Fatalf("invalid number of input parameters ")
+ }
+ // verify the type of input parameter
+ if ok := m.Type.In(1).AssignableTo(reflect.TypeOf(command.RpcParams(true))); !ok {
+ t.Fatalf("cannot assign input parameter")
+ }
+ // verify the type of output parameter
+ if ok := m.Type.In(2).AssignableTo(reflect.TypeOf(command.RpcResult())); !ok {
+ t.Fatalf("cannot assign output parameter")
+ }
+ // for coverage purpose
+ if err := command.PostprocessRpcParams(); err != nil {
+ t.Fatal(err)
+ }
+}
diff --git a/console/dispatchers_host_test.go b/console/dispatchers_host_test.go
new file mode 100644
index 000000000..039764729
--- /dev/null
+++ b/console/dispatchers_host_test.go
@@ -0,0 +1,54 @@
+/*
+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 console
+
+import (
+ "reflect"
+ "strings"
+ "testing"
+
+ v1 "github.com/cgrates/cgrates/apier/v1"
+
+ "github.com/cgrates/cgrates/utils"
+)
+
+func TestCmdDispatchersHost(t *testing.T) {
+ // commands map is initiated in init function
+ command := commands["dispatchers_host"]
+ // verify if ApierSv1 object has method on it
+ m, ok := reflect.TypeOf(new(v1.APIerSv1)).MethodByName(strings.Split(command.RpcMethod(), utils.NestingSep)[1])
+ if !ok {
+ t.Fatal("method not found")
+ }
+ if m.Type.NumIn() != 3 { // ApierSv1 is consider and we expect 3 inputs
+ t.Fatalf("invalid number of input parameters ")
+ }
+ // verify the type of input parameter
+ if ok := m.Type.In(1).AssignableTo(reflect.TypeOf(command.RpcParams(true))); !ok {
+ t.Fatalf("cannot assign input parameter")
+ }
+ // verify the type of output parameter
+ if ok := m.Type.In(2).AssignableTo(reflect.TypeOf(command.RpcResult())); !ok {
+ t.Fatalf("cannot assign output parameter")
+ }
+ // for coverage purpose
+ if err := command.PostprocessRpcParams(); err != nil {
+ t.Fatal(err)
+ }
+}
diff --git a/console/set_datadb_versions_test.go b/console/set_datadb_versions_test.go
new file mode 100644
index 000000000..fd047f755
--- /dev/null
+++ b/console/set_datadb_versions_test.go
@@ -0,0 +1,53 @@
+/*
+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 console
+
+import (
+ "reflect"
+ "strings"
+ "testing"
+
+ v1 "github.com/cgrates/cgrates/apier/v1"
+ "github.com/cgrates/cgrates/utils"
+)
+
+func TestCmdSetDataDBVersions(t *testing.T) {
+ // commands map is initiated in init function
+ command := commands["set_datadb_versions"]
+ // verify if ApierSv1 object has method on it
+ m, ok := reflect.TypeOf(new(v1.APIerSv1)).MethodByName(strings.Split(command.RpcMethod(), utils.NestingSep)[1])
+ if !ok {
+ t.Fatal("method not found")
+ }
+ if m.Type.NumIn() != 3 { // ApierSv1 is consider and we expect 3 inputs
+ t.Fatalf("invalid number of input parameters ")
+ }
+ // verify the type of input parameter
+ if ok := m.Type.In(1).AssignableTo(reflect.TypeOf(command.RpcParams(true))); !ok {
+ t.Fatalf("cannot assign input parameter")
+ }
+ // verify the type of output parameter
+ if ok := m.Type.In(2).AssignableTo(reflect.TypeOf(command.RpcResult())); !ok {
+ t.Fatalf("cannot assign output parameter")
+ }
+ // for coverage purpose
+ if err := command.PostprocessRpcParams(); err != nil {
+ t.Fatal(err)
+ }
+}
diff --git a/console/set_stordb_versions_test.go b/console/set_stordb_versions_test.go
new file mode 100644
index 000000000..c2ae379dc
--- /dev/null
+++ b/console/set_stordb_versions_test.go
@@ -0,0 +1,53 @@
+/*
+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 console
+
+import (
+ "reflect"
+ "strings"
+ "testing"
+
+ v1 "github.com/cgrates/cgrates/apier/v1"
+ "github.com/cgrates/cgrates/utils"
+)
+
+func TestCmdStorDBVersions(t *testing.T) {
+ // commands map is initiated in init function
+ command := commands["set_stordb_versions"]
+ // verify if ApierSv1 object has method on it
+ m, ok := reflect.TypeOf(new(v1.APIerSv1)).MethodByName(strings.Split(command.RpcMethod(), utils.NestingSep)[1])
+ if !ok {
+ t.Fatal("method not found")
+ }
+ if m.Type.NumIn() != 3 { // ApierSv1 is consider and we expect 3 inputs
+ t.Fatalf("invalid number of input parameters ")
+ }
+ // verify the type of input parameter
+ if ok := m.Type.In(1).AssignableTo(reflect.TypeOf(command.RpcParams(true))); !ok {
+ t.Fatalf("cannot assign input parameter")
+ }
+ // verify the type of output parameter
+ if ok := m.Type.In(2).AssignableTo(reflect.TypeOf(command.RpcResult())); !ok {
+ t.Fatalf("cannot assign output parameter")
+ }
+ // for coverage purpose
+ if err := command.PostprocessRpcParams(); err != nil {
+ t.Fatal(err)
+ }
+}
diff --git a/console/status_test.go b/console/status_test.go
new file mode 100644
index 000000000..cdea90a6c
--- /dev/null
+++ b/console/status_test.go
@@ -0,0 +1,53 @@
+/*
+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 console
+
+import (
+ "reflect"
+ "strings"
+ "testing"
+
+ v1 "github.com/cgrates/cgrates/apier/v1"
+ "github.com/cgrates/cgrates/utils"
+)
+
+func TestCmdStatus(t *testing.T) {
+ // commands map is initiated in init function
+ command := commands["status"]
+ // verify if ApierSv1 object has method on it
+ m, ok := reflect.TypeOf(new(v1.CoreSv1)).MethodByName(strings.Split(command.RpcMethod(), utils.NestingSep)[1])
+ if !ok {
+ t.Fatal("method not found")
+ }
+ if m.Type.NumIn() != 3 { // ApierSv1 is consider and we expect 3 inputs
+ t.Fatalf("invalid number of input parameters ")
+ }
+ // verify the type of input parameter
+ if ok := m.Type.In(1).AssignableTo(reflect.TypeOf(command.RpcParams(true))); !ok {
+ t.Fatalf("cannot assign input parameter")
+ }
+ // verify the type of output parameter
+ if ok := m.Type.In(2).AssignableTo(reflect.TypeOf(command.RpcResult())); !ok {
+ t.Fatalf("cannot assign output parameter")
+ }
+ // for coverage purpose
+ if err := command.PostprocessRpcParams(); err != nil {
+ t.Fatal(err)
+ }
+}
diff --git a/console/threshold_test.go b/console/threshold_test.go
new file mode 100644
index 000000000..3e888d3a5
--- /dev/null
+++ b/console/threshold_test.go
@@ -0,0 +1,53 @@
+/*
+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 console
+
+import (
+ "reflect"
+ "strings"
+ "testing"
+
+ v1 "github.com/cgrates/cgrates/apier/v1"
+ "github.com/cgrates/cgrates/utils"
+)
+
+func TestCmdThreshold(t *testing.T) {
+ // commands map is initiated in init function
+ command := commands["threshold"]
+ // verify if ApierSv1 object has method on it
+ m, ok := reflect.TypeOf(new(v1.ThresholdSv1)).MethodByName(strings.Split(command.RpcMethod(), utils.NestingSep)[1])
+ if !ok {
+ t.Fatal("method not found")
+ }
+ if m.Type.NumIn() != 3 { // ApierSv1 is consider and we expect 3 inputs
+ t.Fatalf("invalid number of input parameters ")
+ }
+ // verify the type of input parameter
+ if ok := m.Type.In(1).AssignableTo(reflect.TypeOf(command.RpcParams(true))); !ok {
+ t.Fatalf("cannot assign input parameter")
+ }
+ // verify the type of output parameter
+ if ok := m.Type.In(2).AssignableTo(reflect.TypeOf(command.RpcResult())); !ok {
+ t.Fatalf("cannot assign output parameter")
+ }
+ // for coverage purpose
+ if err := command.PostprocessRpcParams(); err != nil {
+ t.Fatal(err)
+ }
+}
diff --git a/console/thresholds_process_event_test.go b/console/thresholds_process_event_test.go
new file mode 100644
index 000000000..11d3568a7
--- /dev/null
+++ b/console/thresholds_process_event_test.go
@@ -0,0 +1,53 @@
+/*
+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 console
+
+import (
+ "reflect"
+ "strings"
+ "testing"
+
+ v1 "github.com/cgrates/cgrates/apier/v1"
+ "github.com/cgrates/cgrates/utils"
+)
+
+func TestCmdThresholdsProcessEvent(t *testing.T) {
+ // commands map is initiated in init function
+ command := commands["thresholds_process_event"]
+ // verify if ApierSv1 object has method on it
+ m, ok := reflect.TypeOf(new(v1.ThresholdSv1)).MethodByName(strings.Split(command.RpcMethod(), utils.NestingSep)[1])
+ if !ok {
+ t.Fatal("method not found")
+ }
+ if m.Type.NumIn() != 3 { // ApierSv1 is consider and we expect 3 inputs
+ t.Fatalf("invalid number of input parameters ")
+ }
+ // verify the type of input parameter
+ if ok := m.Type.In(1).AssignableTo(reflect.TypeOf(command.RpcParams(true))); !ok {
+ t.Fatalf("cannot assign input parameter")
+ }
+ // verify the type of output parameter
+ if ok := m.Type.In(2).AssignableTo(reflect.TypeOf(command.RpcResult())); !ok {
+ t.Fatalf("cannot assign output parameter")
+ }
+ // for coverage purpose
+ if err := command.PostprocessRpcParams(); err != nil {
+ t.Fatal(err)
+ }
+}
diff --git a/console/thresholds_profile_ids_test.go b/console/thresholds_profile_ids_test.go
new file mode 100644
index 000000000..7be203029
--- /dev/null
+++ b/console/thresholds_profile_ids_test.go
@@ -0,0 +1,53 @@
+/*
+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 console
+
+import (
+ "reflect"
+ "strings"
+ "testing"
+
+ v1 "github.com/cgrates/cgrates/apier/v1"
+ "github.com/cgrates/cgrates/utils"
+)
+
+func TestCmdThresholdsProfileIDs(t *testing.T) {
+ // commands map is initiated in init function
+ command := commands["thresholds_profile_remove"]
+ // verify if ApierSv1 object has method on it
+ m, ok := reflect.TypeOf(new(v1.APIerSv1)).MethodByName(strings.Split(command.RpcMethod(), utils.NestingSep)[1])
+ if !ok {
+ t.Fatal("method not found")
+ }
+ if m.Type.NumIn() != 3 { // ApierSv1 is consider and we expect 3 inputs
+ t.Fatalf("invalid number of input parameters ")
+ }
+ // verify the type of input parameter
+ if ok := m.Type.In(1).AssignableTo(reflect.TypeOf(command.RpcParams(true))); !ok {
+ t.Fatalf("cannot assign input parameter")
+ }
+ // verify the type of output parameter
+ if ok := m.Type.In(2).AssignableTo(reflect.TypeOf(command.RpcResult())); !ok {
+ t.Fatalf("cannot assign output parameter")
+ }
+ // for coverage purpose
+ if err := command.PostprocessRpcParams(); err != nil {
+ t.Fatal(err)
+ }
+}
diff --git a/console/thresholds_profile_remove_test.go b/console/thresholds_profile_remove_test.go
new file mode 100644
index 000000000..03d6e0ceb
--- /dev/null
+++ b/console/thresholds_profile_remove_test.go
@@ -0,0 +1,53 @@
+/*
+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 console
+
+import (
+ "reflect"
+ "strings"
+ "testing"
+
+ v1 "github.com/cgrates/cgrates/apier/v1"
+ "github.com/cgrates/cgrates/utils"
+)
+
+func TestCmdThresholdsProfileRemove(t *testing.T) {
+ // commands map is initiated in init function
+ command := commands["thresholds_profile_remove"]
+ // verify if ApierSv1 object has method on it
+ m, ok := reflect.TypeOf(new(v1.APIerSv1)).MethodByName(strings.Split(command.RpcMethod(), utils.NestingSep)[1])
+ if !ok {
+ t.Fatal("method not found")
+ }
+ if m.Type.NumIn() != 3 { // ApierSv1 is consider and we expect 3 inputs
+ t.Fatalf("invalid number of input parameters ")
+ }
+ // verify the type of input parameter
+ if ok := m.Type.In(1).AssignableTo(reflect.TypeOf(command.RpcParams(true))); !ok {
+ t.Fatalf("cannot assign input parameter")
+ }
+ // verify the type of output parameter
+ if ok := m.Type.In(2).AssignableTo(reflect.TypeOf(command.RpcResult())); !ok {
+ t.Fatalf("cannot assign output parameter")
+ }
+ // for coverage purpose
+ if err := command.PostprocessRpcParams(); err != nil {
+ t.Fatal(err)
+ }
+}
diff --git a/console/thresholds_profile_set_test.go b/console/thresholds_profile_set_test.go
new file mode 100644
index 000000000..b8bd9d6ff
--- /dev/null
+++ b/console/thresholds_profile_set_test.go
@@ -0,0 +1,53 @@
+/*
+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 console
+
+import (
+ "reflect"
+ "strings"
+ "testing"
+
+ v1 "github.com/cgrates/cgrates/apier/v1"
+ "github.com/cgrates/cgrates/utils"
+)
+
+func TestCmdThresholdsProfileSet(t *testing.T) {
+ // commands map is initiated in init function
+ command := commands["thresholds_profile_set"]
+ // verify if ApierSv1 object has method on it
+ m, ok := reflect.TypeOf(new(v1.APIerSv1)).MethodByName(strings.Split(command.RpcMethod(), utils.NestingSep)[1])
+ if !ok {
+ t.Fatal("method not found")
+ }
+ if m.Type.NumIn() != 3 { // ApierSv1 is consider and we expect 3 inputs
+ t.Fatalf("invalid number of input parameters ")
+ }
+ // verify the type of input parameter
+ if ok := m.Type.In(1).AssignableTo(reflect.TypeOf(command.RpcParams(true))); !ok {
+ t.Fatalf("cannot assign input parameter")
+ }
+ // verify the type of output parameter
+ if ok := m.Type.In(2).AssignableTo(reflect.TypeOf(command.RpcResult())); !ok {
+ t.Fatalf("cannot assign output parameter")
+ }
+ // for coverage purpose
+ if err := command.PostprocessRpcParams(); err != nil {
+ t.Fatal(err)
+ }
+}
diff --git a/console/thresholds_profile_test.go b/console/thresholds_profile_test.go
new file mode 100644
index 000000000..162e59e5b
--- /dev/null
+++ b/console/thresholds_profile_test.go
@@ -0,0 +1,53 @@
+/*
+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 console
+
+import (
+ "reflect"
+ "strings"
+ "testing"
+
+ v1 "github.com/cgrates/cgrates/apier/v1"
+ "github.com/cgrates/cgrates/utils"
+)
+
+func TestCmdThresholdsProfile(t *testing.T) {
+ // commands map is initiated in init function
+ command := commands["thresholds_profile_ids"]
+ // verify if ApierSv1 object has method on it
+ m, ok := reflect.TypeOf(new(v1.APIerSv1)).MethodByName(strings.Split(command.RpcMethod(), utils.NestingSep)[1])
+ if !ok {
+ t.Fatal("method not found")
+ }
+ if m.Type.NumIn() != 3 { // ApierSv1 is consider and we expect 3 inputs
+ t.Fatalf("invalid number of input parameters ")
+ }
+ // verify the type of input parameter
+ if ok := m.Type.In(1).AssignableTo(reflect.TypeOf(command.RpcParams(true))); !ok {
+ t.Fatalf("cannot assign input parameter")
+ }
+ // verify the type of output parameter
+ if ok := m.Type.In(2).AssignableTo(reflect.TypeOf(command.RpcResult())); !ok {
+ t.Fatalf("cannot assign output parameter")
+ }
+ // for coverage purpose
+ if err := command.PostprocessRpcParams(); err != nil {
+ t.Fatal(err)
+ }
+}
diff --git a/console/trigger_remove_test.go b/console/trigger_remove_test.go
new file mode 100644
index 000000000..a48760d62
--- /dev/null
+++ b/console/trigger_remove_test.go
@@ -0,0 +1,49 @@
+/*
+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 console
+
+//willfix
+/*
+func TestCmdTriggerRemove(t *testing.T) {
+ // commands map is initiated in init function
+ command := commands["triggers_remove"]
+ // verify if ApierSv1 object has method on it
+ m, ok := reflect.TypeOf(new(v1.APIerSv1)).MethodByName(strings.Split(command.RpcMethod(), utils.NestingSep)[1])
+ if !ok {
+ t.Fatal("method not found")
+ }
+ if m.Type.NumIn() != 3 { // ApierSv1 is consider and we expect 3 inputs
+ t.Fatalf("invalid number of input parameters ")
+ }
+ fmt.Println(m.Type.In(1))
+ fmt.Println(reflect.TypeOf(command.RpcParams(true)))
+ // verify the type of input parameter
+ if ok := m.Type.In(1).AssignableTo(reflect.TypeOf(command.RpcParams(true))); !ok {
+ t.Fatalf("cannot assign input parameter")
+ }
+ // verify the type of output parameter
+ if ok := m.Type.In(2).AssignableTo(reflect.TypeOf(command.RpcResult())); !ok {
+ t.Fatalf("cannot assign output parameter")
+ }
+ // for coverage purpose
+ if err := command.PostprocessRpcParams(); err != nil {
+ t.Fatal(err)
+ }
+}
+*/
diff --git a/console/trigger_set_test.go b/console/trigger_set_test.go
new file mode 100644
index 000000000..f2c808a41
--- /dev/null
+++ b/console/trigger_set_test.go
@@ -0,0 +1,49 @@
+/*
+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 console
+
+//willfix
+/*
+func TestCmdTriggerSet(t *testing.T) {
+ // commands map is initiated in init function
+ command := commands["triggers_set"]
+ // verify if ApierSv1 object has method on it
+ m, ok := reflect.TypeOf(new(v1.APIerSv1)).MethodByName(strings.Split(command.RpcMethod(), utils.NestingSep)[1])
+ if !ok {
+ t.Fatal("method not found")
+ }
+ if m.Type.NumIn() != 3 { // ApierSv1 is consider and we expect 3 inputs
+ t.Fatalf("invalid number of input parameters ")
+ }
+ fmt.Println(m.Type.In(1))
+ fmt.Println(reflect.TypeOf(command.RpcParams(true)))
+ // verify the type of input parameter
+ if ok := m.Type.In(1).AssignableTo(reflect.TypeOf(command.RpcParams(true))); !ok {
+ t.Fatalf("cannot assign input parameter")
+ }
+ // verify the type of output parameter
+ if ok := m.Type.In(2).AssignableTo(reflect.TypeOf(command.RpcResult())); !ok {
+ t.Fatalf("cannot assign output parameter")
+ }
+ // for coverage purpose
+ if err := command.PostprocessRpcParams(); err != nil {
+ t.Fatal(err)
+ }
+}
+*/
diff --git a/console/triggers_test.go b/console/triggers_test.go
new file mode 100644
index 000000000..bec12ecf0
--- /dev/null
+++ b/console/triggers_test.go
@@ -0,0 +1,53 @@
+/*
+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 console
+
+import (
+ "reflect"
+ "strings"
+ "testing"
+
+ v1 "github.com/cgrates/cgrates/apier/v1"
+ "github.com/cgrates/cgrates/utils"
+)
+
+func TestCmdTriggers(t *testing.T) {
+ // commands map is initiated in init function
+ command := commands["triggers"]
+ // verify if ApierSv1 object has method on it
+ m, ok := reflect.TypeOf(new(v1.APIerSv1)).MethodByName(strings.Split(command.RpcMethod(), utils.NestingSep)[1])
+ if !ok {
+ t.Fatal("method not found")
+ }
+ if m.Type.NumIn() != 3 { // ApierSv1 is consider and we expect 3 inputs
+ t.Fatalf("invalid number of input parameters ")
+ }
+ // verify the type of input parameter
+ if ok := m.Type.In(1).AssignableTo(reflect.TypeOf(command.RpcParams(true))); !ok {
+ t.Fatalf("cannot assign input parameter")
+ }
+ // verify the type of output parameter
+ if ok := m.Type.In(2).AssignableTo(reflect.TypeOf(command.RpcResult())); !ok {
+ t.Fatalf("cannot assign output parameter")
+ }
+ // for coverage purpose
+ if err := command.PostprocessRpcParams(); err != nil {
+ t.Fatal(err)
+ }
+}