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