mirror of https://github.com/go-gitea/gitea.git
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.
76 lines
2.3 KiB
76 lines
2.3 KiB
// Copyright 2017 The Gitea Authors. All rights reserved. |
|
// SPDX-License-Identifier: MIT |
|
|
|
package repo_test |
|
|
|
import ( |
|
"testing" |
|
|
|
repo_model "code.gitea.io/gitea/models/repo" |
|
"code.gitea.io/gitea/models/unittest" |
|
|
|
"github.com/stretchr/testify/assert" |
|
) |
|
|
|
func TestLookupRedirect(t *testing.T) { |
|
assert.NoError(t, unittest.PrepareTestDatabase()) |
|
|
|
repoID, err := repo_model.LookupRedirect(t.Context(), 2, "oldrepo1") |
|
assert.NoError(t, err) |
|
assert.EqualValues(t, 1, repoID) |
|
|
|
_, err = repo_model.LookupRedirect(t.Context(), unittest.NonexistentID, "doesnotexist") |
|
assert.True(t, repo_model.IsErrRedirectNotExist(err)) |
|
} |
|
|
|
func TestNewRedirect(t *testing.T) { |
|
// redirect to a completely new name |
|
assert.NoError(t, unittest.PrepareTestDatabase()) |
|
|
|
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1}) |
|
assert.NoError(t, repo_model.NewRedirect(t.Context(), repo.OwnerID, repo.ID, repo.Name, "newreponame")) |
|
|
|
unittest.AssertExistsAndLoadBean(t, &repo_model.Redirect{ |
|
OwnerID: repo.OwnerID, |
|
LowerName: repo.LowerName, |
|
RedirectRepoID: repo.ID, |
|
}) |
|
unittest.AssertExistsAndLoadBean(t, &repo_model.Redirect{ |
|
OwnerID: repo.OwnerID, |
|
LowerName: "oldrepo1", |
|
RedirectRepoID: repo.ID, |
|
}) |
|
} |
|
|
|
func TestNewRedirect2(t *testing.T) { |
|
// redirect to previously used name |
|
assert.NoError(t, unittest.PrepareTestDatabase()) |
|
|
|
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1}) |
|
assert.NoError(t, repo_model.NewRedirect(t.Context(), repo.OwnerID, repo.ID, repo.Name, "oldrepo1")) |
|
|
|
unittest.AssertExistsAndLoadBean(t, &repo_model.Redirect{ |
|
OwnerID: repo.OwnerID, |
|
LowerName: repo.LowerName, |
|
RedirectRepoID: repo.ID, |
|
}) |
|
unittest.AssertNotExistsBean(t, &repo_model.Redirect{ |
|
OwnerID: repo.OwnerID, |
|
LowerName: "oldrepo1", |
|
RedirectRepoID: repo.ID, |
|
}) |
|
} |
|
|
|
func TestNewRedirect3(t *testing.T) { |
|
// redirect for a previously-unredirected repo |
|
assert.NoError(t, unittest.PrepareTestDatabase()) |
|
|
|
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 2}) |
|
assert.NoError(t, repo_model.NewRedirect(t.Context(), repo.OwnerID, repo.ID, repo.Name, "newreponame")) |
|
|
|
unittest.AssertExistsAndLoadBean(t, &repo_model.Redirect{ |
|
OwnerID: repo.OwnerID, |
|
LowerName: repo.LowerName, |
|
RedirectRepoID: repo.ID, |
|
}) |
|
}
|
|
|