forgejo/tests/integration/repo_migrate_test.go

58 lines
1.7 KiB
Go
Raw Normal View History

// Copyright 2017 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package integration
import (
"fmt"
"net/http"
"net/http/httptest"
"testing"
"code.gitea.io/gitea/modules/structs"
"code.gitea.io/gitea/tests"
"github.com/stretchr/testify/assert"
)
[GITEA] add GitHub repo migration test Signed-off-by: zareck <cassiomilczareck@gmail.com> (cherry picked from commit f48e3ff0db027c6420446c0bab3089d9a46194a8) Removing comments and make command (cherry picked from commit 7664a423a5abf051383374b4156857e83faee7c0) (cherry picked from commit b2fb43536424f90373fdc177bd2c79c374efd2be) (cherry picked from commit 0a24a819a9561c8355adb00b7b202438c5c1bc1a) (cherry picked from commit 155cc19f75662998fcb2a1a08e345e0724437a58) (cherry picked from commit 223537f71a05107d69eb5edb8d62d40e5fac5fee) (cherry picked from commit ffbe2970cc7a778bfbcd9a93cc03bbc4bce38897) (cherry picked from commit 836836bd73a5635ee13b032d1600e7da842db42c) (cherry picked from commit 6b66fe449d5ee409ae5590ad08cdf46b7dfe8aa9) (cherry picked from commit a3933d9c3abd14e74d4c8c41ad5824ba34c0424a) (cherry picked from commit f1a49065f241886a9edc101ae360bf8b691fa400) (cherry picked from commit 63f4935e7de1901082afec0bec0a7997fd158dbb) (cherry picked from commit a1acdd76e6c41825ceb18445baacee1e8e627b3e) (cherry picked from commit 7f902568043e54d7059e031b0d8ccdb504837891) (cherry picked from commit 73620b0e8e01e7c52c9dff1097932b7bf1426be9) (cherry picked from commit 587540c818e6a8190c0742e1906e35be94207143) (cherry picked from commit 434d5366aca58383a12b22ac49797d5a54042b64) (cherry picked from commit e80e193af4f30726278cad43a627ca268517d584) (cherry picked from commit eb9be4cee6f53352cb18536dde945e1fb922ef4d) (cherry picked from commit f81cfdc9357da67715ab369a3041fbb42028125f) (cherry picked from commit ba69a943cb36d10e99037fcf7c052449edd13d2f)
2023-08-20 16:16:30 +02:00
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)
link, exists := htmlDoc.doc.Find("form.ui.form").Attr("action")
assert.True(t, exists, "The template has changed")
uid, exists := htmlDoc.doc.Find("#uid").Attr("value")
assert.True(t, exists, "The template has changed")
req = NewRequestWithValues(t, "POST", link, map[string]string{
"_csrf": htmlDoc.GetCSRF(),
"clone_addr": cloneAddr,
"uid": uid,
"repo_name": repoName,
[GITEA] add GitHub repo migration test Signed-off-by: zareck <cassiomilczareck@gmail.com> (cherry picked from commit f48e3ff0db027c6420446c0bab3089d9a46194a8) Removing comments and make command (cherry picked from commit 7664a423a5abf051383374b4156857e83faee7c0) (cherry picked from commit b2fb43536424f90373fdc177bd2c79c374efd2be) (cherry picked from commit 0a24a819a9561c8355adb00b7b202438c5c1bc1a) (cherry picked from commit 155cc19f75662998fcb2a1a08e345e0724437a58) (cherry picked from commit 223537f71a05107d69eb5edb8d62d40e5fac5fee) (cherry picked from commit ffbe2970cc7a778bfbcd9a93cc03bbc4bce38897) (cherry picked from commit 836836bd73a5635ee13b032d1600e7da842db42c) (cherry picked from commit 6b66fe449d5ee409ae5590ad08cdf46b7dfe8aa9) (cherry picked from commit a3933d9c3abd14e74d4c8c41ad5824ba34c0424a) (cherry picked from commit f1a49065f241886a9edc101ae360bf8b691fa400) (cherry picked from commit 63f4935e7de1901082afec0bec0a7997fd158dbb) (cherry picked from commit a1acdd76e6c41825ceb18445baacee1e8e627b3e) (cherry picked from commit 7f902568043e54d7059e031b0d8ccdb504837891) (cherry picked from commit 73620b0e8e01e7c52c9dff1097932b7bf1426be9) (cherry picked from commit 587540c818e6a8190c0742e1906e35be94207143) (cherry picked from commit 434d5366aca58383a12b22ac49797d5a54042b64) (cherry picked from commit e80e193af4f30726278cad43a627ca268517d584) (cherry picked from commit eb9be4cee6f53352cb18536dde945e1fb922ef4d) (cherry picked from commit f81cfdc9357da67715ab369a3041fbb42028125f) (cherry picked from commit ba69a943cb36d10e99037fcf7c052449edd13d2f)
2023-08-20 16:16:30 +02:00
"service": fmt.Sprintf("%d", service),
})
resp = session.MakeRequest(t, req, http.StatusSeeOther)
return resp
}
func TestRepoMigrate(t *testing.T) {
defer tests.PrepareTestEnv(t)()
session := loginUser(t, "user2")
[GITEA] add GitHub repo migration test Signed-off-by: zareck <cassiomilczareck@gmail.com> (cherry picked from commit f48e3ff0db027c6420446c0bab3089d9a46194a8) Removing comments and make command (cherry picked from commit 7664a423a5abf051383374b4156857e83faee7c0) (cherry picked from commit b2fb43536424f90373fdc177bd2c79c374efd2be) (cherry picked from commit 0a24a819a9561c8355adb00b7b202438c5c1bc1a) (cherry picked from commit 155cc19f75662998fcb2a1a08e345e0724437a58) (cherry picked from commit 223537f71a05107d69eb5edb8d62d40e5fac5fee) (cherry picked from commit ffbe2970cc7a778bfbcd9a93cc03bbc4bce38897) (cherry picked from commit 836836bd73a5635ee13b032d1600e7da842db42c) (cherry picked from commit 6b66fe449d5ee409ae5590ad08cdf46b7dfe8aa9) (cherry picked from commit a3933d9c3abd14e74d4c8c41ad5824ba34c0424a) (cherry picked from commit f1a49065f241886a9edc101ae360bf8b691fa400) (cherry picked from commit 63f4935e7de1901082afec0bec0a7997fd158dbb) (cherry picked from commit a1acdd76e6c41825ceb18445baacee1e8e627b3e) (cherry picked from commit 7f902568043e54d7059e031b0d8ccdb504837891) (cherry picked from commit 73620b0e8e01e7c52c9dff1097932b7bf1426be9) (cherry picked from commit 587540c818e6a8190c0742e1906e35be94207143) (cherry picked from commit 434d5366aca58383a12b22ac49797d5a54042b64) (cherry picked from commit e80e193af4f30726278cad43a627ca268517d584) (cherry picked from commit eb9be4cee6f53352cb18536dde945e1fb922ef4d) (cherry picked from commit f81cfdc9357da67715ab369a3041fbb42028125f) (cherry picked from commit ba69a943cb36d10e99037fcf7c052449edd13d2f)
2023-08-20 16:16:30 +02:00
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},
} {
t.Run(s.testName, func(t *testing.T) {
testRepoMigrate(t, session, s.cloneAddr, s.repoName, s.service)
})
}
}