github.com/true-sqn/fabric@v2.1.1+incompatible/internal/peer/channel/signconfigtx_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  	"io/ioutil"
    11  	"os"
    12  	"path/filepath"
    13  	"testing"
    14  
    15  	cb "github.com/hyperledger/fabric-protos-go/common"
    16  	"github.com/hyperledger/fabric/internal/peer/common"
    17  	"github.com/stretchr/testify/assert"
    18  )
    19  
    20  func TestSignConfigtx(t *testing.T) {
    21  	InitMSP()
    22  	resetFlags()
    23  
    24  	dir, err := ioutil.TempDir("/tmp", "signconfigtxtest-")
    25  	if err != nil {
    26  		t.Fatalf("couldn't create temp dir")
    27  	}
    28  	defer os.RemoveAll(dir) // clean up
    29  
    30  	configtxFile := filepath.Join(dir, mockChannel)
    31  	if _, err = createTxFile(configtxFile, cb.HeaderType_CONFIG_UPDATE, mockChannel); err != nil {
    32  		t.Fatalf("couldn't create tx file")
    33  	}
    34  
    35  	signer, err := common.GetDefaultSigner()
    36  	if err != nil {
    37  		t.Fatalf("Get default signer error: %v", err)
    38  	}
    39  
    40  	mockCF := &ChannelCmdFactory{
    41  		Signer: signer,
    42  	}
    43  
    44  	cmd := signconfigtxCmd(mockCF)
    45  
    46  	AddFlags(cmd)
    47  
    48  	args := []string{"-f", configtxFile}
    49  	cmd.SetArgs(args)
    50  
    51  	assert.NoError(t, cmd.Execute())
    52  }
    53  
    54  func TestSignConfigtxMissingConfigTxFlag(t *testing.T) {
    55  	InitMSP()
    56  	resetFlags()
    57  
    58  	signer, err := common.GetDefaultSigner()
    59  	if err != nil {
    60  		t.Fatalf("Get default signer error: %v", err)
    61  	}
    62  
    63  	mockCF := &ChannelCmdFactory{
    64  		Signer: signer,
    65  	}
    66  
    67  	cmd := signconfigtxCmd(mockCF)
    68  
    69  	AddFlags(cmd)
    70  
    71  	cmd.SetArgs([]string{})
    72  
    73  	assert.Error(t, cmd.Execute())
    74  }
    75  
    76  func TestSignConfigtxChannelMissingConfigTxFile(t *testing.T) {
    77  	InitMSP()
    78  	resetFlags()
    79  
    80  	signer, err := common.GetDefaultSigner()
    81  	if err != nil {
    82  		t.Fatalf("Get default signer error: %v", err)
    83  	}
    84  
    85  	mockCF := &ChannelCmdFactory{
    86  		Signer: signer,
    87  	}
    88  
    89  	cmd := signconfigtxCmd(mockCF)
    90  
    91  	AddFlags(cmd)
    92  
    93  	args := []string{"-f", "Non-existent"}
    94  	cmd.SetArgs(args)
    95  
    96  	assert.Error(t, cmd.Execute())
    97  }