github.com/hernad/nomad@v1.6.112/command/operator_autopilot_set_test.go (about)

     1  // Copyright (c) HashiCorp, Inc.
     2  // SPDX-License-Identifier: MPL-2.0
     3  
     4  package command
     5  
     6  import (
     7  	"strings"
     8  	"testing"
     9  	"time"
    10  
    11  	"github.com/hernad/nomad/ci"
    12  	"github.com/mitchellh/cli"
    13  	"github.com/stretchr/testify/require"
    14  )
    15  
    16  func TestOperator_Autopilot_SetConfig_Implements(t *testing.T) {
    17  	ci.Parallel(t)
    18  	var _ cli.Command = &OperatorRaftListCommand{}
    19  }
    20  
    21  func TestOperatorAutopilotSetConfigCommand(t *testing.T) {
    22  	ci.Parallel(t)
    23  	require := require.New(t)
    24  	s, _, addr := testServer(t, false, nil)
    25  	defer s.Shutdown()
    26  
    27  	ui := cli.NewMockUi()
    28  	c := &OperatorAutopilotSetCommand{Meta: Meta{Ui: ui}}
    29  	args := []string{
    30  		"-address=" + addr,
    31  		"-cleanup-dead-servers=false",
    32  		"-max-trailing-logs=99",
    33  		"-min-quorum=3",
    34  		"-last-contact-threshold=123ms",
    35  		"-server-stabilization-time=123ms",
    36  		"-enable-redundancy-zones=true",
    37  		"-disable-upgrade-migration=true",
    38  		"-enable-custom-upgrades=true",
    39  	}
    40  
    41  	code := c.Run(args)
    42  	require.EqualValues(0, code)
    43  	output := strings.TrimSpace(ui.OutputWriter.String())
    44  	require.Contains(output, "Configuration updated")
    45  
    46  	client, err := c.Client()
    47  	require.NoError(err)
    48  
    49  	conf, _, err := client.Operator().AutopilotGetConfiguration(nil)
    50  	require.NoError(err)
    51  
    52  	require.False(conf.CleanupDeadServers)
    53  	require.EqualValues(99, conf.MaxTrailingLogs)
    54  	require.EqualValues(3, conf.MinQuorum)
    55  	require.EqualValues(123*time.Millisecond, conf.LastContactThreshold)
    56  	require.EqualValues(123*time.Millisecond, conf.ServerStabilizationTime)
    57  	require.True(conf.EnableRedundancyZones)
    58  	require.True(conf.DisableUpgradeMigration)
    59  	require.True(conf.EnableCustomUpgrades)
    60  }