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.

user_redirect_test.go 2.0KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. // Copyright 2020 The Gitea Authors. All rights reserved.
  2. // Use of this source code is governed by a MIT-style
  3. // license that can be found in the LICENSE file.
  4. package models
  5. import (
  6. "testing"
  7. "code.gitea.io/gitea/models/db"
  8. "github.com/stretchr/testify/assert"
  9. )
  10. func TestLookupUserRedirect(t *testing.T) {
  11. assert.NoError(t, db.PrepareTestDatabase())
  12. userID, err := LookupUserRedirect("olduser1")
  13. assert.NoError(t, err)
  14. assert.EqualValues(t, 1, userID)
  15. _, err = LookupUserRedirect("doesnotexist")
  16. assert.True(t, IsErrUserRedirectNotExist(err))
  17. }
  18. func TestNewUserRedirect(t *testing.T) {
  19. // redirect to a completely new name
  20. assert.NoError(t, db.PrepareTestDatabase())
  21. user := db.AssertExistsAndLoadBean(t, &User{ID: 1}).(*User)
  22. assert.NoError(t, newUserRedirect(db.GetEngine(db.DefaultContext), user.ID, user.Name, "newusername"))
  23. db.AssertExistsAndLoadBean(t, &UserRedirect{
  24. LowerName: user.LowerName,
  25. RedirectUserID: user.ID,
  26. })
  27. db.AssertExistsAndLoadBean(t, &UserRedirect{
  28. LowerName: "olduser1",
  29. RedirectUserID: user.ID,
  30. })
  31. }
  32. func TestNewUserRedirect2(t *testing.T) {
  33. // redirect to previously used name
  34. assert.NoError(t, db.PrepareTestDatabase())
  35. user := db.AssertExistsAndLoadBean(t, &User{ID: 1}).(*User)
  36. assert.NoError(t, newUserRedirect(db.GetEngine(db.DefaultContext), user.ID, user.Name, "olduser1"))
  37. db.AssertExistsAndLoadBean(t, &UserRedirect{
  38. LowerName: user.LowerName,
  39. RedirectUserID: user.ID,
  40. })
  41. db.AssertNotExistsBean(t, &UserRedirect{
  42. LowerName: "olduser1",
  43. RedirectUserID: user.ID,
  44. })
  45. }
  46. func TestNewUserRedirect3(t *testing.T) {
  47. // redirect for a previously-unredirected user
  48. assert.NoError(t, db.PrepareTestDatabase())
  49. user := db.AssertExistsAndLoadBean(t, &User{ID: 2}).(*User)
  50. assert.NoError(t, newUserRedirect(db.GetEngine(db.DefaultContext), user.ID, user.Name, "newusername"))
  51. db.AssertExistsAndLoadBean(t, &UserRedirect{
  52. LowerName: user.LowerName,
  53. RedirectUserID: user.ID,
  54. })
  55. }