From c6cbce610043bb050f2c542412eb439dc22c4a88 Mon Sep 17 00:00:00 2001 From: Joram Wilander Date: Fri, 18 May 2018 09:13:23 -0400 Subject: Add config setting for API team deletion (#8800) --- api4/team.go | 2 +- api4/team_test.go | 27 +++++++++++++++------------ 2 files changed, 16 insertions(+), 13 deletions(-) (limited to 'api4') diff --git a/api4/team.go b/api4/team.go index 023289579..44771ae60 100644 --- a/api4/team.go +++ b/api4/team.go @@ -197,7 +197,7 @@ func deleteTeam(c *Context, w http.ResponseWriter, r *http.Request) { } var err *model.AppError - if c.Params.Permanent { + if c.Params.Permanent && *c.App.Config().ServiceSettings.EnableAPITeamDeletion { err = c.App.PermanentDeleteTeamId(c.Params.TeamId) } else { err = c.App.SoftDeleteTeam(c.Params.TeamId) diff --git a/api4/team_test.go b/api4/team_test.go index 705ff603b..bf67d8fde 100644 --- a/api4/team_test.go +++ b/api4/team_test.go @@ -540,22 +540,25 @@ func TestPermanentDeleteTeam(t *testing.T) { team := &model.Team{DisplayName: "DisplayName", Name: GenerateTestTeamName(), Email: th.GenerateTestEmail(), Type: model.TEAM_OPEN} team, _ = Client.CreateTeam(team) + th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableAPITeamDeletion = false }) + + // Does not error when deletion is disabled, just soft deletes ok, resp := Client.PermanentDeleteTeam(team.Id) CheckNoError(t, resp) + assert.True(t, ok) - if !ok { - t.Fatal("should have returned true") - } - - // The team is deleted in the background, its only soft deleted at this - // time rteam, err := th.App.GetTeam(team.Id) - if err != nil { - t.Fatal("should have returned archived team") - } - if rteam.DeleteAt == 0 { - t.Fatal("should have not set to zero") - } + assert.Nil(t, err) + assert.True(t, rteam.DeleteAt > 0) + + th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableAPITeamDeletion = true }) + + ok, resp = Client.PermanentDeleteTeam(team.Id) + CheckNoError(t, resp) + assert.True(t, ok) + + _, err = th.App.GetTeam(team.Id) + assert.NotNil(t, err) ok, resp = Client.PermanentDeleteTeam("junk") CheckBadRequestStatus(t, resp) -- cgit v1.2.3-1-g7c22 From d3ead7dc8535f8fa5b175686cc1f7669c8b1648b Mon Sep 17 00:00:00 2001 From: Balasankar C Date: Fri, 18 May 2018 19:27:30 +0530 Subject: MM-10640 Set EnableUserCreation to true by default (#8815) * Set EnableUserCreation to true by default * Fix argument type to FormatBool * Convert EnableUserCreation instances to pointer * Convert to boolean in tests also * Set value of pointer to be false * Convert remaining EnableUserCreation instances to pointer --- api4/oauth.go | 2 +- api4/user_test.go | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'api4') diff --git a/api4/oauth.go b/api4/oauth.go index fa120ebbf..af3d83e17 100644 --- a/api4/oauth.go +++ b/api4/oauth.go @@ -563,7 +563,7 @@ func signupWithOAuth(c *Context, w http.ResponseWriter, r *http.Request) { return } - if !c.App.Config().TeamSettings.EnableUserCreation { + if !*c.App.Config().TeamSettings.EnableUserCreation { utils.RenderWebError(w, r, http.StatusBadRequest, url.Values{ "message": []string{utils.T("api.oauth.singup_with_oauth.disabled.app_error")}, }, c.App.AsymmetricSigningKey()) diff --git a/api4/user_test.go b/api4/user_test.go index 5b4d8890a..4851f139e 100644 --- a/api4/user_test.go +++ b/api4/user_test.go @@ -63,7 +63,7 @@ func TestCreateUser(t *testing.T) { CheckBadRequestStatus(t, resp) th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.EnableOpenServer = false }) - th.App.UpdateConfig(func(cfg *model.Config) { cfg.TeamSettings.EnableUserCreation = false }) + th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.EnableUserCreation = false }) user2 := &model.User{Email: th.GenerateTestEmail(), Password: "Password1", Username: GenerateTestUsername()} _, resp = AdminClient.CreateUser(user2) @@ -170,13 +170,13 @@ func TestCreateUserWithToken(t *testing.T) { <-th.App.Srv.Store.Token().Save(token) defer th.App.DeleteToken(token) - th.App.UpdateConfig(func(cfg *model.Config) { cfg.TeamSettings.EnableUserCreation = false }) + th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.EnableUserCreation = false }) _, resp := Client.CreateUserWithToken(&user, token.Token) CheckNotImplementedStatus(t, resp) CheckErrorMessage(t, resp, "api.user.create_user.signup_email_disabled.app_error") - th.App.UpdateConfig(func(cfg *model.Config) { cfg.TeamSettings.EnableUserCreation = true }) + th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.EnableUserCreation = true }) }) t.Run("EnableOpenServerDisable", func(t *testing.T) { @@ -270,7 +270,7 @@ func TestCreateUserWithInviteId(t *testing.T) { t.Run("EnableUserCreationDisable", func(t *testing.T) { user := model.User{Email: th.GenerateTestEmail(), Nickname: "Corey Hulen", Password: "hello1", Username: GenerateTestUsername(), Roles: model.SYSTEM_ADMIN_ROLE_ID + " " + model.SYSTEM_USER_ROLE_ID} - th.App.UpdateConfig(func(cfg *model.Config) { cfg.TeamSettings.EnableUserCreation = false }) + th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.EnableUserCreation = false }) inviteId := th.BasicTeam.InviteId @@ -278,7 +278,7 @@ func TestCreateUserWithInviteId(t *testing.T) { CheckNotImplementedStatus(t, resp) CheckErrorMessage(t, resp, "api.user.create_user.signup_email_disabled.app_error") - th.App.UpdateConfig(func(cfg *model.Config) { cfg.TeamSettings.EnableUserCreation = true }) + th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.EnableUserCreation = true }) }) t.Run("EnableOpenServerDisable", func(t *testing.T) { -- cgit v1.2.3-1-g7c22