Skip to content

Commit b4ecccf

Browse files
committed
Add user redirect test
1 parent 1524fef commit b4ecccf

File tree

2 files changed

+73
-0
lines changed

2 files changed

+73
-0
lines changed

models/fixtures/user_redirect.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
-
2+
id: 1
3+
lower_name: olduser1
4+
redirect_user_id: 1

models/user_redirect_test.go

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
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+
5+
package models
6+
7+
import (
8+
"testing"
9+
10+
"github.com/stretchr/testify/assert"
11+
)
12+
13+
func TestLookupUserRedirect(t *testing.T) {
14+
assert.NoError(t, PrepareTestDatabase())
15+
16+
userID, err := LookupUserRedirect("olduser1")
17+
assert.NoError(t, err)
18+
assert.EqualValues(t, 1, userID)
19+
20+
_, err = LookupUserRedirect("doesnotexist")
21+
assert.True(t, IsErrUserRedirectNotExist(err))
22+
}
23+
24+
func TestNewUserRedirect(t *testing.T) {
25+
// redirect to a completely new name
26+
assert.NoError(t, PrepareTestDatabase())
27+
28+
user := AssertExistsAndLoadBean(t, &User{ID: 1}).(*User)
29+
assert.NoError(t, NewUserRedirect(DefaultDBContext(), user.ID, user.Name, "newusername"))
30+
31+
AssertExistsAndLoadBean(t, &UserRedirect{
32+
LowerName: user.LowerName,
33+
RedirectUserID: user.ID,
34+
})
35+
AssertExistsAndLoadBean(t, &UserRedirect{
36+
LowerName: "olduser1",
37+
RedirectUserID: user.ID,
38+
})
39+
}
40+
41+
func TestNewUserRedirect2(t *testing.T) {
42+
// redirect to previously used name
43+
assert.NoError(t, PrepareTestDatabase())
44+
45+
user := AssertExistsAndLoadBean(t, &User{ID: 1}).(*User)
46+
assert.NoError(t, NewUserRedirect(DefaultDBContext(), user.ID, user.Name, "olduser1"))
47+
48+
AssertExistsAndLoadBean(t, &UserRedirect{
49+
LowerName: user.LowerName,
50+
RedirectUserID: user.ID,
51+
})
52+
AssertNotExistsBean(t, &UserRedirect{
53+
LowerName: "olduser1",
54+
RedirectUserID: user.ID,
55+
})
56+
}
57+
58+
func TestNewUserRedirect3(t *testing.T) {
59+
// redirect for a previously-unredirected user
60+
assert.NoError(t, PrepareTestDatabase())
61+
62+
user := AssertExistsAndLoadBean(t, &User{ID: 2}).(*User)
63+
assert.NoError(t, NewUserRedirect(DefaultDBContext(), user.ID, user.Name, "newusername"))
64+
65+
AssertExistsAndLoadBean(t, &UserRedirect{
66+
LowerName: user.LowerName,
67+
RedirectUserID: user.ID,
68+
})
69+
}

0 commit comments

Comments
 (0)