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