коммит произвёл
GitHub
родитель
f290745496
Коммит
c3ed07e679
@@ -25,16 +25,16 @@ func TestGetClientConfig(t *testing.T) {
|
||||
"unlicensed",
|
||||
&model.Config{
|
||||
EmailSettings: model.EmailSettings{
|
||||
EmailNotificationContentsType: model.NewString(model.EmailNotificationContentsFull),
|
||||
EmailNotificationContentsType: model.NewPointer(model.EmailNotificationContentsFull),
|
||||
},
|
||||
ThemeSettings: model.ThemeSettings{
|
||||
// Ignored, since not licensed.
|
||||
AllowCustomThemes: model.NewBool(false),
|
||||
AllowCustomThemes: model.NewPointer(false),
|
||||
},
|
||||
ServiceSettings: model.ServiceSettings{
|
||||
WebsocketURL: model.NewString("ws://mattermost.example.com:8065"),
|
||||
WebsocketPort: model.NewInt(80),
|
||||
WebsocketSecurePort: model.NewInt(443),
|
||||
WebsocketURL: model.NewPointer("ws://mattermost.example.com:8065"),
|
||||
WebsocketPort: model.NewPointer(80),
|
||||
WebsocketSecurePort: model.NewPointer(443),
|
||||
},
|
||||
},
|
||||
"",
|
||||
@@ -53,17 +53,17 @@ func TestGetClientConfig(t *testing.T) {
|
||||
"licensed, but not for theme management",
|
||||
&model.Config{
|
||||
EmailSettings: model.EmailSettings{
|
||||
EmailNotificationContentsType: model.NewString(model.EmailNotificationContentsFull),
|
||||
EmailNotificationContentsType: model.NewPointer(model.EmailNotificationContentsFull),
|
||||
},
|
||||
ThemeSettings: model.ThemeSettings{
|
||||
// Ignored, since not licensed.
|
||||
AllowCustomThemes: model.NewBool(false),
|
||||
AllowCustomThemes: model.NewPointer(false),
|
||||
},
|
||||
},
|
||||
"tag1",
|
||||
&model.License{
|
||||
Features: &model.Features{
|
||||
ThemeManagement: model.NewBool(false),
|
||||
ThemeManagement: model.NewPointer(false),
|
||||
},
|
||||
},
|
||||
map[string]string{
|
||||
@@ -76,16 +76,16 @@ func TestGetClientConfig(t *testing.T) {
|
||||
"licensed for theme management",
|
||||
&model.Config{
|
||||
EmailSettings: model.EmailSettings{
|
||||
EmailNotificationContentsType: model.NewString(model.EmailNotificationContentsFull),
|
||||
EmailNotificationContentsType: model.NewPointer(model.EmailNotificationContentsFull),
|
||||
},
|
||||
ThemeSettings: model.ThemeSettings{
|
||||
AllowCustomThemes: model.NewBool(false),
|
||||
AllowCustomThemes: model.NewPointer(false),
|
||||
},
|
||||
},
|
||||
"tag2",
|
||||
&model.License{
|
||||
Features: &model.Features{
|
||||
ThemeManagement: model.NewBool(true),
|
||||
ThemeManagement: model.NewPointer(true),
|
||||
},
|
||||
},
|
||||
map[string]string{
|
||||
@@ -98,13 +98,13 @@ func TestGetClientConfig(t *testing.T) {
|
||||
"licensed for enforcement",
|
||||
&model.Config{
|
||||
ServiceSettings: model.ServiceSettings{
|
||||
EnforceMultifactorAuthentication: model.NewBool(true),
|
||||
EnforceMultifactorAuthentication: model.NewPointer(true),
|
||||
},
|
||||
},
|
||||
"tag1",
|
||||
&model.License{
|
||||
Features: &model.Features{
|
||||
MFA: model.NewBool(true),
|
||||
MFA: model.NewPointer(true),
|
||||
},
|
||||
},
|
||||
map[string]string{
|
||||
@@ -115,7 +115,7 @@ func TestGetClientConfig(t *testing.T) {
|
||||
"default marketplace",
|
||||
&model.Config{
|
||||
PluginSettings: model.PluginSettings{
|
||||
MarketplaceURL: model.NewString(model.PluginSettingsDefaultMarketplaceURL),
|
||||
MarketplaceURL: model.NewPointer(model.PluginSettingsDefaultMarketplaceURL),
|
||||
},
|
||||
},
|
||||
"tag1",
|
||||
@@ -128,7 +128,7 @@ func TestGetClientConfig(t *testing.T) {
|
||||
"non-default marketplace",
|
||||
&model.Config{
|
||||
PluginSettings: model.PluginSettings{
|
||||
MarketplaceURL: model.NewString("http://example.com"),
|
||||
MarketplaceURL: model.NewPointer("http://example.com"),
|
||||
},
|
||||
},
|
||||
"tag1",
|
||||
@@ -141,7 +141,7 @@ func TestGetClientConfig(t *testing.T) {
|
||||
"enable ShowFullName prop",
|
||||
&model.Config{
|
||||
PrivacySettings: model.PrivacySettings{
|
||||
ShowFullName: model.NewBool(true),
|
||||
ShowFullName: model.NewPointer(true),
|
||||
},
|
||||
},
|
||||
"tag1",
|
||||
@@ -190,13 +190,13 @@ func TestGetClientConfig(t *testing.T) {
|
||||
"Shared channels other license",
|
||||
&model.Config{
|
||||
ExperimentalSettings: model.ExperimentalSettings{
|
||||
EnableSharedChannels: model.NewBool(true),
|
||||
EnableSharedChannels: model.NewPointer(true),
|
||||
},
|
||||
},
|
||||
"",
|
||||
&model.License{
|
||||
Features: &model.Features{
|
||||
SharedChannels: model.NewBool(false),
|
||||
SharedChannels: model.NewPointer(false),
|
||||
},
|
||||
SkuShortName: "other",
|
||||
},
|
||||
@@ -208,13 +208,13 @@ func TestGetClientConfig(t *testing.T) {
|
||||
"licensed for shared channels",
|
||||
&model.Config{
|
||||
ExperimentalSettings: model.ExperimentalSettings{
|
||||
EnableSharedChannels: model.NewBool(true),
|
||||
EnableSharedChannels: model.NewPointer(true),
|
||||
},
|
||||
},
|
||||
"",
|
||||
&model.License{
|
||||
Features: &model.Features{
|
||||
SharedChannels: model.NewBool(true),
|
||||
SharedChannels: model.NewPointer(true),
|
||||
},
|
||||
SkuShortName: "other",
|
||||
},
|
||||
@@ -226,13 +226,13 @@ func TestGetClientConfig(t *testing.T) {
|
||||
"Shared channels professional license",
|
||||
&model.Config{
|
||||
ExperimentalSettings: model.ExperimentalSettings{
|
||||
EnableSharedChannels: model.NewBool(true),
|
||||
EnableSharedChannels: model.NewPointer(true),
|
||||
},
|
||||
},
|
||||
"",
|
||||
&model.License{
|
||||
Features: &model.Features{
|
||||
SharedChannels: model.NewBool(false),
|
||||
SharedChannels: model.NewPointer(false),
|
||||
},
|
||||
SkuShortName: model.LicenseShortSkuProfessional,
|
||||
},
|
||||
@@ -244,7 +244,7 @@ func TestGetClientConfig(t *testing.T) {
|
||||
"disable EnableUserStatuses",
|
||||
&model.Config{
|
||||
ServiceSettings: model.ServiceSettings{
|
||||
EnableUserStatuses: model.NewBool(false),
|
||||
EnableUserStatuses: model.NewPointer(false),
|
||||
},
|
||||
},
|
||||
"",
|
||||
@@ -257,13 +257,13 @@ func TestGetClientConfig(t *testing.T) {
|
||||
"Shared channels enterprise license",
|
||||
&model.Config{
|
||||
ExperimentalSettings: model.ExperimentalSettings{
|
||||
EnableSharedChannels: model.NewBool(true),
|
||||
EnableSharedChannels: model.NewPointer(true),
|
||||
},
|
||||
},
|
||||
"",
|
||||
&model.License{
|
||||
Features: &model.Features{
|
||||
SharedChannels: model.NewBool(false),
|
||||
SharedChannels: model.NewPointer(false),
|
||||
},
|
||||
SkuShortName: model.LicenseShortSkuEnterprise,
|
||||
},
|
||||
@@ -275,7 +275,7 @@ func TestGetClientConfig(t *testing.T) {
|
||||
"Disable App Bar",
|
||||
&model.Config{
|
||||
ExperimentalSettings: model.ExperimentalSettings{
|
||||
DisableAppBar: model.NewBool(true),
|
||||
DisableAppBar: model.NewPointer(true),
|
||||
},
|
||||
},
|
||||
"",
|
||||
@@ -297,7 +297,7 @@ func TestGetClientConfig(t *testing.T) {
|
||||
"disable EnableJoinLeaveMessage",
|
||||
&model.Config{
|
||||
TeamSettings: model.TeamSettings{
|
||||
EnableJoinLeaveMessageByDefault: model.NewBool(false),
|
||||
EnableJoinLeaveMessageByDefault: model.NewPointer(false),
|
||||
},
|
||||
},
|
||||
"tag1",
|
||||
@@ -310,7 +310,7 @@ func TestGetClientConfig(t *testing.T) {
|
||||
"test key for GiphySdkKey",
|
||||
&model.Config{
|
||||
ServiceSettings: model.ServiceSettings{
|
||||
GiphySdkKey: model.NewString(""),
|
||||
GiphySdkKey: model.NewPointer(""),
|
||||
},
|
||||
},
|
||||
"",
|
||||
@@ -355,16 +355,16 @@ func TestGetLimitedClientConfig(t *testing.T) {
|
||||
"unlicensed",
|
||||
&model.Config{
|
||||
EmailSettings: model.EmailSettings{
|
||||
EmailNotificationContentsType: model.NewString(model.EmailNotificationContentsFull),
|
||||
EmailNotificationContentsType: model.NewPointer(model.EmailNotificationContentsFull),
|
||||
},
|
||||
ThemeSettings: model.ThemeSettings{
|
||||
// Ignored, since not licensed.
|
||||
AllowCustomThemes: model.NewBool(false),
|
||||
AllowCustomThemes: model.NewPointer(false),
|
||||
},
|
||||
ServiceSettings: model.ServiceSettings{
|
||||
WebsocketURL: model.NewString("ws://mattermost.example.com:8065"),
|
||||
WebsocketPort: model.NewInt(80),
|
||||
WebsocketSecurePort: model.NewInt(443),
|
||||
WebsocketURL: model.NewPointer("ws://mattermost.example.com:8065"),
|
||||
WebsocketPort: model.NewPointer(80),
|
||||
WebsocketSecurePort: model.NewPointer(443),
|
||||
},
|
||||
},
|
||||
"",
|
||||
@@ -381,11 +381,11 @@ func TestGetLimitedClientConfig(t *testing.T) {
|
||||
"password settings",
|
||||
&model.Config{
|
||||
PasswordSettings: model.PasswordSettings{
|
||||
MinimumLength: model.NewInt(15),
|
||||
Lowercase: model.NewBool(true),
|
||||
Uppercase: model.NewBool(true),
|
||||
Number: model.NewBool(true),
|
||||
Symbol: model.NewBool(false),
|
||||
MinimumLength: model.NewPointer(15),
|
||||
Lowercase: model.NewPointer(true),
|
||||
Uppercase: model.NewPointer(true),
|
||||
Number: model.NewPointer(true),
|
||||
Symbol: model.NewPointer(false),
|
||||
},
|
||||
},
|
||||
"",
|
||||
|
||||
@@ -19,23 +19,23 @@ func init() {
|
||||
emptyConfig = &model.Config{}
|
||||
readOnlyConfig = &model.Config{
|
||||
ClusterSettings: model.ClusterSettings{
|
||||
Enable: model.NewBool(true),
|
||||
ReadOnlyConfig: model.NewBool(true),
|
||||
Enable: model.NewPointer(true),
|
||||
ReadOnlyConfig: model.NewPointer(true),
|
||||
},
|
||||
}
|
||||
minimalConfig = &model.Config{
|
||||
ServiceSettings: model.ServiceSettings{
|
||||
SiteURL: model.NewString("http://minimal"),
|
||||
SiteURL: model.NewPointer("http://minimal"),
|
||||
},
|
||||
SqlSettings: model.SqlSettings{
|
||||
AtRestEncryptKey: model.NewString("abcdefghijklmnopqrstuvwxyz0123456789"),
|
||||
AtRestEncryptKey: model.NewPointer("abcdefghijklmnopqrstuvwxyz0123456789"),
|
||||
},
|
||||
FileSettings: model.FileSettings{
|
||||
PublicLinkSalt: model.NewString("abcdefghijklmnopqrstuvwxyz0123456789"),
|
||||
PublicLinkSalt: model.NewPointer("abcdefghijklmnopqrstuvwxyz0123456789"),
|
||||
},
|
||||
LocalizationSettings: model.LocalizationSettings{
|
||||
DefaultServerLocale: model.NewString("en"),
|
||||
DefaultClientLocale: model.NewString("en"),
|
||||
DefaultServerLocale: model.NewPointer("en"),
|
||||
DefaultClientLocale: model.NewPointer("en"),
|
||||
},
|
||||
}
|
||||
|
||||
@@ -46,39 +46,39 @@ func init() {
|
||||
|
||||
invalidConfig = &model.Config{
|
||||
ServiceSettings: model.ServiceSettings{
|
||||
SiteURL: model.NewString("invalid"),
|
||||
SiteURL: model.NewPointer("invalid"),
|
||||
},
|
||||
}
|
||||
fixesRequiredConfig = &model.Config{
|
||||
ServiceSettings: model.ServiceSettings{
|
||||
SiteURL: model.NewString("http://trailingslash/"),
|
||||
SiteURL: model.NewPointer("http://trailingslash/"),
|
||||
},
|
||||
SqlSettings: model.SqlSettings{
|
||||
AtRestEncryptKey: model.NewString("abcdefghijklmnopqrstuvwxyz0123456789"),
|
||||
AtRestEncryptKey: model.NewPointer("abcdefghijklmnopqrstuvwxyz0123456789"),
|
||||
},
|
||||
FileSettings: model.FileSettings{
|
||||
DriverName: model.NewString(model.ImageDriverLocal),
|
||||
Directory: model.NewString("/path/to/directory"),
|
||||
PublicLinkSalt: model.NewString("abcdefghijklmnopqrstuvwxyz0123456789"),
|
||||
DriverName: model.NewPointer(model.ImageDriverLocal),
|
||||
Directory: model.NewPointer("/path/to/directory"),
|
||||
PublicLinkSalt: model.NewPointer("abcdefghijklmnopqrstuvwxyz0123456789"),
|
||||
},
|
||||
LocalizationSettings: model.LocalizationSettings{
|
||||
DefaultServerLocale: model.NewString("garbage"),
|
||||
DefaultClientLocale: model.NewString("garbage"),
|
||||
DefaultServerLocale: model.NewPointer("garbage"),
|
||||
DefaultClientLocale: model.NewPointer("garbage"),
|
||||
},
|
||||
}
|
||||
ldapConfig = &model.Config{
|
||||
LdapSettings: model.LdapSettings{
|
||||
BindPassword: model.NewString("password"),
|
||||
BindPassword: model.NewPointer("password"),
|
||||
},
|
||||
}
|
||||
testConfig = &model.Config{
|
||||
ServiceSettings: model.ServiceSettings{
|
||||
SiteURL: model.NewString("http://TestStoreNew"),
|
||||
SiteURL: model.NewPointer("http://TestStoreNew"),
|
||||
},
|
||||
}
|
||||
customConfigDefaults = &model.Config{
|
||||
ServiceSettings: model.ServiceSettings{
|
||||
SiteURL: model.NewString("http://custom.com"),
|
||||
SiteURL: model.NewPointer("http://custom.com"),
|
||||
},
|
||||
}
|
||||
}
|
||||
@@ -110,7 +110,7 @@ func TestMergeConfigs(t *testing.T) {
|
||||
base := &model.Config{}
|
||||
base.SetDefaults()
|
||||
patch := base.Clone()
|
||||
patch.ServiceSettings.SiteURL = model.NewString("http://newhost.ca")
|
||||
patch.ServiceSettings.SiteURL = model.NewPointer("http://newhost.ca")
|
||||
|
||||
merged, err := Merge(base, patch, nil)
|
||||
require.NoError(t, err)
|
||||
@@ -122,12 +122,12 @@ func TestMergeConfigs(t *testing.T) {
|
||||
base := &model.Config{}
|
||||
base.SetDefaults()
|
||||
patch := &model.Config{}
|
||||
patch.ServiceSettings.SiteURL = model.NewString("http://newhost.ca")
|
||||
patch.GoogleSettings.Enable = model.NewBool(true)
|
||||
patch.ServiceSettings.SiteURL = model.NewPointer("http://newhost.ca")
|
||||
patch.GoogleSettings.Enable = model.NewPointer(true)
|
||||
|
||||
expected := base.Clone()
|
||||
expected.ServiceSettings.SiteURL = model.NewString("http://newhost.ca")
|
||||
expected.GoogleSettings.Enable = model.NewBool(true)
|
||||
expected.ServiceSettings.SiteURL = model.NewPointer("http://newhost.ca")
|
||||
expected.GoogleSettings.Enable = model.NewPointer(true)
|
||||
|
||||
merged, err := Merge(base, patch, nil)
|
||||
require.NoError(t, err)
|
||||
@@ -144,7 +144,7 @@ func TestConfigEnvironmentOverrides(t *testing.T) {
|
||||
base, err := NewStoreFromBacking(memstore, nil, false)
|
||||
require.NoError(t, err)
|
||||
originalConfig := &model.Config{}
|
||||
originalConfig.ServiceSettings.SiteURL = model.NewString("http://notoverridden.ca")
|
||||
originalConfig.ServiceSettings.SiteURL = model.NewPointer("http://notoverridden.ca")
|
||||
|
||||
os.Setenv("MM_SERVICESETTINGS_SITEURL", "http://overridden.ca")
|
||||
defer os.Unsetenv("MM_SERVICESETTINGS_SITEURL")
|
||||
|
||||
@@ -316,8 +316,8 @@ func (ds *DatabaseStore) Load() ([]byte, error) {
|
||||
// Initialize from the default config if no active configuration could be found.
|
||||
if len(configurationData) == 0 {
|
||||
configWithDB := model.Config{}
|
||||
configWithDB.SqlSettings.DriverName = model.NewString(ds.driverName)
|
||||
configWithDB.SqlSettings.DataSource = model.NewString(ds.dataSourceName)
|
||||
configWithDB.SqlSettings.DriverName = model.NewPointer(ds.driverName)
|
||||
configWithDB.SqlSettings.DataSource = model.NewPointer(ds.dataSourceName)
|
||||
return json.Marshal(configWithDB)
|
||||
}
|
||||
|
||||
|
||||
@@ -451,7 +451,7 @@ func TestDatabaseStoreSet(t *testing.T) {
|
||||
defer ds.Close()
|
||||
|
||||
newCfg := &model.Config{}
|
||||
newCfg.LdapSettings.BindPassword = model.NewString(model.FakeSetting)
|
||||
newCfg.LdapSettings.BindPassword = model.NewPointer(model.FakeSetting)
|
||||
|
||||
_, _, err = ds.Set(newCfg)
|
||||
require.NoError(t, err)
|
||||
@@ -468,7 +468,7 @@ func TestDatabaseStoreSet(t *testing.T) {
|
||||
defer ds.Close()
|
||||
|
||||
newCfg := &model.Config{}
|
||||
newCfg.ServiceSettings.SiteURL = model.NewString("invalid")
|
||||
newCfg.ServiceSettings.SiteURL = model.NewPointer("invalid")
|
||||
|
||||
_, _, err = ds.Set(newCfg)
|
||||
if assert.Error(t, err) {
|
||||
@@ -507,7 +507,7 @@ func TestDatabaseStoreSet(t *testing.T) {
|
||||
|
||||
newCfg := &model.Config{
|
||||
ServiceSettings: model.ServiceSettings{
|
||||
SiteURL: model.NewString("http://new"),
|
||||
SiteURL: model.NewPointer("http://new"),
|
||||
},
|
||||
}
|
||||
|
||||
@@ -527,7 +527,7 @@ func TestDatabaseStoreSet(t *testing.T) {
|
||||
|
||||
newCfg := &model.Config{
|
||||
ServiceSettings: model.ServiceSettings{
|
||||
SiteURL: model.NewString("http://new"),
|
||||
SiteURL: model.NewPointer("http://new"),
|
||||
},
|
||||
}
|
||||
|
||||
@@ -573,7 +573,7 @@ func TestDatabaseStoreSet(t *testing.T) {
|
||||
|
||||
longSiteURL := fmt.Sprintf("http://%s", strings.Repeat("a", MaxWriteLength))
|
||||
newCfg := emptyConfig.Clone()
|
||||
newCfg.ServiceSettings.SiteURL = model.NewString(longSiteURL)
|
||||
newCfg.ServiceSettings.SiteURL = model.NewPointer(longSiteURL)
|
||||
|
||||
_, _, err = ds.Set(newCfg)
|
||||
require.Error(t, err)
|
||||
@@ -1128,7 +1128,7 @@ func TestCleanUp(t *testing.T) {
|
||||
b, err := marshalConfig(ds.config)
|
||||
require.NoError(t, err)
|
||||
|
||||
ds.config.JobSettings.CleanupConfigThresholdDays = model.NewInt(30) // we set 30 days as threshold
|
||||
ds.config.JobSettings.CleanupConfigThresholdDays = model.NewPointer(30) // we set 30 days as threshold
|
||||
|
||||
now := time.Now()
|
||||
for i := 0; i < 5; i++ {
|
||||
|
||||
@@ -57,11 +57,11 @@ func BenchmarkDiff(b *testing.B) {
|
||||
b.Run("some diffs", func(b *testing.B) {
|
||||
baseCfg := defaultConfigGen()
|
||||
actualCfg := defaultConfigGen()
|
||||
baseCfg.ServiceSettings.SiteURL = model.NewString("http://localhost")
|
||||
baseCfg.ServiceSettings.ReadTimeout = model.NewInt(300)
|
||||
baseCfg.SqlSettings.QueryTimeout = model.NewInt(0)
|
||||
baseCfg.ServiceSettings.SiteURL = model.NewPointer("http://localhost")
|
||||
baseCfg.ServiceSettings.ReadTimeout = model.NewPointer(300)
|
||||
baseCfg.SqlSettings.QueryTimeout = model.NewPointer(0)
|
||||
actualCfg.PluginSettings.EnableUploads = nil
|
||||
actualCfg.TeamSettings.MaxChannelsPerTeam = model.NewInt64(100000)
|
||||
actualCfg.TeamSettings.MaxChannelsPerTeam = model.NewPointer(int64(100000))
|
||||
actualCfg.FeatureFlags = nil
|
||||
actualCfg.SqlSettings.DataSourceReplicas = []string{
|
||||
"ds0",
|
||||
@@ -142,12 +142,12 @@ func TestDiffSanitized(t *testing.T) {
|
||||
"sensitive LdapSettings.BindPassword",
|
||||
func() *model.Config {
|
||||
cfg := defaultConfigGen()
|
||||
cfg.LdapSettings.BindPassword = model.NewString("base")
|
||||
cfg.LdapSettings.BindPassword = model.NewPointer("base")
|
||||
return cfg
|
||||
}(),
|
||||
func() *model.Config {
|
||||
cfg := defaultConfigGen()
|
||||
cfg.LdapSettings.BindPassword = model.NewString("actual")
|
||||
cfg.LdapSettings.BindPassword = model.NewPointer("actual")
|
||||
return cfg
|
||||
}(),
|
||||
ConfigDiffs{
|
||||
@@ -163,12 +163,12 @@ func TestDiffSanitized(t *testing.T) {
|
||||
"sensitive FileSettings.PublicLinkSalt",
|
||||
func() *model.Config {
|
||||
cfg := defaultConfigGen()
|
||||
cfg.FileSettings.PublicLinkSalt = model.NewString("base")
|
||||
cfg.FileSettings.PublicLinkSalt = model.NewPointer("base")
|
||||
return cfg
|
||||
}(),
|
||||
func() *model.Config {
|
||||
cfg := defaultConfigGen()
|
||||
cfg.FileSettings.PublicLinkSalt = model.NewString("actual")
|
||||
cfg.FileSettings.PublicLinkSalt = model.NewPointer("actual")
|
||||
return cfg
|
||||
}(),
|
||||
ConfigDiffs{
|
||||
@@ -184,12 +184,12 @@ func TestDiffSanitized(t *testing.T) {
|
||||
"sensitive FileSettings.AmazonS3SecretAccessKey",
|
||||
func() *model.Config {
|
||||
cfg := defaultConfigGen()
|
||||
cfg.FileSettings.AmazonS3SecretAccessKey = model.NewString("base")
|
||||
cfg.FileSettings.AmazonS3SecretAccessKey = model.NewPointer("base")
|
||||
return cfg
|
||||
}(),
|
||||
func() *model.Config {
|
||||
cfg := defaultConfigGen()
|
||||
cfg.FileSettings.AmazonS3SecretAccessKey = model.NewString("actual")
|
||||
cfg.FileSettings.AmazonS3SecretAccessKey = model.NewPointer("actual")
|
||||
return cfg
|
||||
}(),
|
||||
ConfigDiffs{
|
||||
@@ -205,12 +205,12 @@ func TestDiffSanitized(t *testing.T) {
|
||||
"sensitive SqlSettings.DataSource",
|
||||
func() *model.Config {
|
||||
cfg := defaultConfigGen()
|
||||
cfg.SqlSettings.DataSource = model.NewString("base")
|
||||
cfg.SqlSettings.DataSource = model.NewPointer("base")
|
||||
return cfg
|
||||
}(),
|
||||
func() *model.Config {
|
||||
cfg := defaultConfigGen()
|
||||
cfg.SqlSettings.DataSource = model.NewString("actual")
|
||||
cfg.SqlSettings.DataSource = model.NewPointer("actual")
|
||||
return cfg
|
||||
}(),
|
||||
ConfigDiffs{
|
||||
@@ -226,12 +226,12 @@ func TestDiffSanitized(t *testing.T) {
|
||||
"sensitive SqlSettings.AtRestEncryptKey",
|
||||
func() *model.Config {
|
||||
cfg := defaultConfigGen()
|
||||
cfg.SqlSettings.AtRestEncryptKey = model.NewString("base")
|
||||
cfg.SqlSettings.AtRestEncryptKey = model.NewPointer("base")
|
||||
return cfg
|
||||
}(),
|
||||
func() *model.Config {
|
||||
cfg := defaultConfigGen()
|
||||
cfg.SqlSettings.AtRestEncryptKey = model.NewString("actual")
|
||||
cfg.SqlSettings.AtRestEncryptKey = model.NewPointer("actual")
|
||||
return cfg
|
||||
}(),
|
||||
ConfigDiffs{
|
||||
@@ -303,12 +303,12 @@ func TestDiffSanitized(t *testing.T) {
|
||||
"sensitive EmailSettings.SMTPPassword",
|
||||
func() *model.Config {
|
||||
cfg := defaultConfigGen()
|
||||
cfg.EmailSettings.SMTPPassword = model.NewString("base")
|
||||
cfg.EmailSettings.SMTPPassword = model.NewPointer("base")
|
||||
return cfg
|
||||
}(),
|
||||
func() *model.Config {
|
||||
cfg := defaultConfigGen()
|
||||
cfg.EmailSettings.SMTPPassword = model.NewString("actual")
|
||||
cfg.EmailSettings.SMTPPassword = model.NewPointer("actual")
|
||||
return cfg
|
||||
}(),
|
||||
ConfigDiffs{
|
||||
@@ -324,12 +324,12 @@ func TestDiffSanitized(t *testing.T) {
|
||||
"sensitive GitLabSettings.Secret",
|
||||
func() *model.Config {
|
||||
cfg := defaultConfigGen()
|
||||
cfg.GitLabSettings.Secret = model.NewString("base")
|
||||
cfg.GitLabSettings.Secret = model.NewPointer("base")
|
||||
return cfg
|
||||
}(),
|
||||
func() *model.Config {
|
||||
cfg := defaultConfigGen()
|
||||
cfg.GitLabSettings.Secret = model.NewString("actual")
|
||||
cfg.GitLabSettings.Secret = model.NewPointer("actual")
|
||||
return cfg
|
||||
}(),
|
||||
ConfigDiffs{
|
||||
@@ -345,12 +345,12 @@ func TestDiffSanitized(t *testing.T) {
|
||||
"sensitive GoogleSettings.Secret",
|
||||
func() *model.Config {
|
||||
cfg := defaultConfigGen()
|
||||
cfg.GoogleSettings.Secret = model.NewString("base")
|
||||
cfg.GoogleSettings.Secret = model.NewPointer("base")
|
||||
return cfg
|
||||
}(),
|
||||
func() *model.Config {
|
||||
cfg := defaultConfigGen()
|
||||
cfg.GoogleSettings.Secret = model.NewString("actual")
|
||||
cfg.GoogleSettings.Secret = model.NewPointer("actual")
|
||||
return cfg
|
||||
}(),
|
||||
ConfigDiffs{
|
||||
@@ -366,12 +366,12 @@ func TestDiffSanitized(t *testing.T) {
|
||||
"sensitive Office365Settings.Secret",
|
||||
func() *model.Config {
|
||||
cfg := defaultConfigGen()
|
||||
cfg.Office365Settings.Secret = model.NewString("base")
|
||||
cfg.Office365Settings.Secret = model.NewPointer("base")
|
||||
return cfg
|
||||
}(),
|
||||
func() *model.Config {
|
||||
cfg := defaultConfigGen()
|
||||
cfg.Office365Settings.Secret = model.NewString("actual")
|
||||
cfg.Office365Settings.Secret = model.NewPointer("actual")
|
||||
return cfg
|
||||
}(),
|
||||
ConfigDiffs{
|
||||
@@ -387,12 +387,12 @@ func TestDiffSanitized(t *testing.T) {
|
||||
"sensitive OpenIdSettings.Secret",
|
||||
func() *model.Config {
|
||||
cfg := defaultConfigGen()
|
||||
cfg.OpenIdSettings.Secret = model.NewString("base")
|
||||
cfg.OpenIdSettings.Secret = model.NewPointer("base")
|
||||
return cfg
|
||||
}(),
|
||||
func() *model.Config {
|
||||
cfg := defaultConfigGen()
|
||||
cfg.OpenIdSettings.Secret = model.NewString("actual")
|
||||
cfg.OpenIdSettings.Secret = model.NewPointer("actual")
|
||||
return cfg
|
||||
}(),
|
||||
ConfigDiffs{
|
||||
@@ -408,12 +408,12 @@ func TestDiffSanitized(t *testing.T) {
|
||||
"sensitive ElasticsearchSettings.Password",
|
||||
func() *model.Config {
|
||||
cfg := defaultConfigGen()
|
||||
cfg.ElasticsearchSettings.Password = model.NewString("base")
|
||||
cfg.ElasticsearchSettings.Password = model.NewPointer("base")
|
||||
return cfg
|
||||
}(),
|
||||
func() *model.Config {
|
||||
cfg := defaultConfigGen()
|
||||
cfg.ElasticsearchSettings.Password = model.NewString("actual")
|
||||
cfg.ElasticsearchSettings.Password = model.NewPointer("actual")
|
||||
return cfg
|
||||
}(),
|
||||
ConfigDiffs{
|
||||
@@ -430,18 +430,18 @@ func TestDiffSanitized(t *testing.T) {
|
||||
func() *model.Config {
|
||||
cfg := defaultConfigGen()
|
||||
cfg.MessageExportSettings.GlobalRelaySettings = &model.GlobalRelayMessageExportSettings{
|
||||
SMTPUsername: model.NewString("base"),
|
||||
SMTPPassword: model.NewString("base"),
|
||||
EmailAddress: model.NewString("base"),
|
||||
SMTPUsername: model.NewPointer("base"),
|
||||
SMTPPassword: model.NewPointer("base"),
|
||||
EmailAddress: model.NewPointer("base"),
|
||||
}
|
||||
return cfg
|
||||
}(),
|
||||
func() *model.Config {
|
||||
cfg := defaultConfigGen()
|
||||
cfg.MessageExportSettings.GlobalRelaySettings = &model.GlobalRelayMessageExportSettings{
|
||||
SMTPUsername: model.NewString("actual"),
|
||||
SMTPPassword: model.NewString("actual"),
|
||||
EmailAddress: model.NewString("actual"),
|
||||
SMTPUsername: model.NewPointer("actual"),
|
||||
SMTPPassword: model.NewPointer("actual"),
|
||||
EmailAddress: model.NewPointer("actual"),
|
||||
}
|
||||
return cfg
|
||||
}(),
|
||||
@@ -468,12 +468,12 @@ func TestDiffSanitized(t *testing.T) {
|
||||
"sensitive ServiceSettings.SplitKey",
|
||||
func() *model.Config {
|
||||
cfg := defaultConfigGen()
|
||||
cfg.ServiceSettings.SplitKey = model.NewString("base")
|
||||
cfg.ServiceSettings.SplitKey = model.NewPointer("base")
|
||||
return cfg
|
||||
}(),
|
||||
func() *model.Config {
|
||||
cfg := defaultConfigGen()
|
||||
cfg.ServiceSettings.SplitKey = model.NewString("actual")
|
||||
cfg.ServiceSettings.SplitKey = model.NewPointer("actual")
|
||||
return cfg
|
||||
}(),
|
||||
ConfigDiffs{
|
||||
@@ -582,7 +582,7 @@ func TestDiff(t *testing.T) {
|
||||
defaultConfigGen(),
|
||||
func() *model.Config {
|
||||
cfg := defaultConfigGen()
|
||||
cfg.ServiceSettings.SiteURL = model.NewString("http://changed")
|
||||
cfg.ServiceSettings.SiteURL = model.NewPointer("http://changed")
|
||||
return cfg
|
||||
}(),
|
||||
ConfigDiffs{
|
||||
@@ -618,7 +618,7 @@ func TestDiff(t *testing.T) {
|
||||
defaultConfigGen(),
|
||||
func() *model.Config {
|
||||
cfg := defaultConfigGen()
|
||||
cfg.PluginSettings.Enable = model.NewBool(!*cfg.PluginSettings.Enable)
|
||||
cfg.PluginSettings.Enable = model.NewPointer(!*cfg.PluginSettings.Enable)
|
||||
return cfg
|
||||
}(),
|
||||
ConfigDiffs{
|
||||
@@ -654,7 +654,7 @@ func TestDiff(t *testing.T) {
|
||||
defaultConfigGen(),
|
||||
func() *model.Config {
|
||||
cfg := defaultConfigGen()
|
||||
cfg.ServiceSettings.ReadTimeout = model.NewInt(0)
|
||||
cfg.ServiceSettings.ReadTimeout = model.NewPointer(0)
|
||||
return cfg
|
||||
}(),
|
||||
ConfigDiffs{
|
||||
|
||||
@@ -476,7 +476,7 @@ func TestFileStoreSet(t *testing.T) {
|
||||
defer tearDown()
|
||||
|
||||
newCfg := &model.Config{}
|
||||
newCfg.LdapSettings.BindPassword = model.NewString(model.FakeSetting)
|
||||
newCfg.LdapSettings.BindPassword = model.NewPointer(model.FakeSetting)
|
||||
|
||||
_, newConfig, err := configStore.Set(newCfg)
|
||||
require.NoError(t, err)
|
||||
@@ -490,7 +490,7 @@ func TestFileStoreSet(t *testing.T) {
|
||||
defer tearDown()
|
||||
|
||||
newCfg := &model.Config{}
|
||||
newCfg.ServiceSettings.SiteURL = model.NewString("invalid")
|
||||
newCfg.ServiceSettings.SiteURL = model.NewPointer("invalid")
|
||||
|
||||
_, _, err := configStore.Set(newCfg)
|
||||
if assert.Error(t, err) {
|
||||
@@ -506,7 +506,7 @@ func TestFileStoreSet(t *testing.T) {
|
||||
|
||||
newReadOnlyConfig := readOnlyConfig.Clone()
|
||||
newReadOnlyConfig.ServiceSettings = model.ServiceSettings{
|
||||
SiteURL: model.NewString("http://test"),
|
||||
SiteURL: model.NewPointer("http://test"),
|
||||
}
|
||||
_, _, err := configStore.Set(newReadOnlyConfig)
|
||||
if assert.Error(t, err) {
|
||||
@@ -565,7 +565,7 @@ func TestFileStoreSet(t *testing.T) {
|
||||
callback := func(oldCfg, newCfg *model.Config) {
|
||||
require.NotEqual(t, oldCfg, newCfg)
|
||||
expectedConfig := minimalConfig.Clone()
|
||||
expectedConfig.ServiceSettings.SiteURL = model.NewString("http://override")
|
||||
expectedConfig.ServiceSettings.SiteURL = model.NewPointer("http://override")
|
||||
require.Equal(t, minimalConfig, oldCfg)
|
||||
require.Equal(t, expectedConfig, newCfg)
|
||||
called <- true
|
||||
@@ -911,7 +911,7 @@ func TestFileStoreLoad(t *testing.T) {
|
||||
callback := func(oldCfg, newCfg *model.Config) {
|
||||
require.NotEqual(t, oldCfg, newCfg)
|
||||
expectedConfig := minimalConfig.Clone()
|
||||
expectedConfig.ServiceSettings.SiteURL = model.NewString("http://override")
|
||||
expectedConfig.ServiceSettings.SiteURL = model.NewPointer("http://override")
|
||||
require.Equal(t, minimalConfig, oldCfg)
|
||||
require.Equal(t, expectedConfig, newCfg)
|
||||
called <- true
|
||||
@@ -934,7 +934,7 @@ func TestFileStoreSave(t *testing.T) {
|
||||
|
||||
newCfg := &model.Config{
|
||||
ServiceSettings: model.ServiceSettings{
|
||||
SiteURL: model.NewString("http://new"),
|
||||
SiteURL: model.NewPointer("http://new"),
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
@@ -16,13 +16,13 @@ import (
|
||||
|
||||
func TestMloggerConfigFromAuditConfig(t *testing.T) {
|
||||
auditSettings := model.ExperimentalAuditSettings{
|
||||
FileEnabled: model.NewBool(true),
|
||||
FileName: model.NewString("audit.log"),
|
||||
FileMaxSizeMB: model.NewInt(20),
|
||||
FileMaxAgeDays: model.NewInt(1),
|
||||
FileMaxBackups: model.NewInt(5),
|
||||
FileCompress: model.NewBool(true),
|
||||
FileMaxQueueSize: model.NewInt(5000),
|
||||
FileEnabled: model.NewPointer(true),
|
||||
FileName: model.NewPointer("audit.log"),
|
||||
FileMaxSizeMB: model.NewPointer(20),
|
||||
FileMaxAgeDays: model.NewPointer(1),
|
||||
FileMaxBackups: model.NewPointer(5),
|
||||
FileCompress: model.NewPointer(true),
|
||||
FileMaxQueueSize: model.NewPointer(5000),
|
||||
}
|
||||
|
||||
t.Run("validate default audit settings", func(t *testing.T) {
|
||||
|
||||
@@ -55,7 +55,7 @@ func TestMigrate(t *testing.T) {
|
||||
|
||||
cfg := source.Get()
|
||||
originalCfg := cfg.Clone()
|
||||
cfg.ServiceSettings.SiteURL = model.NewString("http://example.com")
|
||||
cfg.ServiceSettings.SiteURL = model.NewPointer("http://example.com")
|
||||
cfg.SamlSettings.IdpCertificateFile = &files[0]
|
||||
cfg.SamlSettings.PublicCertificateFile = &files[1]
|
||||
cfg.SamlSettings.PrivateKeyFile = &files[2]
|
||||
|
||||
@@ -278,7 +278,7 @@ func (s *Store) Load() error {
|
||||
// SetDefaults() will generate missing data. This avoids an additional write
|
||||
// to the backing store.
|
||||
if loadedCfg.ServiceSettings.SiteURL == nil {
|
||||
loadedCfg.ServiceSettings.SiteURL = model.NewString("")
|
||||
loadedCfg.ServiceSettings.SiteURL = model.NewPointer("")
|
||||
}
|
||||
|
||||
// Setting defaults allows us to accept partial config objects.
|
||||
|
||||
@@ -18,19 +18,19 @@ func TestDesanitize(t *testing.T) {
|
||||
actual.SetDefaults()
|
||||
|
||||
// These setting should be ignored
|
||||
actual.LdapSettings.Enable = model.NewBool(false)
|
||||
actual.FileSettings.DriverName = model.NewString("s3")
|
||||
actual.LdapSettings.Enable = model.NewPointer(false)
|
||||
actual.FileSettings.DriverName = model.NewPointer("s3")
|
||||
|
||||
// These settings should be desanitized into target.
|
||||
actual.LdapSettings.BindPassword = model.NewString("bind_password")
|
||||
actual.FileSettings.PublicLinkSalt = model.NewString("public_link_salt")
|
||||
actual.FileSettings.AmazonS3SecretAccessKey = model.NewString("amazon_s3_secret_access_key")
|
||||
actual.EmailSettings.SMTPPassword = model.NewString("smtp_password")
|
||||
actual.GitLabSettings.Secret = model.NewString("secret")
|
||||
actual.OpenIdSettings.Secret = model.NewString("secret")
|
||||
actual.SqlSettings.DataSource = model.NewString("data_source")
|
||||
actual.SqlSettings.AtRestEncryptKey = model.NewString("at_rest_encrypt_key")
|
||||
actual.ElasticsearchSettings.Password = model.NewString("password")
|
||||
actual.LdapSettings.BindPassword = model.NewPointer("bind_password")
|
||||
actual.FileSettings.PublicLinkSalt = model.NewPointer("public_link_salt")
|
||||
actual.FileSettings.AmazonS3SecretAccessKey = model.NewPointer("amazon_s3_secret_access_key")
|
||||
actual.EmailSettings.SMTPPassword = model.NewPointer("smtp_password")
|
||||
actual.GitLabSettings.Secret = model.NewPointer("secret")
|
||||
actual.OpenIdSettings.Secret = model.NewPointer("secret")
|
||||
actual.SqlSettings.DataSource = model.NewPointer("data_source")
|
||||
actual.SqlSettings.AtRestEncryptKey = model.NewPointer("at_rest_encrypt_key")
|
||||
actual.ElasticsearchSettings.Password = model.NewPointer("password")
|
||||
actual.SqlSettings.DataSourceReplicas = append(actual.SqlSettings.DataSourceReplicas, "replica0")
|
||||
actual.SqlSettings.DataSourceReplicas = append(actual.SqlSettings.DataSourceReplicas, "replica1")
|
||||
actual.SqlSettings.DataSourceSearchReplicas = append(actual.SqlSettings.DataSourceSearchReplicas, "search_replica0")
|
||||
@@ -40,19 +40,19 @@ func TestDesanitize(t *testing.T) {
|
||||
target.SetDefaults()
|
||||
|
||||
// These setting should be ignored
|
||||
target.LdapSettings.Enable = model.NewBool(true)
|
||||
target.FileSettings.DriverName = model.NewString("file")
|
||||
target.LdapSettings.Enable = model.NewPointer(true)
|
||||
target.FileSettings.DriverName = model.NewPointer("file")
|
||||
|
||||
// These settings should be updated from actual
|
||||
target.LdapSettings.BindPassword = model.NewString(model.FakeSetting)
|
||||
target.FileSettings.PublicLinkSalt = model.NewString(model.FakeSetting)
|
||||
target.FileSettings.AmazonS3SecretAccessKey = model.NewString(model.FakeSetting)
|
||||
target.EmailSettings.SMTPPassword = model.NewString(model.FakeSetting)
|
||||
target.GitLabSettings.Secret = model.NewString(model.FakeSetting)
|
||||
target.OpenIdSettings.Secret = model.NewString(model.FakeSetting)
|
||||
target.SqlSettings.DataSource = model.NewString(model.FakeSetting)
|
||||
target.SqlSettings.AtRestEncryptKey = model.NewString(model.FakeSetting)
|
||||
target.ElasticsearchSettings.Password = model.NewString(model.FakeSetting)
|
||||
target.LdapSettings.BindPassword = model.NewPointer(model.FakeSetting)
|
||||
target.FileSettings.PublicLinkSalt = model.NewPointer(model.FakeSetting)
|
||||
target.FileSettings.AmazonS3SecretAccessKey = model.NewPointer(model.FakeSetting)
|
||||
target.EmailSettings.SMTPPassword = model.NewPointer(model.FakeSetting)
|
||||
target.GitLabSettings.Secret = model.NewPointer(model.FakeSetting)
|
||||
target.OpenIdSettings.Secret = model.NewPointer(model.FakeSetting)
|
||||
target.SqlSettings.DataSource = model.NewPointer(model.FakeSetting)
|
||||
target.SqlSettings.AtRestEncryptKey = model.NewPointer(model.FakeSetting)
|
||||
target.ElasticsearchSettings.Password = model.NewPointer(model.FakeSetting)
|
||||
target.SqlSettings.DataSourceReplicas = []string{model.FakeSetting, model.FakeSetting}
|
||||
target.SqlSettings.DataSourceSearchReplicas = []string{model.FakeSetting, model.FakeSetting}
|
||||
|
||||
|
||||
Ссылка в новой задаче
Block a user