mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-16 05:39:54 +05:00
Remove RSRSep opt from general section
- allows RSRParser to be split gracefully from config (was depending on RSRSep, which was retrieved from the global config variable) - default separator (;) was the only one used except for splitting inline attribute values (where ANDSep is used)
This commit is contained in:
committed by
Dan Christian Bogos
parent
c60712f454
commit
36a7d174ab
@@ -519,7 +519,7 @@ type ArgsActRemoveBalances struct {
|
||||
APIOpts map[string]any
|
||||
}
|
||||
|
||||
func (ap *Account) Set(path []string, val any, newBranch bool, _ string) (err error) {
|
||||
func (ap *Account) Set(path []string, val any, newBranch bool) (err error) {
|
||||
switch len(path) {
|
||||
case 0:
|
||||
return ErrWrongPath
|
||||
|
||||
@@ -992,146 +992,146 @@ func TestAccountSet(t *testing.T) {
|
||||
},
|
||||
},
|
||||
}
|
||||
if err := acc.Set([]string{}, "", false, EmptyString); err != ErrWrongPath {
|
||||
if err := acc.Set([]string{}, "", false); err != ErrWrongPath {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := acc.Set([]string{"NotAField"}, "", false, EmptyString); err != ErrWrongPath {
|
||||
if err := acc.Set([]string{"NotAField"}, "", false); err != ErrWrongPath {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := acc.Set([]string{"NotAField", "1"}, "", false, EmptyString); err != ErrWrongPath {
|
||||
if err := acc.Set([]string{"NotAField", "1"}, "", false); err != ErrWrongPath {
|
||||
t.Error(err)
|
||||
}
|
||||
expErr := `malformed map pair: <"bal">`
|
||||
if err := acc.Set([]string{Opts}, "bal", false, EmptyString); err == nil || err.Error() != expErr {
|
||||
if err := acc.Set([]string{Opts}, "bal", false); err == nil || err.Error() != expErr {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := acc.Set([]string{Opts}, "bal:val;bal2:val2", false, EmptyString); err != nil {
|
||||
if err := acc.Set([]string{Opts}, "bal:val;bal2:val2", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := acc.Set([]string{Opts, "bal3"}, "val2", false, EmptyString); err != nil {
|
||||
if err := acc.Set([]string{Opts, "bal3"}, "val2", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := acc.Set([]string{Opts + "[bal4]"}, "val2", false, EmptyString); err != nil {
|
||||
if err := acc.Set([]string{Opts + "[bal4]"}, "val2", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := acc.Set([]string{Opts + "[bal5]", "bal6"}, "val3", false, EmptyString); err != nil {
|
||||
if err := acc.Set([]string{Opts + "[bal5]", "bal6"}, "val3", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
if err := acc.Set([]string{Tenant}, "cgrates.org", false, EmptyString); err != nil {
|
||||
if err := acc.Set([]string{Tenant}, "cgrates.org", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := acc.Set([]string{ID}, "ID", false, EmptyString); err != nil {
|
||||
if err := acc.Set([]string{ID}, "ID", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := acc.Set([]string{FilterIDs}, "fltr1;*string:~*req.Account:1001", false, EmptyString); err != nil {
|
||||
if err := acc.Set([]string{FilterIDs}, "fltr1;*string:~*req.Account:1001", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := acc.Set([]string{ThresholdIDs}, "TH1", false, EmptyString); err != nil {
|
||||
if err := acc.Set([]string{ThresholdIDs}, "TH1", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := acc.Set([]string{Weights}, ";0", false, EmptyString); err != nil {
|
||||
if err := acc.Set([]string{Weights}, ";0", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := acc.Set([]string{Blockers}, ";0", false, EmptyString); err != nil {
|
||||
if err := acc.Set([]string{Blockers}, ";0", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := acc.Set([]string{Balances + "[bal1]", ID}, "bal1", false, EmptyString); err != nil {
|
||||
if err := acc.Set([]string{Balances + "[bal1]", ID}, "bal1", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := acc.Set([]string{Balances, "bal1", Type}, MetaConcrete, false, EmptyString); err != nil {
|
||||
if err := acc.Set([]string{Balances, "bal1", Type}, MetaConcrete, false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := acc.Set([]string{Balances, "bal1", Opts}, "", false, EmptyString); err != nil {
|
||||
if err := acc.Set([]string{Balances, "bal1", Opts}, "", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := acc.Set([]string{Balances, "bal1", Opts + "bal7]"}, "val3", false, EmptyString); err != ErrWrongPath {
|
||||
if err := acc.Set([]string{Balances, "bal1", Opts + "bal7]"}, "val3", false); err != ErrWrongPath {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := acc.Set([]string{Balances, "bal1", Opts + "bal7]", ""}, "val3", false, EmptyString); err != ErrWrongPath {
|
||||
if err := acc.Set([]string{Balances, "bal1", Opts + "bal7]", ""}, "val3", false); err != ErrWrongPath {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := acc.Set([]string{Balances, "bal1", Opts + "[bal7]"}, "val3", false, EmptyString); err != nil {
|
||||
if err := acc.Set([]string{Balances, "bal1", Opts + "[bal7]"}, "val3", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := acc.Set([]string{Balances, "bal1", Opts + "[bal8]", "bal9"}, "val3", false, EmptyString); err != nil {
|
||||
if err := acc.Set([]string{Balances, "bal1", Opts + "[bal8]", "bal9"}, "val3", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := acc.Set([]string{Balances, "bal1", Opts, "bal10"}, "val3", false, EmptyString); err != nil {
|
||||
if err := acc.Set([]string{Balances, "bal1", Opts, "bal10"}, "val3", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := acc.Set([]string{Balances, "bal1", FilterIDs}, "*string:~*req.Account:1001", false, EmptyString); err != nil {
|
||||
if err := acc.Set([]string{Balances, "bal1", FilterIDs}, "*string:~*req.Account:1001", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := acc.Set([]string{Balances, "bal1", AttributeIDs}, "Attr1;Attr2", false, EmptyString); err != nil {
|
||||
if err := acc.Set([]string{Balances, "bal1", AttributeIDs}, "Attr1;Attr2", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := acc.Set([]string{Balances, "bal1", RateProfileIDs}, "Attr1;Attr2", false, EmptyString); err != nil {
|
||||
if err := acc.Set([]string{Balances, "bal1", RateProfileIDs}, "Attr1;Attr2", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := acc.Set([]string{Balances, "bal1", Units}, "10", false, EmptyString); err != nil {
|
||||
if err := acc.Set([]string{Balances, "bal1", Units}, "10", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := acc.Set([]string{Balances, "bal1", Weights}, ";10", false, EmptyString); err != nil {
|
||||
if err := acc.Set([]string{Balances, "bal1", Weights}, ";10", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := acc.Set([]string{Balances, "bal1", Blockers}, ";false", false, EmptyString); err != nil {
|
||||
if err := acc.Set([]string{Balances, "bal1", Blockers}, ";false", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
expErr = `invalid key: <1> for BalanceUnitFactors`
|
||||
if err := acc.Set([]string{Balances, "bal1", UnitFactors}, "1", false, EmptyString); err == nil || err.Error() != expErr {
|
||||
if err := acc.Set([]string{Balances, "bal1", UnitFactors}, "1", false); err == nil || err.Error() != expErr {
|
||||
t.Error(err)
|
||||
}
|
||||
expErr = `can't convert <a> to decimal`
|
||||
if err := acc.Set([]string{Balances, "bal1", UnitFactors}, "a;a", false, EmptyString); err == nil || err.Error() != expErr {
|
||||
if err := acc.Set([]string{Balances, "bal1", UnitFactors}, "a;a", false); err == nil || err.Error() != expErr {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := acc.Set([]string{Balances, "bal1", UnitFactors}, "fltr1;10", false, EmptyString); err != nil {
|
||||
if err := acc.Set([]string{Balances, "bal1", UnitFactors}, "fltr1;10", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := acc.Set([]string{Balances, "bal1", UnitFactors, "Wrong"}, "fltr1;10", false, EmptyString); err != ErrWrongPath {
|
||||
if err := acc.Set([]string{Balances, "bal1", UnitFactors, "Wrong"}, "fltr1;10", false); err != ErrWrongPath {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := acc.Set([]string{Balances, "bal1", UnitFactors, Factor}, "101", true, EmptyString); err != nil {
|
||||
if err := acc.Set([]string{Balances, "bal1", UnitFactors, Factor}, "101", true); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := acc.Set([]string{Balances, "bal1", UnitFactors, FilterIDs}, "fltr1", false, EmptyString); err != nil {
|
||||
if err := acc.Set([]string{Balances, "bal1", UnitFactors, FilterIDs}, "fltr1", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
expErr = `invalid key: <1> for BalanceCostIncrements`
|
||||
if err := acc.Set([]string{Balances, "bal1", CostIncrements}, "1", false, EmptyString); err == nil || err.Error() != expErr {
|
||||
if err := acc.Set([]string{Balances, "bal1", CostIncrements}, "1", false); err == nil || err.Error() != expErr {
|
||||
t.Error(err)
|
||||
}
|
||||
expErr = `can't convert <a> to decimal`
|
||||
if err := acc.Set([]string{Balances, "bal1", CostIncrements}, "fltr1;10;a;10", false, EmptyString); err == nil || err.Error() != expErr {
|
||||
if err := acc.Set([]string{Balances, "bal1", CostIncrements}, "fltr1;10;a;10", false); err == nil || err.Error() != expErr {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := acc.Set([]string{Balances, "bal1", CostIncrements}, "fltr1;a;10;10", false, EmptyString); err == nil || err.Error() != expErr {
|
||||
if err := acc.Set([]string{Balances, "bal1", CostIncrements}, "fltr1;a;10;10", false); err == nil || err.Error() != expErr {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := acc.Set([]string{Balances, "bal1", CostIncrements}, "fltr1;10;10;a", false, EmptyString); err == nil || err.Error() != expErr {
|
||||
if err := acc.Set([]string{Balances, "bal1", CostIncrements}, "fltr1;10;10;a", false); err == nil || err.Error() != expErr {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
if err := acc.Set([]string{Balances, "bal1", CostIncrements}, "fltr1;10;10;10", false, EmptyString); err != nil {
|
||||
if err := acc.Set([]string{Balances, "bal1", CostIncrements}, "fltr1;10;10;10", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
if err := acc.Set([]string{Balances, "bal1", CostIncrements, FixedFee}, "101", true, EmptyString); err != nil {
|
||||
if err := acc.Set([]string{Balances, "bal1", CostIncrements, FixedFee}, "101", true); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := acc.Set([]string{Balances, "bal1", CostIncrements, RecurrentFee}, "101", false, EmptyString); err != nil {
|
||||
if err := acc.Set([]string{Balances, "bal1", CostIncrements, RecurrentFee}, "101", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := acc.Set([]string{Balances, "bal1", CostIncrements, Increment}, "101", false, EmptyString); err != nil {
|
||||
if err := acc.Set([]string{Balances, "bal1", CostIncrements, Increment}, "101", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := acc.Set([]string{Balances, "bal1", CostIncrements, FilterIDs}, "fltr1", false, EmptyString); err != nil {
|
||||
if err := acc.Set([]string{Balances, "bal1", CostIncrements, FilterIDs}, "fltr1", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := acc.Set([]string{Balances, "bal1", CostIncrements, "Wrong"}, "fltr1", false, EmptyString); err != ErrWrongPath {
|
||||
if err := acc.Set([]string{Balances, "bal1", CostIncrements, "Wrong"}, "fltr1", false); err != ErrWrongPath {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
|
||||
@@ -150,6 +150,7 @@ const (
|
||||
CSVSep = ','
|
||||
FallbackSep = ';'
|
||||
InfieldSep = ";"
|
||||
RSRSep = ";"
|
||||
MetaPipe = "*|"
|
||||
FieldsSep = ","
|
||||
InInFieldSep = ":"
|
||||
@@ -1867,7 +1868,6 @@ const (
|
||||
LockingTimeoutCfg = "locking_timeout"
|
||||
DigestSeparatorCfg = "digest_separator"
|
||||
DigestEqualCfg = "digest_equal"
|
||||
RSRSepCfg = "rsr_separator"
|
||||
MaxParallelConnsCfg = "max_parallel_conns"
|
||||
EEsConnsCfg = "ees_conns"
|
||||
DecimalMaxScaleCfg = "decimal_max_scale"
|
||||
|
||||
@@ -669,7 +669,7 @@ type RemoveRPrfRates struct {
|
||||
APIOpts map[string]any
|
||||
}
|
||||
|
||||
func (rp *RateProfile) Set(path []string, val any, newBranch bool, _ string) (err error) {
|
||||
func (rp *RateProfile) Set(path []string, val any, newBranch bool) (err error) {
|
||||
if len(path) == 0 {
|
||||
return ErrWrongPath
|
||||
}
|
||||
|
||||
@@ -1802,81 +1802,81 @@ func TestRateProfile(t *testing.T) {
|
||||
},
|
||||
},
|
||||
}
|
||||
if err := rp.Set([]string{}, "", false, EmptyString); err != ErrWrongPath {
|
||||
if err := rp.Set([]string{}, "", false); err != ErrWrongPath {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := rp.Set([]string{"NotAField"}, "", false, EmptyString); err != ErrWrongPath {
|
||||
if err := rp.Set([]string{"NotAField"}, "", false); err != ErrWrongPath {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := rp.Set([]string{"NotAField", "1"}, "", false, EmptyString); err != ErrWrongPath {
|
||||
if err := rp.Set([]string{"NotAField", "1"}, "", false); err != ErrWrongPath {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
if err := rp.Set([]string{Tenant}, "cgrates.org", false, EmptyString); err != nil {
|
||||
if err := rp.Set([]string{Tenant}, "cgrates.org", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := rp.Set([]string{ID}, ID, false, EmptyString); err != nil {
|
||||
if err := rp.Set([]string{ID}, ID, false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := rp.Set([]string{FilterIDs}, "fltr1;*string:~*req.Account:1001", false, EmptyString); err != nil {
|
||||
if err := rp.Set([]string{FilterIDs}, "fltr1;*string:~*req.Account:1001", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := rp.Set([]string{Weights}, ";10", false, EmptyString); err != nil {
|
||||
if err := rp.Set([]string{Weights}, ";10", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := rp.Set([]string{MinCost}, "10", false, EmptyString); err != nil {
|
||||
if err := rp.Set([]string{MinCost}, "10", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := rp.Set([]string{MaxCost}, "10", false, EmptyString); err != nil {
|
||||
if err := rp.Set([]string{MaxCost}, "10", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := rp.Set([]string{MaxCostStrategy}, "strategy", false, EmptyString); err != nil {
|
||||
if err := rp.Set([]string{MaxCostStrategy}, "strategy", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
if err := rp.Set([]string{Rates + "[rat1]", ID}, "rat1", false, EmptyString); err != nil {
|
||||
if err := rp.Set([]string{Rates + "[rat1]", ID}, "rat1", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
if err := rp.Set([]string{Rates, "rat1", FilterIDs}, "fltr1", false, EmptyString); err != nil {
|
||||
if err := rp.Set([]string{Rates, "rat1", FilterIDs}, "fltr1", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := rp.Set([]string{Rates, "rat1", Weights}, ";20", false, EmptyString); err != nil {
|
||||
if err := rp.Set([]string{Rates, "rat1", Weights}, ";20", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := rp.Set([]string{Rates, "rat1", ActivationTimes}, "* * * * *", false, EmptyString); err != nil {
|
||||
if err := rp.Set([]string{Rates, "rat1", ActivationTimes}, "* * * * *", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := rp.Set([]string{Rates, "rat1", Blocker}, "true", false, EmptyString); err != nil {
|
||||
if err := rp.Set([]string{Rates, "rat1", Blocker}, "true", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
if err := rp.Set([]string{Rates, "rat1", "Wrong"}, "true", false, EmptyString); err != ErrWrongPath {
|
||||
if err := rp.Set([]string{Rates, "rat1", "Wrong"}, "true", false); err != ErrWrongPath {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := rp.Set([]string{Rates, "rat1", "Wrong", "Path"}, "true", false, EmptyString); err != ErrWrongPath {
|
||||
if err := rp.Set([]string{Rates, "rat1", "Wrong", "Path"}, "true", false); err != ErrWrongPath {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := rp.Set([]string{Rates, "rat1", "Wrong", "Path", "2"}, "true", false, EmptyString); err != ErrWrongPath {
|
||||
if err := rp.Set([]string{Rates, "rat1", "Wrong", "Path", "2"}, "true", false); err != ErrWrongPath {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := rp.Set([]string{Rates, "rat1", IntervalRates, "Wrong"}, "true", false, EmptyString); err != ErrWrongPath {
|
||||
if err := rp.Set([]string{Rates, "rat1", IntervalRates, "Wrong"}, "true", false); err != ErrWrongPath {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
if err := rp.Set([]string{Rates, "rat1", IntervalRates, IntervalStart}, "10", false, EmptyString); err != nil {
|
||||
if err := rp.Set([]string{Rates, "rat1", IntervalRates, IntervalStart}, "10", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := rp.Set([]string{Rates, "rat1", IntervalRates, FixedFee}, "10", false, EmptyString); err != nil {
|
||||
if err := rp.Set([]string{Rates, "rat1", IntervalRates, FixedFee}, "10", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := rp.Set([]string{Rates, "rat1", IntervalRates, RecurrentFee}, "10", false, EmptyString); err != nil {
|
||||
if err := rp.Set([]string{Rates, "rat1", IntervalRates, RecurrentFee}, "10", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := rp.Set([]string{Rates, "rat1", IntervalRates, Unit}, "10", false, EmptyString); err != nil {
|
||||
if err := rp.Set([]string{Rates, "rat1", IntervalRates, Unit}, "10", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := rp.Set([]string{Rates, "rat1", IntervalRates, Increment}, "10", false, EmptyString); err != nil {
|
||||
if err := rp.Set([]string{Rates, "rat1", IntervalRates, Increment}, "10", false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user