You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

avatar_test.go 1.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. // Copyright 2020 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package avatars_test
  4. import (
  5. "testing"
  6. avatars_model "code.gitea.io/gitea/models/avatars"
  7. system_model "code.gitea.io/gitea/models/system"
  8. "code.gitea.io/gitea/modules/setting"
  9. "github.com/stretchr/testify/assert"
  10. )
  11. const gravatarSource = "https://secure.gravatar.com/avatar/"
  12. func disableGravatar(t *testing.T) {
  13. err := system_model.SetSettingNoVersion(system_model.KeyPictureEnableFederatedAvatar, "false")
  14. assert.NoError(t, err)
  15. err = system_model.SetSettingNoVersion(system_model.KeyPictureDisableGravatar, "true")
  16. assert.NoError(t, err)
  17. system_model.LibravatarService = nil
  18. }
  19. func enableGravatar(t *testing.T) {
  20. err := system_model.SetSettingNoVersion(system_model.KeyPictureDisableGravatar, "false")
  21. assert.NoError(t, err)
  22. setting.GravatarSource = gravatarSource
  23. err = system_model.Init()
  24. assert.NoError(t, err)
  25. }
  26. func TestHashEmail(t *testing.T) {
  27. assert.Equal(t,
  28. "d41d8cd98f00b204e9800998ecf8427e",
  29. avatars_model.HashEmail(""),
  30. )
  31. assert.Equal(t,
  32. "353cbad9b58e69c96154ad99f92bedc7",
  33. avatars_model.HashEmail("gitea@example.com"),
  34. )
  35. }
  36. func TestSizedAvatarLink(t *testing.T) {
  37. setting.AppSubURL = "/testsuburl"
  38. disableGravatar(t)
  39. assert.Equal(t, "/testsuburl/assets/img/avatar_default.png",
  40. avatars_model.GenerateEmailAvatarFastLink("gitea@example.com", 100))
  41. enableGravatar(t)
  42. assert.Equal(t,
  43. "https://secure.gravatar.com/avatar/353cbad9b58e69c96154ad99f92bedc7?d=identicon&s=100",
  44. avatars_model.GenerateEmailAvatarFastLink("gitea@example.com", 100),
  45. )
  46. }