summaryrefslogtreecommitdiffstats
path: root/integrations/api_helper_for_declarative_test.go
diff options
context:
space:
mode:
authorzeripath <art27@cantab.net>2020-10-25 20:56:51 +0000
committerGitHub <noreply@github.com>2020-10-25 20:56:51 +0000
commit66dcf10845fe494832b44bd20b336f5099a72e8f (patch)
treeef9a88e24e9342875631ffc9e43d8b2312b7db6c /integrations/api_helper_for_declarative_test.go
parent7974b3418350c180df70111da611047f09122fa9 (diff)
downloadgitea-66dcf10845fe494832b44bd20b336f5099a72e8f.tar.gz
gitea-66dcf10845fe494832b44bd20b336f5099a72e8f.zip
Attempt to handle unready PR in tests (#13305)
Signed-off-by: Andrew Thornton <art27@cantab.net>
Diffstat (limited to 'integrations/api_helper_for_declarative_test.go')
-rw-r--r--integrations/api_helper_for_declarative_test.go25
1 files changed, 21 insertions, 4 deletions
diff --git a/integrations/api_helper_for_declarative_test.go b/integrations/api_helper_for_declarative_test.go
index 51335c8216..b0031ef332 100644
--- a/integrations/api_helper_for_declarative_test.go
+++ b/integrations/api_helper_for_declarative_test.go
@@ -5,14 +5,17 @@
package integrations
import (
+ "context"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
"testing"
+ "time"
"code.gitea.io/gitea/models"
"code.gitea.io/gitea/modules/auth"
+ "code.gitea.io/gitea/modules/queue"
api "code.gitea.io/gitea/modules/structs"
"github.com/stretchr/testify/assert"
@@ -225,11 +228,25 @@ func doAPIMergePullRequest(ctx APITestContext, owner, repo string, index int64)
Do: string(models.MergeStyleMerge),
})
- if ctx.ExpectedCode != 0 {
- ctx.Session.MakeRequest(t, req, ctx.ExpectedCode)
- return
+ resp := ctx.Session.MakeRequest(t, req, NoExpectedStatus)
+
+ if resp.Code == http.StatusMethodNotAllowed {
+ err := api.APIError{}
+ DecodeJSON(t, resp, &err)
+ assert.EqualValues(t, "Please try again later", err.Message)
+ queue.GetManager().FlushAll(context.Background(), 5*time.Second)
+ resp = ctx.Session.MakeRequest(t, req, NoExpectedStatus)
+ }
+
+ expected := ctx.ExpectedCode
+ if expected == 0 {
+ expected = 200
+ }
+
+ if !assert.EqualValues(t, expected, resp.Code,
+ "Request: %s %s", req.Method, req.URL.String()) {
+ logUnexpectedResponse(t, resp)
}
- ctx.Session.MakeRequest(t, req, 200)
}
}