mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 19:06:18 +01:00 
			
		
		
		
	Hopefully support GH enterprise (#12863)
Signed-off-by: jolheiser <john.olheiser@gmail.com> Co-authored-by: zeripath <art27@cantab.net> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
This commit is contained in:
		| @@ -28,7 +28,7 @@ func TestGiteaUploadRepo(t *testing.T) { | |||||||
| 	user := models.AssertExistsAndLoadBean(t, &models.User{ID: 1}).(*models.User) | 	user := models.AssertExistsAndLoadBean(t, &models.User{ID: 1}).(*models.User) | ||||||
|  |  | ||||||
| 	var ( | 	var ( | ||||||
| 		downloader = NewGithubDownloaderV3(context.Background(), "", "", "", "go-xorm", "builder") | 		downloader = NewGithubDownloaderV3(context.Background(), "https://github.com", "", "", "", "go-xorm", "builder") | ||||||
| 		repoName   = "builder-" + time.Now().Format("2006-01-02-15-04-05") | 		repoName   = "builder-" + time.Now().Format("2006-01-02-15-04-05") | ||||||
| 		uploader   = NewGiteaLocalUploader(graceful.GetManager().HammerContext(), user, user.Name, repoName) | 		uploader   = NewGiteaLocalUploader(graceful.GetManager().HammerContext(), user, user.Name, repoName) | ||||||
| 	) | 	) | ||||||
|   | |||||||
| @@ -47,13 +47,14 @@ func (f *GithubDownloaderV3Factory) New(ctx context.Context, opts base.MigrateOp | |||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | 	baseURL := u.Scheme + "://" + u.Host | ||||||
| 	fields := strings.Split(u.Path, "/") | 	fields := strings.Split(u.Path, "/") | ||||||
| 	oldOwner := fields[1] | 	oldOwner := fields[1] | ||||||
| 	oldName := strings.TrimSuffix(fields[2], ".git") | 	oldName := strings.TrimSuffix(fields[2], ".git") | ||||||
|  |  | ||||||
| 	log.Trace("Create github downloader: %s/%s", oldOwner, oldName) | 	log.Trace("Create github downloader: %s/%s", oldOwner, oldName) | ||||||
|  |  | ||||||
| 	return NewGithubDownloaderV3(ctx, opts.AuthUsername, opts.AuthPassword, opts.AuthToken, oldOwner, oldName), nil | 	return NewGithubDownloaderV3(ctx, baseURL, opts.AuthUsername, opts.AuthPassword, opts.AuthToken, oldOwner, oldName), nil | ||||||
| } | } | ||||||
|  |  | ||||||
| // GitServiceType returns the type of git service | // GitServiceType returns the type of git service | ||||||
| @@ -74,7 +75,7 @@ type GithubDownloaderV3 struct { | |||||||
| } | } | ||||||
|  |  | ||||||
| // NewGithubDownloaderV3 creates a github Downloader via github v3 API | // NewGithubDownloaderV3 creates a github Downloader via github v3 API | ||||||
| func NewGithubDownloaderV3(ctx context.Context, userName, password, token, repoOwner, repoName string) *GithubDownloaderV3 { | func NewGithubDownloaderV3(ctx context.Context, baseURL, userName, password, token, repoOwner, repoName string) *GithubDownloaderV3 { | ||||||
| 	var downloader = GithubDownloaderV3{ | 	var downloader = GithubDownloaderV3{ | ||||||
| 		userName:  userName, | 		userName:  userName, | ||||||
| 		password:  password, | 		password:  password, | ||||||
| @@ -98,6 +99,9 @@ func NewGithubDownloaderV3(ctx context.Context, userName, password, token, repoO | |||||||
| 		client = oauth2.NewClient(downloader.ctx, ts) | 		client = oauth2.NewClient(downloader.ctx, ts) | ||||||
| 	} | 	} | ||||||
| 	downloader.client = github.NewClient(client) | 	downloader.client = github.NewClient(client) | ||||||
|  | 	if baseURL != "https://github.com" { | ||||||
|  | 		downloader.client, _ = github.NewEnterpriseClient(baseURL, baseURL, client) | ||||||
|  | 	} | ||||||
| 	return &downloader | 	return &downloader | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -65,7 +65,7 @@ func assertLabelEqual(t *testing.T, name, color, description string, label *base | |||||||
|  |  | ||||||
| func TestGitHubDownloadRepo(t *testing.T) { | func TestGitHubDownloadRepo(t *testing.T) { | ||||||
| 	GithubLimitRateRemaining = 3 //Wait at 3 remaining since we could have 3 CI in // | 	GithubLimitRateRemaining = 3 //Wait at 3 remaining since we could have 3 CI in // | ||||||
| 	downloader := NewGithubDownloaderV3(context.Background(), "", "", os.Getenv("GITHUB_READ_TOKEN"), "go-gitea", "test_repo") | 	downloader := NewGithubDownloaderV3(context.Background(), "https://github.com", "", "", os.Getenv("GITHUB_READ_TOKEN"), "go-gitea", "test_repo") | ||||||
| 	err := downloader.RefreshRate() | 	err := downloader.RefreshRate() | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user