mirror of
				https://codeberg.org/forgejo/forgejo.git
				synced 2025-11-04 08:21:11 +00:00 
			
		
		
		
	Merge pull request '[GITEA] Fix NPE in UsernameSubRoute' (#1981) from gusted/remove-magic into forgejo-dependency
		
	Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/1981 Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
This commit is contained in:
		
				commit
				
					
						b352893c93
					
				
			
		
					 2 changed files with 23 additions and 11 deletions
				
			
		| 
						 | 
					@ -710,12 +710,15 @@ func UsernameSubRoute(ctx *context.Context) {
 | 
				
			||||||
	reloadParam := func(suffix string) (success bool) {
 | 
						reloadParam := func(suffix string) (success bool) {
 | 
				
			||||||
		ctx.SetParams("username", strings.TrimSuffix(username, suffix))
 | 
							ctx.SetParams("username", strings.TrimSuffix(username, suffix))
 | 
				
			||||||
		context_service.UserAssignmentWeb()(ctx)
 | 
							context_service.UserAssignmentWeb()(ctx)
 | 
				
			||||||
 | 
							if ctx.Written() {
 | 
				
			||||||
 | 
								return false
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
		// check view permissions
 | 
							// check view permissions
 | 
				
			||||||
		if !user_model.IsUserVisibleToViewer(ctx, ctx.ContextUser, ctx.Doer) {
 | 
							if !user_model.IsUserVisibleToViewer(ctx, ctx.ContextUser, ctx.Doer) {
 | 
				
			||||||
			ctx.NotFound("user", fmt.Errorf(ctx.ContextUser.Name))
 | 
								ctx.NotFound("user", fmt.Errorf(ctx.ContextUser.Name))
 | 
				
			||||||
			return false
 | 
								return false
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		return !ctx.Written()
 | 
							return true
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	switch {
 | 
						switch {
 | 
				
			||||||
	case strings.HasSuffix(username, ".png"):
 | 
						case strings.HasSuffix(username, ".png"):
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -243,6 +243,9 @@ func testExportUserGPGKeys(t *testing.T, user, expected string) {
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func TestGetUserRss(t *testing.T) {
 | 
					func TestGetUserRss(t *testing.T) {
 | 
				
			||||||
 | 
						defer tests.PrepareTestEnv(t)()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						t.Run("Normal", func(t *testing.T) {
 | 
				
			||||||
		user34 := "the_34-user.with.all.allowedChars"
 | 
							user34 := "the_34-user.with.all.allowedChars"
 | 
				
			||||||
		req := NewRequestf(t, "GET", "/%s.rss", user34)
 | 
							req := NewRequestf(t, "GET", "/%s.rss", user34)
 | 
				
			||||||
		resp := MakeRequest(t, req, http.StatusOK)
 | 
							resp := MakeRequest(t, req, http.StatusOK)
 | 
				
			||||||
| 
						 | 
					@ -253,6 +256,12 @@ func TestGetUserRss(t *testing.T) {
 | 
				
			||||||
			description, _ := rssDoc.ChildrenFiltered("description").Html()
 | 
								description, _ := rssDoc.ChildrenFiltered("description").Html()
 | 
				
			||||||
			assert.EqualValues(t, "<p dir="auto">some <a href="https://commonmark.org/" rel="nofollow">commonmark</a>!</p>\n", description)
 | 
								assert.EqualValues(t, "<p dir="auto">some <a href="https://commonmark.org/" rel="nofollow">commonmark</a>!</p>\n", description)
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
						t.Run("Non-existent user", func(t *testing.T) {
 | 
				
			||||||
 | 
							session := loginUser(t, "user2")
 | 
				
			||||||
 | 
							req := NewRequestf(t, "GET", "/non-existent-user.rss")
 | 
				
			||||||
 | 
							session.MakeRequest(t, req, http.StatusNotFound)
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func TestListStopWatches(t *testing.T) {
 | 
					func TestListStopWatches(t *testing.T) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue