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 }