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