mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-10-27 04:21:11 +00:00
[TESTS] auth LinkAccount test coverage
(cherry picked from commite11dcc60f2) use backticks to avoid backslash (cherry picked from commit34212791ee) (cherry picked from commitbde9473c69) (cherry picked from commitd4deb43084) (cherry picked from commit08e91649b0) (cherry picked from commit2b988e5415) [TESTS] auth LinkAccount test coverage (squash) (cherry picked from commita2b2e3066b) (cherry picked from commit841d1b5073) (cherry picked from commit35da630ad8)
This commit is contained in:
parent
16abc89780
commit
caf2dc4fa7
3 changed files with 195 additions and 0 deletions
|
|
@ -35,10 +35,12 @@ import (
|
|||
"code.gitea.io/gitea/modules/util"
|
||||
"code.gitea.io/gitea/modules/web"
|
||||
"code.gitea.io/gitea/routers"
|
||||
"code.gitea.io/gitea/services/auth/source/oauth2"
|
||||
user_service "code.gitea.io/gitea/services/user"
|
||||
"code.gitea.io/gitea/tests"
|
||||
|
||||
"github.com/PuerkitoBio/goquery"
|
||||
goth_gitlab "github.com/markbates/goth/providers/gitlab"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/xeipuuv/gojsonschema"
|
||||
)
|
||||
|
|
@ -242,6 +244,46 @@ func getUserToken(t testing.TB, userName string, scope ...auth.AccessTokenScope)
|
|||
return getTokenForLoggedInUser(t, loginUser(t, userName), scope...)
|
||||
}
|
||||
|
||||
func addAuthSource(t *testing.T, payload map[string]string) *auth.Source {
|
||||
session := loginUser(t, "user1")
|
||||
payload["_csrf"] = GetCSRF(t, session, "/admin/auths/new")
|
||||
req := NewRequestWithValues(t, "POST", "/admin/auths/new", payload)
|
||||
session.MakeRequest(t, req, http.StatusSeeOther)
|
||||
source, err := auth.GetSourceByName(context.Background(), payload["name"])
|
||||
assert.NoError(t, err)
|
||||
return source
|
||||
}
|
||||
|
||||
func authSourcePayloadOAuth2(name string) map[string]string {
|
||||
return map[string]string{
|
||||
"type": fmt.Sprintf("%d", auth.OAuth2),
|
||||
"name": name,
|
||||
"is_active": "on",
|
||||
}
|
||||
}
|
||||
|
||||
func authSourcePayloadGitLab(name string) map[string]string {
|
||||
payload := authSourcePayloadOAuth2(name)
|
||||
payload["oauth2_provider"] = "gitlab"
|
||||
return payload
|
||||
}
|
||||
|
||||
func authSourcePayloadGitLabCustom(name string) map[string]string {
|
||||
payload := authSourcePayloadGitLab(name)
|
||||
payload["oauth2_use_custom_url"] = "on"
|
||||
payload["oauth2_auth_url"] = goth_gitlab.AuthURL
|
||||
payload["oauth2_token_url"] = goth_gitlab.TokenURL
|
||||
payload["oauth2_profile_url"] = goth_gitlab.ProfileURL
|
||||
return payload
|
||||
}
|
||||
|
||||
func authSourcePayloadOIDC(name string) map[string]string {
|
||||
payload := authSourcePayloadOAuth2(name)
|
||||
payload["oauth2_provider"] = (&oauth2.OpenIDProvider{}).Name()
|
||||
payload["open_id_connect_auto_discovery_url"] = codebergURL + "/.well-known/openid-configuration"
|
||||
return payload
|
||||
}
|
||||
|
||||
func createUser(ctx context.Context, t testing.TB, user *user_model.User) func() {
|
||||
user.MustChangePassword = false
|
||||
user.LowerName = strings.ToLower(user.Name)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue