mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-24 08:38:45 +05:00
Fixup SM parse time bug discovered by DigiDaz, adding some more tests
This commit is contained in:
@@ -151,7 +151,7 @@ func (fsev FSEvent) MissingParameter() bool {
|
||||
}
|
||||
func (fsev FSEvent) GetSetupTime(fieldName string) (t time.Time, err error) {
|
||||
fsSTimeStr, hasKey := fsev[SETUP_TIME]
|
||||
if hasKey {
|
||||
if hasKey && fsSTimeStr != "0" {
|
||||
// Discard the nanoseconds information since MySQL cannot store them in early versions and csv uses default seconds so cgrid will not corelate
|
||||
fsSTimeStr = fsSTimeStr[:len(fsSTimeStr)-6]
|
||||
}
|
||||
@@ -163,7 +163,7 @@ func (fsev FSEvent) GetSetupTime(fieldName string) (t time.Time, err error) {
|
||||
}
|
||||
func (fsev FSEvent) GetAnswerTime(fieldName string) (t time.Time, err error) {
|
||||
fsATimeStr, hasKey := fsev[ANSWER_TIME]
|
||||
if hasKey {
|
||||
if hasKey && fsATimeStr != "0" {
|
||||
// Discard the nanoseconds information since MySQL cannot store them in early versions and csv uses default seconds so cgrid will not corelate
|
||||
fsATimeStr = fsATimeStr[:len(fsATimeStr)-6]
|
||||
}
|
||||
|
||||
@@ -130,3 +130,26 @@ Task-Runtime: 1349437318`
|
||||
dur != time.Duration(65)*time.Second)
|
||||
}
|
||||
}
|
||||
|
||||
func TestDDazEmptyTime(t *testing.T) {
|
||||
body := `Event-Name: RE_SCHEDULE
|
||||
Core-UUID: 792e181c-b6e6-499c-82a1-52a778e7d82d
|
||||
FreeSWITCH-Hostname: h1.ip-switch.net
|
||||
FreeSWITCH-Switchname: h1.ip-switch.net
|
||||
FreeSWITCH-IPv4: 88.198.12.156
|
||||
Caller-Channel-Created-Time: 0
|
||||
Caller-Channel-Answered-Time
|
||||
Task-Runtime: 1349437318`
|
||||
var nilTime time.Time
|
||||
ev := new(FSEvent).New(body)
|
||||
if setupTime, err := ev.GetSetupTime(""); err != nil {
|
||||
t.Error("Error when parsing empty setupTime")
|
||||
} else if setupTime != nilTime {
|
||||
t.Error("Expecting nil time, got: ", setupTime)
|
||||
}
|
||||
if answerTime, err := ev.GetAnswerTime(""); err != nil {
|
||||
t.Error("Error when parsing empty setupTime")
|
||||
} else if answerTime != nilTime {
|
||||
t.Error("Expecting nil time, got: ", answerTime)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user