1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-07-19 13:29:41 +02:00

fix(oauth): add a timeout to getOAuthToken() BE-11283 (#63)

This commit is contained in:
andres-portainer 2024-10-28 17:28:22 -03:00 committed by GitHub
parent e528cff615
commit 966fca950b
4 changed files with 44 additions and 61 deletions

View file

@ -11,8 +11,7 @@ func Test_getUsername(t *testing.T) {
oauthSettings := &portainer.OAuthSettings{UserIdentifier: "username"}
datamap := map[string]any{"name": "john"}
_, err := getUsername(datamap, oauthSettings)
if err == nil {
if _, err := GetUsername(datamap, oauthSettings.UserIdentifier); err == nil {
t.Errorf("getUsername should fail if user identifier doesn't exist as key in oauth userinfo object")
}
})
@ -21,8 +20,7 @@ func Test_getUsername(t *testing.T) {
oauthSettings := &portainer.OAuthSettings{UserIdentifier: "username"}
datamap := map[string]any{"username": ""}
_, err := getUsername(datamap, oauthSettings)
if err == nil {
if _, err := GetUsername(datamap, oauthSettings.UserIdentifier); err == nil {
t.Errorf("getUsername should fail if username from oauth userinfo object is empty string")
}
})
@ -31,8 +29,7 @@ func Test_getUsername(t *testing.T) {
oauthSettings := &portainer.OAuthSettings{UserIdentifier: "username"}
datamap := map[string]any{"username": 0}
_, err := getUsername(datamap, oauthSettings)
if err == nil {
if _, err := GetUsername(datamap, oauthSettings.UserIdentifier); err == nil {
t.Errorf("getUsername should fail if username from oauth userinfo object is 0 val int")
}
})
@ -41,8 +38,7 @@ func Test_getUsername(t *testing.T) {
oauthSettings := &portainer.OAuthSettings{UserIdentifier: "username"}
datamap := map[string]any{"username": -1}
_, err := getUsername(datamap, oauthSettings)
if err == nil {
if _, err := GetUsername(datamap, oauthSettings.UserIdentifier); err == nil {
t.Errorf("getUsername should fail if username from oauth userinfo object is -1 (negative) int")
}
})
@ -51,8 +47,7 @@ func Test_getUsername(t *testing.T) {
oauthSettings := &portainer.OAuthSettings{UserIdentifier: "username"}
datamap := map[string]any{"username": "john"}
_, err := getUsername(datamap, oauthSettings)
if err != nil {
if _, err := GetUsername(datamap, oauthSettings.UserIdentifier); err != nil {
t.Errorf("getUsername should succeed if username from oauth userinfo object matched and non-empty")
}
})
@ -62,8 +57,7 @@ func Test_getUsername(t *testing.T) {
oauthSettings := &portainer.OAuthSettings{UserIdentifier: "username"}
datamap := map[string]any{"username": 1}
_, err := getUsername(datamap, oauthSettings)
if err == nil {
if _, err := GetUsername(datamap, oauthSettings.UserIdentifier); err == nil {
t.Errorf("getUsername should fail if username from oauth userinfo object matched is positive int")
}
})
@ -72,8 +66,7 @@ func Test_getUsername(t *testing.T) {
oauthSettings := &portainer.OAuthSettings{UserIdentifier: "username"}
datamap := map[string]any{"username": 1.1}
_, err := getUsername(datamap, oauthSettings)
if err != nil {
if _, err := GetUsername(datamap, oauthSettings.UserIdentifier); err != nil {
t.Errorf("getUsername should succeed if username from oauth userinfo object matched and non-zero (or negative)")
}
})