mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2026-05-15 07:20:26 +00:00
refactor: TestRepoGenerateTemplatingSymlink with forgery
This commit is contained in:
parent
9bef6e4d25
commit
032caed2e7
1 changed files with 14 additions and 29 deletions
|
|
@ -298,9 +298,10 @@ func TestRepoGenerateTemplating(t *testing.T) {
|
|||
|
||||
func TestRepoGenerateTemplatingSymlink(t *testing.T) {
|
||||
onApplicationRun(t, func(t *testing.T, u *url.URL) {
|
||||
userName := "user1"
|
||||
session := loginUser(t, userName)
|
||||
user := unittest.AssertExistsAndLoadBean(t, &user_model.User{Name: userName})
|
||||
user := forgery.CreateUser(t, &forgery.CreateUserOptions{
|
||||
IsAdmin: true, // required to see the detailed error message on the error response
|
||||
})
|
||||
session := loginUser(t, user.Name)
|
||||
|
||||
testCases := []struct {
|
||||
name string
|
||||
|
|
@ -325,34 +326,18 @@ func TestRepoGenerateTemplatingSymlink(t *testing.T) {
|
|||
|
||||
for i, tc := range testCases {
|
||||
t.Run(tc.name, func(t *testing.T) {
|
||||
templateName := fmt.Sprintf("my_template-%d", i)
|
||||
generatedName := fmt.Sprintf("my_generated-%d", i)
|
||||
template, _, f := tests.CreateDeclarativeRepoWithOptions(t, user, tests.DeclarativeRepoOptions{
|
||||
Name: optional.Some(templateName),
|
||||
IsTemplate: optional.Some(true),
|
||||
Files: optional.Some([]*files_service.ChangeRepoFile{
|
||||
{
|
||||
Operation: "create",
|
||||
TreePath: ".forgejo/template",
|
||||
ContentReader: strings.NewReader("**/Readme.md"),
|
||||
},
|
||||
{
|
||||
Operation: "create",
|
||||
TreePath: "actual-contents.txt",
|
||||
ContentReader: strings.NewReader("Here are some contents. $REPO_NAME"),
|
||||
},
|
||||
{
|
||||
Operation: "create",
|
||||
TreePath: "problem/Readme.md",
|
||||
ContentReader: strings.NewReader(tc.symlinkTarget),
|
||||
Options: files_service.RepoFileOptionMode(git.EntryModeSymlink),
|
||||
},
|
||||
}),
|
||||
template := forgery.CreateRepository(t, user, &forgery.CreateRepositoryOptions{
|
||||
IsTemplate: true,
|
||||
Files: forgery.MapFS{
|
||||
".forgejo/template": forgery.MapFile("**/Readme.md"),
|
||||
"actual-contents.txt": forgery.MapFile("Here are some contents. $REPO_NAME"),
|
||||
"problem/Readme.md": forgery.MapSymlink(tc.symlinkTarget),
|
||||
},
|
||||
})
|
||||
defer f()
|
||||
|
||||
// The repo.TemplateID field is not initialized. Luckily, the ID field holds the expected value
|
||||
templateID := strconv.FormatInt(template.ID, 10)
|
||||
generatedName := fmt.Sprintf("my_generated-%d", i)
|
||||
|
||||
if tc.expectedError != "" {
|
||||
resp := testRepoGenerateFailure(
|
||||
|
|
@ -360,7 +345,7 @@ func TestRepoGenerateTemplatingSymlink(t *testing.T) {
|
|||
session,
|
||||
templateID,
|
||||
user.Name,
|
||||
templateName,
|
||||
template.Name,
|
||||
user,
|
||||
user,
|
||||
generatedName,
|
||||
|
|
@ -372,7 +357,7 @@ func TestRepoGenerateTemplatingSymlink(t *testing.T) {
|
|||
session,
|
||||
templateID,
|
||||
user.Name,
|
||||
templateName,
|
||||
template.Name,
|
||||
user,
|
||||
user,
|
||||
generatedName,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue