diff --git a/model/config.go b/model/config.go index ce7a4766e4..9fd2d291e3 100644 --- a/model/config.go +++ b/model/config.go @@ -190,6 +190,7 @@ const ( PLUGIN_SETTINGS_DEFAULT_CLIENT_DIRECTORY = "./client/plugins" PLUGIN_SETTINGS_DEFAULT_ENABLE_MARKETPLACE = true PLUGIN_SETTINGS_DEFAULT_MARKETPLACE_URL = "https://api.integrations.mattermost.com" + PLUGIN_SETTINGS_OLD_MARKETPLACE_URL = "https://marketplace.integrations.mattermost.com" COMPLIANCE_EXPORT_TYPE_CSV = "csv" COMPLIANCE_EXPORT_TYPE_ACTIANCE = "actiance" @@ -2284,7 +2285,7 @@ func (s *PluginSettings) SetDefaults(ls LogSettings) { s.EnableMarketplace = NewBool(PLUGIN_SETTINGS_DEFAULT_ENABLE_MARKETPLACE) } - if s.MarketplaceUrl == nil || *s.MarketplaceUrl == "" { + if s.MarketplaceUrl == nil || *s.MarketplaceUrl == "" || *s.MarketplaceUrl == PLUGIN_SETTINGS_OLD_MARKETPLACE_URL { s.MarketplaceUrl = NewString(PLUGIN_SETTINGS_DEFAULT_MARKETPLACE_URL) } } diff --git a/model/config_test.go b/model/config_test.go index 990ffa13dd..dde02b517b 100644 --- a/model/config_test.go +++ b/model/config_test.go @@ -1155,3 +1155,37 @@ func TestConfigSanitize(t *testing.T) { assert.Equal(t, FAKE_SETTING, c.SqlSettings.DataSourceReplicas[0]) assert.Equal(t, FAKE_SETTING, c.SqlSettings.DataSourceSearchReplicas[0]) } + +func TestConfigMarketplaceDefaults(t *testing.T) { + t.Parallel() + + t.Run("no marketplace url", func(t *testing.T) { + c := Config{} + c.SetDefaults() + + require.True(t, *c.PluginSettings.EnableMarketplace) + require.Equal(t, PLUGIN_SETTINGS_DEFAULT_MARKETPLACE_URL, *c.PluginSettings.MarketplaceUrl) + }) + + t.Run("old marketplace url", func(t *testing.T) { + c := Config{} + c.SetDefaults() + + *c.PluginSettings.MarketplaceUrl = PLUGIN_SETTINGS_OLD_MARKETPLACE_URL + c.SetDefaults() + + require.True(t, *c.PluginSettings.EnableMarketplace) + require.Equal(t, PLUGIN_SETTINGS_DEFAULT_MARKETPLACE_URL, *c.PluginSettings.MarketplaceUrl) + }) + + t.Run("custom marketplace url", func(t *testing.T) { + c := Config{} + c.SetDefaults() + + *c.PluginSettings.MarketplaceUrl = "https://marketplace.example.com" + c.SetDefaults() + + require.True(t, *c.PluginSettings.EnableMarketplace) + require.Equal(t, "https://marketplace.example.com", *c.PluginSettings.MarketplaceUrl) + }) +}