2023-11-27 07:31:35 -08:00
|
|
|
package events
|
2023-10-18 07:18:32 -07:00
|
|
|
|
|
|
|
import (
|
|
|
|
"encoding/json"
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
)
|
|
|
|
|
|
|
|
// TestGetEventPayload contains a test harness for the `GetEventPayload` function.
|
|
|
|
func Test_GetEventPayload(t *testing.T) {
|
|
|
|
|
|
|
|
body := `{
|
|
|
|
"trackId": "63e16082da939a263512a307",
|
|
|
|
"source": "fly",
|
2023-11-27 07:31:35 -08:00
|
|
|
"event": "signed-vaa",
|
|
|
|
"data": {
|
2023-10-18 07:18:32 -07:00
|
|
|
"id": "2/000000000000000000000000f890982f9310df57d00f659cf4fd87e65aded8d7/162727",
|
|
|
|
"emitterChain": 2,
|
|
|
|
"emitterAddr": "000000000000000000000000f890982f9310df57d00f659cf4fd87e65aded8d7",
|
|
|
|
"sequence": 162727,
|
|
|
|
"guardianSetIndex": 0,
|
|
|
|
"timestamp": "2023-08-04T11:43:48.000Z",
|
|
|
|
"vaa": "010000000001005defe63f46c192b506758684fada6b97f5a8ee287a82efefa35c59dcf369a83b1abfe5431ad51a31051bf42851b5f699421e525745db03e8bc43a6b36dde6fc00064cd0ea4446900000002000000000000000000000000f890982f9310df57d00f659cf4fd87e65aded8d70000000000027ba7010300000000000000000000000000000000000000000000000000000000004c4b40000000000000000000000000b4fbf271143f4fbf7b91a5ded31805e42b2208d600026d9ae6b2d333c1d65301a59da3eed388ca5dc60cb12496584b75cbe6b15fdbed002000000000000000000000000072b916142650cb48bbbed0acaeb5b287d1c55d917b2262617369635f726563697069656e74223a7b22726563697069656e74223a22633256704d58426f4e445631626a646a4e6a426c6448566d6432317964575272617a4a3061336877647a4e6f595859794e6d4e6d5a6a5933227d7d",
|
|
|
|
"txHash" : "406065c15b62426c51f987f5923fb376f6b60cb1c15724cc5460a08d18ccc337",
|
|
|
|
"version" : 1
|
|
|
|
}
|
|
|
|
}`
|
|
|
|
|
|
|
|
event := NotificationEvent{}
|
|
|
|
err := json.Unmarshal([]byte(body), &event)
|
|
|
|
assert.NoError(t, err)
|
|
|
|
assert.Equal(t, "63e16082da939a263512a307", event.TrackID)
|
|
|
|
assert.Equal(t, "fly", event.Source)
|
2023-11-27 07:31:35 -08:00
|
|
|
assert.Equal(t, SignedVaaType, event.Event)
|
|
|
|
signedVaa, err := GetEventData[SignedVaa](&event)
|
2023-10-18 07:18:32 -07:00
|
|
|
assert.NoError(t, err)
|
|
|
|
assert.Equal(t, "2/000000000000000000000000f890982f9310df57d00f659cf4fd87e65aded8d7/162727", signedVaa.ID)
|
|
|
|
}
|
|
|
|
|
|
|
|
func Test_GetEventPayload_Error(t *testing.T) {
|
|
|
|
|
|
|
|
body := `{
|
|
|
|
"trackId": "63e16082da939a263512a307",
|
|
|
|
"source": "fly",
|
2023-11-27 07:31:35 -08:00
|
|
|
"event": "signed-vaa"
|
2023-10-18 07:18:32 -07:00
|
|
|
}`
|
|
|
|
|
|
|
|
event := NotificationEvent{}
|
|
|
|
err := json.Unmarshal([]byte(body), &event)
|
|
|
|
assert.NoError(t, err)
|
|
|
|
assert.Equal(t, "63e16082da939a263512a307", event.TrackID)
|
|
|
|
assert.Equal(t, "fly", event.Source)
|
2023-11-27 07:31:35 -08:00
|
|
|
assert.Equal(t, SignedVaaType, event.Event)
|
|
|
|
_, err = GetEventData[SignedVaa](&event)
|
2023-10-18 07:18:32 -07:00
|
|
|
assert.Error(t, err)
|
|
|
|
}
|