From 8c151f1f2ffad41018b5a83637fcc7bd822a5d61 Mon Sep 17 00:00:00 2001 From: Jesse Hallam Date: Fri, 18 Oct 2019 10:27:26 -0300 Subject: [PATCH] MM-19516: fix production marketplace url (#12822) We changed the production marketplace URL to `api.integrations.mattermost.com`, but I never backported https://github.com/mattermost/mattermost-server/pull/12378 to v5.16, and we shipped with the invalid marketplace.integrations.mattermost.com instead. While we've added the old hostname to enable the functionality immediately for v5.16 customers, I'd like to patch this properly for an eventual future deprecation of the old hostname. This change should be backported alongside the PR above. --- model/config.go | 3 ++- model/config_test.go | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) 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) + }) +}