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

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