Documentation
¶
Index ¶
- type Logger
- type MRResult
- type MRStatus
- type MockCall
- type MockClient
- func (m *MockClient) CallsTo(method string) []MockCall
- func (m *MockClient) GetCurrentUser(ctx context.Context) (*gitlab.User, error)
- func (m *MockClient) GetMergeRequest(ctx context.Context, projectID, mrIID int) (*gitlab.MergeRequest, error)
- func (m *MockClient) GetMergeRequestPipeline(ctx context.Context, projectID, mrIID int) (*gitlab.Pipeline, string, error)
- func (m *MockClient) ListMergeRequestsFull(ctx context.Context, projectPath string) ([]*gitlab.MergeRequest, error)
- func (m *MockClient) ListPipelines(ctx context.Context, projectID int, ref, status, sha string) ([]*gitlab.Pipeline, error)
- func (m *MockClient) ListProjects(ctx context.Context, search string) ([]*gitlab.Project, error)
- func (m *MockClient) MergeMergeRequest(ctx context.Context, projectID, mrIID int, sha string) (string, error)
- func (m *MockClient) MethodNames() []string
- func (m *MockClient) RebaseMergeRequest(ctx context.Context, projectID, mrIID int) (*gitlab.MergeRequest, error)
- type Result
- type Runner
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type MRResult ¶
type MRResult struct {
MR *gitlab.MergeRequest
Status MRStatus
SkipReason string // empty if merged
}
MRResult holds the outcome of a single MR in the train.
type MockClient ¶
type MockClient struct {
Calls []MockCall // records all calls made
// Configurable responses per method
GetCurrentUserFn func(ctx context.Context) (*gitlab.User, error)
ListProjectsFn func(ctx context.Context, search string) ([]*gitlab.Project, error)
ListMergeRequestsFullFn func(ctx context.Context, projectPath string) ([]*gitlab.MergeRequest, error)
GetMergeRequestFn func(ctx context.Context, projectID, mrIID int) (*gitlab.MergeRequest, error)
RebaseMergeRequestFn func(ctx context.Context, projectID, mrIID int) (*gitlab.MergeRequest, error)
MergeMergeRequestFn func(ctx context.Context, projectID, mrIID int, sha string) (string, error)
GetMergeRequestPipelineFn func(ctx context.Context, projectID, mrIID int) (*gitlab.Pipeline, string, error)
ListPipelinesFn func(ctx context.Context, projectID int, ref, status, sha string) ([]*gitlab.Pipeline, error)
}
MockClient is a hand-written mock for gitlab.Client used in tests.
func (*MockClient) CallsTo ¶
func (m *MockClient) CallsTo(method string) []MockCall
CallsTo returns all calls to the given method name.
func (*MockClient) GetCurrentUser ¶
func (*MockClient) GetMergeRequest ¶
func (m *MockClient) GetMergeRequest(ctx context.Context, projectID, mrIID int) (*gitlab.MergeRequest, error)
func (*MockClient) GetMergeRequestPipeline ¶
func (*MockClient) ListMergeRequestsFull ¶
func (m *MockClient) ListMergeRequestsFull(ctx context.Context, projectPath string) ([]*gitlab.MergeRequest, error)
func (*MockClient) ListPipelines ¶
func (*MockClient) ListProjects ¶
func (*MockClient) MergeMergeRequest ¶
func (*MockClient) MethodNames ¶
func (m *MockClient) MethodNames() []string
MethodNames returns the ordered list of method names called.
func (*MockClient) RebaseMergeRequest ¶
func (m *MockClient) RebaseMergeRequest(ctx context.Context, projectID, mrIID int) (*gitlab.MergeRequest, error)
type Runner ¶
type Runner struct {
// Configurable intervals for testing
PollRebaseInterval time.Duration
PollPipelineInterval time.Duration
MaxMergeStatusRetries int
MaxMainPipelineAttempts int
// contains filtered or unexported fields
}
Runner executes the merge train.
Click to show internal directories.
Click to hide internal directories.