github.com/true-sqn/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  }