mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Covered filetrscfg to 100%
This commit is contained in:
committed by
Dan Christian Bogos
parent
f7354adfd8
commit
574fc5b227
@@ -18,7 +18,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
|
||||
package config
|
||||
|
||||
import "github.com/cgrates/cgrates/utils"
|
||||
import (
|
||||
"strings"
|
||||
|
||||
"github.com/cgrates/cgrates/utils"
|
||||
)
|
||||
|
||||
type FilterSCfg struct {
|
||||
StatSConns []string
|
||||
@@ -67,10 +71,39 @@ func (fSCfg *FilterSCfg) loadFromJsonCfg(jsnCfg *FilterSJsonCfg) (err error) {
|
||||
}
|
||||
|
||||
func (fSCfg *FilterSCfg) AsMapInterface() (initialMP map[string]interface{}) {
|
||||
initialMP = map[string]interface{}{
|
||||
utils.StatSConnsCfg: fSCfg.StatSConns,
|
||||
utils.ResourceSConnsCfg: fSCfg.ResourceSConns,
|
||||
utils.ApierSConnsCfg: fSCfg.ApierSConns,
|
||||
initialMP = make(map[string]interface{})
|
||||
if fSCfg.StatSConns != nil {
|
||||
statSConns := make([]string, len(fSCfg.StatSConns))
|
||||
for i, item := range fSCfg.StatSConns {
|
||||
if item == utils.ConcatenatedKey(utils.MetaInternal, utils.MetaStatS) {
|
||||
statSConns[i] = strings.ReplaceAll(item, utils.CONCATENATED_KEY_SEP+utils.MetaStatS, utils.EmptyString)
|
||||
} else {
|
||||
statSConns[i] = item
|
||||
}
|
||||
}
|
||||
initialMP[utils.StatSConnsCfg] = statSConns
|
||||
}
|
||||
if fSCfg.ResourceSConns != nil {
|
||||
resourceSConns := make([]string, len(fSCfg.ResourceSConns))
|
||||
for i, item := range fSCfg.ResourceSConns {
|
||||
if item == utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResources) {
|
||||
resourceSConns[i] = strings.ReplaceAll(item, utils.CONCATENATED_KEY_SEP+utils.MetaResources, utils.EmptyString)
|
||||
} else {
|
||||
resourceSConns[i] = item
|
||||
}
|
||||
}
|
||||
initialMP[utils.ResourceSConnsCfg] = resourceSConns
|
||||
}
|
||||
if fSCfg.ApierSConns != nil {
|
||||
apierConns := make([]string, len(fSCfg.ApierSConns))
|
||||
for i, item := range fSCfg.ApierSConns {
|
||||
if item == utils.ConcatenatedKey(utils.MetaInternal, utils.MetaApier) {
|
||||
apierConns[i] = strings.ReplaceAll(item, utils.CONCATENATED_KEY_SEP+utils.MetaApier, utils.EmptyString)
|
||||
} else {
|
||||
apierConns[i] = item
|
||||
}
|
||||
}
|
||||
initialMP[utils.ApierSConnsCfg] = apierConns
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
@@ -26,14 +26,14 @@ import (
|
||||
|
||||
func TestFilterSCfgloadFromJsonCfg(t *testing.T) {
|
||||
cfgJSONS := &FilterSJsonCfg{
|
||||
Stats_conns: &[]string{utils.MetaInternal},
|
||||
Resources_conns: &[]string{utils.MetaInternal},
|
||||
Apiers_conns: &[]string{utils.MetaInternal},
|
||||
Stats_conns: &[]string{utils.MetaInternal, "*conn1"},
|
||||
Resources_conns: &[]string{utils.MetaInternal, "*conn1"},
|
||||
Apiers_conns: &[]string{utils.MetaInternal, "*conn1"},
|
||||
}
|
||||
expected := &FilterSCfg{
|
||||
StatSConns: []string{"*internal:*stats"},
|
||||
ResourceSConns: []string{"*internal:*resources"},
|
||||
ApierSConns: []string{"*internal:*apier"},
|
||||
StatSConns: []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaStats), "*conn1"},
|
||||
ResourceSConns: []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResources), "*conn1"},
|
||||
ApierSConns: []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaApier), "*conn1"},
|
||||
}
|
||||
if jsnCfg, err := NewDefaultCGRConfig(); err != nil {
|
||||
t.Error(err)
|
||||
@@ -47,21 +47,21 @@ func TestFilterSCfgloadFromJsonCfg(t *testing.T) {
|
||||
func TestFilterSCfgAsMapInterface(t *testing.T) {
|
||||
cfgJSONStr := `{
|
||||
"filters": {
|
||||
"stats_conns": ["*localhost"],
|
||||
"resources_conns": ["*conn1", "*conn2"],
|
||||
"stats_conns": ["*internal:*stats", "*conn1"],
|
||||
"resources_conns": ["*internal:*resources", "*conn1"],
|
||||
"apiers_conns": ["*internal:*apier", "*conn1"],
|
||||
},
|
||||
}`
|
||||
eMap := map[string]interface{}{
|
||||
utils.StatSConnsCfg: []string{utils.MetaLocalHost},
|
||||
utils.ResourceSConnsCfg: []string{"*conn1", "*conn2"},
|
||||
utils.ApierSConnsCfg: []string{},
|
||||
utils.StatSConnsCfg: []string{utils.MetaInternal, "*conn1"},
|
||||
utils.ResourceSConnsCfg: []string{utils.MetaInternal, "*conn1"},
|
||||
utils.ApierSConnsCfg: []string{utils.MetaInternal, "*conn1"},
|
||||
}
|
||||
if cgrCfg, err := NewCGRConfigFromJsonStringWithDefaults(cfgJSONStr); err != nil {
|
||||
t.Error(err)
|
||||
} else if rcv := cgrCfg.filterSCfg.AsMapInterface(); !reflect.DeepEqual(rcv, eMap) {
|
||||
t.Errorf("Expected %+v, received %+v", eMap, rcv)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func TestFilterSCfgAsMapInterface2(t *testing.T) {
|
||||
|
||||
Reference in New Issue
Block a user