mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2024-12-25 01:40:30 +00:00
52d3652f2e
Use IDs of the forge to fetch repositories instead of their names and owner names. This improves handling of renamed and transferred repos. TODO - [ ] try to support as many forges as possible - [x] Gogs (no API) - [ ] Bitbucket Server - [x] Coding (no API?) - [x] update repo every time it is fetched or received from the forge - [x] if repo remote IDs are not available, use owner / name to get it - [x] handle redirections (redirect a renamed repo to its new path) - [x] ~~pull all repos once during migration to update ID (?)~~ issue fixed by on-demand loading of remote IDs - [x] handle redirections in web UI - [ ] improve handling of hooks after a repo was renamed (currently it checks for a redirection to the repo) - [x] tests - [x] `UNIQUE` constraint for remote IDs after migration shouldn't work (all repos have an empty string as remote ID) close #854 close #648 partial close https://codeberg.org/Codeberg-CI/feedback/issues/46 Possible follow-up PRs - apply the same scheme on everything fetched from the remote (currently only users) Co-authored-by: 6543 <6543@obermui.de>
394 lines
9.8 KiB
Go
394 lines
9.8 KiB
Go
// Code generated by mockery v2.14.0. DO NOT EDIT.
|
|
|
|
package mocks
|
|
|
|
import (
|
|
context "context"
|
|
http "net/http"
|
|
|
|
mock "github.com/stretchr/testify/mock"
|
|
|
|
model "github.com/woodpecker-ci/woodpecker/server/model"
|
|
|
|
remote "github.com/woodpecker-ci/woodpecker/server/remote"
|
|
)
|
|
|
|
// Remote is an autogenerated mock type for the Remote type
|
|
type Remote struct {
|
|
mock.Mock
|
|
}
|
|
|
|
// Activate provides a mock function with given fields: ctx, u, r, link
|
|
func (_m *Remote) Activate(ctx context.Context, u *model.User, r *model.Repo, link string) error {
|
|
ret := _m.Called(ctx, u, r, link)
|
|
|
|
var r0 error
|
|
if rf, ok := ret.Get(0).(func(context.Context, *model.User, *model.Repo, string) error); ok {
|
|
r0 = rf(ctx, u, r, link)
|
|
} else {
|
|
r0 = ret.Error(0)
|
|
}
|
|
|
|
return r0
|
|
}
|
|
|
|
// Auth provides a mock function with given fields: ctx, token, secret
|
|
func (_m *Remote) Auth(ctx context.Context, token string, secret string) (string, error) {
|
|
ret := _m.Called(ctx, token, secret)
|
|
|
|
var r0 string
|
|
if rf, ok := ret.Get(0).(func(context.Context, string, string) string); ok {
|
|
r0 = rf(ctx, token, secret)
|
|
} else {
|
|
r0 = ret.Get(0).(string)
|
|
}
|
|
|
|
var r1 error
|
|
if rf, ok := ret.Get(1).(func(context.Context, string, string) error); ok {
|
|
r1 = rf(ctx, token, secret)
|
|
} else {
|
|
r1 = ret.Error(1)
|
|
}
|
|
|
|
return r0, r1
|
|
}
|
|
|
|
// BranchHead provides a mock function with given fields: ctx, u, r, branch
|
|
func (_m *Remote) BranchHead(ctx context.Context, u *model.User, r *model.Repo, branch string) (string, error) {
|
|
ret := _m.Called(ctx, u, r, branch)
|
|
|
|
var r0 string
|
|
if rf, ok := ret.Get(0).(func(context.Context, *model.User, *model.Repo, string) string); ok {
|
|
r0 = rf(ctx, u, r, branch)
|
|
} else {
|
|
r0 = ret.Get(0).(string)
|
|
}
|
|
|
|
var r1 error
|
|
if rf, ok := ret.Get(1).(func(context.Context, *model.User, *model.Repo, string) error); ok {
|
|
r1 = rf(ctx, u, r, branch)
|
|
} else {
|
|
r1 = ret.Error(1)
|
|
}
|
|
|
|
return r0, r1
|
|
}
|
|
|
|
// Branches provides a mock function with given fields: ctx, u, r
|
|
func (_m *Remote) Branches(ctx context.Context, u *model.User, r *model.Repo) ([]string, error) {
|
|
ret := _m.Called(ctx, u, r)
|
|
|
|
var r0 []string
|
|
if rf, ok := ret.Get(0).(func(context.Context, *model.User, *model.Repo) []string); ok {
|
|
r0 = rf(ctx, u, r)
|
|
} else {
|
|
if ret.Get(0) != nil {
|
|
r0 = ret.Get(0).([]string)
|
|
}
|
|
}
|
|
|
|
var r1 error
|
|
if rf, ok := ret.Get(1).(func(context.Context, *model.User, *model.Repo) error); ok {
|
|
r1 = rf(ctx, u, r)
|
|
} else {
|
|
r1 = ret.Error(1)
|
|
}
|
|
|
|
return r0, r1
|
|
}
|
|
|
|
// Deactivate provides a mock function with given fields: ctx, u, r, link
|
|
func (_m *Remote) Deactivate(ctx context.Context, u *model.User, r *model.Repo, link string) error {
|
|
ret := _m.Called(ctx, u, r, link)
|
|
|
|
var r0 error
|
|
if rf, ok := ret.Get(0).(func(context.Context, *model.User, *model.Repo, string) error); ok {
|
|
r0 = rf(ctx, u, r, link)
|
|
} else {
|
|
r0 = ret.Error(0)
|
|
}
|
|
|
|
return r0
|
|
}
|
|
|
|
// Dir provides a mock function with given fields: ctx, u, r, b, f
|
|
func (_m *Remote) Dir(ctx context.Context, u *model.User, r *model.Repo, b *model.Build, f string) ([]*remote.FileMeta, error) {
|
|
ret := _m.Called(ctx, u, r, b, f)
|
|
|
|
var r0 []*remote.FileMeta
|
|
if rf, ok := ret.Get(0).(func(context.Context, *model.User, *model.Repo, *model.Build, string) []*remote.FileMeta); ok {
|
|
r0 = rf(ctx, u, r, b, f)
|
|
} else {
|
|
if ret.Get(0) != nil {
|
|
r0 = ret.Get(0).([]*remote.FileMeta)
|
|
}
|
|
}
|
|
|
|
var r1 error
|
|
if rf, ok := ret.Get(1).(func(context.Context, *model.User, *model.Repo, *model.Build, string) error); ok {
|
|
r1 = rf(ctx, u, r, b, f)
|
|
} else {
|
|
r1 = ret.Error(1)
|
|
}
|
|
|
|
return r0, r1
|
|
}
|
|
|
|
// File provides a mock function with given fields: ctx, u, r, b, f
|
|
func (_m *Remote) File(ctx context.Context, u *model.User, r *model.Repo, b *model.Build, f string) ([]byte, error) {
|
|
ret := _m.Called(ctx, u, r, b, f)
|
|
|
|
var r0 []byte
|
|
if rf, ok := ret.Get(0).(func(context.Context, *model.User, *model.Repo, *model.Build, string) []byte); ok {
|
|
r0 = rf(ctx, u, r, b, f)
|
|
} else {
|
|
if ret.Get(0) != nil {
|
|
r0 = ret.Get(0).([]byte)
|
|
}
|
|
}
|
|
|
|
var r1 error
|
|
if rf, ok := ret.Get(1).(func(context.Context, *model.User, *model.Repo, *model.Build, string) error); ok {
|
|
r1 = rf(ctx, u, r, b, f)
|
|
} else {
|
|
r1 = ret.Error(1)
|
|
}
|
|
|
|
return r0, r1
|
|
}
|
|
|
|
// Hook provides a mock function with given fields: ctx, r
|
|
func (_m *Remote) Hook(ctx context.Context, r *http.Request) (*model.Repo, *model.Build, error) {
|
|
ret := _m.Called(ctx, r)
|
|
|
|
var r0 *model.Repo
|
|
if rf, ok := ret.Get(0).(func(context.Context, *http.Request) *model.Repo); ok {
|
|
r0 = rf(ctx, r)
|
|
} else {
|
|
if ret.Get(0) != nil {
|
|
r0 = ret.Get(0).(*model.Repo)
|
|
}
|
|
}
|
|
|
|
var r1 *model.Build
|
|
if rf, ok := ret.Get(1).(func(context.Context, *http.Request) *model.Build); ok {
|
|
r1 = rf(ctx, r)
|
|
} else {
|
|
if ret.Get(1) != nil {
|
|
r1 = ret.Get(1).(*model.Build)
|
|
}
|
|
}
|
|
|
|
var r2 error
|
|
if rf, ok := ret.Get(2).(func(context.Context, *http.Request) error); ok {
|
|
r2 = rf(ctx, r)
|
|
} else {
|
|
r2 = ret.Error(2)
|
|
}
|
|
|
|
return r0, r1, r2
|
|
}
|
|
|
|
// Login provides a mock function with given fields: ctx, w, r
|
|
func (_m *Remote) Login(ctx context.Context, w http.ResponseWriter, r *http.Request) (*model.User, error) {
|
|
ret := _m.Called(ctx, w, r)
|
|
|
|
var r0 *model.User
|
|
if rf, ok := ret.Get(0).(func(context.Context, http.ResponseWriter, *http.Request) *model.User); ok {
|
|
r0 = rf(ctx, w, r)
|
|
} else {
|
|
if ret.Get(0) != nil {
|
|
r0 = ret.Get(0).(*model.User)
|
|
}
|
|
}
|
|
|
|
var r1 error
|
|
if rf, ok := ret.Get(1).(func(context.Context, http.ResponseWriter, *http.Request) error); ok {
|
|
r1 = rf(ctx, w, r)
|
|
} else {
|
|
r1 = ret.Error(1)
|
|
}
|
|
|
|
return r0, r1
|
|
}
|
|
|
|
// Name provides a mock function with given fields:
|
|
func (_m *Remote) Name() string {
|
|
ret := _m.Called()
|
|
|
|
var r0 string
|
|
if rf, ok := ret.Get(0).(func() string); ok {
|
|
r0 = rf()
|
|
} else {
|
|
r0 = ret.Get(0).(string)
|
|
}
|
|
|
|
return r0
|
|
}
|
|
|
|
// Netrc provides a mock function with given fields: u, r
|
|
func (_m *Remote) Netrc(u *model.User, r *model.Repo) (*model.Netrc, error) {
|
|
ret := _m.Called(u, r)
|
|
|
|
var r0 *model.Netrc
|
|
if rf, ok := ret.Get(0).(func(*model.User, *model.Repo) *model.Netrc); ok {
|
|
r0 = rf(u, r)
|
|
} else {
|
|
if ret.Get(0) != nil {
|
|
r0 = ret.Get(0).(*model.Netrc)
|
|
}
|
|
}
|
|
|
|
var r1 error
|
|
if rf, ok := ret.Get(1).(func(*model.User, *model.Repo) error); ok {
|
|
r1 = rf(u, r)
|
|
} else {
|
|
r1 = ret.Error(1)
|
|
}
|
|
|
|
return r0, r1
|
|
}
|
|
|
|
// OrgMembership provides a mock function with given fields: ctx, u, owner
|
|
func (_m *Remote) OrgMembership(ctx context.Context, u *model.User, owner string) (*model.OrgPerm, error) {
|
|
ret := _m.Called(ctx, u, owner)
|
|
|
|
var r0 *model.OrgPerm
|
|
if rf, ok := ret.Get(0).(func(context.Context, *model.User, string) *model.OrgPerm); ok {
|
|
r0 = rf(ctx, u, owner)
|
|
} else {
|
|
if ret.Get(0) != nil {
|
|
r0 = ret.Get(0).(*model.OrgPerm)
|
|
}
|
|
}
|
|
|
|
var r1 error
|
|
if rf, ok := ret.Get(1).(func(context.Context, *model.User, string) error); ok {
|
|
r1 = rf(ctx, u, owner)
|
|
} else {
|
|
r1 = ret.Error(1)
|
|
}
|
|
|
|
return r0, r1
|
|
}
|
|
|
|
// Perm provides a mock function with given fields: ctx, u, r
|
|
func (_m *Remote) Perm(ctx context.Context, u *model.User, r *model.Repo) (*model.Perm, error) {
|
|
ret := _m.Called(ctx, u, r)
|
|
|
|
var r0 *model.Perm
|
|
if rf, ok := ret.Get(0).(func(context.Context, *model.User, *model.Repo) *model.Perm); ok {
|
|
r0 = rf(ctx, u, r)
|
|
} else {
|
|
if ret.Get(0) != nil {
|
|
r0 = ret.Get(0).(*model.Perm)
|
|
}
|
|
}
|
|
|
|
var r1 error
|
|
if rf, ok := ret.Get(1).(func(context.Context, *model.User, *model.Repo) error); ok {
|
|
r1 = rf(ctx, u, r)
|
|
} else {
|
|
r1 = ret.Error(1)
|
|
}
|
|
|
|
return r0, r1
|
|
}
|
|
|
|
// Repo provides a mock function with given fields: ctx, u, id, owner, name
|
|
func (_m *Remote) Repo(ctx context.Context, u *model.User, id model.RemoteID, owner string, name string) (*model.Repo, error) {
|
|
ret := _m.Called(ctx, u, id, owner, name)
|
|
|
|
var r0 *model.Repo
|
|
if rf, ok := ret.Get(0).(func(context.Context, *model.User, model.RemoteID, string, string) *model.Repo); ok {
|
|
r0 = rf(ctx, u, id, owner, name)
|
|
} else {
|
|
if ret.Get(0) != nil {
|
|
r0 = ret.Get(0).(*model.Repo)
|
|
}
|
|
}
|
|
|
|
var r1 error
|
|
if rf, ok := ret.Get(1).(func(context.Context, *model.User, model.RemoteID, string, string) error); ok {
|
|
r1 = rf(ctx, u, id, owner, name)
|
|
} else {
|
|
r1 = ret.Error(1)
|
|
}
|
|
|
|
return r0, r1
|
|
}
|
|
|
|
// Repos provides a mock function with given fields: ctx, u
|
|
func (_m *Remote) Repos(ctx context.Context, u *model.User) ([]*model.Repo, error) {
|
|
ret := _m.Called(ctx, u)
|
|
|
|
var r0 []*model.Repo
|
|
if rf, ok := ret.Get(0).(func(context.Context, *model.User) []*model.Repo); ok {
|
|
r0 = rf(ctx, u)
|
|
} else {
|
|
if ret.Get(0) != nil {
|
|
r0 = ret.Get(0).([]*model.Repo)
|
|
}
|
|
}
|
|
|
|
var r1 error
|
|
if rf, ok := ret.Get(1).(func(context.Context, *model.User) error); ok {
|
|
r1 = rf(ctx, u)
|
|
} else {
|
|
r1 = ret.Error(1)
|
|
}
|
|
|
|
return r0, r1
|
|
}
|
|
|
|
// Status provides a mock function with given fields: ctx, u, r, b, p
|
|
func (_m *Remote) Status(ctx context.Context, u *model.User, r *model.Repo, b *model.Build, p *model.Proc) error {
|
|
ret := _m.Called(ctx, u, r, b, p)
|
|
|
|
var r0 error
|
|
if rf, ok := ret.Get(0).(func(context.Context, *model.User, *model.Repo, *model.Build, *model.Proc) error); ok {
|
|
r0 = rf(ctx, u, r, b, p)
|
|
} else {
|
|
r0 = ret.Error(0)
|
|
}
|
|
|
|
return r0
|
|
}
|
|
|
|
// Teams provides a mock function with given fields: ctx, u
|
|
func (_m *Remote) Teams(ctx context.Context, u *model.User) ([]*model.Team, error) {
|
|
ret := _m.Called(ctx, u)
|
|
|
|
var r0 []*model.Team
|
|
if rf, ok := ret.Get(0).(func(context.Context, *model.User) []*model.Team); ok {
|
|
r0 = rf(ctx, u)
|
|
} else {
|
|
if ret.Get(0) != nil {
|
|
r0 = ret.Get(0).([]*model.Team)
|
|
}
|
|
}
|
|
|
|
var r1 error
|
|
if rf, ok := ret.Get(1).(func(context.Context, *model.User) error); ok {
|
|
r1 = rf(ctx, u)
|
|
} else {
|
|
r1 = ret.Error(1)
|
|
}
|
|
|
|
return r0, r1
|
|
}
|
|
|
|
type mockConstructorTestingTNewRemote interface {
|
|
mock.TestingT
|
|
Cleanup(func())
|
|
}
|
|
|
|
// NewRemote creates a new instance of Remote. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations.
|
|
func NewRemote(t mockConstructorTestingTNewRemote) *Remote {
|
|
mock := &Remote{}
|
|
mock.Mock.Test(t)
|
|
|
|
t.Cleanup(func() { mock.AssertExpectations(t) })
|
|
|
|
return mock
|
|
}
|