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)")
}
})