From 085ab2c60ac64e7c7e22c370611e250bc865291f Mon Sep 17 00:00:00 2001 From: Maria A Nunez Date: Thu, 18 Jun 2020 06:14:03 -0400 Subject: [PATCH] MM-25762 - Moved password settings to client limited configuration (#14777) * Moved password settings to limited configuration * Added unit test Co-authored-by: Mattermod --- config/client.go | 16 ++++++---------- config/client_test.go | 21 +++++++++++++++++++++ 2 files changed, 27 insertions(+), 10 deletions(-) diff --git a/config/client.go b/config/client.go index 73a2446186..4bbf023907 100644 --- a/config/client.go +++ b/config/client.go @@ -114,11 +114,6 @@ func GenerateClientConfig(c *model.Config, diagnosticID string, license *model.L props["SamlPositionAttributeSet"] = "false" props["EnableCluster"] = "false" props["EnableMetrics"] = "false" - props["PasswordMinimumLength"] = "0" - props["PasswordRequireLowercase"] = "false" - props["PasswordRequireUppercase"] = "false" - props["PasswordRequireNumber"] = "false" - props["PasswordRequireSymbol"] = "false" props["EnableBanner"] = "false" props["BannerText"] = "" props["BannerColor"] = "" @@ -132,11 +127,6 @@ func GenerateClientConfig(c *model.Config, diagnosticID string, license *model.L props["DataRetentionMessageRetentionDays"] = "0" props["DataRetentionEnableFileDeletion"] = "false" props["DataRetentionFileRetentionDays"] = "0" - props["PasswordMinimumLength"] = fmt.Sprintf("%v", *c.PasswordSettings.MinimumLength) - props["PasswordRequireLowercase"] = strconv.FormatBool(*c.PasswordSettings.Lowercase) - props["PasswordRequireUppercase"] = strconv.FormatBool(*c.PasswordSettings.Uppercase) - props["PasswordRequireNumber"] = strconv.FormatBool(*c.PasswordSettings.Number) - props["PasswordRequireSymbol"] = strconv.FormatBool(*c.PasswordSettings.Symbol) props["CustomUrlSchemes"] = strings.Join(c.DisplaySettings.CustomUrlSchemes, ",") props["IsDefaultMarketplace"] = strconv.FormatBool(*c.PluginSettings.MarketplaceUrl == model.PLUGIN_SETTINGS_DEFAULT_MARKETPLACE_URL) @@ -264,6 +254,12 @@ func GenerateLimitedClientConfig(c *model.Config, diagnosticID string, license * props["PluginsEnabled"] = strconv.FormatBool(*c.PluginSettings.Enable) + props["PasswordMinimumLength"] = fmt.Sprintf("%v", *c.PasswordSettings.MinimumLength) + props["PasswordRequireLowercase"] = strconv.FormatBool(*c.PasswordSettings.Lowercase) + props["PasswordRequireUppercase"] = strconv.FormatBool(*c.PasswordSettings.Uppercase) + props["PasswordRequireNumber"] = strconv.FormatBool(*c.PasswordSettings.Number) + props["PasswordRequireSymbol"] = strconv.FormatBool(*c.PasswordSettings.Symbol) + // Set default values for all options that require a license. props["EnableCustomBrand"] = "false" props["CustomBrandText"] = "" diff --git a/config/client_test.go b/config/client_test.go index aa247ae8c6..b0ce3dfcfb 100644 --- a/config/client_test.go +++ b/config/client_test.go @@ -236,6 +236,27 @@ func TestGetLimitedClientConfig(t *testing.T) { "WebsocketSecurePort": "443", }, }, + { + "password settings", + &model.Config{ + PasswordSettings: model.PasswordSettings{ + MinimumLength: iToP(15), + Lowercase: bToP(true), + Uppercase: bToP(true), + Number: bToP(true), + Symbol: bToP(false), + }, + }, + "", + nil, + map[string]string{ + "PasswordMinimumLength": "15", + "PasswordRequireLowercase": "true", + "PasswordRequireUppercase": "true", + "PasswordRequireNumber": "true", + "PasswordRequireSymbol": "false", + }, + }, } for _, testCase := range testCases {