parent
d95caf50ec
commit
43cf2f3b55
@ -0,0 +1,86 @@ |
||||
// Copyright 2019 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" |
||||
"net/url" |
||||
"strings" |
||||
"testing" |
||||
|
||||
"code.gitea.io/gitea/models" |
||||
api "code.gitea.io/gitea/modules/structs" |
||||
|
||||
"github.com/stretchr/testify/assert" |
||||
) |
||||
|
||||
func TestAPIAdminOrgCreate(t *testing.T) { |
||||
onGiteaRun(t, func(*testing.T, *url.URL) { |
||||
session := loginUser(t, "user1") |
||||
token := getTokenForLoggedInUser(t, session) |
||||
|
||||
var org = api.CreateOrgOption{ |
||||
UserName: "user2_org", |
||||
FullName: "User2's organization", |
||||
Description: "This organization created by admin for user2", |
||||
Website: "https://try.gitea.io", |
||||
Location: "Shanghai", |
||||
Visibility: "private", |
||||
} |
||||
req := NewRequestWithJSON(t, "POST", "/api/v1/admin/users/user2/orgs?token="+token, &org) |
||||
resp := session.MakeRequest(t, req, http.StatusCreated) |
||||
|
||||
var apiOrg api.Organization |
||||
DecodeJSON(t, resp, &apiOrg) |
||||
|
||||
assert.Equal(t, org.UserName, apiOrg.UserName) |
||||
assert.Equal(t, org.FullName, apiOrg.FullName) |
||||
assert.Equal(t, org.Description, apiOrg.Description) |
||||
assert.Equal(t, org.Website, apiOrg.Website) |
||||
assert.Equal(t, org.Location, apiOrg.Location) |
||||
assert.Equal(t, org.Visibility, apiOrg.Visibility) |
||||
|
||||
models.AssertExistsAndLoadBean(t, &models.User{ |
||||
Name: org.UserName, |
||||
LowerName: strings.ToLower(org.UserName), |
||||
FullName: org.FullName, |
||||
}) |
||||
}) |
||||
} |
||||
|
||||
func TestAPIAdminOrgCreateBadVisibility(t *testing.T) { |
||||
onGiteaRun(t, func(*testing.T, *url.URL) { |
||||
session := loginUser(t, "user1") |
||||
token := getTokenForLoggedInUser(t, session) |
||||
|
||||
var org = api.CreateOrgOption{ |
||||
UserName: "user2_org", |
||||
FullName: "User2's organization", |
||||
Description: "This organization created by admin for user2", |
||||
Website: "https://try.gitea.io", |
||||
Location: "Shanghai", |
||||
Visibility: "notvalid", |
||||
} |
||||
req := NewRequestWithJSON(t, "POST", "/api/v1/admin/users/user2/orgs?token="+token, &org) |
||||
session.MakeRequest(t, req, http.StatusUnprocessableEntity) |
||||
}) |
||||
} |
||||
|
||||
func TestAPIAdminOrgCreateNotAdmin(t *testing.T) { |
||||
prepareTestEnv(t) |
||||
nonAdminUsername := "user2" |
||||
session := loginUser(t, nonAdminUsername) |
||||
token := getTokenForLoggedInUser(t, session) |
||||
var org = api.CreateOrgOption{ |
||||
UserName: "user2_org", |
||||
FullName: "User2's organization", |
||||
Description: "This organization created by admin for user2", |
||||
Website: "https://try.gitea.io", |
||||
Location: "Shanghai", |
||||
Visibility: "public", |
||||
} |
||||
req := NewRequestWithJSON(t, "POST", "/api/v1/admin/users/user2/orgs?token="+token, &org) |
||||
session.MakeRequest(t, req, http.StatusForbidden) |
||||
} |
Loading…
Reference in new issue