go_study/fabric-main/internal/peer/snapshot/client_test.go

63 lines
1.6 KiB
Go

/*
Copyright IBM Corp. All Rights Reserved.
SPDX-License-Identifier: Apache-2.0
*/
package snapshot
import (
"testing"
pb "github.com/hyperledger/fabric-protos-go/peer"
"github.com/hyperledger/fabric/internal/peer/common"
"github.com/spf13/viper"
"github.com/stretchr/testify/require"
)
//go:generate counterfeiter -o mock/snapshot_client.go -fake-name SnapshotClient . snapshotClient
type snapshotClient interface {
pb.SnapshotClient
}
//go:generate counterfeiter -o mock/signer.go -fake-name Signer . signer
type signer interface {
common.Signer
}
func TestValidatePeerConnectionParameters(t *testing.T) {
viper.Set("peer.tls.enabled", false)
require.NoError(t, validatePeerConnectionParameters())
viper.Set("peer.tls.enabled", true)
expectedErrMsg := "the required parameter 'tlsRootCertFile' is empty. Rerun the command with --tlsRootCertFile flag"
require.EqualError(t, validatePeerConnectionParameters(), expectedErrMsg)
tlsRootCertFile = "cert1_file"
require.NoError(t, validatePeerConnectionParameters())
// test error propagation
args := []string{"-c", "mychannel"}
resetFlags()
cmd := listPendingCmd(nil, nil)
cmd.SetArgs(args)
err := cmd.Execute()
require.EqualError(t, err, expectedErrMsg)
resetFlags()
cmd = submitRequestCmd(nil, nil)
cmd.SetArgs(args)
err = cmd.Execute()
require.EqualError(t, err, expectedErrMsg)
resetFlags()
cmd = cancelRequestCmd(nil, nil)
// append required block number parameter for cancel request
args = append(args, []string{"-b", "10"}...)
cmd.SetArgs(args)
err = cmd.Execute()
require.EqualError(t, err, expectedErrMsg)
}