Add stm annotations

This commit is contained in:
Darko Brdareski 2022-02-21 12:32:53 +01:00
parent c3817652dc
commit c8cd8bb591

View File

@ -1,3 +1,4 @@
//stm: #integration
package cli package cli
import ( import (
@ -54,6 +55,7 @@ func TestStat(t *testing.T) {
mockApi.EXPECT().StateGetActor(ctx, senderAddr, head.Key()).Return(&actor, nil), mockApi.EXPECT().StateGetActor(ctx, senderAddr, head.Key()).Return(&actor, nil),
) )
//stm: @CLI_MEMPOOL_STAT_002
err = app.Run([]string{"mpool", "stat", "--basefee-lookback", "1", "--local"}) err = app.Run([]string{"mpool", "stat", "--basefee-lookback", "1", "--local"})
assert.NoError(t, err) assert.NoError(t, err)
@ -93,6 +95,7 @@ func TestStat(t *testing.T) {
mockApi.EXPECT().StateGetActor(ctx, senderAddr, head.Key()).Return(&actor, nil), mockApi.EXPECT().StateGetActor(ctx, senderAddr, head.Key()).Return(&actor, nil),
) )
//stm: @CLI_MEMPOOL_STAT_001
err = app.Run([]string{"mpool", "stat", "--basefee-lookback", "1"}) err = app.Run([]string{"mpool", "stat", "--basefee-lookback", "1"})
assert.NoError(t, err) assert.NoError(t, err)
@ -125,6 +128,7 @@ func TestPending(t *testing.T) {
mockApi.EXPECT().MpoolPending(ctx, types.EmptyTSK).Return([]*types.SignedMessage{sm}, nil), mockApi.EXPECT().MpoolPending(ctx, types.EmptyTSK).Return([]*types.SignedMessage{sm}, nil),
) )
//stm: @CLI_MEMPOOL_PENDING_001
err = app.Run([]string{"mpool", "pending", "--cids"}) err = app.Run([]string{"mpool", "pending", "--cids"})
assert.NoError(t, err) assert.NoError(t, err)
@ -156,6 +160,7 @@ func TestPending(t *testing.T) {
mockApi.EXPECT().MpoolPending(ctx, types.EmptyTSK).Return([]*types.SignedMessage{sm}, nil), mockApi.EXPECT().MpoolPending(ctx, types.EmptyTSK).Return([]*types.SignedMessage{sm}, nil),
) )
//stm: @CLI_MEMPOOL_PENDING_002
err = app.Run([]string{"mpool", "pending", "--local"}) err = app.Run([]string{"mpool", "pending", "--local"})
assert.NoError(t, err) assert.NoError(t, err)
@ -186,6 +191,7 @@ func TestPending(t *testing.T) {
mockApi.EXPECT().MpoolPending(ctx, types.EmptyTSK).Return([]*types.SignedMessage{sm}, nil), mockApi.EXPECT().MpoolPending(ctx, types.EmptyTSK).Return([]*types.SignedMessage{sm}, nil),
) )
//stm: @CLI_MEMPOOL_PENDING_003
err = app.Run([]string{"mpool", "pending", "--to", sm.Message.To.String()}) err = app.Run([]string{"mpool", "pending", "--to", sm.Message.To.String()})
assert.NoError(t, err) assert.NoError(t, err)
@ -216,6 +222,7 @@ func TestPending(t *testing.T) {
mockApi.EXPECT().MpoolPending(ctx, types.EmptyTSK).Return([]*types.SignedMessage{sm}, nil), mockApi.EXPECT().MpoolPending(ctx, types.EmptyTSK).Return([]*types.SignedMessage{sm}, nil),
) )
//stm: @CLI_MEMPOOL_PENDING_004
err = app.Run([]string{"mpool", "pending", "--from", sm.Message.From.String()}) err = app.Run([]string{"mpool", "pending", "--from", sm.Message.From.String()})
assert.NoError(t, err) assert.NoError(t, err)
@ -252,6 +259,7 @@ func TestReplace(t *testing.T) {
mockApi.EXPECT().MpoolPush(ctx, sm).Return(sm.Cid(), nil), mockApi.EXPECT().MpoolPush(ctx, sm).Return(sm.Cid(), nil),
) )
//stm: @CLI_MEMPOOL_REPLACE_002
err = app.Run([]string{"mpool", "replace", "--gas-premium", "1", "--gas-feecap", "100", sm.Cid().String()}) err = app.Run([]string{"mpool", "replace", "--gas-premium", "1", "--gas-feecap", "100", sm.Cid().String()})
assert.NoError(t, err) assert.NoError(t, err)
@ -296,11 +304,56 @@ func TestReplace(t *testing.T) {
mockApi.EXPECT().MpoolPush(ctx, sm).Return(sm.Cid(), nil), mockApi.EXPECT().MpoolPush(ctx, sm).Return(sm.Cid(), nil),
) )
//stm: @CLI_MEMPOOL_REPLACE_002
err = app.Run([]string{"mpool", "replace", "--auto", "--fee-limit", maxFee, sm.Cid().String()}) err = app.Run([]string{"mpool", "replace", "--auto", "--fee-limit", maxFee, sm.Cid().String()})
assert.NoError(t, err) assert.NoError(t, err)
assert.Contains(t, buf.String(), sm.Cid().String()) assert.Contains(t, buf.String(), sm.Cid().String())
}) })
t.Run("sender / nonce", func(t *testing.T) {
app, mockApi, buf, done := NewMockAppWithFullAPI(t, WithCategory("mpool", MpoolReplaceCmd))
defer done()
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
// create a signed message to be returned as a pending message
w, err := wallet.NewWallet(wallet.NewMemKeyStore())
senderAddr, err := w.WalletNew(context.Background(), types.KTSecp256k1)
if err != nil {
t.Fatal(err)
}
toAddr, err := w.WalletNew(context.Background(), types.KTSecp256k1)
if err != nil {
t.Fatal(err)
}
sm := mock.MkMessage(senderAddr, toAddr, 1, w)
// gas fee param should be equal to the one passed in the cli invocation (used below)
maxFee := "1000000"
parsedFee, err := types.ParseFIL(maxFee)
if err != nil {
t.Fatal(err)
}
mss := api.MessageSendSpec{MaxFee: abi.TokenAmount(parsedFee)}
gomock.InOrder(
mockApi.EXPECT().ChainHead(ctx).Return(nil, nil),
mockApi.EXPECT().MpoolPending(ctx, types.EmptyTSK).Return([]*types.SignedMessage{sm}, nil),
// use gomock.any to match the message in expected api calls
// since the replace function modifies the message between calls, it would be pointless to try to match the exact argument
mockApi.EXPECT().GasEstimateMessageGas(ctx, gomock.Any(), &mss, types.EmptyTSK).Return(&sm.Message, nil),
mockApi.EXPECT().WalletSignMessage(ctx, sm.Message.From, gomock.Any()).Return(sm, nil),
mockApi.EXPECT().MpoolPush(ctx, sm).Return(sm.Cid(), nil),
)
//stm: @CLI_MEMPOOL_REPLACE_001
err = app.Run([]string{"mpool", "replace", "--auto", "--fee-limit", maxFee, sm.Message.From.String(), fmt.Sprint(sm.Message.Nonce)})
assert.NoError(t, err)
assert.Contains(t, buf.String(), sm.Cid().String())
})
} }
func TestFindMsg(t *testing.T) { func TestFindMsg(t *testing.T) {
@ -327,6 +380,7 @@ func TestFindMsg(t *testing.T) {
mockApi.EXPECT().MpoolPending(ctx, types.EmptyTSK).Return([]*types.SignedMessage{sm}, nil), mockApi.EXPECT().MpoolPending(ctx, types.EmptyTSK).Return([]*types.SignedMessage{sm}, nil),
) )
//stm: @CLI_MEMPOOL_FIND_001
err = app.Run([]string{"mpool", "find", "--from", sm.Message.From.String()}) err = app.Run([]string{"mpool", "find", "--from", sm.Message.From.String()})
assert.NoError(t, err) assert.NoError(t, err)
@ -356,6 +410,7 @@ func TestFindMsg(t *testing.T) {
mockApi.EXPECT().MpoolPending(ctx, types.EmptyTSK).Return([]*types.SignedMessage{sm}, nil), mockApi.EXPECT().MpoolPending(ctx, types.EmptyTSK).Return([]*types.SignedMessage{sm}, nil),
) )
//stm: @CLI_MEMPOOL_FIND_002
err = app.Run([]string{"mpool", "find", "--to", sm.Message.To.String()}) err = app.Run([]string{"mpool", "find", "--to", sm.Message.To.String()})
assert.NoError(t, err) assert.NoError(t, err)
@ -385,6 +440,7 @@ func TestFindMsg(t *testing.T) {
mockApi.EXPECT().MpoolPending(ctx, types.EmptyTSK).Return([]*types.SignedMessage{sm}, nil), mockApi.EXPECT().MpoolPending(ctx, types.EmptyTSK).Return([]*types.SignedMessage{sm}, nil),
) )
//stm: @CLI_MEMPOOL_FIND_003
err = app.Run([]string{"mpool", "find", "--method", sm.Message.Method.String()}) err = app.Run([]string{"mpool", "find", "--method", sm.Message.Method.String()})
assert.NoError(t, err) assert.NoError(t, err)
@ -421,6 +477,7 @@ func TestGasPerf(t *testing.T) {
mockApi.EXPECT().ChainHead(ctx).Return(head, nil), mockApi.EXPECT().ChainHead(ctx).Return(head, nil),
) )
//stm: @CLI_MEMPOOL_GAS_PERF_002
err = app.Run([]string{"mpool", "gas-perf", "--all", "true"}) err = app.Run([]string{"mpool", "gas-perf", "--all", "true"})
assert.NoError(t, err) assert.NoError(t, err)
@ -457,6 +514,7 @@ func TestGasPerf(t *testing.T) {
mockApi.EXPECT().ChainHead(ctx).Return(head, nil), mockApi.EXPECT().ChainHead(ctx).Return(head, nil),
) )
//stm: @CLI_MEMPOOL_GAS_PERF_001
err = app.Run([]string{"mpool", "gas-perf"}) err = app.Run([]string{"mpool", "gas-perf"})
assert.NoError(t, err) assert.NoError(t, err)
@ -484,6 +542,7 @@ func TestConfig(t *testing.T) {
mockApi.EXPECT().MpoolGetConfig(ctx).Return(mpoolCfg, nil), mockApi.EXPECT().MpoolGetConfig(ctx).Return(mpoolCfg, nil),
) )
//stm: @CLI_MEMPOOL_CONFIG_001
err = app.Run([]string{"mpool", "config"}) err = app.Run([]string{"mpool", "config"})
assert.NoError(t, err) assert.NoError(t, err)
@ -516,6 +575,7 @@ func TestConfig(t *testing.T) {
t.Fatal(err) t.Fatal(err)
} }
//stm: @CLI_MEMPOOL_CONFIG_002
err = app.Run([]string{"mpool", "config", string(bytes)}) err = app.Run([]string{"mpool", "config", string(bytes)})
assert.NoError(t, err) assert.NoError(t, err)
}) })