mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-13 19:56:38 +05:00
Removing Type out of CgrXmlConfiguration
This commit is contained in:
@@ -58,7 +58,7 @@ func (cdrcCfg *CgrXmlCdrcCfg) setDefaults() error {
|
||||
}
|
||||
if len(cdrcCfg.CdrFields) == 0 {
|
||||
for key, cfgRsrField := range dfCfg.CdrcCdrFields {
|
||||
cdrcCfg.CdrFields = append(cdrcCfg.CdrFields, &CdrcField{Id: key, Filter: cfgRsrField.Id, rsrField: cfgRsrField})
|
||||
cdrcCfg.CdrFields = append(cdrcCfg.CdrFields, &CdrcField{Id: key, Value: cfgRsrField.Id, rsrField: cfgRsrField})
|
||||
}
|
||||
}
|
||||
return nil
|
||||
@@ -75,12 +75,12 @@ func (cdrcCfg *CgrXmlCdrcCfg) CdrRSRFields() map[string]*utils.RSRField {
|
||||
type CdrcField struct {
|
||||
XMLName xml.Name `xml:"field"`
|
||||
Id string `xml:"id,attr"`
|
||||
Filter string `xml:"filter,attr"`
|
||||
Value string `xml:"value,attr"`
|
||||
rsrField *utils.RSRField
|
||||
}
|
||||
|
||||
func (cdrcFld *CdrcField) PopulateRSRField() (err error) {
|
||||
if cdrcFld.rsrField, err = utils.NewRSRField(cdrcFld.Filter); err != nil {
|
||||
if cdrcFld.rsrField, err = utils.NewRSRField(cdrcFld.Value); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
|
||||
@@ -29,13 +29,13 @@ import (
|
||||
var cfgDocCdrc *CgrXmlCfgDocument // Will be populated by first test
|
||||
|
||||
func TestPopulateRSRFIeld(t *testing.T) {
|
||||
cdrcField := CdrcField{Id: "TEST1", Filter: `~effective_caller_id_number:s/(\d+)/+$1/`}
|
||||
cdrcField := CdrcField{Id: "TEST1", Value: `~effective_caller_id_number:s/(\d+)/+$1/`}
|
||||
if err := cdrcField.PopulateRSRField(); err != nil {
|
||||
t.Error("Unexpected error: ", err.Error())
|
||||
} else if cdrcField.rsrField == nil {
|
||||
t.Error("Failed loading the RSRField")
|
||||
}
|
||||
cdrcField = CdrcField{Id: "TEST2", Filter: `99`}
|
||||
cdrcField = CdrcField{Id: "TEST2", Value: `99`}
|
||||
if err := cdrcField.PopulateRSRField(); err != nil {
|
||||
t.Error("Unexpected error: ", err.Error())
|
||||
} else if cdrcField.rsrField == nil {
|
||||
@@ -46,7 +46,7 @@ func TestPopulateRSRFIeld(t *testing.T) {
|
||||
func TestSetDefaults(t *testing.T) {
|
||||
cfgXmlStr := `<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="cgrates/xml">
|
||||
<configuration section="cdrc" type="csv" id="CDRC-CSVDF">
|
||||
<configuration section="cdrc" id="CDRC-CSVDF">
|
||||
<enabled>true</enabled>
|
||||
</configuration>
|
||||
</document>`
|
||||
@@ -87,19 +87,19 @@ func TestParseXmlCdrcConfig(t *testing.T) {
|
||||
<cdr_out_dir>/var/log/cgrates/cdrc/out</cdr_out_dir>
|
||||
<cdr_source_id>freeswitch_csv</cdr_source_id>
|
||||
<fields>
|
||||
<field id="accid" filter="0" />
|
||||
<field id="reqtype" filter="1" />
|
||||
<field id="direction" filter="2" />
|
||||
<field id="tenant" filter="3" />
|
||||
<field id="category" filter="4" />
|
||||
<field id="account" filter="5" />
|
||||
<field id="subject" filter="6" />
|
||||
<field id="destination" filter="7" />
|
||||
<field id="setup_time" filter="8" />
|
||||
<field id="answer_time" filter="9" />
|
||||
<field id="usage" filter="10" />
|
||||
<field id="extr1" filter="11" />
|
||||
<field id="extr2" filter="12" />
|
||||
<field id="accid" value="0" />
|
||||
<field id="reqtype" value="1" />
|
||||
<field id="direction" value="2" />
|
||||
<field id="tenant" value="3" />
|
||||
<field id="category" value="4" />
|
||||
<field id="account" value="5" />
|
||||
<field id="subject" value="6" />
|
||||
<field id="destination" value="7" />
|
||||
<field id="setup_time" value="8" />
|
||||
<field id="answer_time" value="9" />
|
||||
<field id="usage" value="10" />
|
||||
<field id="extr1" value="11" />
|
||||
<field id="extr2" value="12" />
|
||||
</fields>
|
||||
</configuration>
|
||||
</document>`
|
||||
@@ -123,19 +123,19 @@ func TestGetCdrcCfgs(t *testing.T) {
|
||||
expectCdrc := &CgrXmlCdrcCfg{Enabled: true, CdrsAddress: "internal", CdrType: "csv", CsvSeparator: ",",
|
||||
RunDelay: 0, CdrInDir: "/var/log/cgrates/cdrc/in", CdrOutDir: "/var/log/cgrates/cdrc/out", CdrSourceId: "freeswitch_csv"}
|
||||
cdrFlds := []*CdrcField{
|
||||
&CdrcField{XMLName: xml.Name{Local: "field"}, Id: utils.ACCID, Filter: "0"},
|
||||
&CdrcField{XMLName: xml.Name{Local: "field"}, Id: utils.REQTYPE, Filter: "1"},
|
||||
&CdrcField{XMLName: xml.Name{Local: "field"}, Id: utils.DIRECTION, Filter: "2"},
|
||||
&CdrcField{XMLName: xml.Name{Local: "field"}, Id: utils.TENANT, Filter: "3"},
|
||||
&CdrcField{XMLName: xml.Name{Local: "field"}, Id: utils.CATEGORY, Filter: "4"},
|
||||
&CdrcField{XMLName: xml.Name{Local: "field"}, Id: utils.ACCOUNT, Filter: "5"},
|
||||
&CdrcField{XMLName: xml.Name{Local: "field"}, Id: utils.SUBJECT, Filter: "6"},
|
||||
&CdrcField{XMLName: xml.Name{Local: "field"}, Id: utils.DESTINATION, Filter: "7"},
|
||||
&CdrcField{XMLName: xml.Name{Local: "field"}, Id: utils.SETUP_TIME, Filter: "8"},
|
||||
&CdrcField{XMLName: xml.Name{Local: "field"}, Id: utils.ANSWER_TIME, Filter: "9"},
|
||||
&CdrcField{XMLName: xml.Name{Local: "field"}, Id: utils.USAGE, Filter: "10"},
|
||||
&CdrcField{XMLName: xml.Name{Local: "field"}, Id: "extr1", Filter: "11"},
|
||||
&CdrcField{XMLName: xml.Name{Local: "field"}, Id: "extr2", Filter: "12"}}
|
||||
&CdrcField{XMLName: xml.Name{Local: "field"}, Id: utils.ACCID, Value: "0"},
|
||||
&CdrcField{XMLName: xml.Name{Local: "field"}, Id: utils.REQTYPE, Value: "1"},
|
||||
&CdrcField{XMLName: xml.Name{Local: "field"}, Id: utils.DIRECTION, Value: "2"},
|
||||
&CdrcField{XMLName: xml.Name{Local: "field"}, Id: utils.TENANT, Value: "3"},
|
||||
&CdrcField{XMLName: xml.Name{Local: "field"}, Id: utils.CATEGORY, Value: "4"},
|
||||
&CdrcField{XMLName: xml.Name{Local: "field"}, Id: utils.ACCOUNT, Value: "5"},
|
||||
&CdrcField{XMLName: xml.Name{Local: "field"}, Id: utils.SUBJECT, Value: "6"},
|
||||
&CdrcField{XMLName: xml.Name{Local: "field"}, Id: utils.DESTINATION, Value: "7"},
|
||||
&CdrcField{XMLName: xml.Name{Local: "field"}, Id: utils.SETUP_TIME, Value: "8"},
|
||||
&CdrcField{XMLName: xml.Name{Local: "field"}, Id: utils.ANSWER_TIME, Value: "9"},
|
||||
&CdrcField{XMLName: xml.Name{Local: "field"}, Id: utils.USAGE, Value: "10"},
|
||||
&CdrcField{XMLName: xml.Name{Local: "field"}, Id: "extr1", Value: "11"},
|
||||
&CdrcField{XMLName: xml.Name{Local: "field"}, Id: "extr2", Value: "12"}}
|
||||
for _, fld := range cdrFlds {
|
||||
fld.PopulateRSRField()
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ func TestXmlCdreCfgPopulateCdreRSRFIeld(t *testing.T) {
|
||||
func TestXmlCdreCfgParseXmlConfig(t *testing.T) {
|
||||
cfgXmlStr := `<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="cgrates/xml">
|
||||
<configuration section="cdre" type="fixed_width" id="CDRE-FW1">
|
||||
<configuration section="cdre" id="CDRE-FW1">
|
||||
<cdr_format>fwv</cdr_format>
|
||||
<data_usage_multiply_factor>0.0</data_usage_multiply_factor>
|
||||
<cost_multiply_factor>0.0</cost_multiply_factor>
|
||||
|
||||
@@ -51,7 +51,6 @@ type CgrXmlCfgDocument struct {
|
||||
type CgrXmlConfiguration struct {
|
||||
XMLName xml.Name `xml:"configuration"`
|
||||
Section string `xml:"section,attr"`
|
||||
Type string `xml:"type,attr"`
|
||||
Id string `xml:"id,attr"`
|
||||
RawConfig []byte `xml:",innerxml"` // Used to store the configuration struct, as raw so we can store different types
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user