@@ -13,29 +13,34 @@ func TestParseEvent(t *testing.T) {
13
13
14
14
t .Run ("ExtraFields" ,func (t * testing.T ) {
15
15
t .Parallel ()
16
- _ ,err := usagetypes.ParseEvent [usagetypes.DCManagedAgentsV1 ]([]byte (`{"count": 1, "extra": "field"}` ))
17
- require .ErrorContains (t ,err ,"unmarshal usagetypes.DCManagedAgentsV1 event" )
16
+ var event usagetypes.DCManagedAgentsV1
17
+ err := usagetypes .ParseEvent ([]byte (`{"count": 1, "extra": "field"}` ),& event )
18
+ require .ErrorContains (t ,err ,"unmarshal *usagetypes.DCManagedAgentsV1 event" )
18
19
})
19
20
20
21
t .Run ("ExtraData" ,func (t * testing.T ) {
21
22
t .Parallel ()
22
- _ ,err := usagetypes.ParseEvent [usagetypes.DCManagedAgentsV1 ]([]byte (`{"count": 1}{"count": 2}` ))
23
- require .ErrorContains (t ,err ,"extra data after usagetypes.DCManagedAgentsV1 event" )
23
+ var event usagetypes.DCManagedAgentsV1
24
+ err := usagetypes .ParseEvent ([]byte (`{"count": 1}{"count": 2}` ),& event )
25
+ require .ErrorContains (t ,err ,"extra data after *usagetypes.DCManagedAgentsV1 event" )
24
26
})
25
27
26
28
t .Run ("DCManagedAgentsV1" ,func (t * testing.T ) {
27
29
t .Parallel ()
28
30
29
- event ,err := usagetypes.ParseEvent [usagetypes.DCManagedAgentsV1 ]([]byte (`{"count": 1}` ))
31
+ var event usagetypes.DCManagedAgentsV1
32
+ err := usagetypes .ParseEvent ([]byte (`{"count": 1}` ),& event )
30
33
require .NoError (t ,err )
31
34
require .Equal (t , usagetypes.DCManagedAgentsV1 {Count :1 },event )
32
35
require .Equal (t ,map [string ]any {"count" :uint64 (1 )},event .Fields ())
33
36
34
- _ ,err = usagetypes.ParseEvent [usagetypes.DCManagedAgentsV1 ]([]byte (`{"count": "invalid"}` ))
35
- require .ErrorContains (t ,err ,"unmarshal usagetypes.DCManagedAgentsV1 event" )
37
+ event = usagetypes.DCManagedAgentsV1 {}
38
+ err = usagetypes .ParseEvent ([]byte (`{"count": "invalid"}` ),& event )
39
+ require .ErrorContains (t ,err ,"unmarshal *usagetypes.DCManagedAgentsV1 event" )
36
40
37
- _ ,err = usagetypes.ParseEvent [usagetypes.DCManagedAgentsV1 ]([]byte (`{}` ))
38
- require .ErrorContains (t ,err ,"invalid usagetypes.DCManagedAgentsV1 event: count must be greater than 0" )
41
+ event = usagetypes.DCManagedAgentsV1 {}
42
+ err = usagetypes .ParseEvent ([]byte (`{}` ),& event )
43
+ require .ErrorContains (t ,err ,"invalid *usagetypes.DCManagedAgentsV1 event: count must be greater than 0" )
39
44
})
40
45
}
41
46
@@ -45,7 +50,9 @@ func TestParseEventWithType(t *testing.T) {
45
50
t .Run ("UnknownEvent" ,func (t * testing.T ) {
46
51
t .Parallel ()
47
52
_ ,err := usagetypes .ParseEventWithType (usagetypes .UsageEventType ("fake" ), []byte (`{}` ))
48
- require .ErrorContains (t ,err ,"unknown event type: fake" )
53
+ var unknownEventTypeError usagetypes.UnknownEventTypeError
54
+ require .ErrorAs (t ,err ,& unknownEventTypeError )
55
+ require .Equal (t ,"fake" ,unknownEventTypeError .EventType )
49
56
})
50
57
51
58
t .Run ("DCManagedAgentsV1" ,func (t * testing.T ) {