mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-14 20:59:53 +05:00
Fixed and added tests in config
This commit is contained in:
committed by
Dan Christian Bogos
parent
83711d727c
commit
be173e1e07
@@ -1418,3 +1418,38 @@ func (responseTest) Write([]byte) (int, error) {
|
||||
}
|
||||
|
||||
func (responseTest) WriteHeader(int) {}
|
||||
|
||||
func TestGetLockFilePath(t *testing.T) {
|
||||
l := LoaderSCfg{
|
||||
ID: "file",
|
||||
LockFilePath: "../tmp/file.txt",
|
||||
TpInDir: "/home",
|
||||
}
|
||||
|
||||
exp := "/tmp/file.txt"
|
||||
pathL := l.GetLockFilePath()
|
||||
if pathL != exp {
|
||||
t.Errorf("Expected %s \n but received \n %s", exp, pathL)
|
||||
}
|
||||
|
||||
l.LockFilePath = "file.txt"
|
||||
pathL = l.GetLockFilePath()
|
||||
exp = "/home/file.txt"
|
||||
if pathL != exp {
|
||||
t.Errorf("Expected %s \n but received \n %s", exp, pathL)
|
||||
}
|
||||
|
||||
if err := os.Mkdir(path.Join("/tmp", "TestGetLockFilePath"), 0777); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
l.LockFilePath = "TestGetLockFilePath"
|
||||
l.TpInDir = "/tmp"
|
||||
pathL = l.GetLockFilePath()
|
||||
exp = "/tmp/TestGetLockFilePath/file.lck"
|
||||
if pathL != exp {
|
||||
t.Errorf("Expected %s \n but received \n %s", exp, pathL)
|
||||
}
|
||||
if err := os.RemoveAll(path.Join("/tmp", "TestGetLockFilePath")); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@ import (
|
||||
"fmt"
|
||||
"reflect"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/cgrates/birpc/context"
|
||||
"github.com/cgrates/cgrates/utils"
|
||||
@@ -579,30 +580,14 @@ func TestSmgJsonCfg(t *testing.T) {
|
||||
Publickey_path: utils.StringPointer(""),
|
||||
},
|
||||
Opts: &SessionsOptsJson{
|
||||
Accounts: []*utils.DynamicBoolOpt{},
|
||||
Attributes: []*utils.DynamicBoolOpt{},
|
||||
CDRs: []*utils.DynamicBoolOpt{},
|
||||
Chargers: []*utils.DynamicBoolOpt{},
|
||||
Resources: []*utils.DynamicBoolOpt{},
|
||||
Routes: []*utils.DynamicBoolOpt{},
|
||||
Stats: []*utils.DynamicBoolOpt{},
|
||||
Thresholds: []*utils.DynamicBoolOpt{},
|
||||
Initiate: []*utils.DynamicBoolOpt{},
|
||||
Update: []*utils.DynamicBoolOpt{},
|
||||
Terminate: []*utils.DynamicBoolOpt{},
|
||||
Message: []*utils.DynamicBoolOpt{},
|
||||
AttributesDerivedReply: []*utils.DynamicBoolOpt{},
|
||||
BlockerError: []*utils.DynamicBoolOpt{},
|
||||
CDRsDerivedReply: []*utils.DynamicBoolOpt{},
|
||||
ResourcesAuthorize: []*utils.DynamicBoolOpt{},
|
||||
ResourcesAllocate: []*utils.DynamicBoolOpt{},
|
||||
ResourcesRelease: []*utils.DynamicBoolOpt{},
|
||||
ResourcesDerivedReply: []*utils.DynamicBoolOpt{},
|
||||
RoutesDerivedReply: []*utils.DynamicBoolOpt{},
|
||||
StatsDerivedReply: []*utils.DynamicBoolOpt{},
|
||||
ThresholdsDerivedReply: []*utils.DynamicBoolOpt{},
|
||||
MaxUsage: []*utils.DynamicBoolOpt{},
|
||||
ForceDuration: []*utils.DynamicBoolOpt{},
|
||||
Attributes: []*utils.DynamicBoolOpt{},
|
||||
Chargers: []*utils.DynamicBoolOpt{},
|
||||
Stats: []*utils.DynamicBoolOpt{},
|
||||
Thresholds: []*utils.DynamicBoolOpt{},
|
||||
Initiate: []*utils.DynamicBoolOpt{},
|
||||
Update: []*utils.DynamicBoolOpt{},
|
||||
Terminate: []*utils.DynamicBoolOpt{},
|
||||
Message: []*utils.DynamicBoolOpt{},
|
||||
},
|
||||
}
|
||||
dfCgrJSONCfg, err := NewCgrJsonCfgFromBytes([]byte(CGRATES_CFG_JSON))
|
||||
@@ -613,7 +598,7 @@ func TestSmgJsonCfg(t *testing.T) {
|
||||
if err := dfCgrJSONCfg.GetSection(context.Background(), SessionSJSON, cfg); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(eCfg, cfg) {
|
||||
t.Error("Received: ", cfg)
|
||||
t.Errorf("Expected %v \n but Received \n %v ", utils.ToJSON(eCfg), utils.ToJSON(cfg))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2350,3 +2335,28 @@ func TestSetSection(t *testing.T) {
|
||||
t.Error(err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestConfigJsonCloneSection(t *testing.T) {
|
||||
s := Sections{
|
||||
&CoreSCfg{
|
||||
Caps: 2,
|
||||
CapsStrategy: "*busy",
|
||||
CapsStatsInterval: 2 * time.Second,
|
||||
ShutdownTimeout: 3 * time.Second,
|
||||
},
|
||||
}
|
||||
|
||||
exp := []Section{
|
||||
&CoreSCfg{
|
||||
Caps: 2,
|
||||
CapsStrategy: "*busy",
|
||||
CapsStatsInterval: 2 * time.Second,
|
||||
ShutdownTimeout: 3 * time.Second,
|
||||
},
|
||||
}
|
||||
|
||||
c := s.Clone()
|
||||
if !reflect.DeepEqual(exp[0], c[0]) {
|
||||
t.Errorf("Expected %v \n bu received \n %v", exp, c)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6293,6 +6293,45 @@ func TestConfigDBCfg(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestConfigDBLoadFromJson(t *testing.T) {
|
||||
dbCfg := &ConfigDBCfg{}
|
||||
jsonCfg := &DbJsonCfg{
|
||||
Db_port: utils.IntPointer(-1),
|
||||
}
|
||||
if err := dbCfg.loadFromJSONCfg(jsonCfg); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := dbCfg.loadFromJSONCfg(nil); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestConfigDBCloneSection(t *testing.T) {
|
||||
dbCfg := ConfigDBCfg{
|
||||
Type: "*internal",
|
||||
Host: "localhost",
|
||||
Port: "2013",
|
||||
Name: "dbname",
|
||||
User: "cgrates",
|
||||
Password: "superSecretPassword",
|
||||
Opts: &DataDBOpts{},
|
||||
}
|
||||
|
||||
exp := &ConfigDBCfg{
|
||||
Type: "*internal",
|
||||
Host: "localhost",
|
||||
Port: "2013",
|
||||
Name: "dbname",
|
||||
User: "cgrates",
|
||||
Password: "superSecretPassword",
|
||||
Opts: &DataDBOpts{},
|
||||
}
|
||||
|
||||
rcv := dbCfg.CloneSection()
|
||||
if !reflect.DeepEqual(exp, rcv) {
|
||||
t.Errorf("Expected %v \n but recevived \n %v", exp, rcv)
|
||||
}
|
||||
}
|
||||
func TestFreeSwitchAgentCloneSection(t *testing.T) {
|
||||
fsAgCfg := FsAgentCfg{
|
||||
Enabled: true,
|
||||
|
||||
@@ -19,6 +19,7 @@ package config
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"reflect"
|
||||
"testing"
|
||||
|
||||
@@ -211,32 +212,32 @@ func TestDiffLoaderCfgJsonCase2(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
// func TestLoaderCfgCloneSection(t *testing.T) {
|
||||
// ldrCfg := LoaderCgrCfg{
|
||||
// TpID: "loaderID",
|
||||
// DataPath: "/data/path",
|
||||
// DisableReverse: false,
|
||||
// FieldSeparator: rune(22),
|
||||
// CachesConns: []string{"*localhost"},
|
||||
// ActionSConns: []string{"*localhost"},
|
||||
// GapiCredentials: nil,
|
||||
// GapiToken: nil,
|
||||
// }
|
||||
func TestLoaderCfgCloneSection(t *testing.T) {
|
||||
ldrCfg := &LoaderCgrCfg{
|
||||
TpID: "loaderID",
|
||||
DataPath: "/data/path",
|
||||
DisableReverse: false,
|
||||
FieldSeparator: rune(22),
|
||||
CachesConns: []string{"*localhost"},
|
||||
ActionSConns: []string{"*localhost"},
|
||||
GapiCredentials: json.RawMessage{},
|
||||
GapiToken: json.RawMessage{},
|
||||
}
|
||||
|
||||
// exp := &LoaderCgrCfg{
|
||||
// TpID: "loaderID",
|
||||
// DataPath: "/data/path",
|
||||
// DisableReverse: false,
|
||||
// FieldSeparator: rune(22),
|
||||
// CachesConns: []string{"*localhost"},
|
||||
// ActionSConns: []string{"*localhost"},
|
||||
// GapiCredentials: nil,
|
||||
// GapiToken: nil,
|
||||
// }
|
||||
exp := &LoaderCgrCfg{
|
||||
TpID: "loaderID",
|
||||
DataPath: "/data/path",
|
||||
DisableReverse: false,
|
||||
FieldSeparator: rune(22),
|
||||
CachesConns: []string{"*localhost"},
|
||||
ActionSConns: []string{"*localhost"},
|
||||
GapiCredentials: json.RawMessage{},
|
||||
GapiToken: json.RawMessage{},
|
||||
}
|
||||
|
||||
// rcv := ldrCfg.CloneSection()
|
||||
// fmt.Println(utils.ToJSON(rcv))
|
||||
// if !reflect.DeepEqual(rcv.(*LoaderCgrCfg), exp) {
|
||||
// t.Errorf("Expected %+v \n but received \n %v", exp, rcv)
|
||||
// }
|
||||
// }
|
||||
rcv := ldrCfg.CloneSection()
|
||||
fmt.Println(utils.ToJSON(rcv))
|
||||
if !reflect.DeepEqual(rcv.(*LoaderCgrCfg), exp) {
|
||||
t.Errorf("Expected %+v \n but received \n %v", exp, rcv)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1467,6 +1467,12 @@ func TestLoaderSCfgloadFromJsonCfgCase6(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestLoaderSCfgloadFromJsonCfgCase7(t *testing.T) {
|
||||
cfg := &LoaderSCfg{}
|
||||
if err := cfg.loadFromJSONCfg(nil, nil, ""); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
}
|
||||
func TestEnabledCase1(t *testing.T) {
|
||||
jsonCfg := NewDefaultCGRConfig()
|
||||
|
||||
@@ -2930,46 +2936,71 @@ func TestLockFolderIsDir(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
// func TestLoaderSCloneSection(t *testing.T) {
|
||||
// ldrsCfg := LoaderSCfgs{
|
||||
// {
|
||||
// ID: "LoaderID",
|
||||
// Enabled: false,
|
||||
// Tenant: "cgrates.org",
|
||||
// DryRun: false,
|
||||
// RunDelay: 1 * time.Millisecond,
|
||||
// LockFilePath: "lockFileName",
|
||||
// CacheSConns: []string{"*localhost"},
|
||||
// FieldSeparator: ";",
|
||||
// TpInDir: "/tp/in/dir",
|
||||
// TpOutDir: "/tp/out/dir",
|
||||
// Data: nil,
|
||||
// },
|
||||
// }
|
||||
func TestLoaderSCloneSection(t *testing.T) {
|
||||
ldrsCfg := LoaderSCfgs{
|
||||
{
|
||||
ID: "LoaderID",
|
||||
Enabled: false,
|
||||
Tenant: "cgrates.org",
|
||||
DryRun: false,
|
||||
RunDelay: 1 * time.Millisecond,
|
||||
LockFilePath: "lockFileName",
|
||||
CacheSConns: []string{"*localhost"},
|
||||
FieldSeparator: ";",
|
||||
TpInDir: "/tp/in/dir",
|
||||
TpOutDir: "/tp/out/dir",
|
||||
Data: []*LoaderDataType{
|
||||
{
|
||||
Type: "*csv",
|
||||
Filename: "test",
|
||||
Flags: utils.FlagsWithParams{
|
||||
"k1": map[string][]string{
|
||||
"k2": {"f1", "f2"},
|
||||
},
|
||||
},
|
||||
Fields: []*FCTemplate{
|
||||
{Tag: "Tenant",
|
||||
Path: utils.MetaRep + utils.NestingSep + utils.Tenant, Type: utils.MetaVariable,
|
||||
Value: NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep)},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
// exp := LoaderSCfgs{
|
||||
// {
|
||||
// ID: "LoaderID",
|
||||
// Enabled: false,
|
||||
// Tenant: "cgrates.org",
|
||||
// DryRun: false,
|
||||
// RunDelay: 1 * time.Millisecond,
|
||||
// LockFilePath: "lockFileName",
|
||||
// CacheSConns: []string{"*localhost"},
|
||||
// FieldSeparator: ";",
|
||||
// TpInDir: "/tp/in/dir",
|
||||
// TpOutDir: "/tp/out/dir",
|
||||
// Data: nil,
|
||||
// },
|
||||
// }
|
||||
exp := LoaderSCfgs{
|
||||
{
|
||||
ID: "LoaderID",
|
||||
Enabled: false,
|
||||
Tenant: "cgrates.org",
|
||||
DryRun: false,
|
||||
RunDelay: 1 * time.Millisecond,
|
||||
LockFilePath: "lockFileName",
|
||||
CacheSConns: []string{"*localhost"},
|
||||
FieldSeparator: ";",
|
||||
TpInDir: "/tp/in/dir",
|
||||
TpOutDir: "/tp/out/dir",
|
||||
Data: []*LoaderDataType{
|
||||
{
|
||||
Type: "*csv",
|
||||
Filename: "test",
|
||||
Flags: utils.FlagsWithParams{
|
||||
"k1": map[string][]string{
|
||||
"k2": {"f1", "f2"},
|
||||
},
|
||||
},
|
||||
Fields: []*FCTemplate{
|
||||
{Tag: "Tenant",
|
||||
Path: utils.MetaRep + utils.NestingSep + utils.Tenant, Type: utils.MetaVariable,
|
||||
Value: NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep)},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
// rcv := ldrsCfg.CloneSection()
|
||||
// idk, ok := rcv.(*LoaderSCfgs)
|
||||
// if !ok {
|
||||
// t.Error("Err")
|
||||
// }
|
||||
// (*idk)[0].Data = nil
|
||||
// if !reflect.DeepEqual(rcv, exp) {
|
||||
// t.Errorf("Expected %v \n but received \n %v", utils.ToJSON(exp), utils.ToJSON(rcv))
|
||||
// }
|
||||
// }
|
||||
rcv := ldrsCfg.CloneSection()
|
||||
if !reflect.DeepEqual((*rcv.(*LoaderSCfgs))[0], exp[0]) {
|
||||
t.Errorf("Expected %v \n but received \n %v", utils.ToJSON(exp[0]), utils.ToJSON((*rcv.(*LoaderSCfgs))[0]))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -165,6 +165,60 @@ func TestRPCConnsloadFromJsonCfgCase2(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestRemoteHostLoadFromJSONCfg(t *testing.T) {
|
||||
rh := &RemoteHost{}
|
||||
jsnCfg := &RemoteHostJson{
|
||||
Connect_timeout: utils.StringPointer("2c"),
|
||||
// Reply_timeout: utils.StringPointer("2c"),
|
||||
}
|
||||
errExpect := `time: unknown unit "c" in duration "2c"`
|
||||
if err := rh.loadFromJSONCfg(jsnCfg); err == nil || err.Error() != errExpect {
|
||||
t.Errorf("Expected %v \n but received \n %v", errExpect, err.Error())
|
||||
}
|
||||
|
||||
jsnCfg = &RemoteHostJson{
|
||||
Connect_timeout: utils.StringPointer("2s"),
|
||||
Reply_timeout: utils.StringPointer("2c"),
|
||||
}
|
||||
if err := rh.loadFromJSONCfg(jsnCfg); err == nil || err.Error() != errExpect {
|
||||
t.Errorf("Expected %v \n but received \n %v", errExpect, err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
func TestRemoteHostAsMapInterface(t *testing.T) {
|
||||
rh := &RemoteHost{
|
||||
ID: "rh_id1",
|
||||
Address: "localhost",
|
||||
Transport: "*json",
|
||||
ConnectAttempts: 2,
|
||||
Reconnects: 2,
|
||||
ConnectTimeout: 3 * time.Nanosecond,
|
||||
ReplyTimeout: 2 * time.Nanosecond,
|
||||
TLS: true,
|
||||
ClientKey: "ck",
|
||||
ClientCertificate: "cc",
|
||||
CaCertificate: "ca",
|
||||
}
|
||||
|
||||
eMap := map[string]interface{}{
|
||||
utils.IDCfg: "rh_id1",
|
||||
utils.AddressCfg: "localhost",
|
||||
utils.TransportCfg: "*json",
|
||||
utils.ConnectAttemptsCfg: 2,
|
||||
utils.ReconnectsCfg: 2,
|
||||
utils.ConnectTimeoutCfg: 3 * time.Nanosecond,
|
||||
utils.ReplyTimeoutCfg: 2 * time.Nanosecond,
|
||||
utils.TLSNoCaps: true,
|
||||
utils.KeyPathCgr: "ck",
|
||||
utils.CertPathCgr: "cc",
|
||||
utils.CAPathCgr: "ca",
|
||||
}
|
||||
|
||||
rcv := rh.AsMapInterface()
|
||||
if !reflect.DeepEqual(eMap, rcv) {
|
||||
t.Errorf("Expected %v \n but received \n %v", utils.ToJSON(eMap), utils.ToJSON(rcv))
|
||||
}
|
||||
}
|
||||
func TestRPCConnsAsMapInterface(t *testing.T) {
|
||||
cfgJSONStr := `{
|
||||
"rpc_conns": {
|
||||
|
||||
@@ -167,6 +167,14 @@ func TestSessionSCfgloadFromJsonCfgCase1(t *testing.T) {
|
||||
if err = jsonCfg.sessionSCfg.loadFromJSONCfg(cfgJSON); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
if err := expected.Opts.loadFromJSONCfg(nil); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
if err := expected.STIRCfg.loadFromJSONCfg(nil); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestSessionSCfgloadFromJsonCfgCase2(t *testing.T) {
|
||||
@@ -1662,3 +1670,165 @@ func TestSessionSCloneSection(t *testing.T) {
|
||||
t.Errorf("Expected %v \n but received \n %v", utils.ToJSON(exp), utils.ToJSON(rcv))
|
||||
}
|
||||
}
|
||||
|
||||
func TestDiffSessionsOptsJsonCfg(t *testing.T) {
|
||||
var d *SessionsOptsJson
|
||||
|
||||
v1 := &SessionsOpts{
|
||||
Attributes: []*utils.DynamicBoolOpt{
|
||||
{
|
||||
Tenant: "cgrates.org",
|
||||
Value: false,
|
||||
},
|
||||
},
|
||||
Chargers: []*utils.DynamicBoolOpt{
|
||||
{
|
||||
Tenant: "cgrates.org",
|
||||
Value: false,
|
||||
},
|
||||
},
|
||||
Stats: []*utils.DynamicBoolOpt{
|
||||
{
|
||||
Tenant: "cgrates.org",
|
||||
Value: false,
|
||||
},
|
||||
},
|
||||
Thresholds: []*utils.DynamicBoolOpt{
|
||||
{
|
||||
Tenant: "cgrates.org",
|
||||
Value: false,
|
||||
},
|
||||
},
|
||||
Initiate: []*utils.DynamicBoolOpt{
|
||||
{
|
||||
Tenant: "cgrates.org",
|
||||
Value: false,
|
||||
},
|
||||
},
|
||||
Update: []*utils.DynamicBoolOpt{
|
||||
{
|
||||
Tenant: "cgrates.org",
|
||||
Value: false,
|
||||
},
|
||||
},
|
||||
Terminate: []*utils.DynamicBoolOpt{
|
||||
{
|
||||
Tenant: "cgrates.org",
|
||||
Value: false,
|
||||
},
|
||||
},
|
||||
Message: []*utils.DynamicBoolOpt{
|
||||
{
|
||||
Tenant: "cgrates.org",
|
||||
Value: false,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
v2 := &SessionsOpts{
|
||||
Attributes: []*utils.DynamicBoolOpt{
|
||||
{
|
||||
Tenant: "cgrates.net",
|
||||
Value: true,
|
||||
},
|
||||
},
|
||||
Chargers: []*utils.DynamicBoolOpt{
|
||||
{
|
||||
Tenant: "cgrates.net",
|
||||
Value: true,
|
||||
},
|
||||
},
|
||||
Stats: []*utils.DynamicBoolOpt{
|
||||
{
|
||||
Tenant: "cgrates.net",
|
||||
Value: true,
|
||||
},
|
||||
},
|
||||
Thresholds: []*utils.DynamicBoolOpt{
|
||||
{
|
||||
Tenant: "cgrates.net",
|
||||
Value: true,
|
||||
},
|
||||
},
|
||||
Initiate: []*utils.DynamicBoolOpt{
|
||||
{
|
||||
Tenant: "cgrates.net",
|
||||
Value: true,
|
||||
},
|
||||
},
|
||||
Update: []*utils.DynamicBoolOpt{
|
||||
{
|
||||
Tenant: "cgrates.net",
|
||||
Value: true,
|
||||
},
|
||||
},
|
||||
Terminate: []*utils.DynamicBoolOpt{
|
||||
{
|
||||
Tenant: "cgrates.net",
|
||||
Value: true,
|
||||
},
|
||||
},
|
||||
Message: []*utils.DynamicBoolOpt{
|
||||
{
|
||||
Tenant: "cgrates.net",
|
||||
Value: true,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
expected := &SessionsOptsJson{
|
||||
Attributes: []*utils.DynamicBoolOpt{
|
||||
{
|
||||
Tenant: "cgrates.net",
|
||||
Value: true,
|
||||
},
|
||||
},
|
||||
Chargers: []*utils.DynamicBoolOpt{
|
||||
{
|
||||
Tenant: "cgrates.net",
|
||||
Value: true,
|
||||
},
|
||||
},
|
||||
Stats: []*utils.DynamicBoolOpt{
|
||||
{
|
||||
Tenant: "cgrates.net",
|
||||
Value: true,
|
||||
},
|
||||
},
|
||||
Thresholds: []*utils.DynamicBoolOpt{
|
||||
{
|
||||
Tenant: "cgrates.net",
|
||||
Value: true,
|
||||
},
|
||||
},
|
||||
Initiate: []*utils.DynamicBoolOpt{
|
||||
{
|
||||
Tenant: "cgrates.net",
|
||||
Value: true,
|
||||
},
|
||||
},
|
||||
Update: []*utils.DynamicBoolOpt{
|
||||
{
|
||||
Tenant: "cgrates.net",
|
||||
Value: true,
|
||||
},
|
||||
},
|
||||
Terminate: []*utils.DynamicBoolOpt{
|
||||
{
|
||||
Tenant: "cgrates.net",
|
||||
Value: true,
|
||||
},
|
||||
},
|
||||
Message: []*utils.DynamicBoolOpt{
|
||||
{
|
||||
Tenant: "cgrates.net",
|
||||
Value: true,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
rcv := diffSessionsOptsJsonCfg(d, v1, v2)
|
||||
if !reflect.DeepEqual(rcv, expected) {
|
||||
t.Errorf("Expected %v \n but received \n %v", expected, rcv)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user