github.com/hechain20/hechain@v0.0.0-20220316014945-b544036ba106/internal/peer/chaincode/flags_test.go (about)

     1  /*
     2  Copyright hechain. 2016-2017 All Rights Reserved.
     3  
     4  SPDX-License-Identifier: Apache-2.0
     5  */
     6  
     7  package chaincode
     8  
     9  import (
    10  	"testing"
    11  
    12  	"github.com/hechain20/hechain/bccsp/sw"
    13  	"github.com/hechain20/hechain/internal/peer/common"
    14  	"github.com/spf13/cobra"
    15  	"github.com/spf13/viper"
    16  	"github.com/stretchr/testify/require"
    17  )
    18  
    19  func TestOrdererFlags(t *testing.T) {
    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  			require.Equal(t, ca, viper.GetString("orderer.tls.rootcert.file"))
    33  			require.Equal(t, key, viper.GetString("orderer.tls.clientKey.file"))
    34  			require.Equal(t, cert, viper.GetString("orderer.tls.clientCert.file"))
    35  			require.Equal(t, endpoint, viper.GetString("orderer.address"))
    36  			require.Equal(t, sn, viper.GetString("orderer.tls.serverhostoverride"))
    37  			require.Equal(t, true, viper.GetBool("orderer.tls.enabled"))
    38  			require.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  	cryptoProvider, err := sw.NewDefaultSecurityLevelWithKeystore(sw.NewDummyKeyStore())
    46  	require.NoError(t, err)
    47  	runCmd := Cmd(nil, cryptoProvider)
    48  
    49  	runCmd.AddCommand(testCmd)
    50  
    51  	runCmd.SetArgs([]string{
    52  		"test", "--cafile", ca, "--keyfile", key,
    53  		"--certfile", cert, "--orderer", endpoint, "--tls", "--clientauth",
    54  		"--ordererTLSHostnameOverride", sn,
    55  	})
    56  	err = runCmd.Execute()
    57  	require.NoError(t, err)
    58  
    59  	// check env one more time
    60  	t.Logf("address: %s", viper.GetString("orderer.address"))
    61  	require.Equal(t, ca, viper.GetString("orderer.tls.rootcert.file"))
    62  	require.Equal(t, key, viper.GetString("orderer.tls.clientKey.file"))
    63  	require.Equal(t, cert, viper.GetString("orderer.tls.clientCert.file"))
    64  	require.Equal(t, endpoint, viper.GetString("orderer.address"))
    65  	require.Equal(t, sn, viper.GetString("orderer.tls.serverhostoverride"))
    66  	require.Equal(t, true, viper.GetBool("orderer.tls.enabled"))
    67  	require.Equal(t, true, viper.GetBool("orderer.tls.clientAuthRequired"))
    68  }