mirror of
https://git.vectorsigma.ru/public/atlantis.git
synced 2026-08-05 05:28:30 +00:00
Updating client interface and adding ApprovalStatus model (#1827)
This commit is contained in:
@@ -734,7 +734,9 @@ func TestGitHubWorkflowWithPolicyCheck(t *testing.T) {
|
||||
// Setup test dependencies.
|
||||
w := httptest.NewRecorder()
|
||||
When(vcsClient.PullIsMergeable(AnyRepo(), matchers.AnyModelsPullRequest())).ThenReturn(true, nil)
|
||||
When(vcsClient.PullIsApproved(AnyRepo(), matchers.AnyModelsPullRequest())).ThenReturn(true, nil)
|
||||
When(vcsClient.PullIsApproved(AnyRepo(), matchers.AnyModelsPullRequest())).ThenReturn(models.ApprovalStatus{
|
||||
IsApproved: true,
|
||||
}, nil)
|
||||
When(githubGetter.GetPullRequest(AnyRepo(), AnyInt())).ThenReturn(GitHubPullRequestParsed(headSHA), nil)
|
||||
When(vcsClient.GetModifiedFiles(AnyRepo(), matchers.AnyModelsPullRequest())).ThenReturn(c.ModifiedFiles, nil)
|
||||
|
||||
|
||||
33
server/core/runtime/mocks/matchers/models_approvalstatus.go
Normal file
33
server/core/runtime/mocks/matchers/models_approvalstatus.go
Normal file
@@ -0,0 +1,33 @@
|
||||
// Code generated by pegomock. DO NOT EDIT.
|
||||
package matchers
|
||||
|
||||
import (
|
||||
"github.com/petergtz/pegomock"
|
||||
"reflect"
|
||||
|
||||
models "github.com/runatlantis/atlantis/server/events/models"
|
||||
)
|
||||
|
||||
func AnyModelsApprovalStatus() models.ApprovalStatus {
|
||||
pegomock.RegisterMatcher(pegomock.NewAnyMatcher(reflect.TypeOf((*(models.ApprovalStatus))(nil)).Elem()))
|
||||
var nullValue models.ApprovalStatus
|
||||
return nullValue
|
||||
}
|
||||
|
||||
func EqModelsApprovalStatus(value models.ApprovalStatus) models.ApprovalStatus {
|
||||
pegomock.RegisterMatcher(&pegomock.EqMatcher{Value: value})
|
||||
var nullValue models.ApprovalStatus
|
||||
return nullValue
|
||||
}
|
||||
|
||||
func NotEqModelsApprovalStatus(value models.ApprovalStatus) models.ApprovalStatus {
|
||||
pegomock.RegisterMatcher(&pegomock.NotEqMatcher{Value: value})
|
||||
var nullValue models.ApprovalStatus
|
||||
return nullValue
|
||||
}
|
||||
|
||||
func ModelsApprovalStatusThat(matcher pegomock.ArgumentMatcher) models.ApprovalStatus {
|
||||
pegomock.RegisterMatcher(matcher)
|
||||
var nullValue models.ApprovalStatus
|
||||
return nullValue
|
||||
}
|
||||
@@ -25,17 +25,17 @@ func NewMockPullApprovedChecker(options ...pegomock.Option) *MockPullApprovedChe
|
||||
func (mock *MockPullApprovedChecker) SetFailHandler(fh pegomock.FailHandler) { mock.fail = fh }
|
||||
func (mock *MockPullApprovedChecker) FailHandler() pegomock.FailHandler { return mock.fail }
|
||||
|
||||
func (mock *MockPullApprovedChecker) PullIsApproved(baseRepo models.Repo, pull models.PullRequest) (bool, error) {
|
||||
func (mock *MockPullApprovedChecker) PullIsApproved(_param0 models.Repo, _param1 models.PullRequest) (models.ApprovalStatus, error) {
|
||||
if mock == nil {
|
||||
panic("mock must not be nil. Use myMock := NewMockPullApprovedChecker().")
|
||||
}
|
||||
params := []pegomock.Param{baseRepo, pull}
|
||||
result := pegomock.GetGenericMockFrom(mock).Invoke("PullIsApproved", params, []reflect.Type{reflect.TypeOf((*bool)(nil)).Elem(), reflect.TypeOf((*error)(nil)).Elem()})
|
||||
var ret0 bool
|
||||
params := []pegomock.Param{_param0, _param1}
|
||||
result := pegomock.GetGenericMockFrom(mock).Invoke("PullIsApproved", params, []reflect.Type{reflect.TypeOf((*models.ApprovalStatus)(nil)).Elem(), reflect.TypeOf((*error)(nil)).Elem()})
|
||||
var ret0 models.ApprovalStatus
|
||||
var ret1 error
|
||||
if len(result) != 0 {
|
||||
if result[0] != nil {
|
||||
ret0 = result[0].(bool)
|
||||
ret0 = result[0].(models.ApprovalStatus)
|
||||
}
|
||||
if result[1] != nil {
|
||||
ret1 = result[1].(error)
|
||||
@@ -81,8 +81,8 @@ type VerifierMockPullApprovedChecker struct {
|
||||
timeout time.Duration
|
||||
}
|
||||
|
||||
func (verifier *VerifierMockPullApprovedChecker) PullIsApproved(baseRepo models.Repo, pull models.PullRequest) *MockPullApprovedChecker_PullIsApproved_OngoingVerification {
|
||||
params := []pegomock.Param{baseRepo, pull}
|
||||
func (verifier *VerifierMockPullApprovedChecker) PullIsApproved(_param0 models.Repo, _param1 models.PullRequest) *MockPullApprovedChecker_PullIsApproved_OngoingVerification {
|
||||
params := []pegomock.Param{_param0, _param1}
|
||||
methodInvocations := pegomock.GetGenericMockFrom(verifier.mock).Verify(verifier.inOrderContext, verifier.invocationCountMatcher, "PullIsApproved", params, verifier.timeout)
|
||||
return &MockPullApprovedChecker_PullIsApproved_OngoingVerification{mock: verifier.mock, methodInvocations: methodInvocations}
|
||||
}
|
||||
@@ -93,8 +93,8 @@ type MockPullApprovedChecker_PullIsApproved_OngoingVerification struct {
|
||||
}
|
||||
|
||||
func (c *MockPullApprovedChecker_PullIsApproved_OngoingVerification) GetCapturedArguments() (models.Repo, models.PullRequest) {
|
||||
baseRepo, pull := c.GetAllCapturedArguments()
|
||||
return baseRepo[len(baseRepo)-1], pull[len(pull)-1]
|
||||
_param0, _param1 := c.GetAllCapturedArguments()
|
||||
return _param0[len(_param0)-1], _param1[len(_param1)-1]
|
||||
}
|
||||
|
||||
func (c *MockPullApprovedChecker_PullIsApproved_OngoingVerification) GetAllCapturedArguments() (_param0 []models.Repo, _param1 []models.PullRequest) {
|
||||
|
||||
@@ -7,5 +7,5 @@ import (
|
||||
//go:generate pegomock generate -m --use-experimental-model-gen --package mocks -o mocks/mock_pull_approved_checker.go PullApprovedChecker
|
||||
|
||||
type PullApprovedChecker interface {
|
||||
PullIsApproved(baseRepo models.Repo, pull models.PullRequest) (bool, error)
|
||||
PullIsApproved(baseRepo models.Repo, pull models.PullRequest) (models.ApprovalStatus, error)
|
||||
}
|
||||
|
||||
@@ -23,11 +23,11 @@ func (a *AggregateApplyRequirements) ValidateProject(repoDir string, ctx models.
|
||||
for _, req := range ctx.ApplyRequirements {
|
||||
switch req {
|
||||
case raw.ApprovedApplyRequirement:
|
||||
approved, err := a.PullApprovedChecker.PullIsApproved(ctx.Pull.BaseRepo, ctx.Pull) // nolint: vetshadow
|
||||
approvalStatus, err := a.PullApprovedChecker.PullIsApproved(ctx.Pull.BaseRepo, ctx.Pull) // nolint: vetshadow
|
||||
if err != nil {
|
||||
return "", errors.Wrap(err, "checking if pull request was approved")
|
||||
}
|
||||
if !approved {
|
||||
if !approvalStatus.IsApproved {
|
||||
return "Pull request must be approved by at least one person other than the author before running apply.", nil
|
||||
}
|
||||
// this should come before mergeability check since mergeability is a superset of this check.
|
||||
|
||||
@@ -46,6 +46,9 @@ type CommandContext struct {
|
||||
// required the Atlantis status to be successful prior to merging.
|
||||
PullMergeable bool
|
||||
|
||||
// Current PR state
|
||||
PullRequestStatus models.PullReqStatus
|
||||
|
||||
PullStatus *models.PullStatus
|
||||
|
||||
Trigger CommandTrigger
|
||||
|
||||
@@ -142,6 +142,16 @@ func NewRepo(vcsHostType VCSHostType, repoFullName string, cloneURL string, vcsU
|
||||
}, nil
|
||||
}
|
||||
|
||||
type PullReqStatus struct {
|
||||
Approved ApprovalStatus
|
||||
}
|
||||
|
||||
type ApprovalStatus struct {
|
||||
IsApproved bool
|
||||
ApprovedBy string
|
||||
Date time.Time
|
||||
}
|
||||
|
||||
// PullRequest is a VCS pull request.
|
||||
// GitLab calls these Merge Requests.
|
||||
type PullRequest struct {
|
||||
@@ -367,6 +377,8 @@ type ProjectCommandContext struct {
|
||||
// PullMergeable is true if the pull request for this project is able to be merged.
|
||||
PullMergeable bool
|
||||
// CurrentProjectPlanStatus is the status of the current project prior to this command.
|
||||
PullReqStatus PullReqStatus
|
||||
// CurrentProjectPlanStatus is the status of the current project prior to this command.
|
||||
ProjectPlanStatus ProjectPlanStatus
|
||||
// Pull is the pull request we're responding to.
|
||||
Pull PullRequest
|
||||
|
||||
@@ -162,7 +162,9 @@ func TestDefaultProjectCommandRunner_ApplyNotApproved(t *testing.T) {
|
||||
tmp, cleanup := TempDir(t)
|
||||
defer cleanup()
|
||||
When(mockWorkingDir.GetWorkingDir(ctx.BaseRepo, ctx.Pull, ctx.Workspace)).ThenReturn(tmp, nil)
|
||||
When(mockApproved.PullIsApproved(ctx.BaseRepo, ctx.Pull)).ThenReturn(false, nil)
|
||||
When(mockApproved.PullIsApproved(ctx.BaseRepo, ctx.Pull)).ThenReturn(models.ApprovalStatus{
|
||||
IsApproved: false,
|
||||
}, nil)
|
||||
|
||||
res := runner.Apply(ctx)
|
||||
Equals(t, "Pull request must be approved by at least one person other than the author before running apply.", res.Failure)
|
||||
@@ -346,7 +348,9 @@ func TestDefaultProjectCommandRunner_Apply(t *testing.T) {
|
||||
When(mockApply.Run(ctx, nil, repoDir, expEnvs)).ThenReturn("apply", nil)
|
||||
When(mockRun.Run(ctx, "", repoDir, expEnvs)).ThenReturn("run", nil)
|
||||
When(mockEnv.Run(ctx, "", "value", repoDir, make(map[string]string))).ThenReturn("value", nil)
|
||||
When(mockApproved.PullIsApproved(ctx.BaseRepo, ctx.Pull)).ThenReturn(true, nil)
|
||||
When(mockApproved.PullIsApproved(ctx.BaseRepo, ctx.Pull)).ThenReturn(models.ApprovalStatus{
|
||||
IsApproved: true,
|
||||
}, nil)
|
||||
|
||||
res := runner.Apply(ctx)
|
||||
Equals(t, c.expOut, res.ApplySuccess)
|
||||
|
||||
@@ -136,7 +136,7 @@ func (g *AzureDevopsClient) HidePrevCommandComments(repo models.Repo, pullNum in
|
||||
|
||||
// PullIsApproved returns true if the merge request was approved by another reviewer.
|
||||
// https://docs.microsoft.com/en-us/azure/devops/repos/git/branch-policies?view=azure-devops#require-a-minimum-number-of-reviewers
|
||||
func (g *AzureDevopsClient) PullIsApproved(repo models.Repo, pull models.PullRequest) (bool, error) {
|
||||
func (g *AzureDevopsClient) PullIsApproved(repo models.Repo, pull models.PullRequest) (approvalStatus models.ApprovalStatus, err error) {
|
||||
owner, project, repoName := SplitAzureDevopsRepoFullName(repo.FullName)
|
||||
|
||||
opts := azuredevops.PullRequestGetOptions{
|
||||
@@ -144,7 +144,7 @@ func (g *AzureDevopsClient) PullIsApproved(repo models.Repo, pull models.PullReq
|
||||
}
|
||||
adPull, _, err := g.Client.PullRequests.GetWithRepo(g.ctx, owner, project, repoName, pull.Num, &opts)
|
||||
if err != nil {
|
||||
return false, errors.Wrap(err, "getting pull request")
|
||||
return approvalStatus, errors.Wrap(err, "getting pull request")
|
||||
}
|
||||
|
||||
for _, review := range adPull.Reviewers {
|
||||
@@ -157,11 +157,13 @@ func (g *AzureDevopsClient) PullIsApproved(repo models.Repo, pull models.PullReq
|
||||
}
|
||||
|
||||
if review.GetVote() == azuredevops.VoteApproved || review.GetVote() == azuredevops.VoteApprovedWithSuggestions {
|
||||
return true, nil
|
||||
return models.ApprovalStatus{
|
||||
IsApproved: true,
|
||||
}, nil
|
||||
}
|
||||
}
|
||||
|
||||
return false, nil
|
||||
return approvalStatus, nil
|
||||
}
|
||||
|
||||
// PullIsMergeable returns true if the merge request can be merged.
|
||||
|
||||
@@ -495,7 +495,7 @@ func TestAzureDevopsClient_PullIsApproved(t *testing.T) {
|
||||
|
||||
defer disableSSLVerification()()
|
||||
|
||||
actApproved, err := client.PullIsApproved(models.Repo{
|
||||
approvalStatus, err := client.PullIsApproved(models.Repo{
|
||||
FullName: "owner/project/repo",
|
||||
Owner: "owner",
|
||||
Name: "repo",
|
||||
@@ -509,7 +509,7 @@ func TestAzureDevopsClient_PullIsApproved(t *testing.T) {
|
||||
Num: 1,
|
||||
})
|
||||
Ok(t, err)
|
||||
Equals(t, c.expApproved, actApproved)
|
||||
Equals(t, c.expApproved, approvalStatus.IsApproved)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -105,28 +105,30 @@ func (b *Client) HidePrevCommandComments(repo models.Repo, pullNum int, command
|
||||
}
|
||||
|
||||
// PullIsApproved returns true if the merge request was approved.
|
||||
func (b *Client) PullIsApproved(repo models.Repo, pull models.PullRequest) (bool, error) {
|
||||
func (b *Client) PullIsApproved(repo models.Repo, pull models.PullRequest) (approvalStatus models.ApprovalStatus, err error) {
|
||||
path := fmt.Sprintf("%s/2.0/repositories/%s/pullrequests/%d", b.BaseURL, repo.FullName, pull.Num)
|
||||
resp, err := b.makeRequest("GET", path, nil)
|
||||
if err != nil {
|
||||
return false, err
|
||||
return approvalStatus, err
|
||||
}
|
||||
var pullResp PullRequest
|
||||
if err := json.Unmarshal(resp, &pullResp); err != nil {
|
||||
return false, errors.Wrapf(err, "Could not parse response %q", string(resp))
|
||||
return approvalStatus, errors.Wrapf(err, "Could not parse response %q", string(resp))
|
||||
}
|
||||
if err := validator.New().Struct(pullResp); err != nil {
|
||||
return false, errors.Wrapf(err, "API response %q was missing fields", string(resp))
|
||||
return approvalStatus, errors.Wrapf(err, "API response %q was missing fields", string(resp))
|
||||
}
|
||||
authorUUID := *pullResp.Author.UUID
|
||||
for _, participant := range pullResp.Participants {
|
||||
// Bitbucket allows the author to approve their own pull request. This
|
||||
// defeats the purpose of approvals so we don't count that approval.
|
||||
if *participant.Approved && *participant.User.UUID != authorUUID {
|
||||
return true, nil
|
||||
return models.ApprovalStatus{
|
||||
IsApproved: true,
|
||||
}, nil
|
||||
}
|
||||
}
|
||||
return false, nil
|
||||
return approvalStatus, nil
|
||||
}
|
||||
|
||||
// PullIsMergeable returns true if the merge request has no conflicts and can be merged.
|
||||
|
||||
@@ -202,14 +202,14 @@ func TestClient_PullIsApproved(t *testing.T) {
|
||||
|
||||
repo, err := models.NewRepo(models.BitbucketServer, "owner/repo", "https://bitbucket.org/owner/repo.git", "user", "token")
|
||||
Ok(t, err)
|
||||
approved, err := client.PullIsApproved(repo, models.PullRequest{
|
||||
approvalStatus, err := client.PullIsApproved(repo, models.PullRequest{
|
||||
Num: 1,
|
||||
HeadBranch: "branch",
|
||||
Author: "author",
|
||||
BaseRepo: repo,
|
||||
})
|
||||
Ok(t, err)
|
||||
Equals(t, c.exp, approved)
|
||||
Equals(t, c.exp, approvalStatus.IsApproved)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -161,29 +161,31 @@ func (b *Client) postComment(repo models.Repo, pullNum int, comment string) erro
|
||||
}
|
||||
|
||||
// PullIsApproved returns true if the merge request was approved.
|
||||
func (b *Client) PullIsApproved(repo models.Repo, pull models.PullRequest) (bool, error) {
|
||||
func (b *Client) PullIsApproved(repo models.Repo, pull models.PullRequest) (approvalStatus models.ApprovalStatus, err error) {
|
||||
projectKey, err := b.GetProjectKey(repo.Name, repo.SanitizedCloneURL)
|
||||
if err != nil {
|
||||
return false, err
|
||||
return approvalStatus, err
|
||||
}
|
||||
path := fmt.Sprintf("%s/rest/api/1.0/projects/%s/repos/%s/pull-requests/%d", b.BaseURL, projectKey, repo.Name, pull.Num)
|
||||
resp, err := b.makeRequest("GET", path, nil)
|
||||
if err != nil {
|
||||
return false, err
|
||||
return approvalStatus, err
|
||||
}
|
||||
var pullResp PullRequest
|
||||
if err := json.Unmarshal(resp, &pullResp); err != nil {
|
||||
return false, errors.Wrapf(err, "Could not parse response %q", string(resp))
|
||||
return approvalStatus, errors.Wrapf(err, "Could not parse response %q", string(resp))
|
||||
}
|
||||
if err := validator.New().Struct(pullResp); err != nil {
|
||||
return false, errors.Wrapf(err, "API response %q was missing fields", string(resp))
|
||||
return approvalStatus, errors.Wrapf(err, "API response %q was missing fields", string(resp))
|
||||
}
|
||||
for _, reviewer := range pullResp.Reviewers {
|
||||
if *reviewer.Approved {
|
||||
return true, nil
|
||||
return models.ApprovalStatus{
|
||||
IsApproved: true,
|
||||
}, nil
|
||||
}
|
||||
}
|
||||
return false, nil
|
||||
return approvalStatus, nil
|
||||
}
|
||||
|
||||
// PullIsMergeable returns true if the merge request has no conflicts and can be merged.
|
||||
|
||||
@@ -26,7 +26,7 @@ type Client interface {
|
||||
GetModifiedFiles(repo models.Repo, pull models.PullRequest) ([]string, error)
|
||||
CreateComment(repo models.Repo, pullNum int, comment string, command string) error
|
||||
HidePrevCommandComments(repo models.Repo, pullNum int, command string) error
|
||||
PullIsApproved(repo models.Repo, pull models.PullRequest) (bool, error)
|
||||
PullIsApproved(repo models.Repo, pull models.PullRequest) (models.ApprovalStatus, error)
|
||||
PullIsMergeable(repo models.Repo, pull models.PullRequest) (bool, error)
|
||||
// UpdateStatus updates the commit status to state for pull. src is the
|
||||
// source of this status. This should be relatively static across runs,
|
||||
|
||||
@@ -232,7 +232,7 @@ func (g *GithubClient) HidePrevCommandComments(repo models.Repo, pullNum int, co
|
||||
}
|
||||
|
||||
// PullIsApproved returns true if the pull request was approved.
|
||||
func (g *GithubClient) PullIsApproved(repo models.Repo, pull models.PullRequest) (bool, error) {
|
||||
func (g *GithubClient) PullIsApproved(repo models.Repo, pull models.PullRequest) (approvalStatus models.ApprovalStatus, err error) {
|
||||
nextPage := 0
|
||||
for {
|
||||
opts := github.ListOptions{
|
||||
@@ -244,11 +244,15 @@ func (g *GithubClient) PullIsApproved(repo models.Repo, pull models.PullRequest)
|
||||
g.logger.Debug("GET /repos/%v/%v/pulls/%d/reviews", repo.Owner, repo.Name, pull.Num)
|
||||
pageReviews, resp, err := g.client.PullRequests.ListReviews(g.ctx, repo.Owner, repo.Name, pull.Num, &opts)
|
||||
if err != nil {
|
||||
return false, errors.Wrap(err, "getting reviews")
|
||||
return approvalStatus, errors.Wrap(err, "getting reviews")
|
||||
}
|
||||
for _, review := range pageReviews {
|
||||
if review != nil && review.GetState() == "APPROVED" {
|
||||
return true, nil
|
||||
return models.ApprovalStatus{
|
||||
IsApproved: true,
|
||||
ApprovedBy: *review.User.Login,
|
||||
Date: *review.SubmittedAt,
|
||||
}, nil
|
||||
}
|
||||
}
|
||||
if resp.NextPage == 0 {
|
||||
@@ -256,7 +260,7 @@ func (g *GithubClient) PullIsApproved(repo models.Repo, pull models.PullRequest)
|
||||
}
|
||||
nextPage = resp.NextPage
|
||||
}
|
||||
return false, nil
|
||||
return approvalStatus, nil
|
||||
}
|
||||
|
||||
// PullIsMergeable returns true if the pull request is mergeable.
|
||||
|
||||
@@ -455,7 +455,7 @@ func TestGithubClient_PullIsApproved(t *testing.T) {
|
||||
Ok(t, err)
|
||||
defer disableSSLVerification()()
|
||||
|
||||
approved, err := client.PullIsApproved(models.Repo{
|
||||
approvalStatus, err := client.PullIsApproved(models.Repo{
|
||||
FullName: "owner/repo",
|
||||
Owner: "owner",
|
||||
Name: "repo",
|
||||
@@ -469,7 +469,7 @@ func TestGithubClient_PullIsApproved(t *testing.T) {
|
||||
Num: 1,
|
||||
})
|
||||
Ok(t, err)
|
||||
Equals(t, false, approved)
|
||||
Equals(t, false, approvalStatus.IsApproved)
|
||||
}
|
||||
|
||||
func TestGithubClient_PullIsMergeable(t *testing.T) {
|
||||
|
||||
@@ -168,15 +168,17 @@ func (g *GitlabClient) HidePrevCommandComments(repo models.Repo, pullNum int, co
|
||||
}
|
||||
|
||||
// PullIsApproved returns true if the merge request was approved.
|
||||
func (g *GitlabClient) PullIsApproved(repo models.Repo, pull models.PullRequest) (bool, error) {
|
||||
func (g *GitlabClient) PullIsApproved(repo models.Repo, pull models.PullRequest) (approvalStatus models.ApprovalStatus, err error) {
|
||||
approvals, _, err := g.Client.MergeRequests.GetMergeRequestApprovals(repo.FullName, pull.Num)
|
||||
if err != nil {
|
||||
return false, err
|
||||
return approvalStatus, err
|
||||
}
|
||||
if approvals.ApprovalsLeft > 0 {
|
||||
return false, nil
|
||||
return approvalStatus, nil
|
||||
}
|
||||
return true, nil
|
||||
return models.ApprovalStatus{
|
||||
IsApproved: true,
|
||||
}, nil
|
||||
}
|
||||
|
||||
// PullIsMergeable returns true if the merge request can be merged.
|
||||
|
||||
33
server/events/vcs/mocks/matchers/models_approvalstatus.go
Normal file
33
server/events/vcs/mocks/matchers/models_approvalstatus.go
Normal file
@@ -0,0 +1,33 @@
|
||||
// Code generated by pegomock. DO NOT EDIT.
|
||||
package matchers
|
||||
|
||||
import (
|
||||
"github.com/petergtz/pegomock"
|
||||
"reflect"
|
||||
|
||||
models "github.com/runatlantis/atlantis/server/events/models"
|
||||
)
|
||||
|
||||
func AnyModelsApprovalStatus() models.ApprovalStatus {
|
||||
pegomock.RegisterMatcher(pegomock.NewAnyMatcher(reflect.TypeOf((*(models.ApprovalStatus))(nil)).Elem()))
|
||||
var nullValue models.ApprovalStatus
|
||||
return nullValue
|
||||
}
|
||||
|
||||
func EqModelsApprovalStatus(value models.ApprovalStatus) models.ApprovalStatus {
|
||||
pegomock.RegisterMatcher(&pegomock.EqMatcher{Value: value})
|
||||
var nullValue models.ApprovalStatus
|
||||
return nullValue
|
||||
}
|
||||
|
||||
func NotEqModelsApprovalStatus(value models.ApprovalStatus) models.ApprovalStatus {
|
||||
pegomock.RegisterMatcher(&pegomock.NotEqMatcher{Value: value})
|
||||
var nullValue models.ApprovalStatus
|
||||
return nullValue
|
||||
}
|
||||
|
||||
func ModelsApprovalStatusThat(matcher pegomock.ArgumentMatcher) models.ApprovalStatus {
|
||||
pegomock.RegisterMatcher(matcher)
|
||||
var nullValue models.ApprovalStatus
|
||||
return nullValue
|
||||
}
|
||||
@@ -25,30 +25,11 @@ func NewMockClient(options ...pegomock.Option) *MockClient {
|
||||
func (mock *MockClient) SetFailHandler(fh pegomock.FailHandler) { mock.fail = fh }
|
||||
func (mock *MockClient) FailHandler() pegomock.FailHandler { return mock.fail }
|
||||
|
||||
func (mock *MockClient) GetModifiedFiles(repo models.Repo, pull models.PullRequest) ([]string, error) {
|
||||
func (mock *MockClient) CreateComment(_param0 models.Repo, _param1 int, _param2 string, _param3 string) error {
|
||||
if mock == nil {
|
||||
panic("mock must not be nil. Use myMock := NewMockClient().")
|
||||
}
|
||||
params := []pegomock.Param{repo, pull}
|
||||
result := pegomock.GetGenericMockFrom(mock).Invoke("GetModifiedFiles", params, []reflect.Type{reflect.TypeOf((*[]string)(nil)).Elem(), reflect.TypeOf((*error)(nil)).Elem()})
|
||||
var ret0 []string
|
||||
var ret1 error
|
||||
if len(result) != 0 {
|
||||
if result[0] != nil {
|
||||
ret0 = result[0].([]string)
|
||||
}
|
||||
if result[1] != nil {
|
||||
ret1 = result[1].(error)
|
||||
}
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
func (mock *MockClient) CreateComment(repo models.Repo, pullNum int, comment string, command string) error {
|
||||
if mock == nil {
|
||||
panic("mock must not be nil. Use myMock := NewMockClient().")
|
||||
}
|
||||
params := []pegomock.Param{repo, pullNum, comment, command}
|
||||
params := []pegomock.Param{_param0, _param1, _param2, _param3}
|
||||
result := pegomock.GetGenericMockFrom(mock).Invoke("CreateComment", params, []reflect.Type{reflect.TypeOf((*error)(nil)).Elem()})
|
||||
var ret0 error
|
||||
if len(result) != 0 {
|
||||
@@ -59,113 +40,11 @@ func (mock *MockClient) CreateComment(repo models.Repo, pullNum int, comment str
|
||||
return ret0
|
||||
}
|
||||
|
||||
func (mock *MockClient) HidePrevCommandComments(repo models.Repo, pullNum int, command string) error {
|
||||
func (mock *MockClient) DownloadRepoConfigFile(_param0 models.PullRequest) (bool, []byte, error) {
|
||||
if mock == nil {
|
||||
panic("mock must not be nil. Use myMock := NewMockClient().")
|
||||
}
|
||||
params := []pegomock.Param{repo, pullNum, command}
|
||||
result := pegomock.GetGenericMockFrom(mock).Invoke("HidePrevCommandComments", params, []reflect.Type{reflect.TypeOf((*error)(nil)).Elem()})
|
||||
var ret0 error
|
||||
if len(result) != 0 {
|
||||
if result[0] != nil {
|
||||
ret0 = result[0].(error)
|
||||
}
|
||||
}
|
||||
return ret0
|
||||
}
|
||||
|
||||
func (mock *MockClient) PullIsApproved(repo models.Repo, pull models.PullRequest) (bool, error) {
|
||||
if mock == nil {
|
||||
panic("mock must not be nil. Use myMock := NewMockClient().")
|
||||
}
|
||||
params := []pegomock.Param{repo, pull}
|
||||
result := pegomock.GetGenericMockFrom(mock).Invoke("PullIsApproved", params, []reflect.Type{reflect.TypeOf((*bool)(nil)).Elem(), reflect.TypeOf((*error)(nil)).Elem()})
|
||||
var ret0 bool
|
||||
var ret1 error
|
||||
if len(result) != 0 {
|
||||
if result[0] != nil {
|
||||
ret0 = result[0].(bool)
|
||||
}
|
||||
if result[1] != nil {
|
||||
ret1 = result[1].(error)
|
||||
}
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
func (mock *MockClient) PullIsMergeable(repo models.Repo, pull models.PullRequest) (bool, error) {
|
||||
if mock == nil {
|
||||
panic("mock must not be nil. Use myMock := NewMockClient().")
|
||||
}
|
||||
params := []pegomock.Param{repo, pull}
|
||||
result := pegomock.GetGenericMockFrom(mock).Invoke("PullIsMergeable", params, []reflect.Type{reflect.TypeOf((*bool)(nil)).Elem(), reflect.TypeOf((*error)(nil)).Elem()})
|
||||
var ret0 bool
|
||||
var ret1 error
|
||||
if len(result) != 0 {
|
||||
if result[0] != nil {
|
||||
ret0 = result[0].(bool)
|
||||
}
|
||||
if result[1] != nil {
|
||||
ret1 = result[1].(error)
|
||||
}
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
func (mock *MockClient) UpdateStatus(repo models.Repo, pull models.PullRequest, state models.CommitStatus, src string, description string, url string) error {
|
||||
if mock == nil {
|
||||
panic("mock must not be nil. Use myMock := NewMockClient().")
|
||||
}
|
||||
params := []pegomock.Param{repo, pull, state, src, description, url}
|
||||
result := pegomock.GetGenericMockFrom(mock).Invoke("UpdateStatus", params, []reflect.Type{reflect.TypeOf((*error)(nil)).Elem()})
|
||||
var ret0 error
|
||||
if len(result) != 0 {
|
||||
if result[0] != nil {
|
||||
ret0 = result[0].(error)
|
||||
}
|
||||
}
|
||||
return ret0
|
||||
}
|
||||
|
||||
func (mock *MockClient) MergePull(pull models.PullRequest, pullOptions models.PullRequestOptions) error {
|
||||
if mock == nil {
|
||||
panic("mock must not be nil. Use myMock := NewMockClient().")
|
||||
}
|
||||
params := []pegomock.Param{pull, pullOptions}
|
||||
result := pegomock.GetGenericMockFrom(mock).Invoke("MergePull", params, []reflect.Type{reflect.TypeOf((*error)(nil)).Elem()})
|
||||
var ret0 error
|
||||
if len(result) != 0 {
|
||||
if result[0] != nil {
|
||||
ret0 = result[0].(error)
|
||||
}
|
||||
}
|
||||
return ret0
|
||||
}
|
||||
|
||||
func (mock *MockClient) MarkdownPullLink(pull models.PullRequest) (string, error) {
|
||||
if mock == nil {
|
||||
panic("mock must not be nil. Use myMock := NewMockClient().")
|
||||
}
|
||||
params := []pegomock.Param{pull}
|
||||
result := pegomock.GetGenericMockFrom(mock).Invoke("MarkdownPullLink", params, []reflect.Type{reflect.TypeOf((*string)(nil)).Elem(), reflect.TypeOf((*error)(nil)).Elem()})
|
||||
var ret0 string
|
||||
var ret1 error
|
||||
if len(result) != 0 {
|
||||
if result[0] != nil {
|
||||
ret0 = result[0].(string)
|
||||
}
|
||||
if result[1] != nil {
|
||||
ret1 = result[1].(error)
|
||||
}
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
func (mock *MockClient) DownloadRepoConfigFile(pull models.PullRequest) (bool, []byte, error) {
|
||||
if mock == nil {
|
||||
panic("mock must not be nil. Use myMock := NewMockClient().")
|
||||
}
|
||||
params := []pegomock.Param{pull}
|
||||
params := []pegomock.Param{_param0}
|
||||
result := pegomock.GetGenericMockFrom(mock).Invoke("DownloadRepoConfigFile", params, []reflect.Type{reflect.TypeOf((*bool)(nil)).Elem(), reflect.TypeOf((*[]byte)(nil)).Elem(), reflect.TypeOf((*error)(nil)).Elem()})
|
||||
var ret0 bool
|
||||
var ret1 []byte
|
||||
@@ -184,11 +63,117 @@ func (mock *MockClient) DownloadRepoConfigFile(pull models.PullRequest) (bool, [
|
||||
return ret0, ret1, ret2
|
||||
}
|
||||
|
||||
func (mock *MockClient) SupportsSingleFileDownload(repo models.Repo) bool {
|
||||
func (mock *MockClient) GetModifiedFiles(_param0 models.Repo, _param1 models.PullRequest) ([]string, error) {
|
||||
if mock == nil {
|
||||
panic("mock must not be nil. Use myMock := NewMockClient().")
|
||||
}
|
||||
params := []pegomock.Param{repo}
|
||||
params := []pegomock.Param{_param0, _param1}
|
||||
result := pegomock.GetGenericMockFrom(mock).Invoke("GetModifiedFiles", params, []reflect.Type{reflect.TypeOf((*[]string)(nil)).Elem(), reflect.TypeOf((*error)(nil)).Elem()})
|
||||
var ret0 []string
|
||||
var ret1 error
|
||||
if len(result) != 0 {
|
||||
if result[0] != nil {
|
||||
ret0 = result[0].([]string)
|
||||
}
|
||||
if result[1] != nil {
|
||||
ret1 = result[1].(error)
|
||||
}
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
func (mock *MockClient) HidePrevCommandComments(_param0 models.Repo, _param1 int, _param2 string) error {
|
||||
if mock == nil {
|
||||
panic("mock must not be nil. Use myMock := NewMockClient().")
|
||||
}
|
||||
params := []pegomock.Param{_param0, _param1, _param2}
|
||||
result := pegomock.GetGenericMockFrom(mock).Invoke("HidePrevCommandComments", params, []reflect.Type{reflect.TypeOf((*error)(nil)).Elem()})
|
||||
var ret0 error
|
||||
if len(result) != 0 {
|
||||
if result[0] != nil {
|
||||
ret0 = result[0].(error)
|
||||
}
|
||||
}
|
||||
return ret0
|
||||
}
|
||||
|
||||
func (mock *MockClient) MarkdownPullLink(_param0 models.PullRequest) (string, error) {
|
||||
if mock == nil {
|
||||
panic("mock must not be nil. Use myMock := NewMockClient().")
|
||||
}
|
||||
params := []pegomock.Param{_param0}
|
||||
result := pegomock.GetGenericMockFrom(mock).Invoke("MarkdownPullLink", params, []reflect.Type{reflect.TypeOf((*string)(nil)).Elem(), reflect.TypeOf((*error)(nil)).Elem()})
|
||||
var ret0 string
|
||||
var ret1 error
|
||||
if len(result) != 0 {
|
||||
if result[0] != nil {
|
||||
ret0 = result[0].(string)
|
||||
}
|
||||
if result[1] != nil {
|
||||
ret1 = result[1].(error)
|
||||
}
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
func (mock *MockClient) MergePull(_param0 models.PullRequest, _param1 models.PullRequestOptions) error {
|
||||
if mock == nil {
|
||||
panic("mock must not be nil. Use myMock := NewMockClient().")
|
||||
}
|
||||
params := []pegomock.Param{_param0, _param1}
|
||||
result := pegomock.GetGenericMockFrom(mock).Invoke("MergePull", params, []reflect.Type{reflect.TypeOf((*error)(nil)).Elem()})
|
||||
var ret0 error
|
||||
if len(result) != 0 {
|
||||
if result[0] != nil {
|
||||
ret0 = result[0].(error)
|
||||
}
|
||||
}
|
||||
return ret0
|
||||
}
|
||||
|
||||
func (mock *MockClient) PullIsApproved(_param0 models.Repo, _param1 models.PullRequest) (models.ApprovalStatus, error) {
|
||||
if mock == nil {
|
||||
panic("mock must not be nil. Use myMock := NewMockClient().")
|
||||
}
|
||||
params := []pegomock.Param{_param0, _param1}
|
||||
result := pegomock.GetGenericMockFrom(mock).Invoke("PullIsApproved", params, []reflect.Type{reflect.TypeOf((*models.ApprovalStatus)(nil)).Elem(), reflect.TypeOf((*error)(nil)).Elem()})
|
||||
var ret0 models.ApprovalStatus
|
||||
var ret1 error
|
||||
if len(result) != 0 {
|
||||
if result[0] != nil {
|
||||
ret0 = result[0].(models.ApprovalStatus)
|
||||
}
|
||||
if result[1] != nil {
|
||||
ret1 = result[1].(error)
|
||||
}
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
func (mock *MockClient) PullIsMergeable(_param0 models.Repo, _param1 models.PullRequest) (bool, error) {
|
||||
if mock == nil {
|
||||
panic("mock must not be nil. Use myMock := NewMockClient().")
|
||||
}
|
||||
params := []pegomock.Param{_param0, _param1}
|
||||
result := pegomock.GetGenericMockFrom(mock).Invoke("PullIsMergeable", params, []reflect.Type{reflect.TypeOf((*bool)(nil)).Elem(), reflect.TypeOf((*error)(nil)).Elem()})
|
||||
var ret0 bool
|
||||
var ret1 error
|
||||
if len(result) != 0 {
|
||||
if result[0] != nil {
|
||||
ret0 = result[0].(bool)
|
||||
}
|
||||
if result[1] != nil {
|
||||
ret1 = result[1].(error)
|
||||
}
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
func (mock *MockClient) SupportsSingleFileDownload(_param0 models.Repo) bool {
|
||||
if mock == nil {
|
||||
panic("mock must not be nil. Use myMock := NewMockClient().")
|
||||
}
|
||||
params := []pegomock.Param{_param0}
|
||||
result := pegomock.GetGenericMockFrom(mock).Invoke("SupportsSingleFileDownload", params, []reflect.Type{reflect.TypeOf((*bool)(nil)).Elem()})
|
||||
var ret0 bool
|
||||
if len(result) != 0 {
|
||||
@@ -199,6 +184,21 @@ func (mock *MockClient) SupportsSingleFileDownload(repo models.Repo) bool {
|
||||
return ret0
|
||||
}
|
||||
|
||||
func (mock *MockClient) UpdateStatus(_param0 models.Repo, _param1 models.PullRequest, _param2 models.CommitStatus, _param3 string, _param4 string, _param5 string) error {
|
||||
if mock == nil {
|
||||
panic("mock must not be nil. Use myMock := NewMockClient().")
|
||||
}
|
||||
params := []pegomock.Param{_param0, _param1, _param2, _param3, _param4, _param5}
|
||||
result := pegomock.GetGenericMockFrom(mock).Invoke("UpdateStatus", params, []reflect.Type{reflect.TypeOf((*error)(nil)).Elem()})
|
||||
var ret0 error
|
||||
if len(result) != 0 {
|
||||
if result[0] != nil {
|
||||
ret0 = result[0].(error)
|
||||
}
|
||||
}
|
||||
return ret0
|
||||
}
|
||||
|
||||
func (mock *MockClient) VerifyWasCalledOnce() *VerifierMockClient {
|
||||
return &VerifierMockClient{
|
||||
mock: mock,
|
||||
@@ -236,39 +236,8 @@ type VerifierMockClient struct {
|
||||
timeout time.Duration
|
||||
}
|
||||
|
||||
func (verifier *VerifierMockClient) GetModifiedFiles(repo models.Repo, pull models.PullRequest) *MockClient_GetModifiedFiles_OngoingVerification {
|
||||
params := []pegomock.Param{repo, pull}
|
||||
methodInvocations := pegomock.GetGenericMockFrom(verifier.mock).Verify(verifier.inOrderContext, verifier.invocationCountMatcher, "GetModifiedFiles", params, verifier.timeout)
|
||||
return &MockClient_GetModifiedFiles_OngoingVerification{mock: verifier.mock, methodInvocations: methodInvocations}
|
||||
}
|
||||
|
||||
type MockClient_GetModifiedFiles_OngoingVerification struct {
|
||||
mock *MockClient
|
||||
methodInvocations []pegomock.MethodInvocation
|
||||
}
|
||||
|
||||
func (c *MockClient_GetModifiedFiles_OngoingVerification) GetCapturedArguments() (models.Repo, models.PullRequest) {
|
||||
repo, pull := c.GetAllCapturedArguments()
|
||||
return repo[len(repo)-1], pull[len(pull)-1]
|
||||
}
|
||||
|
||||
func (c *MockClient_GetModifiedFiles_OngoingVerification) GetAllCapturedArguments() (_param0 []models.Repo, _param1 []models.PullRequest) {
|
||||
params := pegomock.GetGenericMockFrom(c.mock).GetInvocationParams(c.methodInvocations)
|
||||
if len(params) > 0 {
|
||||
_param0 = make([]models.Repo, len(c.methodInvocations))
|
||||
for u, param := range params[0] {
|
||||
_param0[u] = param.(models.Repo)
|
||||
}
|
||||
_param1 = make([]models.PullRequest, len(c.methodInvocations))
|
||||
for u, param := range params[1] {
|
||||
_param1[u] = param.(models.PullRequest)
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (verifier *VerifierMockClient) CreateComment(repo models.Repo, pullNum int, comment string, command string) *MockClient_CreateComment_OngoingVerification {
|
||||
params := []pegomock.Param{repo, pullNum, comment, command}
|
||||
func (verifier *VerifierMockClient) CreateComment(_param0 models.Repo, _param1 int, _param2 string, _param3 string) *MockClient_CreateComment_OngoingVerification {
|
||||
params := []pegomock.Param{_param0, _param1, _param2, _param3}
|
||||
methodInvocations := pegomock.GetGenericMockFrom(verifier.mock).Verify(verifier.inOrderContext, verifier.invocationCountMatcher, "CreateComment", params, verifier.timeout)
|
||||
return &MockClient_CreateComment_OngoingVerification{mock: verifier.mock, methodInvocations: methodInvocations}
|
||||
}
|
||||
@@ -279,8 +248,8 @@ type MockClient_CreateComment_OngoingVerification struct {
|
||||
}
|
||||
|
||||
func (c *MockClient_CreateComment_OngoingVerification) GetCapturedArguments() (models.Repo, int, string, string) {
|
||||
repo, pullNum, comment, command := c.GetAllCapturedArguments()
|
||||
return repo[len(repo)-1], pullNum[len(pullNum)-1], comment[len(comment)-1], command[len(command)-1]
|
||||
_param0, _param1, _param2, _param3 := c.GetAllCapturedArguments()
|
||||
return _param0[len(_param0)-1], _param1[len(_param1)-1], _param2[len(_param2)-1], _param3[len(_param3)-1]
|
||||
}
|
||||
|
||||
func (c *MockClient_CreateComment_OngoingVerification) GetAllCapturedArguments() (_param0 []models.Repo, _param1 []int, _param2 []string, _param3 []string) {
|
||||
@@ -306,8 +275,66 @@ func (c *MockClient_CreateComment_OngoingVerification) GetAllCapturedArguments()
|
||||
return
|
||||
}
|
||||
|
||||
func (verifier *VerifierMockClient) HidePrevCommandComments(repo models.Repo, pullNum int, command string) *MockClient_HidePrevCommandComments_OngoingVerification {
|
||||
params := []pegomock.Param{repo, pullNum, command}
|
||||
func (verifier *VerifierMockClient) DownloadRepoConfigFile(_param0 models.PullRequest) *MockClient_DownloadRepoConfigFile_OngoingVerification {
|
||||
params := []pegomock.Param{_param0}
|
||||
methodInvocations := pegomock.GetGenericMockFrom(verifier.mock).Verify(verifier.inOrderContext, verifier.invocationCountMatcher, "DownloadRepoConfigFile", params, verifier.timeout)
|
||||
return &MockClient_DownloadRepoConfigFile_OngoingVerification{mock: verifier.mock, methodInvocations: methodInvocations}
|
||||
}
|
||||
|
||||
type MockClient_DownloadRepoConfigFile_OngoingVerification struct {
|
||||
mock *MockClient
|
||||
methodInvocations []pegomock.MethodInvocation
|
||||
}
|
||||
|
||||
func (c *MockClient_DownloadRepoConfigFile_OngoingVerification) GetCapturedArguments() models.PullRequest {
|
||||
_param0 := c.GetAllCapturedArguments()
|
||||
return _param0[len(_param0)-1]
|
||||
}
|
||||
|
||||
func (c *MockClient_DownloadRepoConfigFile_OngoingVerification) GetAllCapturedArguments() (_param0 []models.PullRequest) {
|
||||
params := pegomock.GetGenericMockFrom(c.mock).GetInvocationParams(c.methodInvocations)
|
||||
if len(params) > 0 {
|
||||
_param0 = make([]models.PullRequest, len(c.methodInvocations))
|
||||
for u, param := range params[0] {
|
||||
_param0[u] = param.(models.PullRequest)
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (verifier *VerifierMockClient) GetModifiedFiles(_param0 models.Repo, _param1 models.PullRequest) *MockClient_GetModifiedFiles_OngoingVerification {
|
||||
params := []pegomock.Param{_param0, _param1}
|
||||
methodInvocations := pegomock.GetGenericMockFrom(verifier.mock).Verify(verifier.inOrderContext, verifier.invocationCountMatcher, "GetModifiedFiles", params, verifier.timeout)
|
||||
return &MockClient_GetModifiedFiles_OngoingVerification{mock: verifier.mock, methodInvocations: methodInvocations}
|
||||
}
|
||||
|
||||
type MockClient_GetModifiedFiles_OngoingVerification struct {
|
||||
mock *MockClient
|
||||
methodInvocations []pegomock.MethodInvocation
|
||||
}
|
||||
|
||||
func (c *MockClient_GetModifiedFiles_OngoingVerification) GetCapturedArguments() (models.Repo, models.PullRequest) {
|
||||
_param0, _param1 := c.GetAllCapturedArguments()
|
||||
return _param0[len(_param0)-1], _param1[len(_param1)-1]
|
||||
}
|
||||
|
||||
func (c *MockClient_GetModifiedFiles_OngoingVerification) GetAllCapturedArguments() (_param0 []models.Repo, _param1 []models.PullRequest) {
|
||||
params := pegomock.GetGenericMockFrom(c.mock).GetInvocationParams(c.methodInvocations)
|
||||
if len(params) > 0 {
|
||||
_param0 = make([]models.Repo, len(c.methodInvocations))
|
||||
for u, param := range params[0] {
|
||||
_param0[u] = param.(models.Repo)
|
||||
}
|
||||
_param1 = make([]models.PullRequest, len(c.methodInvocations))
|
||||
for u, param := range params[1] {
|
||||
_param1[u] = param.(models.PullRequest)
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (verifier *VerifierMockClient) HidePrevCommandComments(_param0 models.Repo, _param1 int, _param2 string) *MockClient_HidePrevCommandComments_OngoingVerification {
|
||||
params := []pegomock.Param{_param0, _param1, _param2}
|
||||
methodInvocations := pegomock.GetGenericMockFrom(verifier.mock).Verify(verifier.inOrderContext, verifier.invocationCountMatcher, "HidePrevCommandComments", params, verifier.timeout)
|
||||
return &MockClient_HidePrevCommandComments_OngoingVerification{mock: verifier.mock, methodInvocations: methodInvocations}
|
||||
}
|
||||
@@ -318,8 +345,8 @@ type MockClient_HidePrevCommandComments_OngoingVerification struct {
|
||||
}
|
||||
|
||||
func (c *MockClient_HidePrevCommandComments_OngoingVerification) GetCapturedArguments() (models.Repo, int, string) {
|
||||
repo, pullNum, command := c.GetAllCapturedArguments()
|
||||
return repo[len(repo)-1], pullNum[len(pullNum)-1], command[len(command)-1]
|
||||
_param0, _param1, _param2 := c.GetAllCapturedArguments()
|
||||
return _param0[len(_param0)-1], _param1[len(_param1)-1], _param2[len(_param2)-1]
|
||||
}
|
||||
|
||||
func (c *MockClient_HidePrevCommandComments_OngoingVerification) GetAllCapturedArguments() (_param0 []models.Repo, _param1 []int, _param2 []string) {
|
||||
@@ -341,8 +368,66 @@ func (c *MockClient_HidePrevCommandComments_OngoingVerification) GetAllCapturedA
|
||||
return
|
||||
}
|
||||
|
||||
func (verifier *VerifierMockClient) PullIsApproved(repo models.Repo, pull models.PullRequest) *MockClient_PullIsApproved_OngoingVerification {
|
||||
params := []pegomock.Param{repo, pull}
|
||||
func (verifier *VerifierMockClient) MarkdownPullLink(_param0 models.PullRequest) *MockClient_MarkdownPullLink_OngoingVerification {
|
||||
params := []pegomock.Param{_param0}
|
||||
methodInvocations := pegomock.GetGenericMockFrom(verifier.mock).Verify(verifier.inOrderContext, verifier.invocationCountMatcher, "MarkdownPullLink", params, verifier.timeout)
|
||||
return &MockClient_MarkdownPullLink_OngoingVerification{mock: verifier.mock, methodInvocations: methodInvocations}
|
||||
}
|
||||
|
||||
type MockClient_MarkdownPullLink_OngoingVerification struct {
|
||||
mock *MockClient
|
||||
methodInvocations []pegomock.MethodInvocation
|
||||
}
|
||||
|
||||
func (c *MockClient_MarkdownPullLink_OngoingVerification) GetCapturedArguments() models.PullRequest {
|
||||
_param0 := c.GetAllCapturedArguments()
|
||||
return _param0[len(_param0)-1]
|
||||
}
|
||||
|
||||
func (c *MockClient_MarkdownPullLink_OngoingVerification) GetAllCapturedArguments() (_param0 []models.PullRequest) {
|
||||
params := pegomock.GetGenericMockFrom(c.mock).GetInvocationParams(c.methodInvocations)
|
||||
if len(params) > 0 {
|
||||
_param0 = make([]models.PullRequest, len(c.methodInvocations))
|
||||
for u, param := range params[0] {
|
||||
_param0[u] = param.(models.PullRequest)
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (verifier *VerifierMockClient) MergePull(_param0 models.PullRequest, _param1 models.PullRequestOptions) *MockClient_MergePull_OngoingVerification {
|
||||
params := []pegomock.Param{_param0, _param1}
|
||||
methodInvocations := pegomock.GetGenericMockFrom(verifier.mock).Verify(verifier.inOrderContext, verifier.invocationCountMatcher, "MergePull", params, verifier.timeout)
|
||||
return &MockClient_MergePull_OngoingVerification{mock: verifier.mock, methodInvocations: methodInvocations}
|
||||
}
|
||||
|
||||
type MockClient_MergePull_OngoingVerification struct {
|
||||
mock *MockClient
|
||||
methodInvocations []pegomock.MethodInvocation
|
||||
}
|
||||
|
||||
func (c *MockClient_MergePull_OngoingVerification) GetCapturedArguments() (models.PullRequest, models.PullRequestOptions) {
|
||||
_param0, _param1 := c.GetAllCapturedArguments()
|
||||
return _param0[len(_param0)-1], _param1[len(_param1)-1]
|
||||
}
|
||||
|
||||
func (c *MockClient_MergePull_OngoingVerification) GetAllCapturedArguments() (_param0 []models.PullRequest, _param1 []models.PullRequestOptions) {
|
||||
params := pegomock.GetGenericMockFrom(c.mock).GetInvocationParams(c.methodInvocations)
|
||||
if len(params) > 0 {
|
||||
_param0 = make([]models.PullRequest, len(c.methodInvocations))
|
||||
for u, param := range params[0] {
|
||||
_param0[u] = param.(models.PullRequest)
|
||||
}
|
||||
_param1 = make([]models.PullRequestOptions, len(c.methodInvocations))
|
||||
for u, param := range params[1] {
|
||||
_param1[u] = param.(models.PullRequestOptions)
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (verifier *VerifierMockClient) PullIsApproved(_param0 models.Repo, _param1 models.PullRequest) *MockClient_PullIsApproved_OngoingVerification {
|
||||
params := []pegomock.Param{_param0, _param1}
|
||||
methodInvocations := pegomock.GetGenericMockFrom(verifier.mock).Verify(verifier.inOrderContext, verifier.invocationCountMatcher, "PullIsApproved", params, verifier.timeout)
|
||||
return &MockClient_PullIsApproved_OngoingVerification{mock: verifier.mock, methodInvocations: methodInvocations}
|
||||
}
|
||||
@@ -353,8 +438,8 @@ type MockClient_PullIsApproved_OngoingVerification struct {
|
||||
}
|
||||
|
||||
func (c *MockClient_PullIsApproved_OngoingVerification) GetCapturedArguments() (models.Repo, models.PullRequest) {
|
||||
repo, pull := c.GetAllCapturedArguments()
|
||||
return repo[len(repo)-1], pull[len(pull)-1]
|
||||
_param0, _param1 := c.GetAllCapturedArguments()
|
||||
return _param0[len(_param0)-1], _param1[len(_param1)-1]
|
||||
}
|
||||
|
||||
func (c *MockClient_PullIsApproved_OngoingVerification) GetAllCapturedArguments() (_param0 []models.Repo, _param1 []models.PullRequest) {
|
||||
@@ -372,8 +457,8 @@ func (c *MockClient_PullIsApproved_OngoingVerification) GetAllCapturedArguments(
|
||||
return
|
||||
}
|
||||
|
||||
func (verifier *VerifierMockClient) PullIsMergeable(repo models.Repo, pull models.PullRequest) *MockClient_PullIsMergeable_OngoingVerification {
|
||||
params := []pegomock.Param{repo, pull}
|
||||
func (verifier *VerifierMockClient) PullIsMergeable(_param0 models.Repo, _param1 models.PullRequest) *MockClient_PullIsMergeable_OngoingVerification {
|
||||
params := []pegomock.Param{_param0, _param1}
|
||||
methodInvocations := pegomock.GetGenericMockFrom(verifier.mock).Verify(verifier.inOrderContext, verifier.invocationCountMatcher, "PullIsMergeable", params, verifier.timeout)
|
||||
return &MockClient_PullIsMergeable_OngoingVerification{mock: verifier.mock, methodInvocations: methodInvocations}
|
||||
}
|
||||
@@ -384,8 +469,8 @@ type MockClient_PullIsMergeable_OngoingVerification struct {
|
||||
}
|
||||
|
||||
func (c *MockClient_PullIsMergeable_OngoingVerification) GetCapturedArguments() (models.Repo, models.PullRequest) {
|
||||
repo, pull := c.GetAllCapturedArguments()
|
||||
return repo[len(repo)-1], pull[len(pull)-1]
|
||||
_param0, _param1 := c.GetAllCapturedArguments()
|
||||
return _param0[len(_param0)-1], _param1[len(_param1)-1]
|
||||
}
|
||||
|
||||
func (c *MockClient_PullIsMergeable_OngoingVerification) GetAllCapturedArguments() (_param0 []models.Repo, _param1 []models.PullRequest) {
|
||||
@@ -403,8 +488,35 @@ func (c *MockClient_PullIsMergeable_OngoingVerification) GetAllCapturedArguments
|
||||
return
|
||||
}
|
||||
|
||||
func (verifier *VerifierMockClient) UpdateStatus(repo models.Repo, pull models.PullRequest, state models.CommitStatus, src string, description string, url string) *MockClient_UpdateStatus_OngoingVerification {
|
||||
params := []pegomock.Param{repo, pull, state, src, description, url}
|
||||
func (verifier *VerifierMockClient) SupportsSingleFileDownload(_param0 models.Repo) *MockClient_SupportsSingleFileDownload_OngoingVerification {
|
||||
params := []pegomock.Param{_param0}
|
||||
methodInvocations := pegomock.GetGenericMockFrom(verifier.mock).Verify(verifier.inOrderContext, verifier.invocationCountMatcher, "SupportsSingleFileDownload", params, verifier.timeout)
|
||||
return &MockClient_SupportsSingleFileDownload_OngoingVerification{mock: verifier.mock, methodInvocations: methodInvocations}
|
||||
}
|
||||
|
||||
type MockClient_SupportsSingleFileDownload_OngoingVerification struct {
|
||||
mock *MockClient
|
||||
methodInvocations []pegomock.MethodInvocation
|
||||
}
|
||||
|
||||
func (c *MockClient_SupportsSingleFileDownload_OngoingVerification) GetCapturedArguments() models.Repo {
|
||||
_param0 := c.GetAllCapturedArguments()
|
||||
return _param0[len(_param0)-1]
|
||||
}
|
||||
|
||||
func (c *MockClient_SupportsSingleFileDownload_OngoingVerification) GetAllCapturedArguments() (_param0 []models.Repo) {
|
||||
params := pegomock.GetGenericMockFrom(c.mock).GetInvocationParams(c.methodInvocations)
|
||||
if len(params) > 0 {
|
||||
_param0 = make([]models.Repo, len(c.methodInvocations))
|
||||
for u, param := range params[0] {
|
||||
_param0[u] = param.(models.Repo)
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (verifier *VerifierMockClient) UpdateStatus(_param0 models.Repo, _param1 models.PullRequest, _param2 models.CommitStatus, _param3 string, _param4 string, _param5 string) *MockClient_UpdateStatus_OngoingVerification {
|
||||
params := []pegomock.Param{_param0, _param1, _param2, _param3, _param4, _param5}
|
||||
methodInvocations := pegomock.GetGenericMockFrom(verifier.mock).Verify(verifier.inOrderContext, verifier.invocationCountMatcher, "UpdateStatus", params, verifier.timeout)
|
||||
return &MockClient_UpdateStatus_OngoingVerification{mock: verifier.mock, methodInvocations: methodInvocations}
|
||||
}
|
||||
@@ -415,8 +527,8 @@ type MockClient_UpdateStatus_OngoingVerification struct {
|
||||
}
|
||||
|
||||
func (c *MockClient_UpdateStatus_OngoingVerification) GetCapturedArguments() (models.Repo, models.PullRequest, models.CommitStatus, string, string, string) {
|
||||
repo, pull, state, src, description, url := c.GetAllCapturedArguments()
|
||||
return repo[len(repo)-1], pull[len(pull)-1], state[len(state)-1], src[len(src)-1], description[len(description)-1], url[len(url)-1]
|
||||
_param0, _param1, _param2, _param3, _param4, _param5 := c.GetAllCapturedArguments()
|
||||
return _param0[len(_param0)-1], _param1[len(_param1)-1], _param2[len(_param2)-1], _param3[len(_param3)-1], _param4[len(_param4)-1], _param5[len(_param5)-1]
|
||||
}
|
||||
|
||||
func (c *MockClient_UpdateStatus_OngoingVerification) GetAllCapturedArguments() (_param0 []models.Repo, _param1 []models.PullRequest, _param2 []models.CommitStatus, _param3 []string, _param4 []string, _param5 []string) {
|
||||
@@ -449,115 +561,3 @@ func (c *MockClient_UpdateStatus_OngoingVerification) GetAllCapturedArguments()
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (verifier *VerifierMockClient) MergePull(pull models.PullRequest, pullOptions models.PullRequestOptions) *MockClient_MergePull_OngoingVerification {
|
||||
params := []pegomock.Param{pull, pullOptions}
|
||||
methodInvocations := pegomock.GetGenericMockFrom(verifier.mock).Verify(verifier.inOrderContext, verifier.invocationCountMatcher, "MergePull", params, verifier.timeout)
|
||||
return &MockClient_MergePull_OngoingVerification{mock: verifier.mock, methodInvocations: methodInvocations}
|
||||
}
|
||||
|
||||
type MockClient_MergePull_OngoingVerification struct {
|
||||
mock *MockClient
|
||||
methodInvocations []pegomock.MethodInvocation
|
||||
}
|
||||
|
||||
func (c *MockClient_MergePull_OngoingVerification) GetCapturedArguments() (models.PullRequest, models.PullRequestOptions) {
|
||||
pull, pullOptions := c.GetAllCapturedArguments()
|
||||
return pull[len(pull)-1], pullOptions[len(pullOptions)-1]
|
||||
}
|
||||
|
||||
func (c *MockClient_MergePull_OngoingVerification) GetAllCapturedArguments() (_param0 []models.PullRequest, _param1 []models.PullRequestOptions) {
|
||||
params := pegomock.GetGenericMockFrom(c.mock).GetInvocationParams(c.methodInvocations)
|
||||
if len(params) > 0 {
|
||||
_param0 = make([]models.PullRequest, len(c.methodInvocations))
|
||||
for u, param := range params[0] {
|
||||
_param0[u] = param.(models.PullRequest)
|
||||
}
|
||||
_param1 = make([]models.PullRequestOptions, len(c.methodInvocations))
|
||||
for u, param := range params[1] {
|
||||
_param1[u] = param.(models.PullRequestOptions)
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (verifier *VerifierMockClient) MarkdownPullLink(pull models.PullRequest) *MockClient_MarkdownPullLink_OngoingVerification {
|
||||
params := []pegomock.Param{pull}
|
||||
methodInvocations := pegomock.GetGenericMockFrom(verifier.mock).Verify(verifier.inOrderContext, verifier.invocationCountMatcher, "MarkdownPullLink", params, verifier.timeout)
|
||||
return &MockClient_MarkdownPullLink_OngoingVerification{mock: verifier.mock, methodInvocations: methodInvocations}
|
||||
}
|
||||
|
||||
type MockClient_MarkdownPullLink_OngoingVerification struct {
|
||||
mock *MockClient
|
||||
methodInvocations []pegomock.MethodInvocation
|
||||
}
|
||||
|
||||
func (c *MockClient_MarkdownPullLink_OngoingVerification) GetCapturedArguments() models.PullRequest {
|
||||
pull := c.GetAllCapturedArguments()
|
||||
return pull[len(pull)-1]
|
||||
}
|
||||
|
||||
func (c *MockClient_MarkdownPullLink_OngoingVerification) GetAllCapturedArguments() (_param0 []models.PullRequest) {
|
||||
params := pegomock.GetGenericMockFrom(c.mock).GetInvocationParams(c.methodInvocations)
|
||||
if len(params) > 0 {
|
||||
_param0 = make([]models.PullRequest, len(c.methodInvocations))
|
||||
for u, param := range params[0] {
|
||||
_param0[u] = param.(models.PullRequest)
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (verifier *VerifierMockClient) DownloadRepoConfigFile(pull models.PullRequest) *MockClient_DownloadRepoConfigFile_OngoingVerification {
|
||||
params := []pegomock.Param{pull}
|
||||
methodInvocations := pegomock.GetGenericMockFrom(verifier.mock).Verify(verifier.inOrderContext, verifier.invocationCountMatcher, "DownloadRepoConfigFile", params, verifier.timeout)
|
||||
return &MockClient_DownloadRepoConfigFile_OngoingVerification{mock: verifier.mock, methodInvocations: methodInvocations}
|
||||
}
|
||||
|
||||
type MockClient_DownloadRepoConfigFile_OngoingVerification struct {
|
||||
mock *MockClient
|
||||
methodInvocations []pegomock.MethodInvocation
|
||||
}
|
||||
|
||||
func (c *MockClient_DownloadRepoConfigFile_OngoingVerification) GetCapturedArguments() models.PullRequest {
|
||||
pull := c.GetAllCapturedArguments()
|
||||
return pull[len(pull)-1]
|
||||
}
|
||||
|
||||
func (c *MockClient_DownloadRepoConfigFile_OngoingVerification) GetAllCapturedArguments() (_param0 []models.PullRequest) {
|
||||
params := pegomock.GetGenericMockFrom(c.mock).GetInvocationParams(c.methodInvocations)
|
||||
if len(params) > 0 {
|
||||
_param0 = make([]models.PullRequest, len(c.methodInvocations))
|
||||
for u, param := range params[0] {
|
||||
_param0[u] = param.(models.PullRequest)
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (verifier *VerifierMockClient) SupportsSingleFileDownload(repo models.Repo) *MockClient_SupportsSingleFileDownload_OngoingVerification {
|
||||
params := []pegomock.Param{repo}
|
||||
methodInvocations := pegomock.GetGenericMockFrom(verifier.mock).Verify(verifier.inOrderContext, verifier.invocationCountMatcher, "SupportsSingleFileDownload", params, verifier.timeout)
|
||||
return &MockClient_SupportsSingleFileDownload_OngoingVerification{mock: verifier.mock, methodInvocations: methodInvocations}
|
||||
}
|
||||
|
||||
type MockClient_SupportsSingleFileDownload_OngoingVerification struct {
|
||||
mock *MockClient
|
||||
methodInvocations []pegomock.MethodInvocation
|
||||
}
|
||||
|
||||
func (c *MockClient_SupportsSingleFileDownload_OngoingVerification) GetCapturedArguments() models.Repo {
|
||||
repo := c.GetAllCapturedArguments()
|
||||
return repo[len(repo)-1]
|
||||
}
|
||||
|
||||
func (c *MockClient_SupportsSingleFileDownload_OngoingVerification) GetAllCapturedArguments() (_param0 []models.Repo) {
|
||||
params := pegomock.GetGenericMockFrom(c.mock).GetInvocationParams(c.methodInvocations)
|
||||
if len(params) > 0 {
|
||||
_param0 = make([]models.Repo, len(c.methodInvocations))
|
||||
for u, param := range params[0] {
|
||||
_param0[u] = param.(models.Repo)
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
@@ -35,8 +35,8 @@ func (a *NotConfiguredVCSClient) CreateComment(repo models.Repo, pullNum int, co
|
||||
func (a *NotConfiguredVCSClient) HidePrevCommandComments(repo models.Repo, pullNum int, command string) error {
|
||||
return nil
|
||||
}
|
||||
func (a *NotConfiguredVCSClient) PullIsApproved(repo models.Repo, pull models.PullRequest) (bool, error) {
|
||||
return false, a.err()
|
||||
func (a *NotConfiguredVCSClient) PullIsApproved(repo models.Repo, pull models.PullRequest) (models.ApprovalStatus, error) {
|
||||
return models.ApprovalStatus{}, a.err()
|
||||
}
|
||||
func (a *NotConfiguredVCSClient) PullIsMergeable(repo models.Repo, pull models.PullRequest) (bool, error) {
|
||||
return false, a.err()
|
||||
|
||||
@@ -64,7 +64,7 @@ func (d *ClientProxy) HidePrevCommandComments(repo models.Repo, pullNum int, com
|
||||
return d.clients[repo.VCSHost.Type].HidePrevCommandComments(repo, pullNum, command)
|
||||
}
|
||||
|
||||
func (d *ClientProxy) PullIsApproved(repo models.Repo, pull models.PullRequest) (bool, error) {
|
||||
func (d *ClientProxy) PullIsApproved(repo models.Repo, pull models.PullRequest) (models.ApprovalStatus, error) {
|
||||
return d.clients[repo.VCSHost.Type].PullIsApproved(repo, pull)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user