Improve TPTiming time format error handling

This commit is contained in:
arberkatellari
2025-01-13 18:08:50 +02:00
committed by Dan Christian Bogos
parent 3acc76474d
commit 7664ffccb4
5 changed files with 42 additions and 0 deletions

View File

@@ -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
}

View File

@@ -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)
}
}