mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-23 16:18:44 +05:00
Moving Cdr* from utils to engine package so we can attach CostDetails to StoredCdr
This commit is contained in:
@@ -42,7 +42,7 @@ const (
|
||||
)
|
||||
|
||||
// Populates the
|
||||
func populateStoredCdrField(cdr *utils.StoredCdr, fieldId, fieldVal string) error {
|
||||
func populateStoredCdrField(cdr *engine.StoredCdr, fieldId, fieldVal string) error {
|
||||
var err error
|
||||
switch fieldId {
|
||||
case utils.TOR:
|
||||
@@ -215,7 +215,7 @@ func (self *Cdrc) processFile(filePath string) error {
|
||||
engine.Logger.Err(fmt.Sprintf("<Cdrc> Row %d - csv error: %s", procRowNr, err.Error()))
|
||||
continue // Other csv related errors, ignore
|
||||
}
|
||||
recordCdrs := make([]*utils.StoredCdr, 0) // More CDRs based on the number of filters and field templates
|
||||
recordCdrs := make([]*engine.StoredCdr, 0) // More CDRs based on the number of filters and field templates
|
||||
for idx, cdrFieldsInst := range self.cdrFields {
|
||||
// Make sure filters are matching
|
||||
filterBreak := false
|
||||
@@ -266,8 +266,8 @@ func (self *Cdrc) processFile(filePath string) error {
|
||||
}
|
||||
|
||||
// Takes the record out of csv and turns it into http form which can be posted
|
||||
func (self *Cdrc) recordToStoredCdr(record []string, cdrFields []*config.CfgCdrField) (*utils.StoredCdr, error) {
|
||||
storedCdr := &utils.StoredCdr{CdrHost: "0.0.0.0", CdrSource: self.cdrSourceId, ExtraFields: make(map[string]string), Cost: -1}
|
||||
func (self *Cdrc) recordToStoredCdr(record []string, cdrFields []*config.CfgCdrField) (*engine.StoredCdr, error) {
|
||||
storedCdr := &engine.StoredCdr{CdrHost: "0.0.0.0", CdrSource: self.cdrSourceId, ExtraFields: make(map[string]string), Cost: -1}
|
||||
var err error
|
||||
var lazyHttpFields []*config.CfgCdrField
|
||||
for _, cdrFldCfg := range cdrFields {
|
||||
|
||||
@@ -24,6 +24,7 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/cgrates/cgrates/config"
|
||||
"github.com/cgrates/cgrates/engine"
|
||||
"github.com/cgrates/cgrates/utils"
|
||||
)
|
||||
|
||||
@@ -43,7 +44,7 @@ func TestRecordForkCdr(t *testing.T) {
|
||||
if err != nil {
|
||||
t.Error("Failed to parse CDR in rated cdr", err)
|
||||
}
|
||||
expectedCdr := &utils.StoredCdr{
|
||||
expectedCdr := &engine.StoredCdr{
|
||||
CgrId: utils.Sha1(cdrRow[3], time.Date(2013, 2, 3, 19, 50, 0, 0, time.UTC).String()),
|
||||
TOR: cdrRow[2],
|
||||
AccId: cdrRow[3],
|
||||
@@ -77,7 +78,7 @@ func TestDataMultiplyFactor(t *testing.T) {
|
||||
t.Error("Failed to parse CDR in rated cdr", err)
|
||||
}
|
||||
var sTime time.Time
|
||||
expectedCdr := &utils.StoredCdr{
|
||||
expectedCdr := &engine.StoredCdr{
|
||||
CgrId: utils.Sha1("", sTime.String()),
|
||||
TOR: cdrRow[0],
|
||||
CdrHost: "0.0.0.0",
|
||||
@@ -90,7 +91,7 @@ func TestDataMultiplyFactor(t *testing.T) {
|
||||
t.Errorf("Expected: \n%v, \nreceived: \n%v", expectedCdr, rtCdr)
|
||||
}
|
||||
cdrc.duMultiplyFactor = 1024
|
||||
expectedCdr = &utils.StoredCdr{
|
||||
expectedCdr = &engine.StoredCdr{
|
||||
CgrId: utils.Sha1("", sTime.String()),
|
||||
TOR: cdrRow[0],
|
||||
CdrHost: "0.0.0.0",
|
||||
@@ -103,7 +104,7 @@ func TestDataMultiplyFactor(t *testing.T) {
|
||||
t.Errorf("Expected: \n%v, \nreceived: \n%v", expectedCdr, rtCdr)
|
||||
}
|
||||
cdrRow = []string{"*voice", "1"}
|
||||
expectedCdr = &utils.StoredCdr{
|
||||
expectedCdr = &engine.StoredCdr{
|
||||
CgrId: utils.Sha1("", sTime.String()),
|
||||
TOR: cdrRow[0],
|
||||
CdrHost: "0.0.0.0",
|
||||
@@ -125,8 +126,8 @@ func TestDnTdmCdrs(t *testing.T) {
|
||||
49497361022,0049LM0409005226,N_MO_MTMB_00-RW-Mobile,02.07.2014 15:24:41,02.07.2014 15:24:41,1,43,Peak,0.021050,49MTMB
|
||||
`
|
||||
cgrConfig, _ := config.NewDefaultCGRConfig()
|
||||
eCdrs := []*utils.StoredCdr{
|
||||
&utils.StoredCdr{
|
||||
eCdrs := []*engine.StoredCdr{
|
||||
&engine.StoredCdr{
|
||||
CgrId: utils.Sha1("49773280254", time.Date(2014, 7, 2, 15, 24, 40, 0, time.UTC).String()),
|
||||
TOR: utils.VOICE,
|
||||
AccId: "49773280254",
|
||||
@@ -144,7 +145,7 @@ func TestDnTdmCdrs(t *testing.T) {
|
||||
Usage: time.Duration(25) * time.Second,
|
||||
Cost: -1,
|
||||
},
|
||||
&utils.StoredCdr{
|
||||
&engine.StoredCdr{
|
||||
CgrId: utils.Sha1("49893252121", time.Date(2014, 7, 2, 15, 24, 41, 0, time.UTC).String()),
|
||||
TOR: utils.VOICE,
|
||||
AccId: "49893252121",
|
||||
@@ -162,7 +163,7 @@ func TestDnTdmCdrs(t *testing.T) {
|
||||
Usage: time.Duration(8) * time.Second,
|
||||
Cost: -1,
|
||||
},
|
||||
&utils.StoredCdr{
|
||||
&engine.StoredCdr{
|
||||
CgrId: utils.Sha1("49497361022", time.Date(2014, 7, 2, 15, 24, 41, 0, time.UTC).String()),
|
||||
TOR: utils.VOICE,
|
||||
AccId: "49497361022",
|
||||
@@ -207,7 +208,7 @@ func TestDnTdmCdrs(t *testing.T) {
|
||||
cgrConfig.CdrcCdrFields, new(cdrs.CDRS), nil}
|
||||
cdrsContent := bytes.NewReader([]byte(tdmCdrs))
|
||||
csvReader := csv.NewReader(cdrsContent)
|
||||
cdrs := make([]*utils.StoredCdr, 0)
|
||||
cdrs := make([]*engine.StoredCdr, 0)
|
||||
for {
|
||||
cdrCsv, err := csvReader.Read()
|
||||
if err != nil && err == io.EOF {
|
||||
|
||||
Reference in New Issue
Block a user