diff --git a/go.mod b/go.mod index 54b1e12a..75e77533 100644 --- a/go.mod +++ b/go.mod @@ -15,7 +15,7 @@ require ( github.com/go-openapi/runtime v0.19.20 github.com/go-openapi/spec v0.19.9 // indirect github.com/percona-platform/saas v0.0.0-20210122115803-1b32ca1828e1 - github.com/percona/pmm v0.0.0-20210707115905-36eb37dae44c + github.com/percona/pmm v0.0.0-20210803085537-535d3c161596 github.com/prometheus/client_golang v1.9.0 github.com/sirupsen/logrus v1.6.0 github.com/stretchr/testify v1.6.1 diff --git a/go.sum b/go.sum index 02eb9dca..a723c94b 100644 --- a/go.sum +++ b/go.sum @@ -372,6 +372,10 @@ github.com/percona-platform/saas v0.0.0-20210122115803-1b32ca1828e1 h1:VyKdL2wWY github.com/percona-platform/saas v0.0.0-20210122115803-1b32ca1828e1/go.mod h1:jJRyGMxxDJaSiU7AaHNS+8j1TFQQhX6lcYp8s0t8Knc= github.com/percona/pmm v0.0.0-20210707115905-36eb37dae44c h1:6UtqOTbcZ02ekP8kIkbY2VEFR8h/j8ddby2z47dlfzw= github.com/percona/pmm v0.0.0-20210707115905-36eb37dae44c/go.mod h1:Cm2JKvJMlMimtAhmF/1BUvz3qVJZ2O2zxQXRvtQh93Q= +github.com/percona/pmm v0.0.0-20210728065534-7a7bfe95ccd9 h1:4wErKnKvoyh63li/nLld6oQ4qTqXGDg/O9Zm/Byn1NU= +github.com/percona/pmm v0.0.0-20210728065534-7a7bfe95ccd9/go.mod h1:Cm2JKvJMlMimtAhmF/1BUvz3qVJZ2O2zxQXRvtQh93Q= +github.com/percona/pmm v0.0.0-20210803085537-535d3c161596 h1:rDBLX1MT60vJMsOC7okzhCNYzs/5fxDvPrPWbV8JCPw= +github.com/percona/pmm v0.0.0-20210803085537-535d3c161596/go.mod h1:Cm2JKvJMlMimtAhmF/1BUvz3qVJZ2O2zxQXRvtQh93Q= github.com/percona/promconfig v0.2.1 h1:LBbCDSQRfy0aTHFJMgrVQIE2WvmPkMTkIoznTfBAvj8= github.com/percona/promconfig v0.2.1/go.mod h1:Y2uXi5QNk71+ceJHuI9poank+0S1kjxd3K105fXKVkg= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= diff --git a/server/settings_test.go b/server/settings_test.go index e1ee2340..ae337255 100644 --- a/server/settings_test.go +++ b/server/settings_test.go @@ -43,6 +43,7 @@ func TestSettings(t *testing.T) { assert.Equal(t, expectedSTTCheckIntervals, res.Payload.Settings.SttCheckIntervals) assert.Equal(t, "2592000s", res.Payload.Settings.DataRetention) assert.Equal(t, []string{"aws"}, res.Payload.Settings.AWSPartitions) + assert.False(t, res.Payload.Settings.UpdatesDisabled) assert.True(t, res.Payload.Settings.AlertingEnabled) assert.Empty(t, res.Payload.Settings.EmailAlertingSettings) assert.Empty(t, res.Payload.Settings.SlackAlertingSettings) @@ -51,6 +52,53 @@ func TestSettings(t *testing.T) { defer restoreSettingsDefaults(t) + t.Run("Updates", func(t *testing.T) { + t.Run("DisableAndEnableUpdatesSettingsUpdate", func(t *testing.T) { + defer restoreSettingsDefaults(t) + res, err := serverClient.Default.Server.ChangeSettings(&server.ChangeSettingsParams{ + Body: server.ChangeSettingsBody{ + DisableUpdates: true, + }, + Context: pmmapitests.Context, + }) + require.NoError(t, err) + assert.False(t, res.Payload.Settings.UpdatesDisabled) + assert.Empty(t, err) + + resg, err := serverClient.Default.Server.GetSettings(nil) + require.NoError(t, err) + assert.False(t, resg.Payload.Settings.UpdatesDisabled) + + res, err = serverClient.Default.Server.ChangeSettings(&server.ChangeSettingsParams{ + Body: server.ChangeSettingsBody{ + EnableUpdates: true, + }, + Context: pmmapitests.Context, + }) + require.NoError(t, err) + assert.False(t, res.Payload.Settings.UpdatesDisabled) + assert.Empty(t, err) + + resg, err = serverClient.Default.Server.GetSettings(nil) + require.NoError(t, err) + assert.False(t, resg.Payload.Settings.UpdatesDisabled) + }) + + t.Run("InvalidBothEnableAndDisableUpdates", func(t *testing.T) { + defer restoreSettingsDefaults(t) + + res, err := serverClient.Default.Server.ChangeSettings(&server.ChangeSettingsParams{ + Body: server.ChangeSettingsBody{ + EnableUpdates: true, + DisableUpdates: true, + }, + Context: pmmapitests.Context, + }) + pmmapitests.AssertAPIErrorf(t, err, 400, codes.InvalidArgument, `Both enable_updates and disable_updates are present.`) + assert.Empty(t, res) + }) + }) + t.Run("ValidAlertingSettingsUpdate", func(t *testing.T) { defer restoreSettingsDefaults(t)