Covered filetrscfg to 100%

This commit is contained in:
porosnicuadrian
2020-10-05 15:59:44 +03:00
committed by Dan Christian Bogos
parent f7354adfd8
commit 574fc5b227
2 changed files with 50 additions and 17 deletions

View File

@@ -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
}

View File

@@ -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) {