[MM-19711] - Get plugin configuration without removing secrets (#11928)
* Method GetUnsanitizedConfig() exposed to API (Plugin) interface and his implementations * improvements with some suggestions * Fix documentation (final period added) Co-Authored-By: Ali Farooq <25732808+ali-farooq0@users.noreply.github.com> * Added some test for Plugin.GetConfig and Plugin.GetUnsanitizedConfig * Removed empty lines
Этот коммит содержится в:
коммит произвёл
Ali Farooq
родитель
5aa24aedc8
Коммит
65f03de1ee
@@ -81,6 +81,11 @@ func (api *PluginAPI) GetConfig() *model.Config {
|
||||
return api.app.GetSanitizedConfig()
|
||||
}
|
||||
|
||||
// GetUnsanitizedConfig gets the configuration for a system admin without removing secrets.
|
||||
func (api *PluginAPI) GetUnsanitizedConfig() *model.Config {
|
||||
return api.app.Config().Clone()
|
||||
}
|
||||
|
||||
func (api *PluginAPI) SaveConfig(config *model.Config) *model.AppError {
|
||||
return api.app.SaveConfig(config, true)
|
||||
}
|
||||
|
||||
@@ -1331,3 +1331,77 @@ func TestPluginCreatePostWithUploadedFile(t *testing.T) {
|
||||
require.Nil(t, err)
|
||||
assert.Equal(t, model.StringArray{fileInfo.Id}, actualPost.FileIds)
|
||||
}
|
||||
|
||||
func TestPluginAPIGetConfig(t *testing.T) {
|
||||
th := Setup(t).InitBasic()
|
||||
defer th.TearDown()
|
||||
api := th.SetupPluginAPI()
|
||||
|
||||
config := api.GetConfig()
|
||||
if config.LdapSettings.BindPassword != nil && len(*config.LdapSettings.BindPassword) > 0 {
|
||||
assert.Equal(t, *config.LdapSettings.BindPassword, model.FAKE_SETTING)
|
||||
}
|
||||
|
||||
assert.Equal(t, *config.FileSettings.PublicLinkSalt, model.FAKE_SETTING)
|
||||
|
||||
if len(*config.FileSettings.AmazonS3SecretAccessKey) > 0 {
|
||||
assert.Equal(t, *config.FileSettings.AmazonS3SecretAccessKey, model.FAKE_SETTING)
|
||||
}
|
||||
|
||||
if config.EmailSettings.SMTPPassword != nil && len(*config.EmailSettings.SMTPPassword) > 0 {
|
||||
assert.Equal(t, *config.EmailSettings.SMTPPassword, model.FAKE_SETTING)
|
||||
}
|
||||
|
||||
if len(*config.GitLabSettings.Secret) > 0 {
|
||||
assert.Equal(t, *config.GitLabSettings.Secret, model.FAKE_SETTING)
|
||||
}
|
||||
|
||||
assert.Equal(t, *config.SqlSettings.DataSource, model.FAKE_SETTING)
|
||||
assert.Equal(t, *config.SqlSettings.AtRestEncryptKey, model.FAKE_SETTING)
|
||||
assert.Equal(t, *config.ElasticsearchSettings.Password, model.FAKE_SETTING)
|
||||
|
||||
for i := range config.SqlSettings.DataSourceReplicas {
|
||||
assert.Equal(t, config.SqlSettings.DataSourceReplicas[i], model.FAKE_SETTING)
|
||||
}
|
||||
|
||||
for i := range config.SqlSettings.DataSourceSearchReplicas {
|
||||
assert.Equal(t, config.SqlSettings.DataSourceSearchReplicas[i], model.FAKE_SETTING)
|
||||
}
|
||||
}
|
||||
|
||||
func TestPluginAPIGetUnsanitizedConfig(t *testing.T) {
|
||||
th := Setup(t).InitBasic()
|
||||
defer th.TearDown()
|
||||
api := th.SetupPluginAPI()
|
||||
|
||||
config := api.GetUnsanitizedConfig()
|
||||
if config.LdapSettings.BindPassword != nil && len(*config.LdapSettings.BindPassword) > 0 {
|
||||
assert.NotEqual(t, *config.LdapSettings.BindPassword, model.FAKE_SETTING)
|
||||
}
|
||||
|
||||
assert.NotEqual(t, *config.FileSettings.PublicLinkSalt, model.FAKE_SETTING)
|
||||
|
||||
if len(*config.FileSettings.AmazonS3SecretAccessKey) > 0 {
|
||||
assert.NotEqual(t, *config.FileSettings.AmazonS3SecretAccessKey, model.FAKE_SETTING)
|
||||
}
|
||||
|
||||
if config.EmailSettings.SMTPPassword != nil && len(*config.EmailSettings.SMTPPassword) > 0 {
|
||||
assert.NotEqual(t, *config.EmailSettings.SMTPPassword, model.FAKE_SETTING)
|
||||
}
|
||||
|
||||
if len(*config.GitLabSettings.Secret) > 0 {
|
||||
assert.NotEqual(t, *config.GitLabSettings.Secret, model.FAKE_SETTING)
|
||||
}
|
||||
|
||||
assert.NotEqual(t, *config.SqlSettings.DataSource, model.FAKE_SETTING)
|
||||
assert.NotEqual(t, *config.SqlSettings.AtRestEncryptKey, model.FAKE_SETTING)
|
||||
assert.NotEqual(t, *config.ElasticsearchSettings.Password, model.FAKE_SETTING)
|
||||
|
||||
for i := range config.SqlSettings.DataSourceReplicas {
|
||||
assert.NotEqual(t, config.SqlSettings.DataSourceReplicas[i], model.FAKE_SETTING)
|
||||
}
|
||||
|
||||
for i := range config.SqlSettings.DataSourceSearchReplicas {
|
||||
assert.NotEqual(t, config.SqlSettings.DataSourceSearchReplicas[i], model.FAKE_SETTING)
|
||||
}
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user