MM-16465 Only enable NPS plugin by default if diagnostics are enabled (#11279)

Этот коммит содержится в:
Harrison Healey
2019-06-19 09:06:59 -04:00
коммит произвёл GitHub
родитель c40017b39d
Коммит 73a1bb80f1
2 изменённых файлов: 48 добавлений и 13 удалений

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

@@ -2177,7 +2177,7 @@ type PluginSettings struct {
PluginStates map[string]*PluginState PluginStates map[string]*PluginState
} }
func (s *PluginSettings) SetDefaults() { func (s *PluginSettings) SetDefaults(ls LogSettings) {
if s.Enable == nil { if s.Enable == nil {
s.Enable = NewBool(true) s.Enable = NewBool(true)
} }
@@ -2215,7 +2215,8 @@ func (s *PluginSettings) SetDefaults() {
} }
if s.PluginStates["com.mattermost.nps"] == nil { if s.PluginStates["com.mattermost.nps"] == nil {
s.PluginStates["com.mattermost.nps"] = &PluginState{Enable: true} // Enable the NPS plugin by default if diagnostics are enabled
s.PluginStates["com.mattermost.nps"] = &PluginState{Enable: ls.EnableDiagnostics == nil || *ls.EnableDiagnostics}
} }
} }
@@ -2441,7 +2442,7 @@ func (o *Config) SetDefaults() {
o.AnnouncementSettings.SetDefaults() o.AnnouncementSettings.SetDefaults()
o.ThemeSettings.SetDefaults() o.ThemeSettings.SetDefaults()
o.ClusterSettings.SetDefaults() o.ClusterSettings.SetDefaults()
o.PluginSettings.SetDefaults() o.PluginSettings.SetDefaults(o.LogSettings)
o.AnalyticsSettings.SetDefaults() o.AnalyticsSettings.SetDefaults()
o.ComplianceSettings.SetDefaults() o.ComplianceSettings.SetDefaults()
o.LocalizationSettings.SetDefaults() o.LocalizationSettings.SetDefaults()

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

@@ -128,18 +128,52 @@ func TestConfigDefaultServiceSettingsExperimentalGroupUnreadChannels(t *testing.
} }
func TestConfigDefaultNPSPluginState(t *testing.T) { func TestConfigDefaultNPSPluginState(t *testing.T) {
c1 := Config{} t.Run("should enable NPS plugin by default", func(t *testing.T) {
c1.SetDefaults() c1 := Config{}
c1.SetDefaults()
if c1.PluginSettings.PluginStates["com.mattermost.nps"].Enable != true { assert.True(t, c1.PluginSettings.PluginStates["com.mattermost.nps"].Enable)
t.Fatal("PluginSettings.PluginStates[\"com.mattermost.nps\"].Enable should default to true") })
}
c1.PluginSettings.PluginStates["com.mattermost.nps"].Enable = false t.Run("should enable NPS plugin if diagnostics are enabled", func(t *testing.T) {
c1.SetDefaults() c1 := Config{
if c1.PluginSettings.PluginStates["com.mattermost.nps"].Enable != false { LogSettings: LogSettings{
t.Fatal("PluginSettings.PluginStates[\"com.mattermost.nps\"].Enable should remain false") EnableDiagnostics: NewBool(true),
} },
}
c1.SetDefaults()
assert.True(t, c1.PluginSettings.PluginStates["com.mattermost.nps"].Enable)
})
t.Run("should not enable NPS plugin if diagnostics are disabled", func(t *testing.T) {
c1 := Config{
LogSettings: LogSettings{
EnableDiagnostics: NewBool(false),
},
}
c1.SetDefaults()
assert.False(t, c1.PluginSettings.PluginStates["com.mattermost.nps"].Enable)
})
t.Run("should not re-enable NPS plugin after it has been disabled", func(t *testing.T) {
c1 := Config{
PluginSettings: PluginSettings{
PluginStates: map[string]*PluginState{
"com.mattermost.nps": {
Enable: false,
},
},
},
}
c1.SetDefaults()
assert.False(t, c1.PluginSettings.PluginStates["com.mattermost.nps"].Enable)
})
} }
func TestTeamSettingsIsValidSiteNameEmpty(t *testing.T) { func TestTeamSettingsIsValidSiteNameEmpty(t *testing.T) {