summaryrefslogtreecommitdiffstats
path: root/integrations/api_helper_for_declarative_test.go
diff options
context:
space:
mode:
authorzeripath <art27@cantab.net>2019-05-31 11:12:15 +0100
committerGitHub <noreply@github.com>2019-05-31 11:12:15 +0100
commitfb4438a815b013895f3171f8f2f1ed22f79596de (patch)
tree22659b0592f4b9ec4ec0300d70379eaff64a4516 /integrations/api_helper_for_declarative_test.go
parentde6ef14d04c36272143ad822bf5903f84c7f238b (diff)
downloadgitea-fb4438a815b013895f3171f8f2f1ed22f79596de.tar.gz
gitea-fb4438a815b013895f3171f8f2f1ed22f79596de.zip
Improve git test (#7086)
* Ensure that the lfs files are created with a different prefix * Reduce the replication in git_test.go
Diffstat (limited to 'integrations/api_helper_for_declarative_test.go')
-rw-r--r--integrations/api_helper_for_declarative_test.go42
1 files changed, 42 insertions, 0 deletions
diff --git a/integrations/api_helper_for_declarative_test.go b/integrations/api_helper_for_declarative_test.go
index 943981ead2..85f0ab621f 100644
--- a/integrations/api_helper_for_declarative_test.go
+++ b/integrations/api_helper_for_declarative_test.go
@@ -5,11 +5,14 @@
package integrations
import (
+ "encoding/json"
"fmt"
"io/ioutil"
"net/http"
"testing"
+ "code.gitea.io/gitea/models"
+ "code.gitea.io/gitea/modules/auth"
api "code.gitea.io/gitea/modules/structs"
"github.com/stretchr/testify/assert"
)
@@ -150,3 +153,42 @@ func doAPICreateDeployKey(ctx APITestContext, keyname, keyFile string, readOnly
ctx.Session.MakeRequest(t, req, http.StatusCreated)
}
}
+
+func doAPICreatePullRequest(ctx APITestContext, owner, repo, baseBranch, headBranch string) func(*testing.T) (api.PullRequest, error) {
+ return func(t *testing.T) (api.PullRequest, error) {
+ urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/pulls?token=%s",
+ owner, repo, ctx.Token)
+ req := NewRequestWithJSON(t, http.MethodPost, urlStr, &api.CreatePullRequestOption{
+ Head: headBranch,
+ Base: baseBranch,
+ Title: fmt.Sprintf("create a pr from %s to %s", headBranch, baseBranch),
+ })
+
+ expected := 201
+ if ctx.ExpectedCode != 0 {
+ expected = ctx.ExpectedCode
+ }
+ resp := ctx.Session.MakeRequest(t, req, expected)
+ decoder := json.NewDecoder(resp.Body)
+ pr := api.PullRequest{}
+ err := decoder.Decode(&pr)
+ return pr, err
+ }
+}
+
+func doAPIMergePullRequest(ctx APITestContext, owner, repo string, index int64) func(*testing.T) {
+ return func(t *testing.T) {
+ urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d/merge?token=%s",
+ owner, repo, index, ctx.Token)
+ req := NewRequestWithJSON(t, http.MethodPost, urlStr, &auth.MergePullRequestForm{
+ MergeMessageField: "doAPIMergePullRequest Merge",
+ Do: string(models.MergeStyleMerge),
+ })
+
+ if ctx.ExpectedCode != 0 {
+ ctx.Session.MakeRequest(t, req, ctx.ExpectedCode)
+ return
+ }
+ ctx.Session.MakeRequest(t, req, 200)
+ }
+}