mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
updated AsMapInterface method for FCTemplate
This commit is contained in:
committed by
Dan Christian Bogos
parent
d663e0b0d4
commit
9a28f2de4e
@@ -138,7 +138,7 @@ func TestCdreCfgloadFromJsonCfg(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func testCdre(t *testing.T) {
|
||||
func TestCdreAsMapInterface(t *testing.T) {
|
||||
var cdre CdreCfg
|
||||
cfgJSONStr := `{
|
||||
"cdre": {
|
||||
@@ -157,7 +157,6 @@ func testCdre(t *testing.T) {
|
||||
},
|
||||
},
|
||||
}`
|
||||
|
||||
eMap := map[string]interface{}{
|
||||
"export_format": "*file_csv",
|
||||
"export_path": "/var/spool/cgrates/cdre",
|
||||
@@ -169,25 +168,10 @@ func testCdre(t *testing.T) {
|
||||
"attributes_context": "",
|
||||
"fields": []map[string]interface{}{
|
||||
{
|
||||
"attribute_id": "",
|
||||
"blocker": false,
|
||||
"break_on_success": false,
|
||||
"cost_shift_digits": 0,
|
||||
"filters": nil,
|
||||
"layout": "2006-01-02T15:04:05Z07:00",
|
||||
"mandatory": false,
|
||||
"mask_destinationd_id": "",
|
||||
"mask_length": 0,
|
||||
"new_branch": false,
|
||||
"padding": "",
|
||||
"path": "*exp.CGRID",
|
||||
"rounding_decimals": nil,
|
||||
"strip": "",
|
||||
"tag": "*exp.CGRID",
|
||||
"timezone": "",
|
||||
"type": "*variable",
|
||||
"value": "~*req.CGRID",
|
||||
"width": 0,
|
||||
"path": "*exp.CGRID",
|
||||
"tag": "*exp.CGRID",
|
||||
"type": "*variable",
|
||||
"value": "~*req.CGRID",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
@@ -195,33 +195,69 @@ func (self *FCTemplate) Clone() *FCTemplate {
|
||||
return cln
|
||||
}
|
||||
|
||||
func (fc *FCTemplate) AsMapInterface() map[string]interface{} {
|
||||
values := make([]string, len(fc.Value))
|
||||
for i, item := range fc.Value {
|
||||
values[i] = item.Rules
|
||||
func (fc *FCTemplate) AsMapInterface() (mp map[string]interface{}) {
|
||||
mp = make(map[string]interface{})
|
||||
if fc.Tag != utils.EmptyString {
|
||||
mp[utils.TagCfg] = fc.Tag
|
||||
}
|
||||
asInitial := strings.Join(values, "")
|
||||
|
||||
return map[string]interface{}{
|
||||
utils.TagCfg: fc.Tag,
|
||||
utils.TypeCf: fc.Type,
|
||||
utils.PathCfg: fc.Path,
|
||||
utils.FiltersCfg: fc.Filters,
|
||||
utils.ValueCfg: asInitial,
|
||||
utils.WidthCfg: fc.Width,
|
||||
utils.StripCfg: fc.Strip,
|
||||
utils.PaddingCfg: fc.Padding,
|
||||
utils.MandatoryCfg: fc.Mandatory,
|
||||
utils.AttributeIDCfg: fc.AttributeID,
|
||||
utils.NewBranchCfg: fc.NewBranch,
|
||||
utils.TimezoneCfg: fc.Timezone,
|
||||
utils.BlockerCfg: fc.Blocker,
|
||||
utils.BreakOnSuccessCfg: fc.BreakOnSuccess,
|
||||
utils.LayoutCfg: fc.Layout,
|
||||
utils.CostShiftDigitsCfg: fc.CostShiftDigits,
|
||||
utils.RoundingDecimalsCfg: fc.RoundingDecimals,
|
||||
utils.MaskDestIDCfg: fc.MaskDestID,
|
||||
utils.MaskLenCfg: fc.MaskLen,
|
||||
if fc.Type != utils.EmptyString {
|
||||
mp[utils.TypeCf] = fc.Type
|
||||
}
|
||||
if fc.Path != utils.EmptyString {
|
||||
mp[utils.PathCfg] = fc.Path
|
||||
}
|
||||
if fc.Filters != nil {
|
||||
mp[utils.FiltersCfg] = fc.Filters
|
||||
}
|
||||
if fc.Value != nil {
|
||||
values := make([]string, len(fc.Value))
|
||||
for i, item := range fc.Value {
|
||||
values[i] = item.Rules
|
||||
}
|
||||
mp[utils.ValueCfg] = strings.Join(values, utils.EmptyString)
|
||||
}
|
||||
if fc.Width != 0 {
|
||||
mp[utils.WidthCfg] = fc.Width
|
||||
}
|
||||
if fc.Strip != utils.EmptyString {
|
||||
mp[utils.StripCfg] = fc.Strip
|
||||
}
|
||||
if fc.Padding != utils.EmptyString {
|
||||
mp[utils.PaddingCfg] = fc.Padding
|
||||
}
|
||||
if fc.Mandatory != false {
|
||||
mp[utils.MandatoryCfg] = fc.Mandatory
|
||||
}
|
||||
if fc.AttributeID != utils.EmptyString {
|
||||
mp[utils.AttributeIDCfg] = fc.AttributeID
|
||||
}
|
||||
if fc.NewBranch != false {
|
||||
mp[utils.NewBranchCfg] = fc.NewBranch
|
||||
}
|
||||
if fc.Timezone != utils.EmptyString {
|
||||
mp[utils.TimezoneCfg] = fc.Timezone
|
||||
}
|
||||
if fc.Blocker != false {
|
||||
mp[utils.BlockerCfg] = fc.Blocker
|
||||
}
|
||||
if fc.BreakOnSuccess != false {
|
||||
mp[utils.BreakOnSuccessCfg] = fc.BreakOnSuccess
|
||||
}
|
||||
if fc.Layout != time.RFC3339 {
|
||||
mp[utils.LayoutCfg] = fc.Layout
|
||||
}
|
||||
if fc.CostShiftDigits != 0 {
|
||||
mp[utils.CostShiftDigitsCfg] = fc.CostShiftDigits
|
||||
}
|
||||
if fc.RoundingDecimals != nil {
|
||||
mp[utils.RoundingDecimalsCfg] = *fc.RoundingDecimals
|
||||
}
|
||||
if fc.MaskDestID != utils.EmptyString {
|
||||
mp[utils.MaskDestIDCfg] = fc.MaskDestID
|
||||
}
|
||||
if fc.MaskLen != 0 {
|
||||
mp[utils.MaskLenCfg] = fc.MaskLen
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ import (
|
||||
"github.com/cgrates/cgrates/utils"
|
||||
)
|
||||
|
||||
func TestRPCConns(t *testing.T) {
|
||||
func TestRPCConnsAsMapInterface(t *testing.T) {
|
||||
var cfg RPCConn
|
||||
cfgJSONStr := `{
|
||||
"rpc_conns": {
|
||||
|
||||
Reference in New Issue
Block a user