mirror of
https://github.com/go-gitea/gitea.git
synced 2025-05-23 16:48:47 +03:00
@ -1203,7 +1203,8 @@ func GetUsersByEmails(ctx context.Context, emails []string) (map[string]*User, e
|
|||||||
for _, email := range emailAddresses {
|
for _, email := range emailAddresses {
|
||||||
user := users[email.UID]
|
user := users[email.UID]
|
||||||
if user != nil {
|
if user != nil {
|
||||||
results[user.GetEmail()] = user
|
results[user.Email] = user
|
||||||
|
results[user.GetPlaceholderEmail()] = user
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1213,6 +1214,7 @@ func GetUsersByEmails(ctx context.Context, emails []string) (map[string]*User, e
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
for _, user := range users {
|
for _, user := range users {
|
||||||
|
results[user.Email] = user
|
||||||
results[user.GetPlaceholderEmail()] = user
|
results[user.GetPlaceholderEmail()] = user
|
||||||
}
|
}
|
||||||
return results, nil
|
return results, nil
|
||||||
|
@ -23,6 +23,7 @@ import (
|
|||||||
"code.gitea.io/gitea/modules/timeutil"
|
"code.gitea.io/gitea/modules/timeutil"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestIsUsableUsername(t *testing.T) {
|
func TestIsUsableUsername(t *testing.T) {
|
||||||
@ -48,14 +49,23 @@ func TestOAuth2Application_LoadUser(t *testing.T) {
|
|||||||
assert.NotNil(t, user)
|
assert.NotNil(t, user)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestGetUserEmailsByNames(t *testing.T) {
|
func TestUserEmails(t *testing.T) {
|
||||||
assert.NoError(t, unittest.PrepareTestDatabase())
|
assert.NoError(t, unittest.PrepareTestDatabase())
|
||||||
|
t.Run("GetUserEmailsByNames", func(t *testing.T) {
|
||||||
// ignore none active user email
|
// ignore none active user email
|
||||||
assert.ElementsMatch(t, []string{"user8@example.com"}, user_model.GetUserEmailsByNames(db.DefaultContext, []string{"user8", "user9"}))
|
assert.ElementsMatch(t, []string{"user8@example.com"}, user_model.GetUserEmailsByNames(db.DefaultContext, []string{"user8", "user9"}))
|
||||||
assert.ElementsMatch(t, []string{"user8@example.com", "user5@example.com"}, user_model.GetUserEmailsByNames(db.DefaultContext, []string{"user8", "user5"}))
|
assert.ElementsMatch(t, []string{"user8@example.com", "user5@example.com"}, user_model.GetUserEmailsByNames(db.DefaultContext, []string{"user8", "user5"}))
|
||||||
|
assert.ElementsMatch(t, []string{"user8@example.com"}, user_model.GetUserEmailsByNames(db.DefaultContext, []string{"user8", "org7"}))
|
||||||
assert.ElementsMatch(t, []string{"user8@example.com"}, user_model.GetUserEmailsByNames(db.DefaultContext, []string{"user8", "org7"}))
|
})
|
||||||
|
t.Run("GetUsersByEmails", func(t *testing.T) {
|
||||||
|
m, err := user_model.GetUsersByEmails(db.DefaultContext, []string{"user1@example.com", "user2@" + setting.Service.NoReplyAddress})
|
||||||
|
require.NoError(t, err)
|
||||||
|
require.Len(t, m, 4)
|
||||||
|
assert.EqualValues(t, 1, m["user1@example.com"].ID)
|
||||||
|
assert.EqualValues(t, 1, m["user1@"+setting.Service.NoReplyAddress].ID)
|
||||||
|
assert.EqualValues(t, 2, m["user2@example.com"].ID)
|
||||||
|
assert.EqualValues(t, 2, m["user2@"+setting.Service.NoReplyAddress].ID)
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestCanCreateOrganization(t *testing.T) {
|
func TestCanCreateOrganization(t *testing.T) {
|
||||||
|
@ -12,8 +12,6 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
auth_model "code.gitea.io/gitea/models/auth"
|
auth_model "code.gitea.io/gitea/models/auth"
|
||||||
"code.gitea.io/gitea/models/unittest"
|
|
||||||
user_model "code.gitea.io/gitea/models/user"
|
|
||||||
"code.gitea.io/gitea/modules/json"
|
"code.gitea.io/gitea/modules/json"
|
||||||
"code.gitea.io/gitea/modules/setting"
|
"code.gitea.io/gitea/modules/setting"
|
||||||
api "code.gitea.io/gitea/modules/structs"
|
api "code.gitea.io/gitea/modules/structs"
|
||||||
@ -40,40 +38,24 @@ func TestRepoCommits(t *testing.T) {
|
|||||||
|
|
||||||
func Test_ReposGitCommitListNotMaster(t *testing.T) {
|
func Test_ReposGitCommitListNotMaster(t *testing.T) {
|
||||||
defer tests.PrepareTestEnv(t)()
|
defer tests.PrepareTestEnv(t)()
|
||||||
user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2})
|
session := loginUser(t, "user2")
|
||||||
// Login as User2.
|
req := NewRequest(t, "GET", "/user2/repo16/commits/branch/master")
|
||||||
session := loginUser(t, user.Name)
|
|
||||||
|
|
||||||
// Test getting commits (Page 1)
|
|
||||||
req := NewRequestf(t, "GET", "/%s/repo16/commits/branch/master", user.Name)
|
|
||||||
resp := session.MakeRequest(t, req, http.StatusOK)
|
resp := session.MakeRequest(t, req, http.StatusOK)
|
||||||
|
|
||||||
doc := NewHTMLParser(t, resp.Body)
|
doc := NewHTMLParser(t, resp.Body)
|
||||||
commits := []string{}
|
var commits []string
|
||||||
doc.doc.Find("#commits-table .commit-id-short").Each(func(i int, s *goquery.Selection) {
|
doc.doc.Find("#commits-table .commit-id-short").Each(func(i int, s *goquery.Selection) {
|
||||||
commitURL, exists := s.Attr("href")
|
commitURL, _ := s.Attr("href")
|
||||||
assert.True(t, exists)
|
|
||||||
assert.NotEmpty(t, commitURL)
|
|
||||||
commits = append(commits, path.Base(commitURL))
|
commits = append(commits, path.Base(commitURL))
|
||||||
})
|
})
|
||||||
|
assert.Equal(t, []string{"69554a64c1e6030f051e5c3f94bfbd773cd6a324", "27566bd5738fc8b4e3fef3c5e72cce608537bd95", "5099b81332712fe655e34e8dd63574f503f61811"}, commits)
|
||||||
|
|
||||||
assert.Len(t, commits, 3)
|
var userHrefs []string
|
||||||
assert.Equal(t, "69554a64c1e6030f051e5c3f94bfbd773cd6a324", commits[0])
|
|
||||||
assert.Equal(t, "27566bd5738fc8b4e3fef3c5e72cce608537bd95", commits[1])
|
|
||||||
assert.Equal(t, "5099b81332712fe655e34e8dd63574f503f61811", commits[2])
|
|
||||||
|
|
||||||
userNames := []string{}
|
|
||||||
doc.doc.Find("#commits-table .author-wrapper").Each(func(i int, s *goquery.Selection) {
|
doc.doc.Find("#commits-table .author-wrapper").Each(func(i int, s *goquery.Selection) {
|
||||||
userPath, exists := s.Attr("href")
|
userHref, _ := s.Attr("href")
|
||||||
assert.True(t, exists)
|
userHrefs = append(userHrefs, userHref)
|
||||||
assert.NotEmpty(t, userPath)
|
|
||||||
userNames = append(userNames, path.Base(userPath))
|
|
||||||
})
|
})
|
||||||
|
assert.Equal(t, []string{"/user2", "/user21", "/user2"}, userHrefs)
|
||||||
assert.Len(t, userNames, 3)
|
|
||||||
assert.Equal(t, "User2", userNames[0])
|
|
||||||
assert.Equal(t, "user21", userNames[1])
|
|
||||||
assert.Equal(t, "User2", userNames[2])
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func doTestRepoCommitWithStatus(t *testing.T, state string, classes ...string) {
|
func doTestRepoCommitWithStatus(t *testing.T, state string, classes ...string) {
|
||||||
|
Reference in New Issue
Block a user