MCPcopy
hub / github.com/apache/devlake / TestIso8601Time

Function TestIso8601Time

backend/helpers/utils/mapstructure_test.go:106–141  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

104}
105
106func TestIso8601Time(t *testing.T) {
107 pairs := map[string]time.Time{
108 `{ "Created": "2021-07-30T19:14:33Z" }`: TimeMustParse("2021-07-30T19:14:33Z"),
109 `{ "Created": "2021-07-30T19:14:33-0100" }`: TimeMustParse("2021-07-30T20:14:33Z"),
110 `{ "Created": "2021-07-30T19:14:33+0100" }`: TimeMustParse("2021-07-30T18:14:33Z"),
111 `{ "Created": "2021-07-30T19:14:33.000-01:00" }`: TimeMustParse("2021-07-30T20:14:33Z"),
112 `{ "Created": "2021-07-30T19:14:33.000+01:00" }`: TimeMustParse("2021-07-30T18:14:33Z"),
113 `{ "Created": "2021-07-30T19:14:33+01:00" }`: TimeMustParse("2021-07-30T18:14:33Z"),
114 }
115
116 for input, expected := range pairs {
117 var record Iso8601TimeRecord
118 err := errors.Convert(json.Unmarshal([]byte(input), &record))
119 assert.Nil(t, err)
120 assert.Equal(t, expected, record.Created.ToTime().UTC())
121
122 var ms map[string]interface{}
123 err = errors.Convert(json.Unmarshal([]byte(input), &ms))
124 assert.Nil(t, err)
125
126 var record2 Iso8601TimeRecord
127 err = DecodeMapStruct(ms, &record2, true)
128 assert.Nil(t, err)
129 assert.Equal(t, expected, record2.Created.ToTime().UTC())
130
131 var record3 Iso8601TimeRecordP
132 err = DecodeMapStruct(ms, &record3, true)
133 assert.Nil(t, err)
134 assert.Equal(t, expected, record3.Created.ToTime().UTC())
135
136 var record4 TimeRecord
137 err = DecodeMapStruct(ms, &record4, true)
138 assert.Nil(t, err)
139 assert.Equal(t, expected, record4.Created.UTC())
140 }
141}
142
143func TestDecodeMapStructUrlVales(t *testing.T) {
144 query := &url.Values{}

Callers

nothing calls this directly

Calls 4

TimeMustParseFunction · 0.70
DecodeMapStructFunction · 0.70
ConvertMethod · 0.45
ToTimeMethod · 0.45

Tested by

no test coverage detected