From f48e3ff0db027c6420446c0bab3089d9a46194a8 Mon Sep 17 00:00:00 2001 From: zareck Date: Sun, 20 Aug 2023 11:16:30 -0300 Subject: [PATCH] Adding repo migration tests Signed-off-by: zareck --- Makefile | 5 +++++ tests/integration/repo_migrate_test.go | 27 ++++++++++++++++++++++---- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index c5565d058f..381e7c51e6 100644 --- a/Makefile +++ b/Makefile @@ -458,6 +458,11 @@ test-backend: @echo "Running go test with $(GOTESTFLAGS) -tags '$(TEST_TAGS)'..." @$(GO) test $(GOTESTFLAGS) -tags='$(TEST_TAGS)' $(GO_TEST_PACKAGES) +# TO-DO: remove this at the end of PR +# Just for test the migration so we dont need to compile and build all integration tests +test-migrate: git-check $(GO_SOURCES) + $(GO) test $(GOTESTFLAGS) -v -tags '$(TEST_TAGS)' -run TestRepoMigrate code.gitea.io/gitea/tests/integration + .PHONY: test-frontend test-frontend: node_modules npx vitest diff --git a/tests/integration/repo_migrate_test.go b/tests/integration/repo_migrate_test.go index 91e2961d6d..920cdf042c 100644 --- a/tests/integration/repo_migrate_test.go +++ b/tests/integration/repo_migrate_test.go @@ -15,8 +15,8 @@ import ( "github.com/stretchr/testify/assert" ) -func testRepoMigrate(t testing.TB, session *TestSession, cloneAddr, repoName string) *httptest.ResponseRecorder { - req := NewRequest(t, "GET", fmt.Sprintf("/repo/migrate?service_type=%d", structs.PlainGitService)) // render plain git migration page +func testRepoMigrate(t testing.TB, session *TestSession, cloneAddr, repoName string, service structs.GitServiceType) *httptest.ResponseRecorder { + req := NewRequest(t, "GET", fmt.Sprintf("/repo/migrate?service_type=%d", service)) // render plain git migration page resp := session.MakeRequest(t, req, http.StatusOK) htmlDoc := NewHTMLParser(t, resp.Body) @@ -31,7 +31,7 @@ func testRepoMigrate(t testing.TB, session *TestSession, cloneAddr, repoName str "clone_addr": cloneAddr, "uid": uid, "repo_name": repoName, - "service": fmt.Sprintf("%d", structs.PlainGitService), + "service": fmt.Sprintf("%d", service), }) resp = session.MakeRequest(t, req, http.StatusSeeOther) @@ -41,5 +41,24 @@ func testRepoMigrate(t testing.TB, session *TestSession, cloneAddr, repoName str func TestRepoMigrate(t *testing.T) { defer tests.PrepareTestEnv(t)() session := loginUser(t, "user2") - testRepoMigrate(t, session, "https://github.com/go-gitea/test_repo.git", "git") + for _, s := range []struct { + testName string + cloneAddr string + repoName string + service structs.GitServiceType + }{ + {"TestMigrateGithub", "https://github.com/go-gitea/test_repo.git", "git", structs.PlainGitService}, + {"TestMigrateGithub", "https://github.com/go-gitea/test_repo.git", "github", structs.GithubService}, + //{"TestMigrateGitlab", "tofill.com", "git", structs.GitlabService}, + //{"TestMigrateGitea", "tofill.com", "git", structs.GiteaService}, + //{"TestMigrateForgejo", "tofill.com", "git", structs.ForgejoService}, + //{"TestMigrateGogs", "tofill.com", "git", structs.GogsService}, + //{"TestMigrateOneDev", "tofill.com", "git", structs.OneDevService}, + //{"TestMigrateGitBucket", "tofill.com", "git", structs.GitBucketService}, + //{"TestMigrateCodebase", "tofill.com", "git", structs.CodebaseService}, + } { + t.Run(s.testName, func(t *testing.T) { + testRepoMigrate(t, session, s.cloneAddr, s.repoName, s.service) + }) + } }