forked from gitea/gitea
		
	Test AvatarLink and refactor with tests passing
This commit is contained in:
		
							parent
							
								
									a5d0b4de5b
								
							
						
					
					
						commit
						f81711f40d
					
				| @ -202,21 +202,18 @@ func HashEmail(email string) string { | ||||
| // AvatarLink returns relative avatar link to the site domain by given email, | ||||
| // which includes app sub-url as prefix. However, it is possible | ||||
| // to return full URL if user enables Gravatar-like service. | ||||
| func AvatarLink(email string) (url string) { | ||||
| func AvatarLink(email string) string { | ||||
| 	if setting.EnableFederatedAvatar && setting.LibravatarService != nil { | ||||
| 		var err error | ||||
| 		url, err = setting.LibravatarService.FromEmail(email) | ||||
| 		if err != nil { | ||||
| 			log.Error(1, "LibravatarService.FromEmail: %v", err) | ||||
| 		} | ||||
| 		// TODO: This doesn't check any error. AvatarLink should return (string, error) | ||||
| 		url, _ := setting.LibravatarService.FromEmail(email) | ||||
| 		return url | ||||
| 	} | ||||
| 	if len(url) == 0 && !setting.DisableGravatar { | ||||
| 		url = setting.GravatarSource + HashEmail(email) | ||||
| 
 | ||||
| 	if !setting.DisableGravatar { | ||||
| 		return setting.GravatarSource + HashEmail(email) | ||||
| 	} | ||||
| 	if len(url) == 0 { | ||||
| 		url = setting.AppSubUrl + "/img/avatar_default.png" | ||||
| 	} | ||||
| 	return url | ||||
| 
 | ||||
| 	return setting.AppSubUrl + "/img/avatar_default.png" | ||||
| } | ||||
| 
 | ||||
| // Seconds-based time units | ||||
|  | ||||
| @ -1,8 +1,11 @@ | ||||
| package base | ||||
| 
 | ||||
| import ( | ||||
| 	"github.com/stretchr/testify/assert" | ||||
| 	"testing" | ||||
| 
 | ||||
| 	"github.com/go-gitea/gitea/modules/setting" | ||||
| 	"github.com/stretchr/testify/assert" | ||||
| 	"strk.kbt.io/projects/go/libravatar" | ||||
| ) | ||||
| 
 | ||||
| func TestEncodeMD5(t *testing.T) { | ||||
| @ -46,6 +49,25 @@ func TestHashEmail(t *testing.T) { | ||||
| 	assert.Equal(t, "353cbad9b58e69c96154ad99f92bedc7", HashEmail("gitea@example.com")) | ||||
| } | ||||
| 
 | ||||
| func TestAvatarLink(t *testing.T) { | ||||
| 	setting.EnableFederatedAvatar = false | ||||
| 	setting.LibravatarService = nil | ||||
| 	setting.DisableGravatar = true | ||||
| 
 | ||||
| 	assert.Equal(t, "/img/avatar_default.png", AvatarLink("")) | ||||
| 
 | ||||
| 	setting.DisableGravatar = false | ||||
| 	assert.Equal(t, "353cbad9b58e69c96154ad99f92bedc7", AvatarLink("gitea@example.com")) | ||||
| 
 | ||||
| 	setting.EnableFederatedAvatar = true | ||||
| 	assert.Equal(t, "353cbad9b58e69c96154ad99f92bedc7", AvatarLink("gitea@example.com")) | ||||
| 	setting.LibravatarService = libravatar.New() | ||||
| 	assert.Equal(t, | ||||
| 		"http://cdn.libravatar.org/avatar/353cbad9b58e69c96154ad99f92bedc7", | ||||
| 		AvatarLink("gitea@example.com"), | ||||
| 	) | ||||
| } | ||||
| 
 | ||||
| // TODO: AvatarLink() | ||||
| // TODO: computeTimeDiff() | ||||
| // TODO: TimeSincePro() | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Matthias Loibl
						Matthias Loibl