github.com/true-sqn/fabric@v2.1.1+incompatible/internal/peer/channel/flags_test.go (about)

     1  /*
     2  Copyright IBM Corp. 2016-2017 All Rights Reserved.
     3  
     4  SPDX-License-Identifier: Apache-2.0
     5  */
     6  
     7  package channel
     8  
     9  import (
    10  	"testing"
    11  
    12  	"github.com/hyperledger/fabric/internal/peer/common"
    13  	"github.com/spf13/cobra"
    14  	"github.com/spf13/viper"
    15  	"github.com/stretchr/testify/assert"
    16  )
    17  
    18  func TestOrdererFlags(t *testing.T) {
    19  
    20  	var (
    21  		ca       = "root.crt"
    22  		key      = "client.key"
    23  		cert     = "client.crt"
    24  		endpoint = "orderer.example.com:7050"
    25  		sn       = "override.example.com"
    26  	)
    27  
    28  	testCmd := &cobra.Command{
    29  		Use: "test",
    30  		Run: func(cmd *cobra.Command, args []string) {
    31  			t.Logf("rootcert: %s", viper.GetString("orderer.tls.rootcert.file"))
    32  			assert.Equal(t, ca, viper.GetString("orderer.tls.rootcert.file"))
    33  			assert.Equal(t, key, viper.GetString("orderer.tls.clientKey.file"))
    34  			assert.Equal(t, cert, viper.GetString("orderer.tls.clientCert.file"))
    35  			assert.Equal(t, endpoint, viper.GetString("orderer.address"))
    36  			assert.Equal(t, sn, viper.GetString("orderer.tls.serverhostoverride"))
    37  			assert.Equal(t, true, viper.GetBool("orderer.tls.enabled"))
    38  			assert.Equal(t, true, viper.GetBool("orderer.tls.clientAuthRequired"))
    39  		},
    40  		PersistentPreRun: func(cmd *cobra.Command, args []string) {
    41  			common.SetOrdererEnv(cmd, args)
    42  		},
    43  	}
    44  
    45  	runCmd := Cmd(nil)
    46  
    47  	runCmd.AddCommand(testCmd)
    48  
    49  	runCmd.SetArgs([]string{"test", "--cafile", ca, "--keyfile", key,
    50  		"--certfile", cert, "--orderer", endpoint, "--tls", "--clientauth",
    51  		"--ordererTLSHostnameOverride", sn})
    52  	err := runCmd.Execute()
    53  	assert.NoError(t, err)
    54  
    55  	// check env one more time
    56  	t.Logf("address: %s", viper.GetString("orderer.address"))
    57  	assert.Equal(t, ca, viper.GetString("orderer.tls.rootcert.file"))
    58  	assert.Equal(t, key, viper.GetString("orderer.tls.clientKey.file"))
    59  	assert.Equal(t, cert, viper.GetString("orderer.tls.clientCert.file"))
    60  	assert.Equal(t, endpoint, viper.GetString("orderer.address"))
    61  	assert.Equal(t, sn, viper.GetString("orderer.tls.serverhostoverride"))
    62  	assert.Equal(t, true, viper.GetBool("orderer.tls.enabled"))
    63  	assert.Equal(t, true, viper.GetBool("orderer.tls.clientAuthRequired"))
    64  }