func TestUpgradeCmd(t *testing.T) { InitMSP() signer, err := common.GetDefaultSigner() if err != nil { t.Fatalf("Get default signer error: %v", err) } mockResponse := &pb.ProposalResponse{ Response: &pb.Response{Status: 200}, Endorsement: &pb.Endorsement{}, } mockEndorerClient := common.GetMockEndorserClient(mockResponse, nil) mockBroadcastClient := common.GetMockBroadcastClient(nil) mockCF := &ChaincodeCmdFactory{ EndorserClient: mockEndorerClient, Signer: signer, BroadcastClient: mockBroadcastClient, } cmd := upgradeCmd(mockCF) AddFlags(cmd) args := []string{"-n", "example02", "-p", "github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02", "-c", "{\"Function\":\"init\",\"Args\": [\"param\",\"1\"]}"} cmd.SetArgs(args) if err := cmd.Execute(); err != nil { t.Errorf("Run chaincode upgrade cmd error:%v", err) } }
// initCmdFactory init the ChaincodeCmdFactory with default clients func initCmdFactory() (*JoinCmdFactory, error) { endorserClient, err := common.GetEndorserClient() if err != nil { return nil, fmt.Errorf("Error getting endorser client : %s", err) } signer, err := common.GetDefaultSigner() if err != nil { return nil, fmt.Errorf("Error getting default signer: %s", err) } return &JoinCmdFactory{ EndorserClient: endorserClient, Signer: signer, }, nil }
// InitCmdFactory init the ChaincodeCmdFactory with default clients func InitCmdFactory() (*ChaincodeCmdFactory, error) { endorserClient, err := common.GetEndorserClient() if err != nil { return nil, fmt.Errorf("Error getting endorser client %s: %s", chainFuncName, err) } signer, err := common.GetDefaultSigner() if err != nil { return nil, fmt.Errorf("Error getting default signer: %s", err) } broadcastClient, err := common.GetBroadcastClient() if err != nil { return nil, fmt.Errorf("Error getting broadcast client: %s", err) } return &ChaincodeCmdFactory{ EndorserClient: endorserClient, Signer: signer, BroadcastClient: broadcastClient, }, nil }
func TestUpgradeCmdEndorseFail(t *testing.T) { InitMSP() signer, err := common.GetDefaultSigner() if err != nil { t.Fatalf("Get default signer error: %v", err) } errCode := int32(500) errMsg := "upgrade error" mockResponse := &pb.ProposalResponse{Response: &pb.Response{Status: errCode, Message: errMsg}} mockEndorerClient := common.GetMockEndorserClient(mockResponse, nil) mockBroadcastClient := common.GetMockBroadcastClient(nil) mockCF := &ChaincodeCmdFactory{ EndorserClient: mockEndorerClient, Signer: signer, BroadcastClient: mockBroadcastClient, } cmd := upgradeCmd(mockCF) AddFlags(cmd) args := []string{"-n", "example02", "-p", "github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02", "-c", "{\"Function\":\"init\",\"Args\": [\"param\",\"1\"]}"} cmd.SetArgs(args) expectErrMsg := fmt.Sprintf("Could not assemble transaction, err Proposal response was not successful, error code %d, msg %s", errCode, errMsg) if err := cmd.Execute(); err == nil { t.Errorf("Run chaincode upgrade cmd error:%v", err) } else { if err.Error() != expectErrMsg { t.Errorf("Run chaincode upgrade cmd get unexpected error: %s", err.Error()) } } }