Skip to content

Commit

Permalink
test: feed legacy resolution
Browse files Browse the repository at this point in the history
  • Loading branch information
nugaon committed Feb 28, 2025
1 parent a8aa5a9 commit 7516b7b
Showing 1 changed file with 27 additions and 10 deletions.
37 changes: 27 additions & 10 deletions pkg/feeds/getter_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,18 +17,24 @@ import (
func TestGetWrappedChunk(t *testing.T) {
storer := mockstorer.New()

data := []byte("data")
// new format (wraps chunk)
ch := soctesting.GenerateMockSOC(t, []byte("data")).Chunk()
wch, err := GetWrappedChunk(context.Background(), storer.ChunkStore(), ch)
ch := soctesting.GenerateMockSOC(t, data).Chunk()
wch, err := GetWrappedChunk(context.Background(), storer.ChunkStore(), ch, false)
if err != nil {
t.Fatal(err)
}

if !bytes.Equal(wch.Data()[8:], []byte("data")) {
if !bytes.Equal(wch.Data()[8:], data) {
t.Fatal("data mismatch")
}

// old format
err = storer.Put(context.Background(), wch)
if err != nil {
t.Fatal(err)
}

tt := []struct {
name string
addr []byte
Expand All @@ -49,19 +55,30 @@ func TestGetWrappedChunk(t *testing.T) {
binary.BigEndian.PutUint64(timestamp, 1)
ch = soctesting.GenerateMockSOC(t, append(timestamp, tc.addr...)).Chunk()

err = storer.Put(context.Background(), wch)
wch, err = GetWrappedChunk(context.Background(), storer.ChunkStore(), ch, true)
if err != nil {
t.Fatal(err)
}

wch, err = GetWrappedChunk(context.Background(), storer.ChunkStore(), ch)
if err != nil {
t.Fatal(err)
}

if !bytes.Equal(wch.Data()[8:], []byte("data")) {
if !bytes.Equal(wch.Data()[8:], data) {
t.Fatal("data mismatch")
}
})
}

t.Run("returns feed legacy payload", func(t *testing.T) {
timestamp := make([]byte, 8)
binary.BigEndian.PutUint64(timestamp, 1)
feedChData := append(timestamp, wch.Address().Bytes()...)
ch = soctesting.GenerateMockSOC(t, feedChData).Chunk()

wch, err = GetWrappedChunk(context.Background(), storer.ChunkStore(), ch, false)
if err != nil {
t.Fatal(err)
}

if !bytes.Equal(wch.Data()[8:], feedChData) {
t.Fatal("data should be similar as old legacy feed payload format.")
}
})
}

0 comments on commit 7516b7b

Please sign in to comment.