summaryrefslogtreecommitdiffstats
path: root/api4
diff options
context:
space:
mode:
authorMartin Kraft <martinkraft@gmail.com>2018-05-22 12:54:00 -0400
committerMartin Kraft <martinkraft@gmail.com>2018-05-22 12:54:00 -0400
commit4c683aff7627040ff811f065848a820b2cb19d59 (patch)
tree668061e8acfd8827fd02bab18a998b7986944296 /api4
parenteb78d273f39202046fa71555a5a19b0ec8a95cb3 (diff)
parent1af1bce6199597bb2d41ddcdc00ef0f28a73c83e (diff)
downloadchat-4c683aff7627040ff811f065848a820b2cb19d59.tar.gz
chat-4c683aff7627040ff811f065848a820b2cb19d59.tar.bz2
chat-4c683aff7627040ff811f065848a820b2cb19d59.zip
Merge remote-tracking branch 'origin/master' into advanced-permissions-phase-2
Diffstat (limited to 'api4')
-rw-r--r--api4/oauth.go2
-rw-r--r--api4/team.go2
-rw-r--r--api4/team_test.go27
-rw-r--r--api4/user_test.go10
4 files changed, 22 insertions, 19 deletions
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/team.go b/api4/team.go
index 1c2e9514e..508602d0e 100644
--- a/api4/team.go
+++ b/api4/team.go
@@ -198,7 +198,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 f08aa6ba9..b47a8b650 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)
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) {