mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-17 06:09:53 +05:00
Fixup default width parameters for cdre config
This commit is contained in:
@@ -105,119 +105,119 @@ func (cdrField *CdreCdrField) setDefaultFixedWidthProperties() error {
|
||||
}
|
||||
switch cdrField.valueAsRsrField.Id {
|
||||
case utils.CGRID:
|
||||
cdrField.Width = 10
|
||||
cdrField.Strip = "xright"
|
||||
cdrField.Width = 40
|
||||
cdrField.Strip = ""
|
||||
cdrField.Padding = ""
|
||||
cdrField.Layout = ""
|
||||
cdrField.Mandatory = true
|
||||
case utils.ORDERID:
|
||||
cdrField.Width = 10
|
||||
cdrField.Strip = "xright"
|
||||
cdrField.Padding = ""
|
||||
cdrField.Width = 11
|
||||
cdrField.Strip = ""
|
||||
cdrField.Padding = "left"
|
||||
cdrField.Layout = ""
|
||||
cdrField.Mandatory = true
|
||||
case utils.TOR:
|
||||
cdrField.Width = 10
|
||||
cdrField.Strip = "xright"
|
||||
cdrField.Padding = ""
|
||||
cdrField.Width = 6
|
||||
cdrField.Strip = ""
|
||||
cdrField.Padding = "left"
|
||||
cdrField.Layout = ""
|
||||
cdrField.Mandatory = true
|
||||
case utils.ACCID:
|
||||
cdrField.Width = 10
|
||||
cdrField.Strip = "xright"
|
||||
cdrField.Padding = ""
|
||||
cdrField.Width = 36
|
||||
cdrField.Strip = "left"
|
||||
cdrField.Padding = "left"
|
||||
cdrField.Layout = ""
|
||||
cdrField.Mandatory = true
|
||||
case utils.CDRHOST:
|
||||
cdrField.Width = 10
|
||||
cdrField.Strip = "xright"
|
||||
cdrField.Padding = ""
|
||||
cdrField.Width = 15
|
||||
cdrField.Strip = "left"
|
||||
cdrField.Padding = "left"
|
||||
cdrField.Layout = ""
|
||||
cdrField.Mandatory = true
|
||||
case utils.CDRSOURCE:
|
||||
cdrField.Width = 10
|
||||
cdrField.Width = 15
|
||||
cdrField.Strip = "xright"
|
||||
cdrField.Padding = ""
|
||||
cdrField.Padding = "left"
|
||||
cdrField.Layout = ""
|
||||
cdrField.Mandatory = true
|
||||
case utils.REQTYPE:
|
||||
cdrField.Width = 10
|
||||
cdrField.Width = 13
|
||||
cdrField.Strip = "xright"
|
||||
cdrField.Padding = ""
|
||||
cdrField.Padding = "left"
|
||||
cdrField.Layout = ""
|
||||
cdrField.Mandatory = true
|
||||
case utils.DIRECTION:
|
||||
cdrField.Width = 10
|
||||
cdrField.Width = 4
|
||||
cdrField.Strip = "xright"
|
||||
cdrField.Padding = ""
|
||||
cdrField.Padding = "left"
|
||||
cdrField.Layout = ""
|
||||
cdrField.Mandatory = true
|
||||
case utils.TENANT:
|
||||
cdrField.Width = 10
|
||||
cdrField.Width = 24
|
||||
cdrField.Strip = "xright"
|
||||
cdrField.Padding = ""
|
||||
cdrField.Padding = "left"
|
||||
cdrField.Layout = ""
|
||||
cdrField.Mandatory = true
|
||||
case utils.CATEGORY:
|
||||
cdrField.Width = 10
|
||||
cdrField.Strip = "xright"
|
||||
cdrField.Padding = ""
|
||||
cdrField.Padding = "left"
|
||||
cdrField.Layout = ""
|
||||
cdrField.Mandatory = true
|
||||
case utils.ACCOUNT:
|
||||
cdrField.Width = 10
|
||||
cdrField.Width = 24
|
||||
cdrField.Strip = "xright"
|
||||
cdrField.Padding = ""
|
||||
cdrField.Padding = "left"
|
||||
cdrField.Layout = ""
|
||||
cdrField.Mandatory = true
|
||||
case utils.SUBJECT:
|
||||
cdrField.Width = 10
|
||||
cdrField.Width = 24
|
||||
cdrField.Strip = "xright"
|
||||
cdrField.Padding = ""
|
||||
cdrField.Padding = "left"
|
||||
cdrField.Layout = ""
|
||||
cdrField.Mandatory = true
|
||||
case utils.DESTINATION:
|
||||
cdrField.Width = 10
|
||||
cdrField.Width = 24
|
||||
cdrField.Strip = "xright"
|
||||
cdrField.Padding = ""
|
||||
cdrField.Padding = "left"
|
||||
cdrField.Layout = ""
|
||||
cdrField.Mandatory = true
|
||||
case utils.SETUP_TIME:
|
||||
cdrField.Width = 10
|
||||
cdrField.Width = 30
|
||||
cdrField.Strip = "xright"
|
||||
cdrField.Padding = ""
|
||||
cdrField.Padding = "left"
|
||||
cdrField.Layout = "2006-01-02T15:04:05Z07:00"
|
||||
cdrField.Mandatory = true
|
||||
case utils.ANSWER_TIME:
|
||||
cdrField.Width = 10
|
||||
cdrField.Width = 30
|
||||
cdrField.Strip = "xright"
|
||||
cdrField.Padding = ""
|
||||
cdrField.Padding = "left"
|
||||
cdrField.Layout = "2006-01-02T15:04:05Z07:00"
|
||||
cdrField.Mandatory = true
|
||||
case utils.USAGE:
|
||||
cdrField.Width = 10
|
||||
cdrField.Width = 30
|
||||
cdrField.Strip = "xright"
|
||||
cdrField.Padding = ""
|
||||
cdrField.Padding = "left"
|
||||
cdrField.Layout = ""
|
||||
cdrField.Mandatory = true
|
||||
case utils.MEDI_RUNID:
|
||||
cdrField.Width = 10
|
||||
cdrField.Width = 20
|
||||
cdrField.Strip = "xright"
|
||||
cdrField.Padding = ""
|
||||
cdrField.Padding = "left"
|
||||
cdrField.Layout = ""
|
||||
cdrField.Mandatory = true
|
||||
case utils.COST:
|
||||
cdrField.Width = 10
|
||||
cdrField.Width = 24
|
||||
cdrField.Strip = "xright"
|
||||
cdrField.Padding = ""
|
||||
cdrField.Padding = "left"
|
||||
cdrField.Layout = ""
|
||||
cdrField.Mandatory = true
|
||||
default:
|
||||
cdrField.Width = 10
|
||||
cdrField.Width = 30
|
||||
cdrField.Strip = "xright"
|
||||
cdrField.Padding = ""
|
||||
cdrField.Padding = "left"
|
||||
cdrField.Layout = ""
|
||||
cdrField.Mandatory = true
|
||||
cdrField.Mandatory = false
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -30,8 +30,10 @@ func TestCdreCfgNewCdreCdrFieldsFromIds(t *testing.T) {
|
||||
Name: utils.CGRID,
|
||||
Type: utils.CDRFIELD,
|
||||
Value: utils.CGRID,
|
||||
Width: 10,
|
||||
Strip: "xright",
|
||||
Width: 40,
|
||||
Strip: "",
|
||||
Padding: "",
|
||||
Layout: "",
|
||||
Mandatory: true,
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.CGRID},
|
||||
},
|
||||
@@ -39,9 +41,11 @@ func TestCdreCfgNewCdreCdrFieldsFromIds(t *testing.T) {
|
||||
Name: "extra1",
|
||||
Type: utils.CDRFIELD,
|
||||
Value: "extra1",
|
||||
Width: 10,
|
||||
Width: 30,
|
||||
Strip: "xright",
|
||||
Mandatory: true,
|
||||
Padding: "left",
|
||||
Layout: "",
|
||||
Mandatory: false,
|
||||
valueAsRsrField: &utils.RSRField{Id: "extra1"},
|
||||
},
|
||||
}
|
||||
@@ -66,22 +70,6 @@ func TestCdreCfgValueAsRSRField(t *testing.T) {
|
||||
t.Error("Unexpected value received: ", rsrVal)
|
||||
}
|
||||
}
|
||||
func TestCdreCfgSetDefaultFixedWidthProperties(t *testing.T) {
|
||||
cdreCdrFld := &CdreCdrField{
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.CGRID},
|
||||
}
|
||||
eCdreCdrFld := &CdreCdrField{
|
||||
Width: 10,
|
||||
Strip: "xright",
|
||||
Mandatory: true,
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.CGRID},
|
||||
}
|
||||
if err := cdreCdrFld.setDefaultFixedWidthProperties(); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(eCdreCdrFld, cdreCdrFld) {
|
||||
t.Errorf("Expecting: %v, received: %v", eCdreCdrFld, cdreCdrFld)
|
||||
}
|
||||
}
|
||||
|
||||
func TestCdreCfgNewDefaultCdreConfig(t *testing.T) {
|
||||
eCdreCfg := new(CdreConfig)
|
||||
@@ -98,8 +86,7 @@ func TestCdreCfgNewDefaultCdreConfig(t *testing.T) {
|
||||
Name: utils.CGRID,
|
||||
Type: utils.CDRFIELD,
|
||||
Value: utils.CGRID,
|
||||
Width: 10,
|
||||
Strip: "xright",
|
||||
Width: 40,
|
||||
Mandatory: true,
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.CGRID},
|
||||
},
|
||||
@@ -107,8 +94,9 @@ func TestCdreCfgNewDefaultCdreConfig(t *testing.T) {
|
||||
Name: utils.MEDI_RUNID,
|
||||
Type: utils.CDRFIELD,
|
||||
Value: utils.MEDI_RUNID,
|
||||
Width: 10,
|
||||
Width: 20,
|
||||
Strip: "xright",
|
||||
Padding: "left",
|
||||
Mandatory: true,
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.MEDI_RUNID},
|
||||
},
|
||||
@@ -116,8 +104,8 @@ func TestCdreCfgNewDefaultCdreConfig(t *testing.T) {
|
||||
Name: utils.TOR,
|
||||
Type: utils.CDRFIELD,
|
||||
Value: utils.TOR,
|
||||
Width: 10,
|
||||
Strip: "xright",
|
||||
Width: 6,
|
||||
Padding: "left",
|
||||
Mandatory: true,
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.TOR},
|
||||
},
|
||||
@@ -125,8 +113,9 @@ func TestCdreCfgNewDefaultCdreConfig(t *testing.T) {
|
||||
Name: utils.ACCID,
|
||||
Type: utils.CDRFIELD,
|
||||
Value: utils.ACCID,
|
||||
Width: 10,
|
||||
Strip: "xright",
|
||||
Width: 36,
|
||||
Strip: "left",
|
||||
Padding: "left",
|
||||
Mandatory: true,
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.ACCID},
|
||||
},
|
||||
@@ -134,8 +123,9 @@ func TestCdreCfgNewDefaultCdreConfig(t *testing.T) {
|
||||
Name: utils.REQTYPE,
|
||||
Type: utils.CDRFIELD,
|
||||
Value: utils.REQTYPE,
|
||||
Width: 10,
|
||||
Width: 13,
|
||||
Strip: "xright",
|
||||
Padding: "left",
|
||||
Mandatory: true,
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.REQTYPE},
|
||||
},
|
||||
@@ -143,8 +133,9 @@ func TestCdreCfgNewDefaultCdreConfig(t *testing.T) {
|
||||
Name: utils.DIRECTION,
|
||||
Type: utils.CDRFIELD,
|
||||
Value: utils.DIRECTION,
|
||||
Width: 10,
|
||||
Width: 4,
|
||||
Strip: "xright",
|
||||
Padding: "left",
|
||||
Mandatory: true,
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.DIRECTION},
|
||||
},
|
||||
@@ -152,8 +143,9 @@ func TestCdreCfgNewDefaultCdreConfig(t *testing.T) {
|
||||
Name: utils.TENANT,
|
||||
Type: utils.CDRFIELD,
|
||||
Value: utils.TENANT,
|
||||
Width: 10,
|
||||
Width: 24,
|
||||
Strip: "xright",
|
||||
Padding: "left",
|
||||
Mandatory: true,
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.TENANT},
|
||||
},
|
||||
@@ -163,6 +155,7 @@ func TestCdreCfgNewDefaultCdreConfig(t *testing.T) {
|
||||
Value: utils.CATEGORY,
|
||||
Width: 10,
|
||||
Strip: "xright",
|
||||
Padding: "left",
|
||||
Mandatory: true,
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.CATEGORY},
|
||||
},
|
||||
@@ -170,8 +163,9 @@ func TestCdreCfgNewDefaultCdreConfig(t *testing.T) {
|
||||
Name: utils.ACCOUNT,
|
||||
Type: utils.CDRFIELD,
|
||||
Value: utils.ACCOUNT,
|
||||
Width: 10,
|
||||
Width: 24,
|
||||
Strip: "xright",
|
||||
Padding: "left",
|
||||
Mandatory: true,
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.ACCOUNT},
|
||||
},
|
||||
@@ -179,8 +173,9 @@ func TestCdreCfgNewDefaultCdreConfig(t *testing.T) {
|
||||
Name: utils.SUBJECT,
|
||||
Type: utils.CDRFIELD,
|
||||
Value: utils.SUBJECT,
|
||||
Width: 10,
|
||||
Width: 24,
|
||||
Strip: "xright",
|
||||
Padding: "left",
|
||||
Mandatory: true,
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.SUBJECT},
|
||||
},
|
||||
@@ -188,8 +183,9 @@ func TestCdreCfgNewDefaultCdreConfig(t *testing.T) {
|
||||
Name: utils.DESTINATION,
|
||||
Type: utils.CDRFIELD,
|
||||
Value: utils.DESTINATION,
|
||||
Width: 10,
|
||||
Width: 24,
|
||||
Strip: "xright",
|
||||
Padding: "left",
|
||||
Mandatory: true,
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.DESTINATION},
|
||||
},
|
||||
@@ -197,8 +193,9 @@ func TestCdreCfgNewDefaultCdreConfig(t *testing.T) {
|
||||
Name: utils.SETUP_TIME,
|
||||
Type: utils.CDRFIELD,
|
||||
Value: utils.SETUP_TIME,
|
||||
Width: 10,
|
||||
Width: 30,
|
||||
Strip: "xright",
|
||||
Padding: "left",
|
||||
Layout: "2006-01-02T15:04:05Z07:00",
|
||||
Mandatory: true,
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.SETUP_TIME},
|
||||
@@ -207,8 +204,9 @@ func TestCdreCfgNewDefaultCdreConfig(t *testing.T) {
|
||||
Name: utils.ANSWER_TIME,
|
||||
Type: utils.CDRFIELD,
|
||||
Value: utils.ANSWER_TIME,
|
||||
Width: 10,
|
||||
Width: 30,
|
||||
Strip: "xright",
|
||||
Padding: "left",
|
||||
Layout: "2006-01-02T15:04:05Z07:00",
|
||||
Mandatory: true,
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.ANSWER_TIME},
|
||||
@@ -217,8 +215,9 @@ func TestCdreCfgNewDefaultCdreConfig(t *testing.T) {
|
||||
Name: utils.USAGE,
|
||||
Type: utils.CDRFIELD,
|
||||
Value: utils.USAGE,
|
||||
Width: 10,
|
||||
Width: 30,
|
||||
Strip: "xright",
|
||||
Padding: "left",
|
||||
Mandatory: true,
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.USAGE},
|
||||
},
|
||||
@@ -226,8 +225,9 @@ func TestCdreCfgNewDefaultCdreConfig(t *testing.T) {
|
||||
Name: utils.COST,
|
||||
Type: utils.CDRFIELD,
|
||||
Value: utils.COST,
|
||||
Width: 10,
|
||||
Width: 24,
|
||||
Strip: "xright",
|
||||
Padding: "left",
|
||||
Mandatory: true,
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.COST},
|
||||
},
|
||||
@@ -238,3 +238,289 @@ func TestCdreCfgNewDefaultCdreConfig(t *testing.T) {
|
||||
t.Errorf("Expecting: %v, received: %v", eCdreCfg, cdreCfg)
|
||||
}
|
||||
}
|
||||
|
||||
func TestCdreCfgSetDefaultFixedWidthProperties(t *testing.T) {
|
||||
cdreCdrFld := &CdreCdrField{
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.CGRID},
|
||||
}
|
||||
eCdreCdrFld := &CdreCdrField{
|
||||
Width: 40,
|
||||
Mandatory: true,
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.CGRID},
|
||||
}
|
||||
if err := cdreCdrFld.setDefaultFixedWidthProperties(); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(eCdreCdrFld, cdreCdrFld) {
|
||||
t.Errorf("Expecting: %v, received: %v", eCdreCdrFld, cdreCdrFld)
|
||||
}
|
||||
cdreCdrFld = &CdreCdrField{
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.ORDERID},
|
||||
}
|
||||
eCdreCdrFld = &CdreCdrField{
|
||||
Width: 11,
|
||||
Padding: "left",
|
||||
Mandatory: true,
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.ORDERID},
|
||||
}
|
||||
if err := cdreCdrFld.setDefaultFixedWidthProperties(); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(eCdreCdrFld, cdreCdrFld) {
|
||||
t.Errorf("Expecting: %v, received: %v", eCdreCdrFld, cdreCdrFld)
|
||||
}
|
||||
cdreCdrFld = &CdreCdrField{
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.TOR},
|
||||
}
|
||||
eCdreCdrFld = &CdreCdrField{
|
||||
Width: 6,
|
||||
Padding: "left",
|
||||
Mandatory: true,
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.TOR},
|
||||
}
|
||||
if err := cdreCdrFld.setDefaultFixedWidthProperties(); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(eCdreCdrFld, cdreCdrFld) {
|
||||
t.Errorf("Expecting: %v, received: %v", eCdreCdrFld, cdreCdrFld)
|
||||
}
|
||||
cdreCdrFld = &CdreCdrField{
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.ACCID},
|
||||
}
|
||||
eCdreCdrFld = &CdreCdrField{
|
||||
Width: 36,
|
||||
Strip: "left",
|
||||
Padding: "left",
|
||||
Mandatory: true,
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.ACCID},
|
||||
}
|
||||
if err := cdreCdrFld.setDefaultFixedWidthProperties(); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(eCdreCdrFld, cdreCdrFld) {
|
||||
t.Errorf("Expecting: %v, received: %v", eCdreCdrFld, cdreCdrFld)
|
||||
}
|
||||
cdreCdrFld = &CdreCdrField{
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.CDRHOST},
|
||||
}
|
||||
eCdreCdrFld = &CdreCdrField{
|
||||
Width: 15,
|
||||
Strip: "left",
|
||||
Padding: "left",
|
||||
Mandatory: true,
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.CDRHOST},
|
||||
}
|
||||
if err := cdreCdrFld.setDefaultFixedWidthProperties(); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(eCdreCdrFld, cdreCdrFld) {
|
||||
t.Errorf("Expecting: %v, received: %v", eCdreCdrFld, cdreCdrFld)
|
||||
}
|
||||
cdreCdrFld = &CdreCdrField{
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.CDRSOURCE},
|
||||
}
|
||||
eCdreCdrFld = &CdreCdrField{
|
||||
Width: 15,
|
||||
Strip: "xright",
|
||||
Padding: "left",
|
||||
Mandatory: true,
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.CDRSOURCE},
|
||||
}
|
||||
if err := cdreCdrFld.setDefaultFixedWidthProperties(); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(eCdreCdrFld, cdreCdrFld) {
|
||||
t.Errorf("Expecting: %v, received: %v", eCdreCdrFld, cdreCdrFld)
|
||||
}
|
||||
cdreCdrFld = &CdreCdrField{
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.REQTYPE},
|
||||
}
|
||||
eCdreCdrFld = &CdreCdrField{
|
||||
Width: 13,
|
||||
Strip: "xright",
|
||||
Padding: "left",
|
||||
Mandatory: true,
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.REQTYPE},
|
||||
}
|
||||
if err := cdreCdrFld.setDefaultFixedWidthProperties(); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(eCdreCdrFld, cdreCdrFld) {
|
||||
t.Errorf("Expecting: %v, received: %v", eCdreCdrFld, cdreCdrFld)
|
||||
}
|
||||
cdreCdrFld = &CdreCdrField{
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.DIRECTION},
|
||||
}
|
||||
eCdreCdrFld = &CdreCdrField{
|
||||
Width: 4,
|
||||
Strip: "xright",
|
||||
Padding: "left",
|
||||
Mandatory: true,
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.DIRECTION},
|
||||
}
|
||||
if err := cdreCdrFld.setDefaultFixedWidthProperties(); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(eCdreCdrFld, cdreCdrFld) {
|
||||
t.Errorf("Expecting: %v, received: %v", eCdreCdrFld, cdreCdrFld)
|
||||
}
|
||||
cdreCdrFld = &CdreCdrField{
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.TENANT},
|
||||
}
|
||||
eCdreCdrFld = &CdreCdrField{
|
||||
Width: 24,
|
||||
Strip: "xright",
|
||||
Padding: "left",
|
||||
Mandatory: true,
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.TENANT},
|
||||
}
|
||||
if err := cdreCdrFld.setDefaultFixedWidthProperties(); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(eCdreCdrFld, cdreCdrFld) {
|
||||
t.Errorf("Expecting: %v, received: %v", eCdreCdrFld, cdreCdrFld)
|
||||
}
|
||||
cdreCdrFld = &CdreCdrField{
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.CATEGORY},
|
||||
}
|
||||
eCdreCdrFld = &CdreCdrField{
|
||||
Width: 10,
|
||||
Strip: "xright",
|
||||
Padding: "left",
|
||||
Mandatory: true,
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.CATEGORY},
|
||||
}
|
||||
if err := cdreCdrFld.setDefaultFixedWidthProperties(); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(eCdreCdrFld, cdreCdrFld) {
|
||||
t.Errorf("Expecting: %v, received: %v", eCdreCdrFld, cdreCdrFld)
|
||||
}
|
||||
cdreCdrFld = &CdreCdrField{
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.ACCOUNT},
|
||||
}
|
||||
eCdreCdrFld = &CdreCdrField{
|
||||
Width: 24,
|
||||
Strip: "xright",
|
||||
Padding: "left",
|
||||
Mandatory: true,
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.ACCOUNT},
|
||||
}
|
||||
if err := cdreCdrFld.setDefaultFixedWidthProperties(); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(eCdreCdrFld, cdreCdrFld) {
|
||||
t.Errorf("Expecting: %v, received: %v", eCdreCdrFld, cdreCdrFld)
|
||||
}
|
||||
cdreCdrFld = &CdreCdrField{
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.SUBJECT},
|
||||
}
|
||||
eCdreCdrFld = &CdreCdrField{
|
||||
Width: 24,
|
||||
Strip: "xright",
|
||||
Padding: "left",
|
||||
Mandatory: true,
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.SUBJECT},
|
||||
}
|
||||
if err := cdreCdrFld.setDefaultFixedWidthProperties(); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(eCdreCdrFld, cdreCdrFld) {
|
||||
t.Errorf("Expecting: %v, received: %v", eCdreCdrFld, cdreCdrFld)
|
||||
}
|
||||
cdreCdrFld = &CdreCdrField{
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.DESTINATION},
|
||||
}
|
||||
eCdreCdrFld = &CdreCdrField{
|
||||
Width: 24,
|
||||
Strip: "xright",
|
||||
Padding: "left",
|
||||
Mandatory: true,
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.DESTINATION},
|
||||
}
|
||||
if err := cdreCdrFld.setDefaultFixedWidthProperties(); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(eCdreCdrFld, cdreCdrFld) {
|
||||
t.Errorf("Expecting: %v, received: %v", eCdreCdrFld, cdreCdrFld)
|
||||
}
|
||||
cdreCdrFld = &CdreCdrField{
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.SETUP_TIME},
|
||||
}
|
||||
eCdreCdrFld = &CdreCdrField{
|
||||
Width: 30,
|
||||
Strip: "xright",
|
||||
Padding: "left",
|
||||
Layout: "2006-01-02T15:04:05Z07:00",
|
||||
Mandatory: true,
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.SETUP_TIME},
|
||||
}
|
||||
if err := cdreCdrFld.setDefaultFixedWidthProperties(); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(eCdreCdrFld, cdreCdrFld) {
|
||||
t.Errorf("Expecting: %v, received: %v", eCdreCdrFld, cdreCdrFld)
|
||||
}
|
||||
cdreCdrFld = &CdreCdrField{
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.ANSWER_TIME},
|
||||
}
|
||||
eCdreCdrFld = &CdreCdrField{
|
||||
Width: 30,
|
||||
Strip: "xright",
|
||||
Padding: "left",
|
||||
Layout: "2006-01-02T15:04:05Z07:00",
|
||||
Mandatory: true,
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.ANSWER_TIME},
|
||||
}
|
||||
if err := cdreCdrFld.setDefaultFixedWidthProperties(); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(eCdreCdrFld, cdreCdrFld) {
|
||||
t.Errorf("Expecting: %v, received: %v", eCdreCdrFld, cdreCdrFld)
|
||||
}
|
||||
cdreCdrFld = &CdreCdrField{
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.USAGE},
|
||||
}
|
||||
eCdreCdrFld = &CdreCdrField{
|
||||
Width: 30,
|
||||
Strip: "xright",
|
||||
Padding: "left",
|
||||
Mandatory: true,
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.USAGE},
|
||||
}
|
||||
if err := cdreCdrFld.setDefaultFixedWidthProperties(); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(eCdreCdrFld, cdreCdrFld) {
|
||||
t.Errorf("Expecting: %v, received: %v", eCdreCdrFld, cdreCdrFld)
|
||||
}
|
||||
cdreCdrFld = &CdreCdrField{
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.MEDI_RUNID},
|
||||
}
|
||||
eCdreCdrFld = &CdreCdrField{
|
||||
Width: 20,
|
||||
Strip: "xright",
|
||||
Padding: "left",
|
||||
Mandatory: true,
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.MEDI_RUNID},
|
||||
}
|
||||
if err := cdreCdrFld.setDefaultFixedWidthProperties(); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(eCdreCdrFld, cdreCdrFld) {
|
||||
t.Errorf("Expecting: %v, received: %v", eCdreCdrFld, cdreCdrFld)
|
||||
}
|
||||
cdreCdrFld = &CdreCdrField{
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.COST},
|
||||
}
|
||||
eCdreCdrFld = &CdreCdrField{
|
||||
Width: 24,
|
||||
Strip: "xright",
|
||||
Padding: "left",
|
||||
Mandatory: true,
|
||||
valueAsRsrField: &utils.RSRField{Id: utils.COST},
|
||||
}
|
||||
if err := cdreCdrFld.setDefaultFixedWidthProperties(); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(eCdreCdrFld, cdreCdrFld) {
|
||||
t.Errorf("Expecting: %v, received: %v", eCdreCdrFld, cdreCdrFld)
|
||||
}
|
||||
cdreCdrFld = &CdreCdrField{
|
||||
valueAsRsrField: &utils.RSRField{Id: "extra_1"},
|
||||
}
|
||||
eCdreCdrFld = &CdreCdrField{
|
||||
Width: 30,
|
||||
Strip: "xright",
|
||||
Padding: "left",
|
||||
Mandatory: false,
|
||||
valueAsRsrField: &utils.RSRField{Id: "extra_1"},
|
||||
}
|
||||
if err := cdreCdrFld.setDefaultFixedWidthProperties(); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(eCdreCdrFld, cdreCdrFld) {
|
||||
t.Errorf("Expecting: %v, received: %v", eCdreCdrFld, cdreCdrFld)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -306,10 +306,11 @@ cdr_format = csv
|
||||
export_template = cgrid,mediation_runid,accid
|
||||
`)
|
||||
expectedFlds := []*CdreCdrField{
|
||||
&CdreCdrField{Name: "cgrid", Type: utils.CDRFIELD, Value: "cgrid", valueAsRsrField: &utils.RSRField{Id: "cgrid"}, Width: 10, Strip: "xright", Mandatory: true},
|
||||
&CdreCdrField{Name: "cgrid", Type: utils.CDRFIELD, Value: "cgrid", valueAsRsrField: &utils.RSRField{Id: "cgrid"}, Width: 40, Mandatory: true},
|
||||
&CdreCdrField{Name: "mediation_runid", Type: utils.CDRFIELD, Value: "mediation_runid", valueAsRsrField: &utils.RSRField{Id: "mediation_runid"},
|
||||
Width: 10, Strip: "xright", Mandatory: true},
|
||||
&CdreCdrField{Name: "accid", Type: utils.CDRFIELD, Value: "accid", valueAsRsrField: &utils.RSRField{Id: "accid"}, Width: 10, Strip: "xright", Mandatory: true},
|
||||
Width: 20, Strip: "xright", Padding: "left", Mandatory: true},
|
||||
&CdreCdrField{Name: "accid", Type: utils.CDRFIELD, Value: "accid", valueAsRsrField: &utils.RSRField{Id: "accid"},
|
||||
Width: 36, Strip: "left", Padding: "left", Mandatory: true},
|
||||
}
|
||||
expCdreCfg := &CdreConfig{CdrFormat: utils.CSV, CostRoundingDecimals: -1, ExportDir: "/var/log/cgrates/cdre", ContentFields: expectedFlds}
|
||||
if cfg, err := NewCGRConfigFromBytes(eFieldsCfg); err != nil {
|
||||
@@ -323,9 +324,9 @@ export_template = cgrid,~effective_caller_id_number:s/(\d+)/+$1/
|
||||
`)
|
||||
rsrField, _ := utils.NewRSRField(`~effective_caller_id_number:s/(\d+)/+$1/`)
|
||||
expectedFlds = []*CdreCdrField{
|
||||
&CdreCdrField{Name: "cgrid", Type: utils.CDRFIELD, Value: "cgrid", valueAsRsrField: &utils.RSRField{Id: "cgrid"}, Width: 10, Strip: "xright", Mandatory: true},
|
||||
&CdreCdrField{Name: "cgrid", Type: utils.CDRFIELD, Value: "cgrid", valueAsRsrField: &utils.RSRField{Id: "cgrid"}, Width: 40, Mandatory: true},
|
||||
&CdreCdrField{Name: `~effective_caller_id_number:s/(\d+)/+$1/`, Type: utils.CDRFIELD, Value: `~effective_caller_id_number:s/(\d+)/+$1/`, valueAsRsrField: rsrField,
|
||||
Width: 10, Strip: "xright", Mandatory: true}}
|
||||
Width: 30, Strip: "xright", Padding: "left", Mandatory: false}}
|
||||
expCdreCfg.ContentFields = expectedFlds
|
||||
if cfg, err := NewCGRConfigFromBytes(eFieldsCfg); err != nil {
|
||||
t.Error("Could not parse the config", err.Error())
|
||||
|
||||
Reference in New Issue
Block a user