diff --git a/pkg/gravatar/gravatar.go b/pkg/gravatar/gravatar.go index 9c79b3872..30874f159 100644 --- a/pkg/gravatar/gravatar.go +++ b/pkg/gravatar/gravatar.go @@ -29,7 +29,7 @@ import ( // GetAvatarURL get avatar url from gravatar by email func GetAvatarURL(baseURL, email string) string { - hasher := sha256.Sum256([]byte(strings.TrimSpace(email))) + hasher := sha256.Sum256([]byte(strings.ToLower(strings.TrimSpace(email)))) hash := hex.EncodeToString(hasher[:]) return baseURL + hash } diff --git a/pkg/gravatar/gravatar_test.go b/pkg/gravatar/gravatar_test.go index b88a69649..9a51773a0 100644 --- a/pkg/gravatar/gravatar_test.go +++ b/pkg/gravatar/gravatar_test.go @@ -41,6 +41,21 @@ func TestGetAvatarURL(t *testing.T) { args: args{email: "answer@answer.com"}, want: "https://www.gravatar.com/avatar/7296942c1f63d97f6c124705142009867638f7b3dbcdadd0cb1bcb40e427eb8e", }, + { + name: "mixed case address", + args: args{email: "Answer@Answer.com"}, + want: "https://www.gravatar.com/avatar/7296942c1f63d97f6c124705142009867638f7b3dbcdadd0cb1bcb40e427eb8e", + }, + { + name: "upper case address", + args: args{email: "ANSWER@ANSWER.COM"}, + want: "https://www.gravatar.com/avatar/7296942c1f63d97f6c124705142009867638f7b3dbcdadd0cb1bcb40e427eb8e", + }, + { + name: "padded mixed case address", + args: args{email: " Answer@Answer.com "}, + want: "https://www.gravatar.com/avatar/7296942c1f63d97f6c124705142009867638f7b3dbcdadd0cb1bcb40e427eb8e", + }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) {