mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Added tests for AsteriskAgentCfg and AsteriskConnCfg loadFromJsonCfg
This commit is contained in:
committed by
Dan Christian Bogos
parent
d98ec1a0b3
commit
8b113f6605
@@ -49,7 +49,7 @@ func TestAsTransCacheConfig(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestCacheConfigloadFromJsonCfg(t *testing.T) {
|
||||
func TestCacheCfgloadFromJsonCfg(t *testing.T) {
|
||||
var cachecfg, expected CacheCfg
|
||||
if err := cachecfg.loadFromJsonCfg(nil); err != nil {
|
||||
t.Error(err)
|
||||
@@ -84,3 +84,34 @@ func TestCacheConfigloadFromJsonCfg(t *testing.T) {
|
||||
t.Errorf("Expected: %+v , recived: %+v", expected, cachecfg)
|
||||
}
|
||||
}
|
||||
|
||||
func TestCacheParamCfgloadFromJsonCfg(t *testing.T) {
|
||||
var fscocfg, expected CacheParamCfg
|
||||
if err := fscocfg.loadFromJsonCfg(nil); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(fscocfg, expected) {
|
||||
t.Errorf("Expected: %+v ,recived: %+v", expected, fscocfg)
|
||||
}
|
||||
if err := fscocfg.loadFromJsonCfg(new(CacheParamJsonCfg)); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(fscocfg, expected) {
|
||||
t.Errorf("Expected: %+v ,recived: %+v", expected, fscocfg)
|
||||
}
|
||||
json := &CacheParamJsonCfg{
|
||||
Limit: utils.IntPointer(5),
|
||||
Ttl: utils.StringPointer("1s"),
|
||||
Static_ttl: utils.BoolPointer(true),
|
||||
Precache: utils.BoolPointer(true),
|
||||
}
|
||||
expected = CacheParamCfg{
|
||||
Limit: 5,
|
||||
TTL: time.Duration(time.Second),
|
||||
StaticTTL: true,
|
||||
Precache: true,
|
||||
}
|
||||
if err = fscocfg.loadFromJsonCfg(json); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(expected, fscocfg) {
|
||||
t.Errorf("Expected: %+v , recived: %+v", utils.ToJSON(expected), utils.ToJSON(fscocfg))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -148,9 +148,9 @@ func NewDefaultCGRConfig() (*CGRConfig, error) {
|
||||
cfg.sessionSCfg = new(SessionSCfg)
|
||||
cfg.fsAgentCfg = new(FsAgentCfg)
|
||||
cfg.kamAgentCfg = new(KamAgentCfg)
|
||||
cfg.asteriskAgentCfg = new(AsteriskAgentCfg)
|
||||
|
||||
cfg.SmOsipsConfig = new(SmOsipsConfig)
|
||||
cfg.asteriskAgentCfg = new(AsteriskAgentCfg)
|
||||
cfg.diameterAgentCfg = new(DiameterAgentCfg)
|
||||
cfg.radiusAgentCfg = new(RadiusAgentCfg)
|
||||
cfg.dispatcherSCfg = new(DispatcherSCfg)
|
||||
@@ -261,7 +261,6 @@ type CGRConfig struct {
|
||||
loaderCfg []*LoaderSCfg // LoaderS configurations
|
||||
|
||||
SmOsipsConfig *SmOsipsConfig // SMOpenSIPS Configuration
|
||||
asteriskAgentCfg *AsteriskAgentCfg // SMAsterisk Configuration
|
||||
diameterAgentCfg *DiameterAgentCfg // DiameterAgent configuration
|
||||
radiusAgentCfg *RadiusAgentCfg // RadiusAgent configuration
|
||||
httpAgentCfg []*HttpAgentCfg // HttpAgent configuration
|
||||
@@ -290,21 +289,22 @@ type CGRConfig struct {
|
||||
dfltCdreProfile *CdreCfg // Default cdreConfig profile
|
||||
dfltCdrcProfile *CdrcCfg // Default cdrcConfig profile
|
||||
|
||||
generalCfg *GeneralCfg // General config
|
||||
dataDbCfg *DataDbCfg // Database config
|
||||
storDbCfg *StorDbCfg // StroreDb config
|
||||
tlsCfg *TlsCfg // TLS config
|
||||
cacheCfg CacheCfg // Cache config
|
||||
listenCfg *ListenCfg // Listen config
|
||||
httpCfg *HTTPCfg // HTTP config
|
||||
filterSCfg *FilterSCfg // FilterS config
|
||||
ralsCfg *RalsCfg // Rals config
|
||||
schedulerCfg *SchedulerCfg // Scheduler config
|
||||
cdrsCfg *CdrsCfg // Cdrs config
|
||||
cdrStatsCfg *CdrStatsCfg // CdrStats config - deprecated
|
||||
sessionSCfg *SessionSCfg // SessionS config
|
||||
fsAgentCfg *FsAgentCfg // FreeSWITCHAgent config
|
||||
kamAgentCfg *KamAgentCfg // KamailioAgent config
|
||||
generalCfg *GeneralCfg // General config
|
||||
dataDbCfg *DataDbCfg // Database config
|
||||
storDbCfg *StorDbCfg // StroreDb config
|
||||
tlsCfg *TlsCfg // TLS config
|
||||
cacheCfg CacheCfg // Cache config
|
||||
listenCfg *ListenCfg // Listen config
|
||||
httpCfg *HTTPCfg // HTTP config
|
||||
filterSCfg *FilterSCfg // FilterS config
|
||||
ralsCfg *RalsCfg // Rals config
|
||||
schedulerCfg *SchedulerCfg // Scheduler config
|
||||
cdrsCfg *CdrsCfg // Cdrs config
|
||||
cdrStatsCfg *CdrStatsCfg // CdrStats config - deprecated
|
||||
sessionSCfg *SessionSCfg // SessionS config
|
||||
fsAgentCfg *FsAgentCfg // FreeSWITCHAgent config
|
||||
kamAgentCfg *KamAgentCfg // KamailioAgent config
|
||||
asteriskAgentCfg *AsteriskAgentCfg // AsteriskAgent config
|
||||
analyzerSCfg *AnalyzerSCfg
|
||||
}
|
||||
|
||||
|
||||
@@ -414,6 +414,9 @@ type AsteriskConnCfg struct {
|
||||
}
|
||||
|
||||
func (aConnCfg *AsteriskConnCfg) loadFromJsonCfg(jsnCfg *AstConnJsonCfg) error {
|
||||
if jsnCfg == nil {
|
||||
return nil
|
||||
}
|
||||
if jsnCfg.Address != nil {
|
||||
aConnCfg.Address = *jsnCfg.Address
|
||||
}
|
||||
@@ -440,6 +443,9 @@ type AsteriskAgentCfg struct {
|
||||
}
|
||||
|
||||
func (aCfg *AsteriskAgentCfg) loadFromJsonCfg(jsnCfg *AsteriskAgentJsonCfg) (err error) {
|
||||
if jsnCfg == nil {
|
||||
return nil
|
||||
}
|
||||
if jsnCfg.Enabled != nil {
|
||||
aCfg.Enabled = *jsnCfg.Enabled
|
||||
}
|
||||
|
||||
@@ -237,3 +237,82 @@ func TestHaPoolConfigloadFromJsonCfg(t *testing.T) {
|
||||
t.Errorf("Expected: %+v , recived: %+v", utils.ToJSON(expected), utils.ToJSON(hpoolcfg))
|
||||
}
|
||||
}
|
||||
|
||||
func TestAsteriskAgentCfgloadFromJsonCfg(t *testing.T) {
|
||||
var asagcfg, expected AsteriskAgentCfg
|
||||
if err := asagcfg.loadFromJsonCfg(nil); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(asagcfg, expected) {
|
||||
t.Errorf("Expected: %+v ,recived: %+v", expected, asagcfg)
|
||||
}
|
||||
if err := asagcfg.loadFromJsonCfg(new(AsteriskAgentJsonCfg)); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(asagcfg, expected) {
|
||||
t.Errorf("Expected: %+v ,recived: %+v", expected, asagcfg)
|
||||
}
|
||||
cfgJSONStr := `{
|
||||
"asterisk_agent": {
|
||||
"enabled": true, // starts the Asterisk agent: <true|false>
|
||||
"sessions_conns": [
|
||||
{"address": "*internal"} // connection towards session service: <*internal>
|
||||
],
|
||||
"create_cdr": false, // create CDR out of events and sends it to CDRS component
|
||||
"asterisk_conns":[ // instantiate connections to multiple Asterisk servers
|
||||
{"address": "127.0.0.1:8088", "user": "cgrates", "password": "CGRateS.org", "connect_attempts": 3,"reconnects": 5}
|
||||
],
|
||||
},
|
||||
}`
|
||||
expected = AsteriskAgentCfg{
|
||||
Enabled: true,
|
||||
SessionSConns: []*HaPoolConfig{{Address: "*internal"}},
|
||||
AsteriskConns: []*AsteriskConnCfg{{
|
||||
Address: "127.0.0.1:8088",
|
||||
User: "cgrates",
|
||||
Password: "CGRateS.org",
|
||||
ConnectAttempts: 3,
|
||||
Reconnects: 5,
|
||||
}},
|
||||
}
|
||||
if jsnCfg, err := NewCgrJsonCfgFromReader(strings.NewReader(cfgJSONStr)); err != nil {
|
||||
t.Error(err)
|
||||
} else if jsnAsAgCfg, err := jsnCfg.AsteriskAgentJsonCfg(); err != nil {
|
||||
t.Error(err)
|
||||
} else if err = asagcfg.loadFromJsonCfg(jsnAsAgCfg); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(expected, asagcfg) {
|
||||
t.Errorf("Expected: %+v , recived: %+v", utils.ToJSON(expected), utils.ToJSON(asagcfg))
|
||||
}
|
||||
}
|
||||
|
||||
func TestAsteriskConnCfgloadFromJsonCfg(t *testing.T) {
|
||||
var asconcfg, expected AsteriskConnCfg
|
||||
if err := asconcfg.loadFromJsonCfg(nil); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(asconcfg, expected) {
|
||||
t.Errorf("Expected: %+v ,recived: %+v", expected, asconcfg)
|
||||
}
|
||||
if err := asconcfg.loadFromJsonCfg(new(AstConnJsonCfg)); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(asconcfg, expected) {
|
||||
t.Errorf("Expected: %+v ,recived: %+v", expected, asconcfg)
|
||||
}
|
||||
json := &AstConnJsonCfg{
|
||||
Address: utils.StringPointer("127.0.0.1:8088"),
|
||||
User: utils.StringPointer("cgrates"),
|
||||
Password: utils.StringPointer("CGRateS.org"),
|
||||
Connect_attempts: utils.IntPointer(3),
|
||||
Reconnects: utils.IntPointer(5),
|
||||
}
|
||||
expected = AsteriskConnCfg{
|
||||
Address: "127.0.0.1:8088",
|
||||
User: "cgrates",
|
||||
Password: "CGRateS.org",
|
||||
ConnectAttempts: 3,
|
||||
Reconnects: 5,
|
||||
}
|
||||
if err = asconcfg.loadFromJsonCfg(json); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(expected, asconcfg) {
|
||||
t.Errorf("Expected: %+v , recived: %+v", utils.ToJSON(expected), utils.ToJSON(asconcfg))
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user