mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Merge pull request #2266 from Trial97/master
Updated ansible script for master
This commit is contained in:
@@ -280,16 +280,16 @@ func testV1CDRsRefundOutOfSessionCost(t *testing.T) {
|
||||
Usage: utils.DurationPointer(time.Duration(3 * time.Minute)),
|
||||
Cost: utils.Float64Pointer(2.3),
|
||||
Charges: []*engine.ChargingInterval{
|
||||
&engine.ChargingInterval{
|
||||
{
|
||||
RatingID: "c1a5ab9",
|
||||
Increments: []*engine.ChargingIncrement{
|
||||
&engine.ChargingIncrement{
|
||||
{
|
||||
Usage: time.Duration(2 * time.Minute),
|
||||
Cost: 2.0,
|
||||
AccountingID: "a012888",
|
||||
CompressFactor: 1,
|
||||
},
|
||||
&engine.ChargingIncrement{
|
||||
{
|
||||
Usage: time.Duration(1 * time.Second),
|
||||
Cost: 0.005,
|
||||
AccountingID: "44d6c02",
|
||||
@@ -303,7 +303,7 @@ func testV1CDRsRefundOutOfSessionCost(t *testing.T) {
|
||||
Tenant: "cgrates.org",
|
||||
ID: "testV1CDRsRefundOutOfSessionCost",
|
||||
BalanceSummaries: []*engine.BalanceSummary{
|
||||
&engine.BalanceSummary{
|
||||
{
|
||||
UUID: balanceUuid,
|
||||
Type: utils.MONETARY,
|
||||
Value: 50,
|
||||
@@ -435,16 +435,16 @@ func testV1CDRsRefundCDR(t *testing.T) {
|
||||
Usage: utils.DurationPointer(time.Duration(3 * time.Minute)),
|
||||
Cost: utils.Float64Pointer(2.3),
|
||||
Charges: []*engine.ChargingInterval{
|
||||
&engine.ChargingInterval{
|
||||
{
|
||||
RatingID: "c1a5ab9",
|
||||
Increments: []*engine.ChargingIncrement{
|
||||
&engine.ChargingIncrement{
|
||||
{
|
||||
Usage: time.Duration(2 * time.Minute),
|
||||
Cost: 2.0,
|
||||
AccountingID: "a012888",
|
||||
CompressFactor: 1,
|
||||
},
|
||||
&engine.ChargingIncrement{
|
||||
{
|
||||
Usage: time.Duration(1 * time.Second),
|
||||
Cost: 0.005,
|
||||
AccountingID: "44d6c02",
|
||||
@@ -458,7 +458,7 @@ func testV1CDRsRefundCDR(t *testing.T) {
|
||||
Tenant: "cgrates.org",
|
||||
ID: "testV1CDRsRefundCDR",
|
||||
BalanceSummaries: []*engine.BalanceSummary{
|
||||
&engine.BalanceSummary{
|
||||
{
|
||||
UUID: balanceUuid,
|
||||
Type: utils.MONETARY,
|
||||
Value: 50,
|
||||
|
||||
@@ -228,7 +228,6 @@
|
||||
|
||||
# Move the file to PKG server
|
||||
- name: Copy the file to PKG server
|
||||
become: yes
|
||||
shell: 'scp /var/packages/debian/incoming/{{ item }} {{ pkgAddr }}:/tmp/'
|
||||
args:
|
||||
chdir: /var/packages/debian/incoming/
|
||||
|
||||
@@ -23,7 +23,6 @@ package dispatchers
|
||||
import (
|
||||
"reflect"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/cgrates/cgrates/engine"
|
||||
"github.com/cgrates/cgrates/utils"
|
||||
@@ -1116,7 +1115,7 @@ func testDspRplActionPlan(t *testing.T) {
|
||||
"AccountTest": true,
|
||||
},
|
||||
ActionTimings: []*engine.ActionTiming{
|
||||
&engine.ActionTiming{
|
||||
{
|
||||
ActionsID: "ActionsID",
|
||||
},
|
||||
},
|
||||
@@ -1232,9 +1231,9 @@ func testDspRplRatingPlan(t *testing.T) {
|
||||
RatingPlan: &engine.RatingPlan{
|
||||
Id: "id",
|
||||
DestinationRates: map[string]engine.RPRateList{
|
||||
"DestinationRates": engine.RPRateList{&engine.RPRate{Rating: "Rating"}}},
|
||||
Ratings: map[string]*engine.RIRate{"Ratings": &engine.RIRate{ConnectFee: 0.7}},
|
||||
Timings: map[string]*engine.RITiming{"Timings": &engine.RITiming{Months: utils.Months{4}}},
|
||||
"DestinationRates": {&engine.RPRate{Rating: "Rating"}}},
|
||||
Ratings: map[string]*engine.RIRate{"Ratings": {ConnectFee: 0.7}},
|
||||
Timings: map[string]*engine.RITiming{"Timings": {Months: utils.Months{4}}},
|
||||
},
|
||||
TenantArg: utils.TenantArg{
|
||||
Tenant: "cgrates.org",
|
||||
@@ -1459,22 +1458,16 @@ func testDspRplRateProfile(t *testing.T) {
|
||||
MaxCost: 0.6,
|
||||
MaxCostStrategy: "*free",
|
||||
Rates: map[string]*engine.Rate{
|
||||
"FIRST_GI": &engine.Rate{
|
||||
"FIRST_GI": {
|
||||
ID: "FIRST_GI",
|
||||
FilterIDs: []string{"*gi:~*req.Usage:0"},
|
||||
Weight: 0,
|
||||
Value: 0.12,
|
||||
Unit: time.Duration(1 * time.Minute),
|
||||
Increment: time.Duration(1 * time.Minute),
|
||||
Blocker: false,
|
||||
},
|
||||
"SECOND_GI": &engine.Rate{
|
||||
"SECOND_GI": {
|
||||
ID: "SECOND_GI",
|
||||
FilterIDs: []string{"*gi:~*req.Usage:1m"},
|
||||
Weight: 10,
|
||||
Value: 0.06,
|
||||
Unit: time.Duration(1 * time.Minute),
|
||||
Increment: time.Duration(1 * time.Second),
|
||||
Blocker: false,
|
||||
},
|
||||
},
|
||||
|
||||
@@ -257,6 +257,7 @@ func (me MapEvent) AsCDR(cfg *config.CGRConfig, tnt, tmz string) (cdr *CDR, err
|
||||
if cdr.CostDetails, err = IfaceAsEventCost(v); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
cdr.CostDetails.initCache()
|
||||
case utils.ExtraInfo:
|
||||
cdr.ExtraInfo = utils.IfaceAsString(v)
|
||||
case utils.OrderID:
|
||||
@@ -265,11 +266,6 @@ func (me MapEvent) AsCDR(cfg *config.CGRConfig, tnt, tmz string) (cdr *CDR, err
|
||||
}
|
||||
}
|
||||
}
|
||||
if cdr.CostDetails == nil {
|
||||
cdr.CostDetails = NewBareEventCost()
|
||||
} else {
|
||||
cdr.CostDetails.initCache()
|
||||
}
|
||||
if cfg != nil {
|
||||
cdr.AddDefaults(cfg)
|
||||
}
|
||||
|
||||
@@ -311,7 +311,7 @@ func TestMapEventAsMapString(t *testing.T) {
|
||||
|
||||
func TestMapEventAsCDR(t *testing.T) {
|
||||
me := NewMapEvent(nil)
|
||||
expected := &CDR{Cost: -1.0, ExtraFields: make(map[string]string), CostDetails: NewBareEventCost()}
|
||||
expected := &CDR{Cost: -1.0, ExtraFields: make(map[string]string)}
|
||||
if rply, err := me.AsCDR(nil, utils.EmptyString, utils.EmptyString); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(expected, rply) {
|
||||
@@ -330,7 +330,6 @@ func TestMapEventAsCDR(t *testing.T) {
|
||||
Tenant: cfg.GeneralCfg().DefaultTenant,
|
||||
Category: cfg.GeneralCfg().DefaultCategory,
|
||||
ExtraFields: make(map[string]string),
|
||||
CostDetails: NewBareEventCost(),
|
||||
}
|
||||
if rply, err := me.AsCDR(cfg, utils.EmptyString, utils.EmptyString); err != nil {
|
||||
t.Error(err)
|
||||
@@ -372,8 +371,7 @@ func TestMapEventAsCDR(t *testing.T) {
|
||||
|
||||
me = MapEvent{"ExtraField1": 5, "ExtraField2": "extra"}
|
||||
expected = &CDR{
|
||||
Cost: -1.0,
|
||||
CostDetails: NewBareEventCost(),
|
||||
Cost: -1.0,
|
||||
ExtraFields: map[string]string{
|
||||
"ExtraField1": "5",
|
||||
"ExtraField2": "extra",
|
||||
@@ -405,7 +403,6 @@ func TestMapEventAsCDR(t *testing.T) {
|
||||
Tenant: cfg.GeneralCfg().DefaultTenant,
|
||||
Category: cfg.GeneralCfg().DefaultCategory,
|
||||
ExtraInfo: "ACCOUNT_NOT_FOUND",
|
||||
CostDetails: NewBareEventCost(),
|
||||
}
|
||||
if rply, err := me.AsCDR(cfg, utils.EmptyString, utils.EmptyString); err != nil {
|
||||
t.Error(err)
|
||||
@@ -449,8 +446,7 @@ func TestMapEventAsCDR(t *testing.T) {
|
||||
"ExtraField1": "5",
|
||||
"ExtraField2": "extra",
|
||||
},
|
||||
ExtraInfo: "ACCOUNT_NOT_FOUND",
|
||||
CostDetails: NewBareEventCost(),
|
||||
ExtraInfo: "ACCOUNT_NOT_FOUND",
|
||||
}
|
||||
if rply, err := me.AsCDR(cfg, utils.EmptyString, utils.EmptyString); err != nil {
|
||||
t.Error(err)
|
||||
|
||||
@@ -625,7 +625,7 @@ func TestSafEventAsMapString(t *testing.T) {
|
||||
|
||||
func TestSafEventAsCDR(t *testing.T) {
|
||||
se := SafEvent{Me: NewMapEvent(nil)}
|
||||
expected := &CDR{Cost: -1.0, ExtraFields: make(map[string]string), CostDetails: NewBareEventCost()}
|
||||
expected := &CDR{Cost: -1.0, ExtraFields: make(map[string]string)}
|
||||
if rply, err := se.AsCDR(nil, utils.EmptyString, utils.EmptyString); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(expected, rply) {
|
||||
@@ -644,7 +644,6 @@ func TestSafEventAsCDR(t *testing.T) {
|
||||
Tenant: cfg.GeneralCfg().DefaultTenant,
|
||||
Category: cfg.GeneralCfg().DefaultCategory,
|
||||
ExtraFields: make(map[string]string),
|
||||
CostDetails: NewBareEventCost(),
|
||||
}
|
||||
if rply, err := se.AsCDR(cfg, utils.EmptyString, utils.EmptyString); err != nil {
|
||||
t.Error(err)
|
||||
@@ -677,8 +676,7 @@ func TestSafEventAsCDR(t *testing.T) {
|
||||
}
|
||||
se = SafEvent{Me: MapEvent{"ExtraField1": 5, "ExtraField2": "extra"}}
|
||||
expected = &CDR{
|
||||
Cost: -1.0,
|
||||
CostDetails: NewBareEventCost(),
|
||||
Cost: -1.0,
|
||||
ExtraFields: map[string]string{
|
||||
"ExtraField1": "5",
|
||||
"ExtraField2": "extra",
|
||||
@@ -708,7 +706,6 @@ func TestSafEventAsCDR(t *testing.T) {
|
||||
RequestType: cfg.GeneralCfg().DefaultReqType,
|
||||
Tenant: cfg.GeneralCfg().DefaultTenant,
|
||||
Category: cfg.GeneralCfg().DefaultCategory,
|
||||
CostDetails: NewBareEventCost(),
|
||||
}
|
||||
if rply, err := se.AsCDR(cfg, utils.EmptyString, utils.EmptyString); err != nil {
|
||||
t.Error(err)
|
||||
@@ -742,7 +739,6 @@ func TestSafEventAsCDR(t *testing.T) {
|
||||
ToR: utils.VOICE,
|
||||
RequestType: cfg.GeneralCfg().DefaultReqType,
|
||||
Category: cfg.GeneralCfg().DefaultCategory,
|
||||
CostDetails: NewBareEventCost(),
|
||||
}
|
||||
if rply, err := se.AsCDR(cfg, "itsyscom.com", utils.EmptyString); err != nil {
|
||||
t.Error(err)
|
||||
|
||||
@@ -1114,18 +1114,12 @@ func testITIndexRateProfile(t *testing.T) {
|
||||
ID: "FIRST_GI",
|
||||
FilterIDs: []string{"*string:~*req.Category:call"},
|
||||
Weight: 0,
|
||||
Value: 0.12,
|
||||
Unit: time.Duration(1 * time.Minute),
|
||||
Increment: time.Duration(1 * time.Minute),
|
||||
Blocker: false,
|
||||
},
|
||||
"SECOND_GI": {
|
||||
ID: "SECOND_GI",
|
||||
FilterIDs: []string{"*string:~*req.Category:voice"},
|
||||
Weight: 10,
|
||||
Value: 0.06,
|
||||
Unit: time.Duration(1 * time.Minute),
|
||||
Increment: time.Duration(1 * time.Second),
|
||||
Blocker: false,
|
||||
},
|
||||
},
|
||||
@@ -1167,27 +1161,18 @@ func testITIndexRateProfile(t *testing.T) {
|
||||
ID: "FIRST_GI",
|
||||
FilterIDs: []string{"*string:~*req.Category:call"},
|
||||
Weight: 0,
|
||||
Value: 0.12,
|
||||
Unit: time.Duration(1 * time.Minute),
|
||||
Increment: time.Duration(1 * time.Minute),
|
||||
Blocker: false,
|
||||
},
|
||||
"SECOND_GI": {
|
||||
ID: "SECOND_GI",
|
||||
FilterIDs: []string{"*string:~*req.Category:voice"},
|
||||
Weight: 10,
|
||||
Value: 0.06,
|
||||
Unit: time.Duration(1 * time.Minute),
|
||||
Increment: time.Duration(1 * time.Second),
|
||||
Blocker: false,
|
||||
},
|
||||
"THIRD_GI": {
|
||||
ID: "THIRD_GI",
|
||||
FilterIDs: []string{"*string:~*req.Category:custom"},
|
||||
Weight: 20,
|
||||
Value: 0.06,
|
||||
Unit: time.Duration(1 * time.Minute),
|
||||
Increment: time.Duration(1 * time.Second),
|
||||
Blocker: false,
|
||||
},
|
||||
},
|
||||
@@ -1230,18 +1215,12 @@ func testITIndexRateProfile(t *testing.T) {
|
||||
ID: "CUSTOM_RATE1",
|
||||
FilterIDs: []string{"*string:~*req.Subject:1001"},
|
||||
Weight: 0,
|
||||
Value: 0.12,
|
||||
Unit: time.Duration(1 * time.Minute),
|
||||
Increment: time.Duration(1 * time.Minute),
|
||||
Blocker: false,
|
||||
},
|
||||
"CUSTOM_RATE2": {
|
||||
ID: "CUSTOM_RATE2",
|
||||
FilterIDs: []string{"*string:~*req.Subject:1001", "*string:~*req.Category:call"},
|
||||
Weight: 10,
|
||||
Value: 0.6,
|
||||
Unit: time.Duration(1 * time.Minute),
|
||||
Increment: time.Duration(1 * time.Second),
|
||||
Blocker: false,
|
||||
},
|
||||
},
|
||||
|
||||
@@ -2162,18 +2162,12 @@ func testOnStorITRateProfile(t *testing.T) {
|
||||
ID: "FIRST_GI",
|
||||
FilterIDs: []string{"*gi:~*req.Usage:0"},
|
||||
Weight: 0,
|
||||
Value: 0.12,
|
||||
Unit: time.Duration(1 * time.Minute),
|
||||
Increment: time.Duration(1 * time.Minute),
|
||||
Blocker: false,
|
||||
},
|
||||
"SECOND_GI": &Rate{
|
||||
ID: "SECOND_GI",
|
||||
FilterIDs: []string{"*gi:~*req.Usage:1m"},
|
||||
Weight: 10,
|
||||
Value: 0.06,
|
||||
Unit: time.Duration(1 * time.Minute),
|
||||
Increment: time.Duration(1 * time.Second),
|
||||
Blocker: false,
|
||||
},
|
||||
},
|
||||
|
||||
@@ -28,53 +28,53 @@ import (
|
||||
|
||||
func TestDataUpdateFromCSVOneFile(t *testing.T) {
|
||||
attrSFlds := []*config.FCTemplate{
|
||||
&config.FCTemplate{Tag: "TenantID",
|
||||
{Tag: "TenantID",
|
||||
Path: "Tenant",
|
||||
Type: utils.META_COMPOSED,
|
||||
Value: config.NewRSRParsersMustCompile("~*req.0", true, utils.INFIELD_SEP),
|
||||
Mandatory: true},
|
||||
&config.FCTemplate{Tag: "ProfileID",
|
||||
{Tag: "ProfileID",
|
||||
Path: "ID",
|
||||
Type: utils.META_COMPOSED,
|
||||
Value: config.NewRSRParsersMustCompile("~*req.1", true, utils.INFIELD_SEP),
|
||||
Mandatory: true},
|
||||
&config.FCTemplate{Tag: "Contexts",
|
||||
{Tag: "Contexts",
|
||||
Path: "Contexts",
|
||||
Type: utils.META_COMPOSED,
|
||||
Value: config.NewRSRParsersMustCompile("~*req.2", true, utils.INFIELD_SEP)},
|
||||
&config.FCTemplate{Tag: "FilterIDs",
|
||||
{Tag: "FilterIDs",
|
||||
Path: "FilterIDs",
|
||||
Type: utils.META_COMPOSED,
|
||||
Value: config.NewRSRParsersMustCompile("~*req.3", true, utils.INFIELD_SEP)},
|
||||
&config.FCTemplate{Tag: "ActivationInterval",
|
||||
{Tag: "ActivationInterval",
|
||||
Path: "ActivationInterval",
|
||||
Type: utils.META_COMPOSED,
|
||||
Value: config.NewRSRParsersMustCompile("~*req.4", true, utils.INFIELD_SEP)},
|
||||
&config.FCTemplate{Tag: "Path",
|
||||
{Tag: "Path",
|
||||
Path: "Path",
|
||||
Type: utils.META_COMPOSED,
|
||||
Value: config.NewRSRParsersMustCompile("~*req.5", true, utils.INFIELD_SEP)},
|
||||
&config.FCTemplate{Tag: "Initial",
|
||||
{Tag: "Initial",
|
||||
Path: "Initial",
|
||||
Type: utils.META_COMPOSED,
|
||||
Value: config.NewRSRParsersMustCompile("~*req.6", true, utils.INFIELD_SEP)},
|
||||
&config.FCTemplate{Tag: "Substitute",
|
||||
{Tag: "Substitute",
|
||||
Path: "Substitute",
|
||||
Type: utils.META_COMPOSED,
|
||||
Value: config.NewRSRParsersMustCompile("~*req.7", true, utils.INFIELD_SEP)},
|
||||
&config.FCTemplate{Tag: "Append",
|
||||
{Tag: "Append",
|
||||
Path: "Append",
|
||||
Type: utils.META_COMPOSED,
|
||||
Value: config.NewRSRParsersMustCompile("~*req.8", true, utils.INFIELD_SEP)},
|
||||
&config.FCTemplate{Tag: "Weight",
|
||||
{Tag: "Weight",
|
||||
Path: "Weight",
|
||||
Type: utils.META_COMPOSED,
|
||||
Value: config.NewRSRParsersMustCompile("~*req.9", true, utils.INFIELD_SEP)},
|
||||
}
|
||||
|
||||
rows := [][]string{
|
||||
[]string{"cgrates.org", "ATTR_1", "*sessions;*cdrs", "*string:Account:1007", "2014-01-14T00:00:00Z", "Account", "*any", "1001", "false", "10"},
|
||||
[]string{"cgrates.org", "ATTR_1", "", "", "", "Subject", "*any", "1001", "true", ""},
|
||||
{"cgrates.org", "ATTR_1", "*sessions;*cdrs", "*string:Account:1007", "2014-01-14T00:00:00Z", "Account", "*any", "1001", "false", "10"},
|
||||
{"cgrates.org", "ATTR_1", "", "", "", "Subject", "*any", "1001", "true", ""},
|
||||
}
|
||||
lData := make(LoaderData)
|
||||
if err := lData.UpdateFromCSV("Attributes.csv", rows[0], attrSFlds,
|
||||
@@ -118,53 +118,53 @@ func TestDataUpdateFromCSVOneFile(t *testing.T) {
|
||||
|
||||
func TestDataUpdateFromCSVOneFile2(t *testing.T) {
|
||||
attrSFlds := []*config.FCTemplate{
|
||||
&config.FCTemplate{Tag: "TenantID",
|
||||
{Tag: "TenantID",
|
||||
Path: "Tenant",
|
||||
Type: utils.MetaVariable,
|
||||
Value: config.NewRSRParsersMustCompile("~*req.0", true, utils.INFIELD_SEP),
|
||||
Mandatory: true},
|
||||
&config.FCTemplate{Tag: "ProfileID",
|
||||
{Tag: "ProfileID",
|
||||
Path: "ID",
|
||||
Type: utils.MetaVariable,
|
||||
Value: config.NewRSRParsersMustCompile("~*req.1", true, utils.INFIELD_SEP),
|
||||
Mandatory: true},
|
||||
&config.FCTemplate{Tag: "Contexts",
|
||||
{Tag: "Contexts",
|
||||
Path: "Contexts",
|
||||
Type: utils.MetaVariable,
|
||||
Value: config.NewRSRParsersMustCompile("~*req.2", true, utils.INFIELD_SEP)},
|
||||
&config.FCTemplate{Tag: "FilterIDs",
|
||||
{Tag: "FilterIDs",
|
||||
Path: "FilterIDs",
|
||||
Type: utils.MetaVariable,
|
||||
Value: config.NewRSRParsersMustCompile("~*req.3", true, utils.INFIELD_SEP)},
|
||||
&config.FCTemplate{Tag: "ActivationInterval",
|
||||
{Tag: "ActivationInterval",
|
||||
Path: "ActivationInterval",
|
||||
Type: utils.MetaVariable,
|
||||
Value: config.NewRSRParsersMustCompile("~*req.4", true, utils.INFIELD_SEP)},
|
||||
&config.FCTemplate{Tag: "Path",
|
||||
{Tag: "Path",
|
||||
Path: "Path",
|
||||
Type: utils.MetaVariable,
|
||||
Value: config.NewRSRParsersMustCompile("~*req.5", true, utils.INFIELD_SEP)},
|
||||
&config.FCTemplate{Tag: "Initial",
|
||||
{Tag: "Initial",
|
||||
Path: "Initial",
|
||||
Type: utils.MetaVariable,
|
||||
Value: config.NewRSRParsersMustCompile("~*req.6", true, utils.INFIELD_SEP)},
|
||||
&config.FCTemplate{Tag: "Substitute",
|
||||
{Tag: "Substitute",
|
||||
Path: "Substitute",
|
||||
Type: utils.MetaVariable,
|
||||
Value: config.NewRSRParsersMustCompile("~*req.7", true, utils.INFIELD_SEP)},
|
||||
&config.FCTemplate{Tag: "Append",
|
||||
{Tag: "Append",
|
||||
Path: "Append",
|
||||
Type: utils.MetaVariable,
|
||||
Value: config.NewRSRParsersMustCompile("~*req.8", true, utils.INFIELD_SEP)},
|
||||
&config.FCTemplate{Tag: "Weight",
|
||||
{Tag: "Weight",
|
||||
Path: "Weight",
|
||||
Type: utils.MetaVariable,
|
||||
Value: config.NewRSRParsersMustCompile("~*req.9", true, utils.INFIELD_SEP)},
|
||||
}
|
||||
|
||||
rows := [][]string{
|
||||
[]string{"cgrates.org", "ATTR_1", "*sessions;*cdrs", "*string:Account:1007", "2014-01-14T00:00:00Z", "Account", "*any", "1001", "false", "10"},
|
||||
[]string{"cgrates.org", "ATTR_1", "", "", "", "Subject", "*any", "1001", "true", ""},
|
||||
{"cgrates.org", "ATTR_1", "*sessions;*cdrs", "*string:Account:1007", "2014-01-14T00:00:00Z", "Account", "*any", "1001", "false", "10"},
|
||||
{"cgrates.org", "ATTR_1", "", "", "", "Subject", "*any", "1001", "true", ""},
|
||||
}
|
||||
lData := make(LoaderData)
|
||||
if err := lData.UpdateFromCSV("Attributes.csv", rows[0], attrSFlds,
|
||||
@@ -208,45 +208,45 @@ func TestDataUpdateFromCSVOneFile2(t *testing.T) {
|
||||
|
||||
func TestDataUpdateFromCSVMultiFiles(t *testing.T) {
|
||||
attrSFlds := []*config.FCTemplate{
|
||||
&config.FCTemplate{Tag: "TenantID",
|
||||
{Tag: "TenantID",
|
||||
Path: "Tenant",
|
||||
Type: utils.MetaString,
|
||||
Value: config.NewRSRParsersMustCompile("cgrates.org", true, utils.INFIELD_SEP),
|
||||
Mandatory: true},
|
||||
&config.FCTemplate{Tag: "ProfileID",
|
||||
{Tag: "ProfileID",
|
||||
Path: "ID",
|
||||
Type: utils.META_COMPOSED,
|
||||
Value: config.NewRSRParsersMustCompile("~*req<File2.csv>.1", true, utils.INFIELD_SEP),
|
||||
Mandatory: true},
|
||||
&config.FCTemplate{Tag: "Contexts",
|
||||
{Tag: "Contexts",
|
||||
Path: "Contexts",
|
||||
Type: utils.MetaString,
|
||||
Value: config.NewRSRParsersMustCompile("*any", true, utils.INFIELD_SEP)},
|
||||
&config.FCTemplate{Tag: "Path",
|
||||
{Tag: "Path",
|
||||
Path: "Path",
|
||||
Type: utils.META_COMPOSED,
|
||||
Value: config.NewRSRParsersMustCompile("~*req<File1.csv>.5", true, utils.INFIELD_SEP)},
|
||||
&config.FCTemplate{Tag: "Initial",
|
||||
{Tag: "Initial",
|
||||
Path: "Initial",
|
||||
Type: utils.META_COMPOSED,
|
||||
Value: config.NewRSRParsersMustCompile("~*req<File1.csv>.6", true, utils.INFIELD_SEP)},
|
||||
&config.FCTemplate{Tag: "Substitute",
|
||||
{Tag: "Substitute",
|
||||
Path: "Substitute",
|
||||
Type: utils.META_COMPOSED,
|
||||
Value: config.NewRSRParsersMustCompile("~*req<File1.csv>.7", true, utils.INFIELD_SEP)},
|
||||
&config.FCTemplate{Tag: "Append",
|
||||
{Tag: "Append",
|
||||
Path: "Append",
|
||||
Type: utils.MetaString,
|
||||
Value: config.NewRSRParsersMustCompile("true", true, utils.INFIELD_SEP)},
|
||||
&config.FCTemplate{Tag: "Weight",
|
||||
{Tag: "Weight",
|
||||
Path: "Weight",
|
||||
Type: utils.MetaString,
|
||||
Value: config.NewRSRParsersMustCompile("10", true, utils.INFIELD_SEP)},
|
||||
}
|
||||
|
||||
loadRun1 := map[string][]string{
|
||||
"File1.csv": []string{"ignored", "ignored", "ignored", "ignored", "ignored", "Subject", "*any", "1001", "ignored", "ignored"},
|
||||
"File2.csv": []string{"ignored", "ATTR_1"},
|
||||
"File1.csv": {"ignored", "ignored", "ignored", "ignored", "ignored", "Subject", "*any", "1001", "ignored", "ignored"},
|
||||
"File2.csv": {"ignored", "ATTR_1"},
|
||||
}
|
||||
lData := make(LoaderData)
|
||||
for fName, record := range loadRun1 {
|
||||
|
||||
@@ -34,7 +34,8 @@ import (
|
||||
)
|
||||
|
||||
func TestEventExporterSReload(t *testing.T) {
|
||||
for _, dir := range []string{"/tmp/testCSV", "/tmp/testComposedCSV", "/tmp/testFWV"} {
|
||||
for _, dir := range []string{"/tmp/testCSV", "/tmp/testComposedCSV", "/tmp/testFWV", "/tmp/testCSVMasked",
|
||||
"/tmp/testCSVfromVirt"} {
|
||||
if err := os.RemoveAll(dir); err != nil {
|
||||
t.Fatal("Error removing folder: ", dir, err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user