elasticsearch_test.go 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
  2. // See LICENSE.txt for license information.
  3. package api4
  4. import (
  5. "testing"
  6. "github.com/mattermost/mattermost-server/v5/model"
  7. )
  8. func TestElasticsearchTest(t *testing.T) {
  9. th := Setup(t)
  10. defer th.TearDown()
  11. t.Run("as system user", func(t *testing.T) {
  12. _, resp := th.Client.TestElasticsearch()
  13. CheckForbiddenStatus(t, resp)
  14. })
  15. t.Run("as system admin", func(t *testing.T) {
  16. _, resp := th.SystemAdminClient.TestElasticsearch()
  17. CheckNotImplementedStatus(t, resp)
  18. })
  19. t.Run("as restricted system admin", func(t *testing.T) {
  20. th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ExperimentalSettings.RestrictSystemAdmin = true })
  21. _, resp := th.SystemAdminClient.TestElasticsearch()
  22. CheckForbiddenStatus(t, resp)
  23. })
  24. }
  25. func TestElasticsearchPurgeIndexes(t *testing.T) {
  26. th := Setup(t)
  27. defer th.TearDown()
  28. t.Run("as system user", func(t *testing.T) {
  29. _, resp := th.Client.PurgeElasticsearchIndexes()
  30. CheckForbiddenStatus(t, resp)
  31. })
  32. t.Run("as system admin", func(t *testing.T) {
  33. _, resp := th.SystemAdminClient.PurgeElasticsearchIndexes()
  34. CheckNotImplementedStatus(t, resp)
  35. })
  36. t.Run("as restricted system admin", func(t *testing.T) {
  37. th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ExperimentalSettings.RestrictSystemAdmin = true })
  38. _, resp := th.SystemAdminClient.PurgeElasticsearchIndexes()
  39. CheckForbiddenStatus(t, resp)
  40. })
  41. }