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
}
func (s *PluginSettings) SetDefaults() {
func (s *PluginSettings) SetDefaults(ls LogSettings) {
if s.Enable == nil {
s.Enable = NewBool(true)
}
@@ -2215,7 +2215,8 @@ func (s *PluginSettings) SetDefaults() {
}
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.ThemeSettings.SetDefaults()
o.ClusterSettings.SetDefaults()
o.PluginSettings.SetDefaults()
o.PluginSettings.SetDefaults(o.LogSettings)
o.AnalyticsSettings.SetDefaults()
o.ComplianceSettings.SetDefaults()
o.LocalizationSettings.SetDefaults()

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

@@ -128,18 +128,52 @@ func TestConfigDefaultServiceSettingsExperimentalGroupUnreadChannels(t *testing.
}
func TestConfigDefaultNPSPluginState(t *testing.T) {
c1 := Config{}
c1.SetDefaults()
t.Run("should enable NPS plugin by default", func(t *testing.T) {
c1 := Config{}
c1.SetDefaults()
if c1.PluginSettings.PluginStates["com.mattermost.nps"].Enable != true {
t.Fatal("PluginSettings.PluginStates[\"com.mattermost.nps\"].Enable should default to true")
}
assert.True(t, c1.PluginSettings.PluginStates["com.mattermost.nps"].Enable)
})
c1.PluginSettings.PluginStates["com.mattermost.nps"].Enable = false
c1.SetDefaults()
if c1.PluginSettings.PluginStates["com.mattermost.nps"].Enable != false {
t.Fatal("PluginSettings.PluginStates[\"com.mattermost.nps\"].Enable should remain false")
}
t.Run("should enable NPS plugin if diagnostics are enabled", func(t *testing.T) {
c1 := Config{
LogSettings: LogSettings{
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) {