github.com/hechain20/hechain@v0.0.0-20220316014945-b544036ba106/internal/peer/channel/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 channel
     8  
     9  import (
    10  	"testing"
    11  
    12  	"github.com/hechain20/hechain/internal/peer/common"
    13  	"github.com/spf13/cobra"
    14  	"github.com/spf13/viper"
    15  	"github.com/stretchr/testify/require"
    16  )
    17  
    18  func TestOrdererFlags(t *testing.T) {
    19  	var (
    20  		ca       = "root.crt"
    21  		key      = "client.key"
    22  		cert     = "client.crt"
    23  		endpoint = "orderer.example.com:7050"
    24  		sn       = "override.example.com"
    25  	)
    26  
    27  	testCmd := &cobra.Command{
    28  		Use: "test",
    29  		Run: func(cmd *cobra.Command, args []string) {
    30  			t.Logf("rootcert: %s", viper.GetString("orderer.tls.rootcert.file"))
    31  			require.Equal(t, ca, viper.GetString("orderer.tls.rootcert.file"))
    32  			require.Equal(t, key, viper.GetString("orderer.tls.clientKey.file"))
    33  			require.Equal(t, cert, viper.GetString("orderer.tls.clientCert.file"))
    34  			require.Equal(t, endpoint, viper.GetString("orderer.address"))
    35  			require.Equal(t, sn, viper.GetString("orderer.tls.serverhostoverride"))
    36  			require.Equal(t, true, viper.GetBool("orderer.tls.enabled"))
    37  			require.Equal(t, true, viper.GetBool("orderer.tls.clientAuthRequired"))
    38  		},
    39  		PersistentPreRun: func(cmd *cobra.Command, args []string) {
    40  			common.SetOrdererEnv(cmd, args)
    41  		},
    42  	}
    43  
    44  	runCmd := Cmd(nil)
    45  
    46  	runCmd.AddCommand(testCmd)
    47  
    48  	runCmd.SetArgs([]string{
    49  		"test", "--cafile", ca, "--keyfile", key,
    50  		"--certfile", cert, "--orderer", endpoint, "--tls", "--clientauth",
    51  		"--ordererTLSHostnameOverride", sn,
    52  	})
    53  	err := runCmd.Execute()
    54  	require.NoError(t, err)
    55  
    56  	// check env one more time
    57  	t.Logf("address: %s", viper.GetString("orderer.address"))
    58  	require.Equal(t, ca, viper.GetString("orderer.tls.rootcert.file"))
    59  	require.Equal(t, key, viper.GetString("orderer.tls.clientKey.file"))
    60  	require.Equal(t, cert, viper.GetString("orderer.tls.clientCert.file"))
    61  	require.Equal(t, endpoint, viper.GetString("orderer.address"))
    62  	require.Equal(t, sn, viper.GetString("orderer.tls.serverhostoverride"))
    63  	require.Equal(t, true, viper.GetBool("orderer.tls.enabled"))
    64  	require.Equal(t, true, viper.GetBool("orderer.tls.clientAuthRequired"))
    65  }