Skip to content

Commit

Permalink
fix tests
Browse files Browse the repository at this point in the history
  • Loading branch information
vgonkivs committed Jan 22, 2025
1 parent 93dba58 commit ad64dfa
Showing 1 changed file with 119 additions and 51 deletions.
170 changes: 119 additions & 51 deletions nodebuilder/tests/share_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ package tests

import (
"context"
"math"
"testing"
"time"

Expand Down Expand Up @@ -51,6 +50,7 @@ func TestShareModule(t *testing.T) {
lightNode := sw.NewNodeWithConfig(node.Light, lightCfg)
require.NoError(t, lightNode.Start(ctx))

bridgeClient := getAdminClient(ctx, bridge, t)
fullClient := getAdminClient(ctx, fullNode, t)
lightClient := getAdminClient(ctx, lightNode, t)

Expand Down Expand Up @@ -83,73 +83,86 @@ func TestShareModule(t *testing.T) {
doFn: func(t *testing.T) {
err := lightClient.Share.SharesAvailable(ctx, height)
require.NoError(t, err)
err = fullClient.Share.SharesAvailable(ctx, height)
require.NoError(t, err)
err = bridgeClient.Share.SharesAvailable(ctx, height)
require.NoError(t, err)
},
},
{
name: "SharesAvailable_InvalidHeight",
doFn: func(t *testing.T) {
err := lightClient.Share.SharesAvailable(ctx, 0)
require.Error(t, err)
},
},
{
name: "SharesAvailable_FutureHeight",
doFn: func(t *testing.T) {
err := lightClient.Share.SharesAvailable(ctx, math.MaxUint)
require.Error(t, err)
},
},
{
name: "GetShare",
name: "GetShareQ1",
doFn: func(t *testing.T) {
sh, err := lightClient.Share.GetShare(ctx, height, coords.Row, coords.Col)
require.NoError(t, err)
assert.Equal(t, blobAsShares[0], sh)

sh, err = fullClient.Share.GetShare(ctx, height, coords.Row, coords.Col)
require.NoError(t, err)
assert.Equal(t, blobAsShares[0], sh)

sh, err = bridgeClient.Share.GetShare(ctx, height, coords.Row, coords.Col)
require.NoError(t, err)
assert.Equal(t, blobAsShares[0], sh)
},
},
{
name: "GetShare_InvalidRow",
doFn: func(t *testing.T) {
sh, err := lightClient.Share.GetShare(ctx, height, -1, coords.Col)
require.Error(t, err)
assert.Nil(t, sh.ToBytes())
},
},
{
name: "GetShare_InvalidCol",
doFn: func(t *testing.T) {
sh, err := lightClient.Share.GetShare(ctx, height, coords.Row, -1)
require.Error(t, err)
assert.Nil(t, sh.ToBytes())
},
},
{
name: "GetShare_InvalidCoords",
name: "GetShareQ4",
doFn: func(t *testing.T) {
dah := hdr.DAH
sh, err := lightClient.Share.GetShare(ctx, height, len(dah.RowRoots), len(dah.ColumnRoots))
require.Error(t, err)
assert.Nil(t, sh.ToBytes())
lightSh, err := lightClient.Share.GetShare(ctx, height, len(hdr.DAH.RowRoots)-1, len(hdr.DAH.ColumnRoots)-1)
require.NoError(t, err)

fullSh, err := fullClient.Share.GetShare(ctx, height, len(hdr.DAH.RowRoots)-1, len(hdr.DAH.ColumnRoots)-1)
require.NoError(t, err)

bridgeSh, err := bridgeClient.Share.GetShare(ctx, height, len(hdr.DAH.RowRoots)-1, len(hdr.DAH.ColumnRoots)-1)
require.NoError(t, err)

assert.Equal(t, lightSh, fullSh)
assert.Equal(t, lightSh, bridgeSh)

},
},
{
name: "GetSamples",
name: "GetSamplesQ1",
doFn: func(t *testing.T) {
dah := hdr.DAH
samples, err := lightClient.Share.GetSamples(ctx, hdr, []shwap.SampleCoords{coords})
requestCoords := []shwap.SampleCoords{coords}

samples, err := lightClient.Share.GetSamples(ctx, hdr, requestCoords)
require.NoError(t, err)
err = samples[0].Verify(dah, coords.Row, coords.Col)
require.NoError(t, err)

fullSamples, err := fullClient.Share.GetSamples(ctx, hdr, requestCoords)
require.NoError(t, err)

bridgeSamples, err := bridgeClient.Share.GetSamples(ctx, hdr, requestCoords)
require.NoError(t, err)

assert.Equal(t, samples, fullSamples)
assert.Equal(t, samples, bridgeSamples)
},
},
{
name: "GetSamples_InvalidCoords",
name: "GetSamplesQ4",
doFn: func(t *testing.T) {
dah := hdr.DAH
coords := shwap.SampleCoords{Row: len(dah.RowRoots), Col: len(dah.ColumnRoots)}
samples, err := lightClient.Share.GetSamples(ctx, hdr, []shwap.SampleCoords{coords})
require.Error(t, err)
assert.Nil(t, samples)
coords := shwap.SampleCoords{Row: len(dah.RowRoots) - 1, Col: len(dah.RowRoots) - 1}
requestCoords := []shwap.SampleCoords{coords}

samples, err := lightClient.Share.GetSamples(ctx, hdr, requestCoords)
require.NoError(t, err)
err = samples[0].Verify(dah, coords.Row, coords.Col)
require.NoError(t, err)

fullSamples, err := fullClient.Share.GetSamples(ctx, hdr, requestCoords)
require.NoError(t, err)

bridgeSamples, err := bridgeClient.Share.GetSamples(ctx, hdr, requestCoords)
require.NoError(t, err)

assert.Equal(t, samples, fullSamples)
assert.Equal(t, samples, bridgeSamples)
},
},
{
Expand All @@ -161,10 +174,24 @@ func TestShareModule(t *testing.T) {
sh, err := libshare.FromBytes([][]byte{rawShares[coords.Col]})
require.NoError(t, err)
assert.Equal(t, blobAsShares[0], sh[0])

eds, err = fullClient.Share.GetEDS(ctx, height)
require.NoError(t, err)
rawShares = eds.Row(uint(coords.Row))
sh, err = libshare.FromBytes([][]byte{rawShares[coords.Col]})
require.NoError(t, err)
assert.Equal(t, blobAsShares[0], sh[0])

eds, err = bridgeClient.Share.GetEDS(ctx, height)
require.NoError(t, err)
rawShares = eds.Row(uint(coords.Row))
sh, err = libshare.FromBytes([][]byte{rawShares[coords.Col]})
require.NoError(t, err)
assert.Equal(t, blobAsShares[0], sh[0])
},
},
{
name: "GetRow",
name: "GetRowQ1",
doFn: func(t *testing.T) {
row, err := lightClient.Share.GetRow(ctx, height, coords.Row)
require.NoError(t, err)
Expand All @@ -175,30 +202,71 @@ func TestShareModule(t *testing.T) {
shrs, err := row.Shares()
require.NoError(t, err)
assert.Equal(t, blobAsShares[0], shrs[coords.Col])

fullRow, err := fullClient.Share.GetRow(ctx, height, coords.Row)
require.NoError(t, err)
_, err = fullRow.Shares()
require.NoError(t, err)

bridgeRow, err := bridgeClient.Share.GetRow(ctx, height, coords.Row)
require.NoError(t, err)
_, err = bridgeRow.Shares()
require.NoError(t, err)

assert.Equal(t, row, fullRow)
assert.Equal(t, row, bridgeRow)
},
},
{
name: "GetRow_InvalidRow",
name: "GetRowQ4",
doFn: func(t *testing.T) {
_, err := lightClient.Share.GetRow(ctx, height, -1)
require.Error(t, err)
_, err = lightClient.Share.GetRow(ctx, height, math.MinInt64)
require.Error(t, err)
dah := hdr.DAH
coords := shwap.SampleCoords{Row: len(dah.RowRoots) - 1, Col: len(dah.RowRoots) - 1}
row, err := lightClient.Share.GetRow(ctx, height, coords.Row)
require.NoError(t, err)

err = row.Verify(dah, coords.Row)
require.NoError(t, err)

fullRow, err := fullClient.Share.GetRow(ctx, height, coords.Row)
require.NoError(t, err)
_, err = fullRow.Shares()
require.NoError(t, err)

bridgeRow, err := bridgeClient.Share.GetRow(ctx, height, coords.Row)
require.NoError(t, err)
_, err = bridgeRow.Shares()
require.NoError(t, err)

assert.Equal(t, row, fullRow)
assert.Equal(t, row, bridgeRow)
},
},
{
name: "GetNamespaceData",
doFn: func(t *testing.T) {
dah := hdr.DAH
nsData, err := lightClient.Share.GetNamespaceData(ctx, height, blobAsShares[0].Namespace())
require.NoError(t, err)
dah := hdr.DAH

err = nsData.Verify(dah, blobAsShares[0].Namespace())
require.NoError(t, err)

b, err := libshare.ParseBlobs(nsData.Flatten())
require.NoError(t, err)

blb, err := blob.ToNodeBlobs(b[0])
require.NoError(t, err)
require.Equal(t, nodeBlob[0].Commitment, blb[0].Commitment)

fullNsData, err := fullClient.Share.GetNamespaceData(ctx, height, blobAsShares[0].Namespace())
require.NoError(t, err)

bridgeNsData, err := bridgeClient.Share.GetNamespaceData(ctx, height, blobAsShares[0].Namespace())
require.NoError(t, err)

assert.Equal(t, nsData, fullNsData)
assert.Equal(t, nsData, bridgeNsData)
},
},
}
Expand Down

0 comments on commit ad64dfa

Please sign in to comment.