mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2026-03-22 09:55:18 +01:00
On set/get of repo make sure forge_id is set and on fetch respected (#5717)
This commit is contained in:
@@ -63,8 +63,9 @@ type Opts struct {
|
||||
|
||||
// New returns a Forge implementation that integrates with a GitHub Cloud or
|
||||
// GitHub Enterprise version control hosting provider.
|
||||
func New(opts Opts) (forge.Forge, error) {
|
||||
func New(id int64, opts Opts) (forge.Forge, error) {
|
||||
r := &client{
|
||||
id: id,
|
||||
API: defaultAPI,
|
||||
url: defaultURL,
|
||||
Client: opts.OAuthClientID,
|
||||
@@ -83,6 +84,7 @@ func New(opts Opts) (forge.Forge, error) {
|
||||
}
|
||||
|
||||
type client struct {
|
||||
id int64
|
||||
url string
|
||||
API string
|
||||
Client string
|
||||
@@ -659,7 +661,7 @@ func (c *client) loadChangedFilesFromPullRequest(ctx context.Context, pull *gith
|
||||
return pipeline, nil
|
||||
}
|
||||
|
||||
repo, err := _store.GetRepoNameFallback(tmpRepo.ForgeRemoteID, tmpRepo.FullName)
|
||||
repo, err := _store.GetRepoNameFallback(c.id, tmpRepo.ForgeRemoteID, tmpRepo.FullName)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -697,7 +699,7 @@ func (c *client) getTagCommitSHA(ctx context.Context, repo *model.Repo, tagName
|
||||
return "", nil
|
||||
}
|
||||
|
||||
repo, err := _store.GetRepoNameFallback(repo.ForgeRemoteID, repo.FullName)
|
||||
repo, err := _store.GetRepoNameFallback(c.id, repo.ForgeRemoteID, repo.FullName)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
@@ -752,7 +754,7 @@ func (c *client) loadChangedFilesFromCommits(ctx context.Context, tmpRepo *model
|
||||
log.Trace().Msg("GitHub tag event, fetching changed files using current commit")
|
||||
}
|
||||
|
||||
repo, err := _store.GetRepoNameFallback(tmpRepo.ForgeRemoteID, tmpRepo.FullName)
|
||||
repo, err := _store.GetRepoNameFallback(c.id, tmpRepo.ForgeRemoteID, tmpRepo.FullName)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ import (
|
||||
)
|
||||
|
||||
func TestNew(t *testing.T) {
|
||||
forge, _ := New(Opts{
|
||||
forge, _ := New(0, Opts{
|
||||
URL: "http://localhost:8080/",
|
||||
OAuthClientID: "0ZXh0IjoiI",
|
||||
OAuthClientSecret: "I1NiIsInR5",
|
||||
@@ -52,7 +52,7 @@ func Test_github(t *testing.T) {
|
||||
gin.SetMode(gin.TestMode)
|
||||
|
||||
s := httptest.NewServer(fixtures.Handler())
|
||||
c, _ := New(Opts{
|
||||
c, _ := New(0, Opts{
|
||||
URL: s.URL,
|
||||
SkipVerify: true,
|
||||
})
|
||||
@@ -62,7 +62,7 @@ func Test_github(t *testing.T) {
|
||||
ctx := t.Context()
|
||||
|
||||
t.Run("netrc with user token", func(t *testing.T) {
|
||||
forge, _ := New(Opts{})
|
||||
forge, _ := New(0, Opts{})
|
||||
netrc, _ := forge.Netrc(fakeUser, fakeRepo)
|
||||
assert.Equal(t, "github.com", netrc.Machine)
|
||||
assert.Equal(t, fakeUser.AccessToken, netrc.Login)
|
||||
@@ -70,7 +70,7 @@ func Test_github(t *testing.T) {
|
||||
assert.Equal(t, model.ForgeTypeGithub, netrc.Type)
|
||||
})
|
||||
t.Run("netrc with machine account", func(t *testing.T) {
|
||||
forge, _ := New(Opts{})
|
||||
forge, _ := New(0, Opts{})
|
||||
netrc, _ := forge.Netrc(nil, fakeRepo)
|
||||
assert.Equal(t, "github.com", netrc.Machine)
|
||||
assert.Empty(t, netrc.Login)
|
||||
@@ -160,7 +160,7 @@ func TestHook(t *testing.T) {
|
||||
Login: "6543",
|
||||
AccessToken: "token",
|
||||
}, nil)
|
||||
mockStore.On("GetRepoNameFallback", mock.Anything, mock.Anything).Return(&model.Repo{
|
||||
mockStore.On("GetRepoNameFallback", mock.Anything, mock.Anything, mock.Anything).Return(&model.Repo{
|
||||
ID: 1,
|
||||
ForgeRemoteID: "1",
|
||||
Owner: "6543",
|
||||
|
||||
Reference in New Issue
Block a user