@@ -13,10 +13,11 @@ import (
13
13
)
14
14
15
15
const (
16
- emptyTimeStr = `"0001-01-01T00:00:00Z"`
17
- referenceTimeStr = `"2006-01-02T15:04:05Z"`
18
- referenceTimeStrFractional = `"2006-01-02T15:04:05.000Z"` // This format was returned by the Projects API before October 1, 2017.
19
- referenceUnixTimeStr = `1136214245`
16
+ emptyTimeStr = `"0001-01-01T00:00:00Z"`
17
+ referenceTimeStr = `"2006-01-02T15:04:05Z"`
18
+ referenceTimeStrFractional = `"2006-01-02T15:04:05.000Z"` // This format was returned by the Projects API before October 1, 2017.
19
+ referenceUnixTimeStr = `1136214245`
20
+ referenceUnixTimeStrMilliSeconds = `1136214245000` // Millisecond-granular timestamps were introduced in the Audit log API.
20
21
)
21
22
22
23
var (
@@ -59,12 +60,14 @@ func TestTimestamp_Unmarshal(t *testing.T) {
59
60
}{
60
61
{"Reference" , referenceTimeStr , Timestamp {referenceTime }, false , true },
61
62
{"ReferenceUnix" , referenceUnixTimeStr , Timestamp {referenceTime }, false , true },
63
+ {"ReferenceUnixMillisecond" , referenceUnixTimeStrMilliSeconds , Timestamp {referenceTime }, false , true },
62
64
{"ReferenceFractional" , referenceTimeStrFractional , Timestamp {referenceTime }, false , true },
63
65
{"Empty" , emptyTimeStr , Timestamp {}, false , true },
64
66
{"UnixStart" , `0` , Timestamp {unixOrigin }, false , true },
65
67
{"Mismatch" , referenceTimeStr , Timestamp {}, false , false },
66
68
{"MismatchUnix" , `0` , Timestamp {}, false , false },
67
69
{"Invalid" , `"asdf"` , Timestamp {referenceTime }, true , false },
70
+ {"OffByMillisecond" , `1136214245001` , Timestamp {referenceTime }, false , false },
68
71
}
69
72
for _ , tc := range testCases {
70
73
var got Timestamp
@@ -144,11 +147,13 @@ func TestWrappedTimestamp_Unmarshal(t *testing.T) {
144
147
}{
145
148
{"Reference" , referenceTimeStr , WrappedTimestamp {0 , Timestamp {referenceTime }}, false , true },
146
149
{"ReferenceUnix" , referenceUnixTimeStr , WrappedTimestamp {0 , Timestamp {referenceTime }}, false , true },
150
+ {"ReferenceUnixMillisecond" , referenceUnixTimeStrMilliSeconds , WrappedTimestamp {0 , Timestamp {referenceTime }}, false , true },
147
151
{"Empty" , emptyTimeStr , WrappedTimestamp {0 , Timestamp {}}, false , true },
148
152
{"UnixStart" , `0` , WrappedTimestamp {0 , Timestamp {unixOrigin }}, false , true },
149
153
{"Mismatch" , referenceTimeStr , WrappedTimestamp {0 , Timestamp {}}, false , false },
150
154
{"MismatchUnix" , `0` , WrappedTimestamp {0 , Timestamp {}}, false , false },
151
155
{"Invalid" , `"asdf"` , WrappedTimestamp {0 , Timestamp {referenceTime }}, true , false },
156
+ {"OffByMillisecond" , `1136214245001` , WrappedTimestamp {0 , Timestamp {referenceTime }}, false , false },
152
157
}
153
158
for _ , tc := range testCases {
154
159
var got Timestamp
0 commit comments