github.com/vmware/transport-go@v1.3.4/plank/pkg/server/flag_helper_test.go (about)

     1  package server
     2  
     3  import (
     4  	"fmt"
     5  	"github.com/spf13/pflag"
     6  	"github.com/stretchr/testify/assert"
     7  	"os"
     8  	"testing"
     9  )
    10  
    11  func TestFlagHelper_ParseDefaultFlags(t *testing.T) {
    12  	// arrange
    13  	f := &serverConfigFactory{}
    14  	pflag.CommandLine = pflag.NewFlagSet("", pflag.ExitOnError)
    15  
    16  	// act
    17  	testArgs := []string{""}
    18  	f.configureFlags(pflag.CommandLine)
    19  	f.parseFlags(testArgs)
    20  
    21  	// assert
    22  	wd, _ := os.Getwd()
    23  	assert.True(t, f.flagsParsed)
    24  	assert.EqualValues(t, "localhost", f.Hostname())
    25  	assert.EqualValues(t, 30080, f.Port())
    26  	assert.EqualValues(t, wd, f.RootDir())
    27  	assert.Empty(t, f.Cert())
    28  	assert.Empty(t, f.CertKey())
    29  	assert.Empty(t, f.Static())
    30  	assert.Empty(t, f.SpaPath())
    31  	assert.False(t, f.NoFabricBroker())
    32  	assert.EqualValues(t, "/ws", f.FabricEndpoint())
    33  	assert.EqualValues(t, "/topic", f.TopicPrefix())
    34  	assert.EqualValues(t, "/queue", f.QueuePrefix())
    35  	assert.EqualValues(t, "/pub", f.RequestPrefix())
    36  	assert.EqualValues(t, "/pub/queue", f.RequestQueuePrefix())
    37  	assert.Empty(t, f.ConfigFile())
    38  	assert.EqualValues(t, 5, f.ShutdownTimeout())
    39  	assert.EqualValues(t, "stdout", f.OutputLog())
    40  	assert.EqualValues(t, "stdout", f.AccessLog())
    41  	assert.EqualValues(t, "stderr", f.ErrorLog())
    42  	assert.False(t, f.Debug())
    43  	assert.False(t, f.NoBanner())
    44  	assert.False(t, f.Prometheus())
    45  	assert.EqualValues(t, 1, f.RestBridgeTimeout())
    46  }
    47  
    48  func TestFlagHelper_ParseFlags(t *testing.T) {
    49  	// arrange
    50  	f := &serverConfigFactory{}
    51  	pflag.CommandLine = pflag.NewFlagSet("", pflag.ExitOnError)
    52  
    53  	// act
    54  	testArgs := []string{"", "--hostname", "cloud.local", "--port", "443", "--static", "test", "--static", "test2"}
    55  	f.configureFlags(pflag.CommandLine)
    56  	f.parseFlags(testArgs)
    57  
    58  	// assert
    59  	assert.True(t, f.flagsParsed)
    60  	assert.EqualValues(t, "cloud.local", f.Hostname())
    61  	assert.EqualValues(t, 443, f.Port())
    62  	assert.Len(t, f.Static(), 2)
    63  	assert.EqualValues(t, "[test test2]", fmt.Sprint(f.Static()))
    64  }