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