mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-27 22:23:50 +03:00
webhook: add admin-hooks new list test
This commit is contained in:
parent
7d95cf6472
commit
c1f7c49804
1 changed files with 37 additions and 10 deletions
|
@ -7,7 +7,6 @@ import (
|
||||||
"net/http"
|
"net/http"
|
||||||
"net/http/httptest"
|
"net/http/httptest"
|
||||||
"net/url"
|
"net/url"
|
||||||
"strings"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
gitea_context "code.gitea.io/gitea/services/context"
|
gitea_context "code.gitea.io/gitea/services/context"
|
||||||
|
@ -37,24 +36,52 @@ func TestNewWebHookLink(t *testing.T) {
|
||||||
for _, url := range tests {
|
for _, url := range tests {
|
||||||
resp := session.MakeRequest(t, NewRequest(t, "GET", url), http.StatusOK)
|
resp := session.MakeRequest(t, NewRequest(t, "GET", url), http.StatusOK)
|
||||||
htmlDoc := NewHTMLParser(t, resp.Body)
|
htmlDoc := NewHTMLParser(t, resp.Body)
|
||||||
menus := htmlDoc.doc.Find(".ui.top.attached.header .ui.dropdown .menu a")
|
assert.Equal(t,
|
||||||
menus.Each(func(i int, menu *goquery.Selection) {
|
webhooksLen,
|
||||||
url, exist := menu.Attr("href")
|
htmlDoc.Find(`a[href^="`+baseurl+`/"][href$="/new"]`).Length(),
|
||||||
assert.True(t, exist)
|
"not all webhooks are listed in the 'new' dropdown")
|
||||||
assert.True(t, strings.HasPrefix(url, baseurl))
|
|
||||||
})
|
|
||||||
assert.Equal(t, webhooksLen, htmlDoc.Find(`a[href^="`+baseurl+`/"][href$="/new"]`).Length(), "not all webhooks are listed in the 'new' dropdown")
|
|
||||||
csrfToken = htmlDoc.GetCSRF()
|
csrfToken = htmlDoc.GetCSRF()
|
||||||
}
|
}
|
||||||
|
|
||||||
// ensure that the "failure" pages has the full dropdown as well
|
// ensure that the "failure" pages has the full dropdown as well
|
||||||
resp := session.MakeRequest(t, NewRequestWithValues(t, "POST", baseurl+"/gitea/new", map[string]string{"_csrf": csrfToken}), http.StatusUnprocessableEntity)
|
resp := session.MakeRequest(t, NewRequestWithValues(t, "POST", baseurl+"/gitea/new", map[string]string{"_csrf": csrfToken}), http.StatusUnprocessableEntity)
|
||||||
htmlDoc := NewHTMLParser(t, resp.Body)
|
htmlDoc := NewHTMLParser(t, resp.Body)
|
||||||
assert.Equal(t, webhooksLen, htmlDoc.Find(`a[href^="`+baseurl+`/"][href$="/new"]`).Length(), "not all webhooks are listed in the 'new' dropdown on failure")
|
assert.Equal(t,
|
||||||
|
webhooksLen,
|
||||||
|
htmlDoc.Find(`a[href^="`+baseurl+`/"][href$="/new"]`).Length(),
|
||||||
|
"not all webhooks are listed in the 'new' dropdown on failure")
|
||||||
|
|
||||||
resp = session.MakeRequest(t, NewRequestWithValues(t, "POST", baseurl+"/1", map[string]string{"_csrf": csrfToken}), http.StatusUnprocessableEntity)
|
resp = session.MakeRequest(t, NewRequestWithValues(t, "POST", baseurl+"/1", map[string]string{"_csrf": csrfToken}), http.StatusUnprocessableEntity)
|
||||||
htmlDoc = NewHTMLParser(t, resp.Body)
|
htmlDoc = NewHTMLParser(t, resp.Body)
|
||||||
assert.Equal(t, webhooksLen, htmlDoc.Find(`a[href^="`+baseurl+`/"][href$="/new"]`).Length(), "not all webhooks are listed in the 'new' dropdown on failure")
|
assert.Equal(t,
|
||||||
|
webhooksLen,
|
||||||
|
htmlDoc.Find(`a[href^="`+baseurl+`/"][href$="/new"]`).Length(),
|
||||||
|
"not all webhooks are listed in the 'new' dropdown on failure")
|
||||||
|
|
||||||
|
adminSession := loginUser(t, "user1")
|
||||||
|
t.Run("org3", func(t *testing.T) {
|
||||||
|
baseurl := "/org/org3/settings/hooks"
|
||||||
|
resp := adminSession.MakeRequest(t, NewRequest(t, "GET", baseurl), http.StatusOK)
|
||||||
|
htmlDoc := NewHTMLParser(t, resp.Body)
|
||||||
|
assert.Equal(t,
|
||||||
|
webhooksLen,
|
||||||
|
htmlDoc.Find(`a[href^="`+baseurl+`/"][href$="/new"]`).Length(),
|
||||||
|
"not all webhooks are listed in the 'new' dropdown")
|
||||||
|
})
|
||||||
|
t.Run("admin", func(t *testing.T) {
|
||||||
|
baseurl := "/admin/hooks"
|
||||||
|
resp := adminSession.MakeRequest(t, NewRequest(t, "GET", baseurl), http.StatusOK)
|
||||||
|
htmlDoc := NewHTMLParser(t, resp.Body)
|
||||||
|
assert.Equal(t,
|
||||||
|
webhooksLen,
|
||||||
|
htmlDoc.Find(`a[href^="/admin/default-hooks/"][href$="/new"]`).Length(),
|
||||||
|
"not all webhooks are listed in the 'new' dropdown for default-hooks")
|
||||||
|
assert.Equal(t,
|
||||||
|
webhooksLen,
|
||||||
|
htmlDoc.Find(`a[href^="/admin/system-hooks/"][href$="/new"]`).Length(),
|
||||||
|
"not all webhooks are listed in the 'new' dropdown for system-hooks")
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestWebhookForms(t *testing.T) {
|
func TestWebhookForms(t *testing.T) {
|
||||||
|
|
Loading…
Reference in a new issue