Skip to content

Commit e18e0f4

Browse files
committed
refactor: replace mockBlobAPI with mocks.MockBlobModule in client tests
1 parent 061b9ff commit e18e0f4

File tree

1 file changed

+38
-63
lines changed

1 file changed

+38
-63
lines changed

block/internal/da/client_test.go

Lines changed: 38 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -8,55 +8,23 @@ import (
88

99
"github.com/celestiaorg/go-square/v3/share"
1010
blobrpc "github.com/evstack/ev-node/pkg/da/jsonrpc"
11+
"github.com/evstack/ev-node/pkg/da/jsonrpc/mocks"
1112
datypes "github.com/evstack/ev-node/pkg/da/types"
1213
"github.com/rs/zerolog"
1314
"github.com/stretchr/testify/assert"
15+
"github.com/stretchr/testify/mock"
1416
"github.com/stretchr/testify/require"
1517
)
1618

17-
type mockBlobAPI struct {
18-
submitErr error
19-
height uint64
20-
blobs []*blobrpc.Blob
21-
proof *blobrpc.Proof
22-
included bool
23-
commitProof *blobrpc.CommitmentProof
24-
}
25-
26-
func (m *mockBlobAPI) Submit(ctx context.Context, blobs []*blobrpc.Blob, opts *blobrpc.SubmitOptions) (uint64, error) {
27-
return m.height, m.submitErr
28-
}
29-
30-
func (m *mockBlobAPI) GetAll(ctx context.Context, height uint64, namespaces []share.Namespace) ([]*blobrpc.Blob, error) {
31-
return m.blobs, m.submitErr
32-
}
33-
34-
func (m *mockBlobAPI) GetProof(ctx context.Context, height uint64, namespace share.Namespace, commitment blobrpc.Commitment) (*blobrpc.Proof, error) {
35-
return m.proof, m.submitErr
36-
}
37-
38-
func (m *mockBlobAPI) Included(ctx context.Context, height uint64, namespace share.Namespace, proof *blobrpc.Proof, commitment blobrpc.Commitment) (bool, error) {
39-
return m.included, m.submitErr
40-
}
41-
42-
func (m *mockBlobAPI) GetCommitmentProof(ctx context.Context, height uint64, namespace share.Namespace, shareCommitment []byte) (*blobrpc.CommitmentProof, error) {
43-
return m.commitProof, m.submitErr
44-
}
45-
46-
func (m *mockBlobAPI) Subscribe(ctx context.Context, namespace share.Namespace) (<-chan *blobrpc.SubscriptionResponse, error) {
47-
ch := make(chan *blobrpc.SubscriptionResponse)
48-
close(ch)
49-
return ch, nil
50-
}
51-
52-
func makeBlobRPCClient(m *mockBlobAPI) *blobrpc.Client {
19+
func makeBlobRPCClient(module *mocks.MockBlobModule) *blobrpc.Client {
5320
var api blobrpc.BlobAPI
54-
api.Internal.Submit = m.Submit
55-
api.Internal.GetAll = m.GetAll
56-
api.Internal.GetProof = m.GetProof
57-
api.Internal.Included = m.Included
58-
api.Internal.GetCommitmentProof = m.GetCommitmentProof
59-
api.Internal.Subscribe = m.Subscribe
21+
api.Internal.Submit = module.Submit
22+
api.Internal.Get = module.Get
23+
api.Internal.GetAll = module.GetAll
24+
api.Internal.GetProof = module.GetProof
25+
api.Internal.Included = module.Included
26+
api.Internal.GetCommitmentProof = module.GetCommitmentProof
27+
api.Internal.Subscribe = module.Subscribe
6028
return &blobrpc.Client{Blob: api}
6129
}
6230

@@ -78,8 +46,11 @@ func TestClient_Submit_ErrorMapping(t *testing.T) {
7846

7947
for _, tc := range testCases {
8048
t.Run(tc.name, func(t *testing.T) {
49+
module := mocks.NewMockBlobModule(t)
50+
module.On("Submit", mock.Anything, mock.Anything, mock.Anything).Return(uint64(0), tc.err)
51+
8152
cl := NewClient(Config{
82-
Client: makeBlobRPCClient(&mockBlobAPI{submitErr: tc.err}),
53+
Client: makeBlobRPCClient(module),
8354
Logger: zerolog.Nop(),
8455
Namespace: "ns",
8556
DataNamespace: "ns",
@@ -92,9 +63,11 @@ func TestClient_Submit_ErrorMapping(t *testing.T) {
9263

9364
func TestClient_Submit_Success(t *testing.T) {
9465
ns := share.MustNewV0Namespace([]byte("ns")).Bytes()
95-
mockAPI := &mockBlobAPI{height: 10}
66+
module := mocks.NewMockBlobModule(t)
67+
module.On("Submit", mock.Anything, mock.Anything, mock.Anything).Return(uint64(10), nil)
68+
9669
cl := NewClient(Config{
97-
Client: makeBlobRPCClient(mockAPI),
70+
Client: makeBlobRPCClient(module),
9871
Logger: zerolog.Nop(),
9972
Namespace: "ns",
10073
DataNamespace: "ns",
@@ -106,9 +79,9 @@ func TestClient_Submit_Success(t *testing.T) {
10679
}
10780

10881
func TestClient_Submit_InvalidNamespace(t *testing.T) {
109-
mockAPI := &mockBlobAPI{height: 10}
82+
module := mocks.NewMockBlobModule(t)
11083
cl := NewClient(Config{
111-
Client: makeBlobRPCClient(mockAPI),
84+
Client: makeBlobRPCClient(module),
11285
Logger: zerolog.Nop(),
11386
Namespace: "ns",
11487
DataNamespace: "ns",
@@ -119,9 +92,11 @@ func TestClient_Submit_InvalidNamespace(t *testing.T) {
11992

12093
func TestClient_Retrieve_NotFound(t *testing.T) {
12194
ns := share.MustNewV0Namespace([]byte("ns")).Bytes()
122-
mockAPI := &mockBlobAPI{submitErr: datypes.ErrBlobNotFound}
95+
module := mocks.NewMockBlobModule(t)
96+
module.On("GetAll", mock.Anything, mock.Anything, mock.Anything).Return([]*blobrpc.Blob(nil), datypes.ErrBlobNotFound)
97+
12398
cl := NewClient(Config{
124-
Client: makeBlobRPCClient(mockAPI),
99+
Client: makeBlobRPCClient(module),
125100
Logger: zerolog.Nop(),
126101
Namespace: "ns",
127102
DataNamespace: "ns",
@@ -134,9 +109,11 @@ func TestClient_Retrieve_Success(t *testing.T) {
134109
ns := share.MustNewV0Namespace([]byte("ns")).Bytes()
135110
b, err := blobrpc.NewBlobV0(share.MustNewV0Namespace([]byte("ns")), []byte("payload"))
136111
require.NoError(t, err)
137-
mockAPI := &mockBlobAPI{height: 7, blobs: []*blobrpc.Blob{b}}
112+
module := mocks.NewMockBlobModule(t)
113+
module.On("GetAll", mock.Anything, uint64(7), mock.Anything).Return([]*blobrpc.Blob{b}, nil)
114+
138115
cl := NewClient(Config{
139-
Client: makeBlobRPCClient(mockAPI),
116+
Client: makeBlobRPCClient(module),
140117
Logger: zerolog.Nop(),
141118
Namespace: "ns",
142119
DataNamespace: "ns",
@@ -149,9 +126,11 @@ func TestClient_Retrieve_Success(t *testing.T) {
149126

150127
func TestClient_SubmitOptionsMerge(t *testing.T) {
151128
ns := share.MustNewV0Namespace([]byte("ns")).Bytes()
152-
mockAPI := &mockBlobAPI{height: 1}
129+
module := mocks.NewMockBlobModule(t)
130+
module.On("Submit", mock.Anything, mock.Anything, mock.Anything).Return(uint64(1), nil)
131+
153132
cl := NewClient(Config{
154-
Client: makeBlobRPCClient(mockAPI),
133+
Client: makeBlobRPCClient(module),
155134
Logger: zerolog.Nop(),
156135
Namespace: "ns",
157136
DataNamespace: "ns",
@@ -169,13 +148,11 @@ func TestClient_RetrieveHeaders(t *testing.T) {
169148
ns := share.MustNewV0Namespace([]byte("header-ns"))
170149
blb, err := blobrpc.NewBlobV0(ns, []byte("header-blob"))
171150
require.NoError(t, err)
172-
173-
mockAPI := &mockBlobAPI{
174-
blobs: []*blobrpc.Blob{blb},
175-
}
151+
module := mocks.NewMockBlobModule(t)
152+
module.On("GetAll", mock.Anything, uint64(42), mock.Anything).Return([]*blobrpc.Blob{blb}, nil)
176153

177154
client := NewClient(Config{
178-
Client: makeBlobRPCClient(mockAPI),
155+
Client: makeBlobRPCClient(module),
179156
Logger: zerolog.Nop(),
180157
Namespace: "header-ns",
181158
DataNamespace: "data-ns",
@@ -194,13 +171,11 @@ func TestClient_RetrieveData(t *testing.T) {
194171
require.NoError(t, err)
195172
blb2, err := blobrpc.NewBlobV0(ns, []byte("data-blob-2"))
196173
require.NoError(t, err)
197-
198-
mockAPI := &mockBlobAPI{
199-
blobs: []*blobrpc.Blob{blb1, blb2},
200-
}
174+
module := mocks.NewMockBlobModule(t)
175+
module.On("GetAll", mock.Anything, uint64(99), mock.Anything).Return([]*blobrpc.Blob{blb1, blb2}, nil)
201176

202177
client := NewClient(Config{
203-
Client: makeBlobRPCClient(mockAPI),
178+
Client: makeBlobRPCClient(module),
204179
Logger: zerolog.Nop(),
205180
Namespace: "header-ns",
206181
DataNamespace: "data-ns",

0 commit comments

Comments
 (0)