* Use a struct as test options * Fix name * Fix testtags/v1.18.0-dev
@@ -12,7 +12,8 @@ import ( | |||
) | |||
func TestMain(m *testing.M) { | |||
unittest.MainTest(m, filepath.Join("..", ".."), | |||
"notice.yml", | |||
) | |||
unittest.MainTest(m, &unittest.TestOptions{ | |||
GiteaRootPath: filepath.Join("..", ".."), | |||
FixtureFiles: []string{"notice.yml"}, | |||
}) | |||
} |
@@ -18,12 +18,15 @@ func init() { | |||
} | |||
func TestMain(m *testing.M) { | |||
unittest.MainTest(m, filepath.Join("..", ".."), | |||
"gpg_key.yml", | |||
"public_key.yml", | |||
"deploy_key.yml", | |||
"gpg_key_import.yml", | |||
"user.yml", | |||
"email_address.yml", | |||
) | |||
unittest.MainTest(m, &unittest.TestOptions{ | |||
GiteaRootPath: filepath.Join("..", ".."), | |||
FixtureFiles: []string{ | |||
"gpg_key.yml", | |||
"public_key.yml", | |||
"deploy_key.yml", | |||
"gpg_key_import.yml", | |||
"user.yml", | |||
"email_address.yml", | |||
}, | |||
}) | |||
} |
@@ -12,11 +12,14 @@ import ( | |||
) | |||
func TestMain(m *testing.M) { | |||
unittest.MainTest(m, filepath.Join("..", ".."), | |||
"login_source.yml", | |||
"oauth2_application.yml", | |||
"oauth2_authorization_code.yml", | |||
"oauth2_grant.yml", | |||
"webauthn_credential.yml", | |||
) | |||
unittest.MainTest(m, &unittest.TestOptions{ | |||
GiteaRootPath: filepath.Join("..", ".."), | |||
FixtureFiles: []string{ | |||
"login_source.yml", | |||
"oauth2_application.yml", | |||
"oauth2_authorization_code.yml", | |||
"oauth2_grant.yml", | |||
"webauthn_credential.yml", | |||
}, | |||
}) | |||
} |
@@ -12,5 +12,7 @@ import ( | |||
) | |||
func TestMain(m *testing.M) { | |||
unittest.MainTest(m, filepath.Join("..", "..", "..")) | |||
unittest.MainTest(m, &unittest.TestOptions{ | |||
GiteaRootPath: filepath.Join("..", "..", ".."), | |||
}) | |||
} |
@@ -18,10 +18,13 @@ func init() { | |||
} | |||
func TestMain(m *testing.M) { | |||
unittest.MainTest(m, filepath.Join("..", ".."), | |||
"reaction.yml", | |||
"user.yml", | |||
"repository.yml", | |||
"milestone.yml", | |||
) | |||
unittest.MainTest(m, &unittest.TestOptions{ | |||
GiteaRootPath: filepath.Join("..", ".."), | |||
FixtureFiles: []string{ | |||
"reaction.yml", | |||
"user.yml", | |||
"repository.yml", | |||
"milestone.yml", | |||
}, | |||
}) | |||
} |
@@ -37,5 +37,7 @@ func TestFixturesAreConsistent(t *testing.T) { | |||
} | |||
func TestMain(m *testing.M) { | |||
unittest.MainTest(m, "..") | |||
unittest.MainTest(m, &unittest.TestOptions{ | |||
GiteaRootPath: "..", | |||
}) | |||
} |
@@ -12,13 +12,16 @@ import ( | |||
) | |||
func TestMain(m *testing.M) { | |||
unittest.MainTest(m, filepath.Join("..", ".."), | |||
"user.yml", | |||
"org_user.yml", | |||
"team.yml", | |||
"team_repo.yml", | |||
"team_unit.yml", | |||
"team_user.yml", | |||
"repository.yml", | |||
) | |||
unittest.MainTest(m, &unittest.TestOptions{ | |||
GiteaRootPath: filepath.Join("..", ".."), | |||
FixtureFiles: []string{ | |||
"user.yml", | |||
"org_user.yml", | |||
"team.yml", | |||
"team_repo.yml", | |||
"team_unit.yml", | |||
"team_user.yml", | |||
"repository.yml", | |||
}, | |||
}) | |||
} |
@@ -14,10 +14,13 @@ import ( | |||
) | |||
func TestMain(m *testing.M) { | |||
unittest.MainTest(m, filepath.Join("..", ".."), | |||
"project.yml", | |||
"project_board.yml", | |||
"project_issue.yml", | |||
"repository.yml", | |||
) | |||
unittest.MainTest(m, &unittest.TestOptions{ | |||
GiteaRootPath: filepath.Join("..", ".."), | |||
FixtureFiles: []string{ | |||
"project.yml", | |||
"project_board.yml", | |||
"project_issue.yml", | |||
"repository.yml", | |||
}, | |||
}) | |||
} |
@@ -12,17 +12,20 @@ import ( | |||
) | |||
func TestMain(m *testing.M) { | |||
unittest.MainTest(m, filepath.Join("..", ".."), | |||
"attachment.yml", | |||
"repo_archiver.yml", | |||
"repository.yml", | |||
"repo_unit.yml", | |||
"repo_indexer_status.yml", | |||
"repo_redirect.yml", | |||
"watch.yml", | |||
"star.yml", | |||
"topic.yml", | |||
"repo_topic.yml", | |||
"user.yml", | |||
) | |||
unittest.MainTest(m, &unittest.TestOptions{ | |||
GiteaRootPath: filepath.Join("..", ".."), | |||
FixtureFiles: []string{ | |||
"attachment.yml", | |||
"repo_archiver.yml", | |||
"repository.yml", | |||
"repo_unit.yml", | |||
"repo_indexer_status.yml", | |||
"repo_redirect.yml", | |||
"watch.yml", | |||
"star.yml", | |||
"topic.yml", | |||
"repo_topic.yml", | |||
"user.yml", | |||
}, | |||
}) | |||
} |
@@ -39,19 +39,27 @@ func fatalTestError(fmtStr string, args ...interface{}) { | |||
os.Exit(1) | |||
} | |||
// TestOptions represents test options | |||
type TestOptions struct { | |||
GiteaRootPath string | |||
FixtureFiles []string | |||
SetUp func() error // SetUp will be executed before all tests in this package | |||
TearDown func() error // TearDown will be executed after all tests in this package | |||
} | |||
// MainTest a reusable TestMain(..) function for unit tests that need to use a | |||
// test database. Creates the test database, and sets necessary settings. | |||
func MainTest(m *testing.M, pathToGiteaRoot string, fixtureFiles ...string) { | |||
func MainTest(m *testing.M, testOpts *TestOptions) { | |||
var err error | |||
giteaRoot = pathToGiteaRoot | |||
fixturesDir = filepath.Join(pathToGiteaRoot, "models", "fixtures") | |||
giteaRoot = testOpts.GiteaRootPath | |||
fixturesDir = filepath.Join(testOpts.GiteaRootPath, "models", "fixtures") | |||
var opts FixturesOptions | |||
if len(fixtureFiles) == 0 { | |||
if len(testOpts.FixtureFiles) == 0 { | |||
opts.Dir = fixturesDir | |||
} else { | |||
for _, f := range fixtureFiles { | |||
for _, f := range testOpts.FixtureFiles { | |||
if len(f) != 0 { | |||
opts.Files = append(opts.Files, filepath.Join(fixturesDir, f)) | |||
} | |||
@@ -80,8 +88,8 @@ func MainTest(m *testing.M, pathToGiteaRoot string, fixtureFiles ...string) { | |||
fatalTestError("TempDir: %v\n", err) | |||
} | |||
setting.AppDataPath = appDataPath | |||
setting.AppWorkPath = pathToGiteaRoot | |||
setting.StaticRootPath = pathToGiteaRoot | |||
setting.AppWorkPath = testOpts.GiteaRootPath | |||
setting.StaticRootPath = testOpts.GiteaRootPath | |||
setting.GravatarSourceURL, err = url.Parse("https://secure.gravatar.com/avatar/") | |||
if err != nil { | |||
fatalTestError("url.Parse: %v\n", err) | |||
@@ -105,7 +113,7 @@ func MainTest(m *testing.M, pathToGiteaRoot string, fixtureFiles ...string) { | |||
if err = util.RemoveAll(repoRootPath); err != nil { | |||
fatalTestError("util.RemoveAll: %v\n", err) | |||
} | |||
if err = CopyDir(filepath.Join(pathToGiteaRoot, "integrations", "gitea-repositories-meta"), setting.RepoRootPath); err != nil { | |||
if err = CopyDir(filepath.Join(testOpts.GiteaRootPath, "integrations", "gitea-repositories-meta"), setting.RepoRootPath); err != nil { | |||
fatalTestError("util.CopyDir: %v\n", err) | |||
} | |||
@@ -129,7 +137,20 @@ func MainTest(m *testing.M, pathToGiteaRoot string, fixtureFiles ...string) { | |||
} | |||
} | |||
if testOpts.SetUp != nil { | |||
if err := testOpts.SetUp(); err != nil { | |||
fatalTestError("set up failed: %v\n", err) | |||
} | |||
} | |||
exitStatus := m.Run() | |||
if testOpts.TearDown != nil { | |||
if err := testOpts.TearDown(); err != nil { | |||
fatalTestError("tear down failed: %v\n", err) | |||
} | |||
} | |||
if err = util.RemoveAll(repoRootPath); err != nil { | |||
fatalTestError("util.RemoveAll: %v\n", err) | |||
} |
@@ -12,13 +12,16 @@ import ( | |||
) | |||
func TestMain(m *testing.M) { | |||
unittest.MainTest(m, filepath.Join("..", ".."), | |||
"email_address.yml", | |||
"user_redirect.yml", | |||
"follow.yml", | |||
"user_open_id.yml", | |||
"two_factor.yml", | |||
"oauth2_application.yml", | |||
"user.yml", | |||
) | |||
unittest.MainTest(m, &unittest.TestOptions{ | |||
GiteaRootPath: filepath.Join("..", ".."), | |||
FixtureFiles: []string{ | |||
"email_address.yml", | |||
"user_redirect.yml", | |||
"follow.yml", | |||
"user_open_id.yml", | |||
"two_factor.yml", | |||
"oauth2_application.yml", | |||
"user.yml", | |||
}, | |||
}) | |||
} |
@@ -12,5 +12,11 @@ import ( | |||
) | |||
func TestMain(m *testing.M) { | |||
unittest.MainTest(m, filepath.Join("..", ".."), "webhook.yml", "hook_task.yml") | |||
unittest.MainTest(m, &unittest.TestOptions{ | |||
GiteaRootPath: filepath.Join("..", ".."), | |||
FixtureFiles: []string{ | |||
"webhook.yml", | |||
"hook_task.yml", | |||
}, | |||
}) | |||
} |
@@ -14,7 +14,10 @@ import ( | |||
) | |||
func TestMain(m *testing.M) { | |||
unittest.MainTest(m, filepath.Join("..", ".."), "") | |||
unittest.MainTest(m, &unittest.TestOptions{ | |||
GiteaRootPath: filepath.Join("..", ".."), | |||
FixtureFiles: []string{""}, // load nothing | |||
}) | |||
} | |||
type testItem1 struct { |
@@ -12,5 +12,7 @@ import ( | |||
) | |||
func TestMain(m *testing.M) { | |||
unittest.MainTest(m, filepath.Join("..", "..")) | |||
unittest.MainTest(m, &unittest.TestOptions{ | |||
GiteaRootPath: filepath.Join("..", ".."), | |||
}) | |||
} |
@@ -18,7 +18,9 @@ import ( | |||
) | |||
func TestMain(m *testing.M) { | |||
unittest.MainTest(m, filepath.Join("..", "..", "..")) | |||
unittest.MainTest(m, &unittest.TestOptions{ | |||
GiteaRootPath: filepath.Join("..", "..", ".."), | |||
}) | |||
} | |||
func testIndexer(name string, t *testing.T, indexer Indexer) { |
@@ -23,7 +23,9 @@ import ( | |||
) | |||
func TestMain(m *testing.M) { | |||
unittest.MainTest(m, filepath.Join("..", "..", "..")) | |||
unittest.MainTest(m, &unittest.TestOptions{ | |||
GiteaRootPath: filepath.Join("..", "..", ".."), | |||
}) | |||
} | |||
func TestBleveSearchIssues(t *testing.T) { |
@@ -23,7 +23,9 @@ import ( | |||
) | |||
func TestMain(m *testing.M) { | |||
unittest.MainTest(m, filepath.Join("..", "..", "..")) | |||
unittest.MainTest(m, &unittest.TestOptions{ | |||
GiteaRootPath: filepath.Join("..", "..", ".."), | |||
}) | |||
} | |||
func TestRepoStatsIndex(t *testing.T) { |
@@ -18,7 +18,9 @@ import ( | |||
) | |||
func TestMain(m *testing.M) { | |||
unittest.MainTest(m, filepath.Join("..", "..", "..")) | |||
unittest.MainTest(m, &unittest.TestOptions{ | |||
GiteaRootPath: filepath.Join("..", "..", ".."), | |||
}) | |||
} | |||
func TestRenameRepoAction(t *testing.T) { |
@@ -12,5 +12,7 @@ import ( | |||
) | |||
func TestMain(m *testing.M) { | |||
unittest.MainTest(m, filepath.Join("..", "..")) | |||
unittest.MainTest(m, &unittest.TestOptions{ | |||
GiteaRootPath: filepath.Join("..", ".."), | |||
}) | |||
} |
@@ -12,5 +12,7 @@ import ( | |||
) | |||
func TestMain(m *testing.M) { | |||
unittest.MainTest(m, filepath.Join("..", "..", "..", "..")) | |||
unittest.MainTest(m, &unittest.TestOptions{ | |||
GiteaRootPath: filepath.Join("..", "..", "..", ".."), | |||
}) | |||
} |
@@ -12,5 +12,7 @@ import ( | |||
) | |||
func TestMain(m *testing.M) { | |||
unittest.MainTest(m, filepath.Join("..", "..", "..")) | |||
unittest.MainTest(m, &unittest.TestOptions{ | |||
GiteaRootPath: filepath.Join("..", "..", ".."), | |||
}) | |||
} |
@@ -12,5 +12,7 @@ import ( | |||
) | |||
func TestMain(m *testing.M) { | |||
unittest.MainTest(m, filepath.Join("..", "..", "..")) | |||
unittest.MainTest(m, &unittest.TestOptions{ | |||
GiteaRootPath: filepath.Join("..", "..", ".."), | |||
}) | |||
} |
@@ -12,5 +12,7 @@ import ( | |||
) | |||
func TestMain(m *testing.M) { | |||
unittest.MainTest(m, filepath.Join("..", "..", "..")) | |||
unittest.MainTest(m, &unittest.TestOptions{ | |||
GiteaRootPath: filepath.Join("..", "..", ".."), | |||
}) | |||
} |
@@ -12,5 +12,7 @@ import ( | |||
) | |||
func TestMain(m *testing.M) { | |||
unittest.MainTest(m, filepath.Join("..", "..", "..")) | |||
unittest.MainTest(m, &unittest.TestOptions{ | |||
GiteaRootPath: filepath.Join("..", "..", ".."), | |||
}) | |||
} |
@@ -12,5 +12,7 @@ import ( | |||
) | |||
func TestMain(m *testing.M) { | |||
unittest.MainTest(m, filepath.Join("..", "..", "..", "..")) | |||
unittest.MainTest(m, &unittest.TestOptions{ | |||
GiteaRootPath: filepath.Join("..", "..", "..", ".."), | |||
}) | |||
} |
@@ -12,5 +12,7 @@ import ( | |||
) | |||
func TestMain(m *testing.M) { | |||
unittest.MainTest(m, filepath.Join("..", "..")) | |||
unittest.MainTest(m, &unittest.TestOptions{ | |||
GiteaRootPath: filepath.Join("..", ".."), | |||
}) | |||
} |
@@ -17,7 +17,9 @@ import ( | |||
) | |||
func TestMain(m *testing.M) { | |||
unittest.MainTest(m, filepath.Join("..", "..")) | |||
unittest.MainTest(m, &unittest.TestOptions{ | |||
GiteaRootPath: filepath.Join("..", ".."), | |||
}) | |||
} | |||
func TestUploadAttachment(t *testing.T) { |
@@ -12,5 +12,7 @@ import ( | |||
) | |||
func TestMain(m *testing.M) { | |||
unittest.MainTest(m, filepath.Join("..", "..")) | |||
unittest.MainTest(m, &unittest.TestOptions{ | |||
GiteaRootPath: filepath.Join("..", ".."), | |||
}) | |||
} |
@@ -12,5 +12,7 @@ import ( | |||
) | |||
func TestMain(m *testing.M) { | |||
unittest.MainTest(m, filepath.Join("..", "..")) | |||
unittest.MainTest(m, &unittest.TestOptions{ | |||
GiteaRootPath: filepath.Join("..", ".."), | |||
}) | |||
} |
@@ -12,5 +12,7 @@ import ( | |||
) | |||
func TestMain(m *testing.M) { | |||
unittest.MainTest(m, filepath.Join("..", "..")) | |||
unittest.MainTest(m, &unittest.TestOptions{ | |||
GiteaRootPath: filepath.Join("..", ".."), | |||
}) | |||
} |
@@ -17,7 +17,9 @@ import ( | |||
) | |||
func TestMain(m *testing.M) { | |||
unittest.MainTest(m, filepath.Join("..", "..")) | |||
unittest.MainTest(m, &unittest.TestOptions{ | |||
GiteaRootPath: filepath.Join("..", ".."), | |||
}) | |||
} | |||
func timePtr(t time.Time) *time.Time { |
@@ -17,7 +17,9 @@ import ( | |||
) | |||
func TestMain(m *testing.M) { | |||
unittest.MainTest(m, filepath.Join("..", "..")) | |||
unittest.MainTest(m, &unittest.TestOptions{ | |||
GiteaRootPath: filepath.Join("..", ".."), | |||
}) | |||
} | |||
func TestDeleteOrganization(t *testing.T) { |
@@ -13,5 +13,7 @@ import ( | |||
) | |||
func TestMain(m *testing.M) { | |||
unittest.MainTest(m, filepath.Join("..", "..")) | |||
unittest.MainTest(m, &unittest.TestOptions{ | |||
GiteaRootPath: filepath.Join("..", ".."), | |||
}) | |||
} |
@@ -21,7 +21,9 @@ import ( | |||
) | |||
func TestMain(m *testing.M) { | |||
unittest.MainTest(m, filepath.Join("..", "..")) | |||
unittest.MainTest(m, &unittest.TestOptions{ | |||
GiteaRootPath: filepath.Join("..", ".."), | |||
}) | |||
} | |||
func TestRelease_Create(t *testing.T) { |
@@ -17,7 +17,9 @@ import ( | |||
) | |||
func TestMain(m *testing.M) { | |||
unittest.MainTest(m, filepath.Join("..", "..", "..")) | |||
unittest.MainTest(m, &unittest.TestOptions{ | |||
GiteaRootPath: filepath.Join("..", "..", ".."), | |||
}) | |||
} | |||
func TestArchive_Basic(t *testing.T) { |
@@ -16,7 +16,9 @@ import ( | |||
) | |||
func TestMain(m *testing.M) { | |||
unittest.MainTest(m, filepath.Join("..", "..", "..")) | |||
unittest.MainTest(m, &unittest.TestOptions{ | |||
GiteaRootPath: filepath.Join("..", "..", ".."), | |||
}) | |||
} | |||
func getExpectedReadmeContentsResponse() *api.ContentsResponse { |
@@ -12,5 +12,7 @@ import ( | |||
) | |||
func TestMain(m *testing.M) { | |||
unittest.MainTest(m, filepath.Join("..", "..")) | |||
unittest.MainTest(m, &unittest.TestOptions{ | |||
GiteaRootPath: filepath.Join("..", ".."), | |||
}) | |||
} |
@@ -20,7 +20,9 @@ import ( | |||
) | |||
func TestMain(m *testing.M) { | |||
unittest.MainTest(m, filepath.Join("..", "..")) | |||
unittest.MainTest(m, &unittest.TestOptions{ | |||
GiteaRootPath: filepath.Join("..", ".."), | |||
}) | |||
} | |||
func TestDeleteUser(t *testing.T) { |
@@ -14,5 +14,7 @@ import ( | |||
) | |||
func TestMain(m *testing.M) { | |||
unittest.MainTest(m, filepath.Join("..", "..")) | |||
unittest.MainTest(m, &unittest.TestOptions{ | |||
GiteaRootPath: filepath.Join("..", ".."), | |||
}) | |||
} |
@@ -20,7 +20,9 @@ import ( | |||
) | |||
func TestMain(m *testing.M) { | |||
unittest.MainTest(m, filepath.Join("..", "..")) | |||
unittest.MainTest(m, &unittest.TestOptions{ | |||
GiteaRootPath: filepath.Join("..", ".."), | |||
}) | |||
} | |||
func TestWikiNameToSubURL(t *testing.T) { |