mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-15 21:29:52 +05:00
Fix validation for Actions, now with shared balances
This commit is contained in:
@@ -514,7 +514,7 @@ func (csvr *CSVReader) LoadSharedGroups() (err error) {
|
||||
func (csvr *CSVReader) LoadActions() (err error) {
|
||||
csvReader, fp, err := csvr.readerFunc(csvr.actionsFn, csvr.sep, utils.ACTIONS_NRCOLS)
|
||||
if err != nil {
|
||||
log.Print("Could not load action triggers file: ", err)
|
||||
log.Print("Could not load action file: ", err)
|
||||
// allow writing of the other values
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -203,7 +203,7 @@ var FileValidators = map[string]*FileLineRegexValidator{
|
||||
regexp.MustCompile(``),
|
||||
""},
|
||||
utils.ACTIONS_CSV: &FileLineRegexValidator{utils.ACTIONS_NRCOLS,
|
||||
regexp.MustCompile(`(?:\w+\s*),(?:\*\w+\s*),(?:\*\w+\s*)?,(?:\*out\s*)?,(?:\d+\s*)?,(?:\*\w+\s*|\+\d+[smh]\s*|\d+\s*)?,(?:\*any|\w+\s*)?,(?:\*?\w+\s*)?,(?:\d+\.?\d*\s*)?,(?:\S+\s*)?,(?:\d+\.?\d*\s*)$`),
|
||||
regexp.MustCompile(`^(?:\w+\s*),(?:\*\w+\s*),(?:\*\w+\s*)?,(?:\*out\s*)?,(?:\d+\s*)?,(?:\*\w+\s*|\+\d+[smh]\s*|\d+\s*)?,(?:\*any|\w+\s*)?,(?:\*?\w+\s*)?,(?:\w+\s*)?,(?:\d+\.?\d*\s*)?,(?:\S+\s*)?,(?:\d+\.?\d*\s*)$`),
|
||||
"Tag([0-9A-Za-z_]),Action([0-9A-Za-z_]),BalanceType([*a-z_]),Direction(*out),Units([0-9]),ExpiryTime(*[a-z_]|+[0-9][smh]|[0-9])DestinationTag([0-9A-Za-z_]|*all),RatingSubject([0-9A-Za-z_]),BalanceWeight([0-9.]),ExtraParameters([0-9A-Za-z_:;]),Weight([0-9.])"},
|
||||
utils.ACTION_PLANS_CSV: &FileLineRegexValidator{utils.ACTION_PLANS_NRCOLS,
|
||||
regexp.MustCompile(`(?:\w+\s*,\s*){3}(?:\d+\.?\d*){1}`),
|
||||
|
||||
@@ -57,11 +57,12 @@ cgrates.org,call,*out,*any,2012-01-01T00:00:00Z,RP_RETAIL,
|
||||
DUMMY,INVALID;DATA
|
||||
`
|
||||
|
||||
var actionsSample = `#ActionsTag,Action,BalanceType,Direction,Units,ExpiryTime,DestinationTag,RatingSubject,BalanceWeight,ExtraParameters,Weight
|
||||
var actionsSample = `#ActionsTag,Action,BalanceType,Direction,Units,ExpiryTime,DestinationTag,RatingSubject,BalanceWeight,SharedGroup,ExtraParameters,Weight
|
||||
PREPAID_10,*topup_reset,*monetary,*out,5,*unlimited,*any,,,10,,10
|
||||
WARN_HTTP,*call_url,,,,,,,,http://localhost:8000,10
|
||||
LOG_BALANCE,*log,,,,,,,,,10
|
||||
WARN_HTTP,*call_url,,,,,,,,,http://localhost:8000,10
|
||||
LOG_BALANCE,*log,,,,,,,,,,10
|
||||
DUMMY,INVALID;DATA
|
||||
PREPAID_10,*topup_reset,*monetary,*out,5,*unlimited,*any,,10,,10
|
||||
`
|
||||
|
||||
var actionTimingsSample = `#Tag,ActionsTag,TimingTag,Weight
|
||||
@@ -237,7 +238,7 @@ func TestActionsValidator(t *testing.T) {
|
||||
}
|
||||
valid := lnValidator.Rule.Match(ln)
|
||||
switch lineNr {
|
||||
case 1, 5:
|
||||
case 1, 5, 6:
|
||||
if valid {
|
||||
t.Error("Validation passed for invalid line", string(ln))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user