OSF: Used model.NewPointer everywhere (#27838)

```release-note
NONE
```
Этот коммит содержится в:
Agniva De Sarker
2024-08-06 09:15:00 +05:30
коммит произвёл GitHub
родитель f290745496
Коммит c3ed07e679
148 изменённых файлов: 2341 добавлений и 2338 удалений

Просмотреть файл

@@ -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}