From e0cfe56ff1917ecc6e1b7807ac0046d3a7c04da8 Mon Sep 17 00:00:00 2001 From: zl Date: Mon, 14 Nov 2022 17:25:51 +0800 Subject: [PATCH 1/4] feat: tests and STM annotations --- integrate_test/marketapi_test.go | 5 ++++ integrate_test/proofapi_test.go | 4 +++ integrate_test/walletapi_test.go | 5 ++++ marketevent/market_event_test.go | 9 +++++++ proofevent/proof_event.go | 1 + proofevent/proof_event_test.go | 17 ++++++++++++- types/base_event_test.go | 13 ++++++++++ validator/miner_validator_test.go | 33 ++++++++++++++++++++++--- walletevent/wallet_event_test.go | 41 +++++++++++++++++++++++++++++++ 9 files changed, 123 insertions(+), 5 deletions(-) diff --git a/integrate_test/marketapi_test.go b/integrate_test/marketapi_test.go index 783f580..2ebeec0 100644 --- a/integrate_test/marketapi_test.go +++ b/integrate_test/marketapi_test.go @@ -1,3 +1,4 @@ +// stm: #integration package integrate import ( @@ -51,6 +52,7 @@ func TestMarketAPI(t *testing.T) { handler := testhelper.NewMarketHandler(t) proofEvent := marketevent.NewMarketEventClient(walletEventClient, mAddr, handler, logging.Logger("test").With()) + // stm: @VENUSGATEWAY_MARKET_EVENT_LISTEN_MARKET_EVENT_001 go proofEvent.ListenMarketRequest(ctx) proofEvent.WaitReady(ctx) @@ -64,6 +66,7 @@ func TestMarketAPI(t *testing.T) { size := abi.PaddedPieceSize(100) offset := sharedTypes.PaddedByteIndex(100) handler.SetCheckIsUnsealExpect(sectorRef, offset, size, false) + // stm: @VENUSGATEWAY_API_IS_UNSEALED_001, @VENUSGATEWAY_MARKET_EVENT_IS_UNSEALED_001 isUnseal, err := sAPi.IsUnsealed(ctx, mAddr, cid.Undef, sectorRef, offset, size) require.NoError(t, err) require.True(t, isUnseal) @@ -106,6 +109,7 @@ func TestMarketAPI(t *testing.T) { pieceCid, err := cid.Decode("bafy2bzaced2kktxdkqw5pey5of3wtahz5imm7ta4ymegah466dsc5fonj73u2") require.NoError(t, err) handler.SetSectorsUnsealPieceExpect(pieceCid, sectorRef, offset, size, dest, false) + // stm: @VENUSGATEWAY_API_SECTOR_UNSEAL_PRICE_001 err = sAPi.SectorsUnsealPiece(ctx, mAddr, pieceCid, sectorRef, offset, size, dest) require.NoError(t, err) @@ -136,6 +140,7 @@ func TestMarketAPI(t *testing.T) { go marketEventClient.ListenMarketRequest(ctx) marketEventClient.WaitReady(ctx) + // stm: @VENUSGATEWAY_API_LIST_MARKET_CONNECTIONS_STATE_001 connectsState, err := sAPi.ListMarketConnectionsState(ctx) require.NoError(t, err) require.Len(t, connectsState, 1) diff --git a/integrate_test/proofapi_test.go b/integrate_test/proofapi_test.go index 9f1f46d..d5e4ace 100644 --- a/integrate_test/proofapi_test.go +++ b/integrate_test/proofapi_test.go @@ -1,3 +1,4 @@ +// stm: #integration package integrate import ( @@ -74,6 +75,7 @@ func TestProofAPI(t *testing.T) { go proofEvent.ListenProofRequest(ctx) proofEvent.WaitReady(ctx) + // stm: @VENUSGATEWAY_API_COMPUTE_PROOF_001 proof, err := sAPi.ComputeProof(ctx, mAddr, expectInfo, expectRand, expectEpoch, expectVersion) require.NoError(t, err) require.Equal(t, expectProof, proof) @@ -167,10 +169,12 @@ func TestProofAPI(t *testing.T) { go proofEvent3.ListenProofRequest(ctx) proofEvent3.WaitReady(ctx) + // stm: @VENUSGATEWAY_API_LIST_CONNECTED_MINERS_001 miners, err := sAPi.ListConnectedMiners(ctx) require.NoError(t, err) require.Equal(t, 2, len(miners)) + // stm: @VENUSGATEWAY_API_LIST_MINER_CONNECTION_001 minerConnections, err := sAPi.ListMinerConnection(ctx, mAddr) require.NoError(t, err) require.Equal(t, 2, len(minerConnections.Connections)) diff --git a/integrate_test/walletapi_test.go b/integrate_test/walletapi_test.go index 821f9b6..58cb760 100644 --- a/integrate_test/walletapi_test.go +++ b/integrate_test/walletapi_test.go @@ -1,3 +1,4 @@ +// stm: #integration package integrate import ( @@ -83,6 +84,7 @@ func TestWalletAPI(t *testing.T) { err = walletEvent.AddNewAddress(ctx, []address.Address{toAddAddr1, toAddAddr2}) require.NoError(t, err) + // stm: @VENUSGATEWAY_API_LIST_WALLET_INFO_BY_WALLET_001 walletDetail, err := sAPi.ListWalletInfoByWallet(ctx, "defaultLocalToken") require.NoError(t, err) require.Contains(t, walletDetail.ConnectStates[0].Addrs, toAddAddr1) @@ -184,6 +186,7 @@ func TestWalletAPI(t *testing.T) { go walletEvent2.ListenWalletRequest(ctx) walletEvent2.WaitReady(ctx) + // stm: @VENUSGATEWAY_API_WALLET_SIGN_001 walletInfo, err := sAPi.ListWalletInfo(ctx) require.NoError(t, err) require.Len(t, walletInfo, 1) @@ -221,6 +224,7 @@ func TestWalletAPI(t *testing.T) { err = walletEvent.SupportAccount(ctx, "123") require.NoError(t, err) + // stm: @VENUSGATEWAY_API_WALLET_HAS_001 has, err := sAPi.WalletHas(ctx, "123", addr1) require.NoError(t, err) require.True(t, has) @@ -260,6 +264,7 @@ func TestWalletAPI(t *testing.T) { var msg [32]byte _, err = rand.Read(msg[:]) require.NoError(t, err) + // stm: @VENUSGATEWAY_API_WALLET_SIGN_001 sig, err := sAPi.WalletSign(ctx, "123", addr1, msg[:], types2.MsgMeta{}) require.NoError(t, err) err = wallet.Verify(ctx, addr1, sig, msg[:]) diff --git a/marketevent/market_event_test.go b/marketevent/market_event_test.go index f2fd930..a574f3d 100644 --- a/marketevent/market_event_test.go +++ b/marketevent/market_event_test.go @@ -1,3 +1,4 @@ +// stm: #unit package marketevent import ( @@ -42,6 +43,7 @@ func TestListenMarketEvent(t *testing.T) { marketEvent := setupMarketEvent(t, supportAccount, minerAddr) client := NewMarketEventClient(marketEvent, addrGetter(), nil, log.With()) + // stm: @VENUSGATEWAY_MARKET_EVENT_LISTEN_MARKET_EVENT_002 err := client.listenMarketRequestOnce(jwtclient.CtxWithName(jwtclient.CtxWithTokenLocation(ctx, "127.1.1.1"), supportAccount)) require.Contains(t, err.Error(), "not exists") }) @@ -54,6 +56,7 @@ func TestListenMarketEvent(t *testing.T) { //register marketEvent := setupMarketEvent(t, supportAccount, minerAddr) client := NewMarketEventClient(marketEvent, minerAddr, nil, log.With()) + // stm: @VENUSGATEWAY_MARKET_EVENT_LISTEN_MARKET_EVENT_003 err := client.listenMarketRequestOnce(jwtclient.CtxWithName(ctx, supportAccount)) require.Contains(t, err.Error(), "ip not exist") }) @@ -70,6 +73,7 @@ func TestIsUnsealed(t *testing.T) { marketEvent := setupMarketEvent(t, supportAccount, minerAddr) handler := testhelper.NewMarketHandler(t) client := NewMarketEventClient(marketEvent, minerAddr, handler, log.With()) + // stm: @VENUSGATEWAY_MARKET_EVENT_RESPONSE_MARKET_EVENT_001 go client.ListenMarketRequest(jwtclient.CtxWithName(jwtclient.CtxWithTokenLocation(ctx, "127.1.1.1"), supportAccount)) client.WaitReady(ctx) @@ -83,6 +87,7 @@ func TestIsUnsealed(t *testing.T) { size := abi.PaddedPieceSize(100) offset := sharedTypes.PaddedByteIndex(100) handler.SetCheckIsUnsealExpect(sectorRef, offset, size, false) + // stm: @VENUSGATEWAY_MARKET_EVENT_IS_UNSEALED_001 isUnsealed, err := marketEvent.IsUnsealed(ctx, minerAddr, cid.Undef, sectorRef, offset, size) require.NoError(t, err) require.True(t, isUnsealed) @@ -107,6 +112,7 @@ func TestIsUnsealed(t *testing.T) { size := abi.PaddedPieceSize(100) offset := sharedTypes.PaddedByteIndex(100) handler.SetCheckIsUnsealExpect(sectorRef, offset, size, false) + // stm: @VENUSGATEWAY_MARKET_EVENT_IS_UNSEALED_003 _, err := marketEvent.IsUnsealed(ctx, addrGetter(), cid.Undef, sectorRef, offset, size) require.Contains(t, err.Error(), "no connections for this miner") }) @@ -162,6 +168,7 @@ func TestUnsealed(t *testing.T) { pieceCid, err := cid.Decode("bafy2bzaced2kktxdkqw5pey5of3wtahz5imm7ta4ymegah466dsc5fonj73u2") require.NoError(t, err) handler.SetSectorsUnsealPieceExpect(pieceCid, sectorRef, offset, size, dest, false) + // stm: @VENUSGATEWAY_MARKET_EVENT_SECTORS_UNSEAL_PIECE_001 err = marketEvent.SectorsUnsealPiece(ctx, minerAddr, pieceCid, sectorRef, offset, size, dest) require.NoError(t, err) }) @@ -188,6 +195,7 @@ func TestUnsealed(t *testing.T) { pieceCid, err := cid.Decode("bafy2bzaced2kktxdkqw5pey5of3wtahz5imm7ta4ymegah466dsc5fonj73u2") require.NoError(t, err) handler.SetSectorsUnsealPieceExpect(pieceCid, sectorRef, offset, size, dest, false) + // stm: @VENUSGATEWAY_MARKET_EVENT_SECTORS_UNSEAL_PIECE_003 err = marketEvent.SectorsUnsealPiece(ctx, addrGetter(), pieceCid, sectorRef, offset, size, dest) require.Contains(t, err.Error(), "no connections for this miner") }) @@ -231,6 +239,7 @@ func TestListMarketConnectionsState(t *testing.T) { go client.ListenMarketRequest(jwtclient.CtxWithName(jwtclient.CtxWithTokenLocation(ctx, "127.1.1.1"), walletAccount)) client.WaitReady(ctx) + // stm: @VENUSGATEWAY_MARKET_EVENT_LIST_MARKET_CONNECTIONS_STATE_001 marketState, err := marketEvent.ListMarketConnectionsState(ctx) require.NoError(t, err) require.Len(t, marketState, 1) diff --git a/proofevent/proof_event.go b/proofevent/proof_event.go index 1784eb0..eeeb476 100644 --- a/proofevent/proof_event.go +++ b/proofevent/proof_event.go @@ -154,6 +154,7 @@ func (e *ProofEventStream) ComputeProof(ctx context.Context, miner address.Addre metrics.ComputeProof.M(metrics.SinceInMilliseconds(start))) if err == nil { return result, nil + } return nil, err } diff --git a/proofevent/proof_event_test.go b/proofevent/proof_event_test.go index b7f2e5f..0930fdc 100644 --- a/proofevent/proof_event_test.go +++ b/proofevent/proof_event_test.go @@ -1,3 +1,4 @@ +// stm: #unit package proofevent import ( @@ -33,6 +34,7 @@ func TestListenProofEvent(t *testing.T) { proof := setupProofEvent(t, []address.Address{addr1}) ctx, cancel := context.WithCancel(context.Background()) ctx = jwtclient.CtxWithTokenLocation(ctx, "127.1.1.1") + // stm: @VENUSGATEWAY_PROOF_EVENT_LISTEN_PROOF_EVENT_001 requestCh, err := proof.ListenProofEvent(ctx, &types.ProofRegisterPolicy{ MinerAddress: addr1, }) @@ -64,6 +66,7 @@ func TestListenProofEvent(t *testing.T) { proof := setupProofEvent(t, []address.Address{addr1}) ctx, cancel := context.WithCancel(context.Background()) proofClient := NewProofEvent(proof, addr1, testhelper.NewTimeoutProofHandler(time.Second), log.With()) + // stm: go proofClient.ListenProofRequest(jwtclient.CtxWithTokenLocation(ctx, "127.1.1.1")) proofClient.WaitReady(ctx) @@ -99,6 +102,7 @@ func TestListenProofEvent(t *testing.T) { defer cancel() ctx = jwtclient.CtxWithTokenLocation(ctx, "127.1.1.1") + // stm: @VENUSGATEWAY_PROOF_EVENT_LISTEN_PROOF_EVENT_003 _, err := proof.ListenProofEvent(ctx, &types.ProofRegisterPolicy{ MinerAddress: addr2, }) @@ -109,6 +113,7 @@ func TestListenProofEvent(t *testing.T) { proof := setupProofEvent(t, []address.Address{addr1}) ctx, cancel := context.WithCancel(context.Background()) defer cancel() + // stm: @VENUSGATEWAY_PROOF_EVENT_LISTEN_PROOF_EVENT_002 _, err := proof.ListenProofEvent(ctx, &types.ProofRegisterPolicy{ MinerAddress: addr2, }) @@ -146,6 +151,7 @@ func TestComputeProofEvent(t *testing.T) { go proofClient.ListenProofRequest(jwtclient.CtxWithTokenLocation(ctx, "127.1.1.1")) proofClient.WaitReady(ctx) + // stm: @VENUSGATEWAY_PROOF_EVENT_COMPUTE_PROOF_001 result, err := proof.ComputeProof(ctx, addr, expectInfo, expectRand, expectEpoch, expectVersion) require.NoError(t, err) require.Equal(t, expectProof, result) @@ -184,6 +190,7 @@ func TestComputeProofEvent(t *testing.T) { channels, err := proof.getChannels(addr) require.NoError(t, err) var result []builtin.PoStProof + // stm: @VENUSGATEWAY_PROOF_EVENT_COMPUTE_PROOF_002 err = proof.SendRequest(ctx, channels, "ComputeProof", []byte{1, 3, 5, 1, 3}, &result) require.Contains(t, err.Error(), "invalid character") } @@ -210,13 +217,19 @@ func TestComputeProofEvent(t *testing.T) { go proofClient.ListenProofRequest(jwtclient.CtxWithTokenLocation(ctx, "127.1.1.1")) proofClient.WaitReady(ctx) + // stm: @VENUSGATEWAY_PROOF_EVENT_COMPUTE_PROOF_004 result, err := proof.ComputeProof(ctx, addr, expectInfo, expectRand, expectEpoch, expectVersion) require.EqualError(t, err, "mock error") require.Nil(t, result) + // stm: @VENUSGATEWAY_PROOF_EVENT_COMPUTE_PROOF_003 + addr3 := addrGetter() + _, err = proof.ComputeProof(ctx, addr3, expectInfo, expectRand, expectEpoch, expectVersion) + require.Error(t, err) + require.Contains(t, err.Error(), "no connections for this miner") }) - t.Run("uncorrect result error", func(t *testing.T) { + t.Run("incorrect result error", func(t *testing.T) { proof := setupProofEvent(t, []address.Address{addr}) { ctx := jwtclient.CtxWithTokenLocation(context.Background(), "127.1.1.1") @@ -313,6 +326,8 @@ func TestListMinerConnection(t *testing.T) { proofClient.WaitReady(ctx) } + // todo: should change 'LISTEN' to 'LIST', it maybe a spell mistake. + // stm: @VENUSGATEWAY_PROOF_EVENT_LISTEN_CONNECTED_MINERS_001 connetions, err := proof.ListMinerConnection(ctx, addr1) require.NoError(t, err) require.Equal(t, connetions.ConnectionCount, 2) diff --git a/types/base_event_test.go b/types/base_event_test.go index 35a5590..07e7f23 100644 --- a/types/base_event_test.go +++ b/types/base_event_test.go @@ -1,3 +1,4 @@ +// stm: #unit package types import ( @@ -32,6 +33,7 @@ func TestSendRequest(t *testing.T) { var clients []*mockClient client := setupClient(t, eventSteam, "127.1.1.1") + // stm: @VENUSGATEWAY_TYPES_RESPONSE_EVENT_001 go client.start(ctx) clients = append(clients, client) var getConns = func() []*ChannelInfo { @@ -41,8 +43,14 @@ func TestSendRequest(t *testing.T) { } return channels } + + // stm: @VENUSGATEWAY_TYPES_SEND_REQUEST_001 err = eventSteam.SendRequest(ctx, getConns(), "mock_method", parms, result) require.NoError(t, err) + + // stm: @VENUSGATEWAY_TYPES_SEND_REQUEST_002 + err = eventSteam.SendRequest(ctx, nil, "mock_method", parms, result) + require.Error(t, err) }) //test for bug https://github.com/filecoin-project/venus/issues/4992 @@ -245,6 +253,11 @@ func TestSendRequest(t *testing.T) { defer cancel() eventSteam := NewBaseEventStream(ctx, DefaultConfig()) + // expect id not exists error + // stm: @VENUSGATEWAY_TYPES_RESPONSE_EVENT_002 + err := eventSteam.ResponseEvent(ctx, &types.ResponseEvent{ID: sharedTypes.NewUUID()}) + require.Error(t, err) + parms, err := json.Marshal(mockParams{A: "mock arg"}) require.NoError(t, err) result := &mockResult{} diff --git a/validator/miner_validator_test.go b/validator/miner_validator_test.go index dce362a..29c51b4 100644 --- a/validator/miner_validator_test.go +++ b/validator/miner_validator_test.go @@ -1,3 +1,4 @@ +// stm: #unit package validator import ( @@ -33,6 +34,24 @@ var testArgs = map[string]*struct { State: 0, Miners: []*auth.OutputMiner{{Miner: "f01002", User: "test_02"}}, }}, + // test_03, username is not same as miner + "test_03": {false, &auth.OutputUser{ + Id: uuid.NewString(), + Name: "test_02", + SourceType: 1, + Comment: "test_02", + State: 1, + Miners: []*auth.OutputMiner{{Miner: "f01002", User: "test_02"}}, + }}, + // username not exists in rpc context + "": {false, &auth.OutputUser{ + Id: uuid.NewString(), + Name: "test_02", + SourceType: 1, + Comment: "test_02", + State: 1, + Miners: []*auth.OutputMiner{{Miner: "f01002", User: "test_02"}}, + }}, } func TestAuthMinerValidator_Validate(t *testing.T) { @@ -42,20 +61,26 @@ func TestAuthMinerValidator_Validate(t *testing.T) { notExistsMiner, err := address.NewIDAddress(10245566778899) require.NoError(t, err) - for _, arg := range testArgs { + for userName, arg := range testArgs { authClient.AddMockUser(arg.user) - ctx := jwtclient.CtxWithName(context.TODO(), arg.user.Name) + var ctx = context.Background() + if userName != "" { + ctx = jwtclient.CtxWithName(ctx, userName) + } for _, miner := range arg.user.Miners { addr, err := address.NewFromString(miner.Miner) require.NoError(t, err) if arg.validOk { + // stm: @VENUSGATEWAY_VALIDATOR_VALIDATE_001 require.NoError(t, validator.Validate(ctx, addr)) } else { + // user is disabled, username is not same as miner return an error, username not exists in context + // stm: @VENUSGATEWAY_VALIDATOR_VALIDATE_005, @VENUSGATEWAY_VALIDATOR_VALIDATE_002, @VENUSGATEWAY_VALIDATOR_VALIDATE_003 require.Error(t, validator.Validate(ctx, addr)) } } - + // miner not exists + // stm: @VENUSGATEWAY_VALIDATOR_VALIDATE_004 require.Error(t, validator.Validate(ctx, notExistsMiner)) } - } diff --git a/walletevent/wallet_event_test.go b/walletevent/wallet_event_test.go index e1a1281..2236656 100644 --- a/walletevent/wallet_event_test.go +++ b/walletevent/wallet_event_test.go @@ -1,3 +1,4 @@ +// stm: #unit package walletevent import ( @@ -28,6 +29,13 @@ func TestListenWalletEvent(t *testing.T) { walletEvent := setupWalletEvent(t) client := setupClient(t, ctx, walletAccount, []string{"admin"}, walletEvent) + { + ctx := jwtclient.CtxWithTokenLocation(ctx, "127.1.1.1") + // stm: @VENUSGATEWAY_WALLET_EVENT_LISTEN_WALLET_EVENT_002 + err := client.walletEventClient.listenWalletRequestOnce(ctx) + require.Error(t, err) + } + // stm: @VENUSGATEWAY_WALLET_EVENT_LISTEN_WALLET_EVENT_001, @VENUSGATEWAY_WALLET_EVENT_RESPONSE_WALLET_EVENT_001 go client.listenWalletEvent(ctx) client.walletEventClient.WaitReady(ctx) @@ -76,6 +84,7 @@ func TestSupportNewAccount(t *testing.T) { go client.listenWalletEvent(ctx) client.walletEventClient.WaitReady(ctx) + // stm: @VENUSGATEWAY_WALLET_EVENT_SUPPORT_NEW_ACCOUNT_001 err := client.supportNewAccount(ctx, "ac1") require.NoError(t, err) @@ -92,6 +101,10 @@ func TestSupportNewAccount(t *testing.T) { ctx = jwtclient.CtxWithName(ctx, "fac_acc") err = client.walletEventClient.SupportAccount(ctx, "__") require.NoError(t, err) + + // wallet account not exists in context + // stm: @VENUSGATEWAY_WALLET_EVENT_SUPPORT_NEW_ACCOUNT_002 + require.Error(t, client.walletEventClient.SupportAccount(context.Background(), "xxx_x")) } func TestAddNewAddress(t *testing.T) { @@ -107,10 +120,28 @@ func TestAddNewAddress(t *testing.T) { addr1 := client.newkey() addr2 := client.newkey() + // wallet account not exists in context + // stm: @VENUSGATEWAY_WALLET_EVENT_ADD_NEW_ADDRESS_002 err := client.walletEventClient.AddNewAddress(ctx, []address.Address{addr1}) require.EqualError(t, err, "unable to get account name in method AddNewAddress request") + ctx = jwtclient.CtxWithName(ctx, "incorrect wallet account") + // wallet connection info not found + // stm: @VENUSGATEWAY_WALLET_EVENT_ADD_NEW_ADDRESS_003 + err = client.walletEventClient.AddNewAddress(ctx, []address.Address{addr1}) + require.Error(t, err) + ctx = jwtclient.CtxWithName(ctx, walletAccount) + // stm: @VENUSGATEWAY_WALLET_EVENT_ADD_NEW_ADDRESS_004 + client.wallet.SetFail(ctx, true) + walletEvent.disableVerifyWalletAddrs = false + // verify address failed + err = client.walletEventClient.AddNewAddress(ctx, []address.Address{addr1}) + require.Contains(t, err.Error(), "verify address") + client.wallet.SetFail(ctx, false) + walletEvent.disableVerifyWalletAddrs = true + + // stm: @VENUSGATEWAY_WALLET_EVENT_ADD_NEW_ADDRESS_001 err = client.walletEventClient.AddNewAddress(ctx, []address.Address{addr1}) require.NoError(t, err) @@ -157,9 +188,11 @@ func TestRemoveNewAddressAndWalletHas(t *testing.T) { require.NoError(t, err) require.False(t, has) + // stm: @VENUSGATEWAY_WALLET_EVENT_REMOVE_ADDRESS_002 err = client.walletEventClient.RemoveAddress(ctx, []address.Address{addr1}) require.EqualError(t, err, "unable to get account name in method RemoveAddress request") + // stm: @VENUSGATEWAY_WALLET_EVENT_REMOVE_ADDRESS_001 err = client.walletEventClient.RemoveAddress(accCtx, []address.Address{addr1}) require.NoError(t, err) @@ -195,9 +228,17 @@ func TestWalletSign(t *testing.T) { go client.listenWalletEvent(ctx) client.walletEventClient.WaitReady(ctx) + // stm: @ VENUSGATEWAY_WALLET_EVENT_WALLET_SIGN_003 + _, err := walletEvent.WalletSign(ctx, "invalid account", address.Undef, []byte{1, 2, 3}, sharedTypes.MsgMeta{ + Type: sharedTypes.MTUnknown, + Extra: nil, + }) + require.Error(t, err) + addrs, err := client.wallet.WalletList(ctx) for _, addr := range addrs { require.NoError(t, err) + // stm: @VENUSGATEWAY_WALLET_EVENT_WALLET_SIGN_001 _, err = walletEvent.WalletSign(ctx, "admin", addr, []byte{1, 2, 3}, sharedTypes.MsgMeta{ Type: sharedTypes.MTUnknown, Extra: nil, From 893344c3994304c3f2ca0d80e93cad2ce7d4bbcd Mon Sep 17 00:00:00 2001 From: zl Date: Mon, 14 Nov 2022 17:29:16 +0800 Subject: [PATCH 2/4] fix: remove varcheck, structcheck and deadcode from golangcilint, because those checks are deprecated and was replace by unused --- .golangci.yml | 3 --- walletevent/wallet_event_test.go | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index 94fe4b3..5120d24 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -9,9 +9,6 @@ linters: - errcheck - unconvert - staticcheck - - varcheck - - structcheck - - deadcode - unused - stylecheck - gosimple diff --git a/walletevent/wallet_event_test.go b/walletevent/wallet_event_test.go index 2236656..3aac077 100644 --- a/walletevent/wallet_event_test.go +++ b/walletevent/wallet_event_test.go @@ -228,7 +228,7 @@ func TestWalletSign(t *testing.T) { go client.listenWalletEvent(ctx) client.walletEventClient.WaitReady(ctx) - // stm: @ VENUSGATEWAY_WALLET_EVENT_WALLET_SIGN_003 + // stm: @VENUSGATEWAY_WALLET_EVENT_WALLET_SIGN_003 _, err := walletEvent.WalletSign(ctx, "invalid account", address.Undef, []byte{1, 2, 3}, sharedTypes.MsgMeta{ Type: sharedTypes.MTUnknown, Extra: nil, From 109788a366da87283c453583021920d738e50cbc Mon Sep 17 00:00:00 2001 From: zl Date: Wed, 16 Nov 2022 18:20:13 +0800 Subject: [PATCH 3/4] feat: add circleci pipline for stm tests, use self published orbs --- circleci/config.yml | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 circleci/config.yml diff --git a/circleci/config.yml b/circleci/config.yml new file mode 100644 index 0000000..1038597 --- /dev/null +++ b/circleci/config.yml @@ -0,0 +1,43 @@ + +usage: + version: 2.1 + + orbs: + go: venus/go-pkg-test@1.0.1 + jobs: + test_all: + executor: + name: go/default + tag: "cimg/go:1.18.1" + steps: + - go/setup_env: + install_ffi: true + - go/test: + display-name: integrate_test + suite: "integrate_test" + target: "./integrate_test/..." + - go/test: + display-name: proofevent_uint_test + suite: "proofevent" + target: "./proofevent/..." + - go/test: + display-name: walletevent_uint_test + suite: "walletevent" + target: "./walletevent/..." + - go/test: + display-name: marketevent_uint_test + suite: "marketevent" + target: "./marketevent/..." + - go/test: + display-name: validator_unit_test + suite: "validator_unit_test" + target: "./validator/..." + - go/test: + display-name: baseevent_unit_test + suite: "baseevent_unit_test" + target: "./types/..." + + workflows: + ci: + jobs: + - test_all From 186279d445c6c22faa29ac0462da176c36aef02e Mon Sep 17 00:00:00 2001 From: zl Date: Thu, 17 Nov 2022 10:43:35 +0800 Subject: [PATCH 4/4] fix: correct circleci config path --- .circleci/config.yml | 41 +++++++++++++++++++++++++++++++++++++++++ circleci/config.yml | 43 ------------------------------------------- 2 files changed, 41 insertions(+), 43 deletions(-) create mode 100644 .circleci/config.yml delete mode 100644 circleci/config.yml diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..1bc35bd --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,41 @@ +version: 2.1 + +orbs: + go: venus/go-pkg-test@1.0.1 +jobs: + test_all: + executor: + name: go/default + tag: "cimg/go:1.18.1" + steps: + - go/setup_env: + install_ffi: true + - go/test: + display-name: integrate_test + suite: "integrate_test" + target: "./integrate_test/..." + - go/test: + display-name: proofevent_uint_test + suite: "proofevent" + target: "./proofevent/..." + - go/test: + display-name: walletevent_uint_test + suite: "walletevent" + target: "./walletevent/..." + - go/test: + display-name: marketevent_uint_test + suite: "marketevent" + target: "./marketevent/..." + - go/test: + display-name: validator_unit_test + suite: "validator_unit_test" + target: "./validator/..." + - go/test: + display-name: baseevent_unit_test + suite: "baseevent_unit_test" + target: "./types/..." + +workflows: + ci: + jobs: + - test_all diff --git a/circleci/config.yml b/circleci/config.yml deleted file mode 100644 index 1038597..0000000 --- a/circleci/config.yml +++ /dev/null @@ -1,43 +0,0 @@ - -usage: - version: 2.1 - - orbs: - go: venus/go-pkg-test@1.0.1 - jobs: - test_all: - executor: - name: go/default - tag: "cimg/go:1.18.1" - steps: - - go/setup_env: - install_ffi: true - - go/test: - display-name: integrate_test - suite: "integrate_test" - target: "./integrate_test/..." - - go/test: - display-name: proofevent_uint_test - suite: "proofevent" - target: "./proofevent/..." - - go/test: - display-name: walletevent_uint_test - suite: "walletevent" - target: "./walletevent/..." - - go/test: - display-name: marketevent_uint_test - suite: "marketevent" - target: "./marketevent/..." - - go/test: - display-name: validator_unit_test - suite: "validator_unit_test" - target: "./validator/..." - - go/test: - display-name: baseevent_unit_test - suite: "baseevent_unit_test" - target: "./types/..." - - workflows: - ci: - jobs: - - test_all