Adding repo migration tests

Signed-off-by: zareck <cassiomilczareck@gmail.com>
This commit is contained in:
zareck 2023-08-20 11:16:30 -03:00
parent 16eeefa914
commit f48e3ff0db
2 changed files with 28 additions and 4 deletions

View file

@ -458,6 +458,11 @@ test-backend:
@echo "Running go test with $(GOTESTFLAGS) -tags '$(TEST_TAGS)'..." @echo "Running go test with $(GOTESTFLAGS) -tags '$(TEST_TAGS)'..."
@$(GO) test $(GOTESTFLAGS) -tags='$(TEST_TAGS)' $(GO_TEST_PACKAGES) @$(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 .PHONY: test-frontend
test-frontend: node_modules test-frontend: node_modules
npx vitest npx vitest

View file

@ -15,8 +15,8 @@ import (
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
) )
func testRepoMigrate(t testing.TB, session *TestSession, cloneAddr, repoName string) *httptest.ResponseRecorder { 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", structs.PlainGitService)) // render plain git migration page req := NewRequest(t, "GET", fmt.Sprintf("/repo/migrate?service_type=%d", service)) // render plain git migration page
resp := session.MakeRequest(t, req, http.StatusOK) resp := session.MakeRequest(t, req, http.StatusOK)
htmlDoc := NewHTMLParser(t, resp.Body) htmlDoc := NewHTMLParser(t, resp.Body)
@ -31,7 +31,7 @@ func testRepoMigrate(t testing.TB, session *TestSession, cloneAddr, repoName str
"clone_addr": cloneAddr, "clone_addr": cloneAddr,
"uid": uid, "uid": uid,
"repo_name": repoName, "repo_name": repoName,
"service": fmt.Sprintf("%d", structs.PlainGitService), "service": fmt.Sprintf("%d", service),
}) })
resp = session.MakeRequest(t, req, http.StatusSeeOther) 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) { func TestRepoMigrate(t *testing.T) {
defer tests.PrepareTestEnv(t)() defer tests.PrepareTestEnv(t)()
session := loginUser(t, "user2") 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)
})
}
} }