gitea源码

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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. "code.gitea.io/gitea/modules/setting/config"
  10. "github.com/stretchr/testify/assert"
  11. )
  12. const gravatarSource = "https://secure.gravatar.com/avatar/"
  13. func disableGravatar(t *testing.T) {
  14. err := system_model.SetSettings(t.Context(), map[string]string{setting.Config().Picture.EnableFederatedAvatar.DynKey(): "false"})
  15. assert.NoError(t, err)
  16. err = system_model.SetSettings(t.Context(), map[string]string{setting.Config().Picture.DisableGravatar.DynKey(): "true"})
  17. assert.NoError(t, err)
  18. }
  19. func enableGravatar(t *testing.T) {
  20. err := system_model.SetSettings(t.Context(), map[string]string{setting.Config().Picture.DisableGravatar.DynKey(): "false"})
  21. assert.NoError(t, err)
  22. setting.GravatarSource = gravatarSource
  23. }
  24. func TestHashEmail(t *testing.T) {
  25. assert.Equal(t,
  26. "d41d8cd98f00b204e9800998ecf8427e",
  27. avatars_model.HashEmail(""),
  28. )
  29. assert.Equal(t,
  30. "353cbad9b58e69c96154ad99f92bedc7",
  31. avatars_model.HashEmail("gitea@example.com"),
  32. )
  33. }
  34. func TestSizedAvatarLink(t *testing.T) {
  35. setting.AppSubURL = "/testsuburl"
  36. disableGravatar(t)
  37. config.GetDynGetter().InvalidateCache()
  38. assert.Equal(t, "/testsuburl/assets/img/avatar_default.png",
  39. avatars_model.GenerateEmailAvatarFastLink(t.Context(), "gitea@example.com", 100))
  40. enableGravatar(t)
  41. config.GetDynGetter().InvalidateCache()
  42. assert.Equal(t,
  43. "https://secure.gravatar.com/avatar/353cbad9b58e69c96154ad99f92bedc7?d=identicon&s=100",
  44. avatars_model.GenerateEmailAvatarFastLink(t.Context(), "gitea@example.com", 100),
  45. )
  46. }