mirror of
				https://github.com/go-gitea/gitea
				synced 2025-09-28 03:28:13 +00: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