mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Improve TPTiming time format error handling
This commit is contained in:
committed by
Dan Christian Bogos
parent
3acc76474d
commit
7664ffccb4
@@ -1829,6 +1829,13 @@ func (dm *DataManager) SetTiming(t *utils.TPTiming) (err error) {
|
||||
if dm == nil {
|
||||
return utils.ErrNoDatabaseConn
|
||||
}
|
||||
// Check if time strings can be split in a time format before storing in db
|
||||
if t.StartTime != utils.EmptyString && t.StartTime != utils.MetaASAP && !utils.IsTimeFormated(t.StartTime) {
|
||||
return utils.ErrInvalidTime(t.StartTime)
|
||||
}
|
||||
if t.EndTime != utils.EmptyString && t.EndTime != utils.MetaASAP && !utils.IsTimeFormated(t.EndTime) {
|
||||
return utils.ErrInvalidTime(t.EndTime)
|
||||
}
|
||||
if err = dm.DataDB().SetTimingDrv(t); err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
@@ -293,3 +293,15 @@ func TestDMSetReverseDestination(t *testing.T) {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func TestDMSetTimingInvalidTime(t *testing.T) {
|
||||
dm := NewDataManager(nil, nil, nil)
|
||||
expErr := "INVALID_TIME:*any"
|
||||
if err := dm.SetTiming(&utils.TPTiming{StartTime: "*any"}); err == nil || err.Error() != expErr {
|
||||
t.Errorf("Expected error <%v>, received <%v>", expErr, err)
|
||||
}
|
||||
|
||||
if err := dm.SetTiming(&utils.TPTiming{EndTime: "*any"}); err == nil || err.Error() != expErr {
|
||||
t.Errorf("Expected error <%v>, received <%v>", expErr, err)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user