|
9 | 9 | "net/http"
|
10 | 10 | "testing"
|
11 | 11 |
|
| 12 | + "github.com/stretchr/testify/assert" |
| 13 | + |
12 | 14 | "code.gitea.io/gitea/models"
|
13 | 15 | api "code.gitea.io/sdk/gitea"
|
14 | 16 | )
|
@@ -71,3 +73,30 @@ func TestAPIAdminDeleteUnauthorizedKey(t *testing.T) {
|
71 | 73 | adminUsername, newPublicKey.ID)
|
72 | 74 | session.MakeRequest(t, req, http.StatusForbidden)
|
73 | 75 | }
|
| 76 | + |
| 77 | +func TestAPISudoUser(t *testing.T) { |
| 78 | + prepareTestEnv(t) |
| 79 | + adminUsername := "user1" |
| 80 | + normalUsername := "user2" |
| 81 | + session := loginUser(t, adminUsername) |
| 82 | + |
| 83 | + urlStr := fmt.Sprintf("/api/v1/user?sudo=%s", normalUsername) |
| 84 | + req := NewRequest(t, "GET", urlStr) |
| 85 | + resp := session.MakeRequest(t, req, http.StatusOK) |
| 86 | + var user api.User |
| 87 | + DecodeJSON(t, resp, &user) |
| 88 | + |
| 89 | + assert.Equal(t, normalUsername, user.UserName) |
| 90 | +} |
| 91 | + |
| 92 | +func TestAPISudoUserForbidden(t *testing.T) { |
| 93 | + prepareTestEnv(t) |
| 94 | + adminUsername := "user1" |
| 95 | + normalUsername := "user2" |
| 96 | + |
| 97 | + session := loginUser(t, normalUsername) |
| 98 | + |
| 99 | + urlStr := fmt.Sprintf("/api/v1/user?sudo=%s", adminUsername) |
| 100 | + req := NewRequest(t, "GET", urlStr) |
| 101 | + session.MakeRequest(t, req, http.StatusForbidden) |
| 102 | +} |
0 commit comments