aboutsummaryrefslogtreecommitdiffstats
path: root/integrations
diff options
context:
space:
mode:
author6543 <6543@obermui.de>2021-01-10 13:14:02 +0100
committerGitHub <noreply@github.com>2021-01-10 14:14:02 +0200
commit6b3b6f1833d07383d24d68ec220a18315ac36809 (patch)
treeaeceb687845f71a493b64c223297c0567d7f6bf5 /integrations
parentd989247bb08d2b8eb144e7a0edeaedfc26d08175 (diff)
downloadgitea-6b3b6f1833d07383d24d68ec220a18315ac36809.tar.gz
gitea-6b3b6f1833d07383d24d68ec220a18315ac36809.zip
Add option to change username to the admin panel (#14229)
Co-authored-by: Bwko <bouwko@gmail.com> Co-authored-by: techknowlogick <matti@mdranta.net> Co-authored-by: zeripath <art27@cantab.net>
Diffstat (limited to 'integrations')
-rw-r--r--integrations/admin_user_test.go82
-rw-r--r--integrations/delete_user_test.go15
2 files changed, 82 insertions, 15 deletions
diff --git a/integrations/admin_user_test.go b/integrations/admin_user_test.go
new file mode 100644
index 0000000000..f6b4590d27
--- /dev/null
+++ b/integrations/admin_user_test.go
@@ -0,0 +1,82 @@
+// Copyright 2021 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package integrations
+
+import (
+ "net/http"
+ "strconv"
+ "testing"
+
+ "code.gitea.io/gitea/models"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestAdminViewUsers(t *testing.T) {
+ prepareTestEnv(t)
+
+ session := loginUser(t, "user1")
+ req := NewRequest(t, "GET", "/admin/users")
+ session.MakeRequest(t, req, http.StatusOK)
+
+ session = loginUser(t, "user2")
+ req = NewRequest(t, "GET", "/admin/users")
+ session.MakeRequest(t, req, http.StatusForbidden)
+}
+
+func TestAdminViewUser(t *testing.T) {
+ prepareTestEnv(t)
+
+ session := loginUser(t, "user1")
+ req := NewRequest(t, "GET", "/admin/users/1")
+ session.MakeRequest(t, req, http.StatusOK)
+
+ session = loginUser(t, "user2")
+ req = NewRequest(t, "GET", "/admin/users/1")
+ session.MakeRequest(t, req, http.StatusForbidden)
+}
+
+func TestAdminEditUser(t *testing.T) {
+ prepareTestEnv(t)
+
+ testSuccessfullEdit(t, models.User{ID: 2, Name: "newusername", LoginName: "otherlogin", Email: "new@e-mail.gitea"})
+}
+
+func testSuccessfullEdit(t *testing.T, formData models.User) {
+ makeRequest(t, formData, http.StatusFound)
+}
+
+func makeRequest(t *testing.T, formData models.User, headerCode int) {
+ session := loginUser(t, "user1")
+ csrf := GetCSRF(t, session, "/admin/users/"+strconv.Itoa(int(formData.ID)))
+ req := NewRequestWithValues(t, "POST", "/admin/users/"+strconv.Itoa(int(formData.ID)), map[string]string{
+ "_csrf": csrf,
+ "user_name": formData.Name,
+ "login_name": formData.LoginName,
+ "login_type": "0-0",
+ "email": formData.Email,
+ })
+
+ session.MakeRequest(t, req, headerCode)
+ user := models.AssertExistsAndLoadBean(t, &models.User{ID: formData.ID}).(*models.User)
+ assert.Equal(t, formData.Name, user.Name)
+ assert.Equal(t, formData.LoginName, user.LoginName)
+ assert.Equal(t, formData.Email, user.Email)
+}
+
+func TestAdminDeleteUser(t *testing.T) {
+ defer prepareTestEnv(t)()
+
+ session := loginUser(t, "user1")
+
+ csrf := GetCSRF(t, session, "/admin/users/8")
+ req := NewRequestWithValues(t, "POST", "/admin/users/8/delete", map[string]string{
+ "_csrf": csrf,
+ })
+ session.MakeRequest(t, req, http.StatusOK)
+
+ assertUserDeleted(t, 8)
+ models.CheckConsistencyFor(t, &models.User{})
+}
diff --git a/integrations/delete_user_test.go b/integrations/delete_user_test.go
index 32032b3ddf..86be6f22ad 100644
--- a/integrations/delete_user_test.go
+++ b/integrations/delete_user_test.go
@@ -24,21 +24,6 @@ func assertUserDeleted(t *testing.T, userID int64) {
models.AssertNotExistsBean(t, &models.Star{UID: userID})
}
-func TestAdminDeleteUser(t *testing.T) {
- defer prepareTestEnv(t)()
-
- session := loginUser(t, "user1")
-
- csrf := GetCSRF(t, session, "/admin/users/8")
- req := NewRequestWithValues(t, "POST", "/admin/users/8/delete", map[string]string{
- "_csrf": csrf,
- })
- session.MakeRequest(t, req, http.StatusOK)
-
- assertUserDeleted(t, 8)
- models.CheckConsistencyFor(t, &models.User{})
-}
-
func TestUserDeleteAccount(t *testing.T) {
defer prepareTestEnv(t)()