github.com/lzy4123/fabric@v2.1.1+incompatible/internal/peer/channel/getinfo_test.go (about) 1 /* 2 Copyright IBM Corp. All Rights Reserved. 3 4 SPDX-License-Identifier: Apache-2.0 5 */ 6 7 package channel 8 9 import ( 10 "testing" 11 12 "github.com/golang/protobuf/proto" 13 cb "github.com/hyperledger/fabric-protos-go/common" 14 pb "github.com/hyperledger/fabric-protos-go/peer" 15 "github.com/hyperledger/fabric/internal/peer/common" 16 "github.com/stretchr/testify/assert" 17 ) 18 19 func TestGetChannelInfo(t *testing.T) { 20 InitMSP() 21 resetFlags() 22 23 mockBlockchainInfo := &cb.BlockchainInfo{ 24 Height: 1, 25 CurrentBlockHash: []byte("CurrentBlockHash"), 26 PreviousBlockHash: []byte("PreviousBlockHash"), 27 } 28 mockPayload, err := proto.Marshal(mockBlockchainInfo) 29 assert.NoError(t, err) 30 31 mockResponse := &pb.ProposalResponse{ 32 Response: &pb.Response{ 33 Status: 200, 34 Payload: mockPayload, 35 }, 36 Endorsement: &pb.Endorsement{}, 37 } 38 39 signer, err := common.GetDefaultSigner() 40 assert.NoError(t, err) 41 42 mockCF := &ChannelCmdFactory{ 43 EndorserClient: common.GetMockEndorserClient(mockResponse, nil), 44 BroadcastFactory: mockBroadcastClientFactory, 45 Signer: signer, 46 } 47 48 cmd := getinfoCmd(mockCF) 49 AddFlags(cmd) 50 51 args := []string{"-c", mockChannel} 52 cmd.SetArgs(args) 53 54 assert.NoError(t, cmd.Execute()) 55 } 56 57 func TestGetChannelInfoMissingChannelID(t *testing.T) { 58 InitMSP() 59 resetFlags() 60 61 signer, err := common.GetDefaultSigner() 62 if err != nil { 63 t.Fatalf("Get default signer error: %v", err) 64 } 65 66 mockCF := &ChannelCmdFactory{ 67 Signer: signer, 68 } 69 70 cmd := getinfoCmd(mockCF) 71 72 AddFlags(cmd) 73 74 cmd.SetArgs([]string{}) 75 76 assert.Error(t, cmd.Execute()) 77 }