123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- package borealis
- import (
- "bytes"
- "encoding/json"
- "testing"
- "time"
- "github.com/fxamacker/cbor/v2"
- "github.com/segmentio/ksuid"
- )
- var expectedEvent = Event{
- Type: 1,
- SequentialID: 2,
- Timestamp: time.UnixMicro(1231006508004000), // 2009-01-03T18:15:08.004Z
- UniqueID: ksuid.KSUID{245, 237, 93, 44, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15},
- Payload: map[string]interface{}{},
- }
- var expectedEventRaw = RawEvent{
- Type: 1,
- SequentialID: 2,
- TimestampS: 3,
- TimestampMS: 4,
- UniqueID: []byte{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF},
- Payload: map[string]interface{}{},
- }
- var expectedEventJSON = "[1,2,3,4,\"AAECAwQFBgcICQoLDA0ODw==\",{}]"
- var expectedEventCBOR = []byte{0x86, 1, 2, 3, 4, 0x50, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 0xa0}
- func TestCheckEvent(t *testing.T) {
- actualEvent, err := expectedEventRaw.Check()
- if err != nil {
- t.Error(err)
- }
- if !expectedEvent.Equal(*actualEvent) {
- t.Errorf("expected %v, but got %v", expectedEvent, actualEvent)
- }
- }
- func TestEncodeEventJSON(t *testing.T) {
- output, err := json.Marshal(expectedEventRaw)
- if err != nil {
- t.Error(err)
- }
- actual := string(output)
- if actual != expectedEventJSON {
- t.Errorf("expected %v, but got %v", expectedEventJSON, actual)
- }
- }
- func TestEncodeEventCBOR(t *testing.T) {
- actual, err := cbor.Marshal(expectedEventRaw)
- if err != nil {
- t.Error(err)
- }
- if !bytes.Equal(actual, expectedEventCBOR) {
- t.Errorf("expected %v, but got %v", expectedEventCBOR, actual)
- }
- }
- func TestDecodeEventJSON(t *testing.T) {
- var actual RawEvent
- if err := json.Unmarshal([]byte(expectedEventJSON), &actual); err != nil {
- t.Error(err)
- }
- if !expectedEventRaw.Equal(actual) {
- t.Errorf("expected %v, but got %v", expectedEventRaw, actual)
- }
- }
- func TestDecodeEventCBOR(t *testing.T) {
- var actual RawEvent
- if err := cbor.Unmarshal([]byte(expectedEventCBOR), &actual); err != nil {
- t.Error(err)
- }
- if !expectedEventRaw.Equal(actual) {
- t.Errorf("expected %v, but got %v", expectedEventRaw, actual)
- }
- }
|