Skip to content

Commit

Permalink
fix: integrate test
Browse files Browse the repository at this point in the history
  • Loading branch information
ta0li committed Sep 20, 2022
1 parent 0b77b4d commit bd58c40
Show file tree
Hide file tree
Showing 8 changed files with 89 additions and 137 deletions.
4 changes: 2 additions & 2 deletions gateway/mock_gateway_client.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,11 +48,11 @@ func (m *MockWalletProxy) AddAddress(addrs []address.Address) error {
return nil
}

func (m *MockWalletProxy) RemoveAddress(ctx context.Context, addr address.Address) error {
func (m *MockWalletProxy) RemoveAddress(ctx context.Context, addrs []address.Address) error {
m.l.Lock()
defer m.l.Unlock()

if _, ok := m.signers[addr]; ok {
for _, addr := range addrs {
delete(m.signers, addr)
}

Expand Down
4 changes: 2 additions & 2 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ require (
github.com/filecoin-project/specs-actors v0.9.15
github.com/filecoin-project/specs-actors/v5 v5.0.6
github.com/filecoin-project/specs-actors/v6 v6.0.2
github.com/filecoin-project/venus v1.7.1-0.20220909053825-c1c66a0ddcee
github.com/filecoin-project/venus-auth v1.7.0
github.com/filecoin-project/venus v1.7.1-0.20220909084750-9361a9370b46
github.com/filecoin-project/venus-auth v1.7.1-0.20220914025723-3667cbc2b890
github.com/golang/mock v1.6.0
github.com/google/uuid v1.3.0
github.com/hunjixin/automapper v0.0.0-20191127090318-9b979ce72ce2
Expand Down
7 changes: 4 additions & 3 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -422,11 +422,12 @@ github.com/filecoin-project/specs-storage v0.4.1/go.mod h1:Z2eK6uMwAOSLjek6+sy0j
github.com/filecoin-project/storetheindex v0.3.5/go.mod h1:0r3d0kSpK63O6AvLr1CjAINLi+nWD49clzcnKV+GLpI=
github.com/filecoin-project/test-vectors/schema v0.0.5/go.mod h1:iQ9QXLpYWL3m7warwvK1JC/pTri8mnfEmKygNDqqY6E=
github.com/filecoin-project/venus v1.2.4/go.mod h1:hJULXHGAnWuq5S5KRtPkwbT8DqgM9II7NwyNU7t59D0=
github.com/filecoin-project/venus v1.7.1-0.20220909053825-c1c66a0ddcee h1:IISZ8a27HgXISKhjdRANQngGBjUReyUYcLl3nFD4miw=
github.com/filecoin-project/venus v1.7.1-0.20220909053825-c1c66a0ddcee/go.mod h1:j6gvRtZxBEnNWRjcpk0qagr9XLaC3or/VXKenNT2W2s=
github.com/filecoin-project/venus v1.7.1-0.20220909084750-9361a9370b46 h1:0mqFl2EUTT0e6AnjDfsp9dAnhM1WT0fsH81TArtTtAU=
github.com/filecoin-project/venus v1.7.1-0.20220909084750-9361a9370b46/go.mod h1:j6gvRtZxBEnNWRjcpk0qagr9XLaC3or/VXKenNT2W2s=
github.com/filecoin-project/venus-auth v1.3.2/go.mod h1:m5Jog2GYxztwP7w3m/iJdv/V1/bTcAVU9rm/CbhxRQU=
github.com/filecoin-project/venus-auth v1.7.0 h1:0ljb7feFJ8buV5M/OX2SfjI1T9n/R/XrjQol20v04b8=
github.com/filecoin-project/venus-auth v1.7.0/go.mod h1:eqjx1U5sJ/3bqqc3PDJutap9A1GAO4fXVt25J6Sm9Fk=
github.com/filecoin-project/venus-auth v1.7.1-0.20220914025723-3667cbc2b890 h1:WQEAQUzz+RRF4XT41YmEgeFZdXCWcF3sbG7nA69kVFI=
github.com/filecoin-project/venus-auth v1.7.1-0.20220914025723-3667cbc2b890/go.mod h1:DR/RdqOycbMyQ4/oKGYMGlh8qwpLw8A40eL1Qbj7KpQ=
github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc=
github.com/flynn/noise v0.0.0-20180327030543-2492fe189ae6/go.mod h1:1i71OnUq3iUe1ma7Lr6yG6/rjvM3emb6yoL7xLFzcVQ=
github.com/flynn/noise v1.0.0 h1:DlTHqmzmvcEiKj+4RYo/imoswx/4r6iBlCMfVtrMXpQ=
Expand Down
99 changes: 30 additions & 69 deletions integration_test/message_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,18 @@ import (

"github.com/filecoin-project/go-address"
"github.com/filecoin-project/go-state-types/big"
"github.com/filecoin-project/venus/pkg/constants"
"github.com/filecoin-project/venus/venus-shared/testutil"
shared "github.com/filecoin-project/venus/venus-shared/types"
types "github.com/filecoin-project/venus/venus-shared/types/messager"
"github.com/stretchr/testify/assert"
"gorm.io/gorm"

"github.com/filecoin-project/venus-messager/config"
"github.com/filecoin-project/venus-messager/service"
"github.com/filecoin-project/venus-messager/testhelper"

"github.com/filecoin-project/venus/pkg/constants"
"github.com/filecoin-project/venus/venus-shared/api/messager"
"github.com/filecoin-project/venus/venus-shared/testutil"
shared "github.com/filecoin-project/venus/venus-shared/types"
types "github.com/filecoin-project/venus/venus-shared/types/messager"
)

func TestMessageAPI(t *testing.T) {
Expand All @@ -35,10 +36,9 @@ func TestMessageAPI(t *testing.T) {
go ms.start(ctx)
assert.NoError(t, <-ms.appStartErr)

account := defaultLocalToken
addrCount := 10
addrs := testhelper.RandAddresses(t, addrCount)
assert.NoError(t, ms.walletCli.AddAddress(account, addrs))
assert.NoError(t, ms.walletCli.AddAddress(addrs))
assert.NoError(t, ms.fullNode.AddActors(addrs))

api, closer, err := newMessagerClient(ctx, ms.port, ms.token)
Expand All @@ -51,35 +51,29 @@ func TestMessageAPI(t *testing.T) {
t.Run("test push message with id", func(t *testing.T) {
testPushMessageWithID(ctx, t, api, addrs)
})
t.Run("test force push message", func(t *testing.T) {
testForcePushMessage(ctx, t, api, addrs, account)
})
t.Run("test force push message with id", func(t *testing.T) {
testForcePushMessageWithID(ctx, t, api, addrs, account)
})
t.Run("test has message by uid", func(t *testing.T) {
testHasMessageByUid(ctx, t, api, addrs, account)
testHasMessageByUid(ctx, t, api, addrs)
})
t.Run("test get message by uid", func(t *testing.T) {
testGetMessageByUid(ctx, t, api, addrs)
})
t.Run("test wait message", func(t *testing.T) {
testWaitMessage(ctx, t, api, addrs, account)
testWaitMessage(ctx, t, api, addrs)
})
t.Run("test get message by signed cid", func(t *testing.T) {
testGetMessageBySignedCID(ctx, t, api, addrs, account)
testGetMessageBySignedCID(ctx, t, api, addrs)
})
t.Run("test get message By unsigned cid", func(t *testing.T) {
testGetMessageByUnsignedCID(ctx, t, api, addrs, account)
testGetMessageByUnsignedCID(ctx, t, api, addrs)
})
t.Run("test get message by from and nonce", func(t *testing.T) {
testGetMessageByFromAndNonce(ctx, t, api, addrs, account)
testGetMessageByFromAndNonce(ctx, t, api, addrs)
})
t.Run("test list message", func(t *testing.T) {
testListMessage(ctx, t, api, addrs, account)
testListMessage(ctx, t, api, addrs)
})
t.Run("test list message by from state", func(t *testing.T) {
testListMessageByFromState(ctx, t, api, addrs, account)
testListMessageByFromState(ctx, t, api, addrs)
})
t.Run("test list message by address", func(t *testing.T) {
testListMessageByAddress(ctx, t, api)
Expand Down Expand Up @@ -145,43 +139,10 @@ func testPushMessageWithID(ctx context.Context, t *testing.T, api messager.IMess
}
}

func testForcePushMessage(ctx context.Context, t *testing.T, api messager.IMessager, addrs []address.Address, account string) {
func testHasMessageByUid(ctx context.Context, t *testing.T, api messager.IMessager, addrs []address.Address) {
msgs := genMessageWithAddress(addrs)
sendSpecs := testhelper.MockSendSpecs()

for _, msg := range msgs {
meta := sendSpecs[rand.Intn(len(sendSpecs))]
id, err := api.ForcePushMessage(ctx, account, &msg.Message, meta)
assert.NoError(t, err)

res, err := api.GetMessageByUid(ctx, id)
assert.NoError(t, err)
checkUnsignedMsg(t, &msg.Message, &res.Message)
checkSendSpec(t, meta, res.Meta)
}
}

func testForcePushMessageWithID(ctx context.Context, t *testing.T, api messager.IMessager, addrs []address.Address, account string) {
msgs := genMessageWithAddress(addrs)
sendSpecs := testhelper.MockSendSpecs()

for _, msg := range msgs {
meta := sendSpecs[rand.Intn(len(sendSpecs))]
id, err := api.ForcePushMessageWithId(ctx, account, msg.ID, &msg.Message, meta)
assert.NoError(t, err)
assert.Equal(t, msg.ID, id)

res, err := api.GetMessageByUid(ctx, msg.ID)
assert.NoError(t, err)
checkUnsignedMsg(t, &msg.Message, &res.Message)
checkSendSpec(t, meta, res.Meta)
}
}

func testHasMessageByUid(ctx context.Context, t *testing.T, api messager.IMessager, addrs []address.Address, account string) {
msgs := genMessageWithAddress(addrs)
for _, msg := range msgs {
id, err := api.ForcePushMessageWithId(ctx, account, msg.ID, &msg.Message, nil)
id, err := api.PushMessageWithId(ctx, msg.ID, &msg.Message, nil)
assert.NoError(t, err)
assert.Equal(t, msg.ID, id)

Expand Down Expand Up @@ -215,13 +176,13 @@ func testGetMessageByUid(ctx context.Context, t *testing.T, api messager.IMessag
assert.Nil(t, res)
}

func testWaitMessage(ctx context.Context, t *testing.T, api messager.IMessager, addrs []address.Address, account string) {
func testWaitMessage(ctx context.Context, t *testing.T, api messager.IMessager, addrs []address.Address) {
msgs := genMessageWithAddress(addrs)
sendSpecs := testhelper.MockSendSpecs()

for _, msg := range msgs {
meta := sendSpecs[rand.Intn(len(sendSpecs))]
id, err := api.ForcePushMessageWithId(ctx, account, msg.ID, &msg.Message, meta)
id, err := api.PushMessageWithId(ctx, msg.ID, &msg.Message, meta)
assert.NoError(t, err)
assert.Equal(t, msg.ID, id)
}
Expand All @@ -239,13 +200,13 @@ func waitMessage(ctx context.Context, t *testing.T, api messager.IMessager, msg
return res
}

func genMessagesAndWait(ctx context.Context, t *testing.T, api messager.IMessager, addrs []address.Address, account string) []*types.Message {
func genMessagesAndWait(ctx context.Context, t *testing.T, api messager.IMessager, addrs []address.Address) []*types.Message {
msgs := genMessageWithAddress(addrs)
sendSpecs := testhelper.MockSendSpecs()

for _, msg := range msgs {
meta := sendSpecs[rand.Intn(len(sendSpecs))]
id, err := api.ForcePushMessageWithId(ctx, account, msg.ID, &msg.Message, meta)
id, err := api.PushMessageWithId(ctx, msg.ID, &msg.Message, meta)
assert.NoError(t, err)
assert.Equal(t, msg.ID, id)
}
Expand All @@ -258,8 +219,8 @@ func genMessagesAndWait(ctx context.Context, t *testing.T, api messager.IMessage
return newMsgs
}

func testGetMessageByUnsignedCID(ctx context.Context, t *testing.T, api messager.IMessager, addrs []address.Address, account string) {
msgs := genMessagesAndWait(ctx, t, api, addrs, account)
func testGetMessageByUnsignedCID(ctx context.Context, t *testing.T, api messager.IMessager, addrs []address.Address) {
msgs := genMessagesAndWait(ctx, t, api, addrs)
for _, msg := range msgs {
res, err := api.GetMessageByUnsignedCid(ctx, *msg.UnsignedCid)
assert.NoError(t, err)
Expand All @@ -273,8 +234,8 @@ func testGetMessageByUnsignedCID(ctx context.Context, t *testing.T, api messager
assert.Nil(t, res)
}

func testGetMessageBySignedCID(ctx context.Context, t *testing.T, api messager.IMessager, addrs []address.Address, account string) {
msgs := genMessagesAndWait(ctx, t, api, addrs, account)
func testGetMessageBySignedCID(ctx context.Context, t *testing.T, api messager.IMessager, addrs []address.Address) {
msgs := genMessagesAndWait(ctx, t, api, addrs)
for _, msg := range msgs {
res, err := api.GetMessageBySignedCid(ctx, *msg.SignedCid)
assert.NoError(t, err)
Expand All @@ -288,8 +249,8 @@ func testGetMessageBySignedCID(ctx context.Context, t *testing.T, api messager.I
assert.Nil(t, res)
}

func testGetMessageByFromAndNonce(ctx context.Context, t *testing.T, api messager.IMessager, addrs []address.Address, account string) {
msgs := genMessagesAndWait(ctx, t, api, addrs, account)
func testGetMessageByFromAndNonce(ctx context.Context, t *testing.T, api messager.IMessager, addrs []address.Address) {
msgs := genMessagesAndWait(ctx, t, api, addrs)
for _, msg := range msgs {
res, err := api.GetMessageByFromAndNonce(ctx, msg.From, msg.Nonce)
assert.NoError(t, err)
Expand All @@ -303,8 +264,8 @@ func testGetMessageByFromAndNonce(ctx context.Context, t *testing.T, api message
assert.Nil(t, res)
}

func testListMessage(ctx context.Context, t *testing.T, api messager.IMessager, addrs []address.Address, account string) {
msgs := genMessagesAndWait(ctx, t, api, addrs, account)
func testListMessage(ctx context.Context, t *testing.T, api messager.IMessager, addrs []address.Address) {
msgs := genMessagesAndWait(ctx, t, api, addrs)
list, err := api.ListMessage(ctx)
assert.NoError(t, err)
assert.GreaterOrEqual(t, len(list), len(msgs))
Expand All @@ -323,10 +284,10 @@ func testListMessage(ctx context.Context, t *testing.T, api messager.IMessager,
}
}

func testListMessageByFromState(ctx context.Context, t *testing.T, api messager.IMessager, addrs []address.Address, account string) {
func testListMessageByFromState(ctx context.Context, t *testing.T, api messager.IMessager, addrs []address.Address) {
// insert message
genMessagesAndWait(ctx, t, api, addrs, account)
genMessagesAndWait(ctx, t, api, addrs, account)
genMessagesAndWait(ctx, t, api, addrs)
genMessagesAndWait(ctx, t, api, addrs)

state := types.OnChainMsg
isAsc := true
Expand Down
Loading

0 comments on commit bd58c40

Please sign in to comment.