mirror of
https://github.com/go-gitea/gitea.git
synced 2026-11-02 13:44:16 +09:00
test: consolidate Go tests (#39962)
Consolidate all Go tests. Coverage is identical to before. Go tests are around 5% faster while being 7% smaller. No non-test code is touched.
This commit is contained in:
1 parent
ce7364e215
commit
8abda62312
388 files changed
+18410
-29561
No files matched your search
@@ -27,68 +27,66 @@ import (
|
||||
func TestAdminViewUsers(t *testing.T) {
|
||||
defer tests.PrepareTestEnv(t)()
|
||||
|
||||
session := loginUser(t, "user1")
|
||||
req := NewRequest(t, "GET", "/-/admin/users")
|
||||
session.MakeRequest(t, req, http.StatusOK)
|
||||
t.Run("List", func(t *testing.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)
|
||||
}
|
||||
session = loginUser(t, "user2")
|
||||
req = NewRequest(t, "GET", "/-/admin/users")
|
||||
session.MakeRequest(t, req, http.StatusForbidden)
|
||||
})
|
||||
|
||||
func TestAdminViewUsersFilterAuthSource(t *testing.T) {
|
||||
defer tests.PrepareTestEnv(t)()
|
||||
t.Run("ViewUser", func(t *testing.T) {
|
||||
session := loginUser(t, "user1")
|
||||
req := NewRequest(t, "GET", "/-/admin/users/1")
|
||||
session.MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
source := &auth_model.Source{Type: auth_model.LDAP, Name: "test-user-list-filter", IsActive: false, Cfg: &ldap.Source{}} // users stay attached to a deactivated source
|
||||
require.NoError(t, auth_model.CreateSource(t.Context(), source))
|
||||
session = loginUser(t, "user2")
|
||||
req = NewRequest(t, "GET", "/-/admin/users/1")
|
||||
session.MakeRequest(t, req, http.StatusForbidden)
|
||||
})
|
||||
|
||||
user2 := &user_model.User{ID: 2, LoginType: auth_model.LDAP, LoginSource: source.ID}
|
||||
require.NoError(t, user_model.UpdateUserCols(t.Context(), user2, "login_type", "login_source"))
|
||||
t.Run("FilterAuthSource", func(t *testing.T) {
|
||||
source := &auth_model.Source{Type: auth_model.LDAP, Name: "test-user-list-filter", IsActive: false, Cfg: &ldap.Source{}} // users stay attached to a deactivated source
|
||||
require.NoError(t, auth_model.CreateSource(t.Context(), source))
|
||||
|
||||
session := loginUser(t, "user1")
|
||||
listUsers := func(query string) (*HTMLDoc, []string) {
|
||||
req := NewRequest(t, "GET", "/-/admin/users?"+query)
|
||||
resp := session.MakeRequest(t, req, http.StatusOK)
|
||||
doc := NewHTMLParser(t, resp.Body)
|
||||
return doc, doc.Find("table tbody tr td:nth-child(2) a").Map(func(_ int, s *goquery.Selection) string {
|
||||
return s.Text()
|
||||
})
|
||||
}
|
||||
user2 := &user_model.User{ID: 2, LoginType: auth_model.LDAP, LoginSource: source.ID}
|
||||
require.NoError(t, user_model.UpdateUserCols(t.Context(), user2, "login_type", "login_source"))
|
||||
|
||||
doc, users := listUsers("source_id=") // the "All" option submits an empty value
|
||||
AssertHTMLElement(t, doc, `input[name="source_id"][value=""][checked]`, true)
|
||||
assert.Subset(t, users, []string{"user1", "user2"})
|
||||
session := loginUser(t, "user1")
|
||||
listUsers := func(query string) (*HTMLDoc, []string) {
|
||||
req := NewRequest(t, "GET", "/-/admin/users?"+query)
|
||||
resp := session.MakeRequest(t, req, http.StatusOK)
|
||||
doc := NewHTMLParser(t, resp.Body)
|
||||
return doc, doc.Find("table tbody tr td:nth-child(2) a").Map(func(_ int, s *goquery.Selection) string {
|
||||
return s.Text()
|
||||
})
|
||||
}
|
||||
|
||||
doc, users = listUsers(fmt.Sprintf("source_id=%d", source.ID)) // the "test-user-list-filter" LDAP source
|
||||
AssertHTMLElement(t, doc, fmt.Sprintf(`input[name="source_id"][value="%d"][checked]`, source.ID), true)
|
||||
assert.Equal(t, []string{"user2"}, users)
|
||||
assert.Equal(t, source.Name, doc.Find("table tbody tr td:nth-child(4)").Text())
|
||||
doc, users := listUsers("source_id=") // the "All" option submits an empty value
|
||||
AssertHTMLElement(t, doc, `input[name="source_id"][value=""][checked]`, true)
|
||||
assert.Subset(t, users, []string{"user1", "user2"})
|
||||
|
||||
_, users = listUsers("source_id=0") // 0 means the "Local" source
|
||||
assert.Contains(t, users, "user1")
|
||||
assert.NotContains(t, users, "user2")
|
||||
doc, users = listUsers(fmt.Sprintf("source_id=%d", source.ID)) // the "test-user-list-filter" LDAP source
|
||||
AssertHTMLElement(t, doc, fmt.Sprintf(`input[name="source_id"][value="%d"][checked]`, source.ID), true)
|
||||
assert.Equal(t, []string{"user2"}, users)
|
||||
assert.Equal(t, source.Name, doc.Find("table tbody tr td:nth-child(4)").Text())
|
||||
|
||||
token := getUserToken(t, "user1", auth_model.AccessTokenScopeReadAdmin)
|
||||
req := NewRequest(t, "GET", "/api/v1/admin/users?source_id=0").AddTokenAuth(token) // the API also treats 0 as local users
|
||||
apiUsers := DecodeJSON(t, MakeRequest(t, req, http.StatusOK), []api.User{})
|
||||
apiUserNames := make([]string, 0, len(apiUsers))
|
||||
for _, u := range apiUsers {
|
||||
apiUserNames = append(apiUserNames, u.UserName)
|
||||
}
|
||||
assert.Contains(t, apiUserNames, "user1")
|
||||
assert.NotContains(t, apiUserNames, "user2")
|
||||
}
|
||||
_, users = listUsers("source_id=0") // 0 means the "Local" source
|
||||
assert.Contains(t, users, "user1")
|
||||
assert.NotContains(t, users, "user2")
|
||||
|
||||
func TestAdminViewUser(t *testing.T) {
|
||||
defer tests.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)
|
||||
token := getUserToken(t, "user1", auth_model.AccessTokenScopeReadAdmin)
|
||||
req := NewRequest(t, "GET", "/api/v1/admin/users?source_id=0").AddTokenAuth(token) // the API also treats 0 as local users
|
||||
apiUsers := DecodeJSON(t, MakeRequest(t, req, http.StatusOK), []api.User{})
|
||||
apiUserNames := make([]string, 0, len(apiUsers))
|
||||
for _, u := range apiUsers {
|
||||
apiUserNames = append(apiUserNames, u.UserName)
|
||||
}
|
||||
assert.Contains(t, apiUserNames, "user1")
|
||||
assert.NotContains(t, apiUserNames, "user2")
|
||||
})
|
||||
}
|
||||
|
||||
func TestAdminEditUser(t *testing.T) {
|
||||
|
||||
Reference in new issue
Block a user