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

feature(kubeconfig): Do not invalidate kubeconfig upon Portainer restarting [EE-1854] (#5905)

This commit is contained in:
Marcelo Rydel 2021-11-15 14:45:20 -07:00 committed by GitHub
parent 22b72fb6e3
commit 048613a0c5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 106 additions and 24 deletions

View file

@ -1,6 +1,7 @@
package jwt
import (
i "github.com/portainer/portainer/api/internal/testhelpers"
"testing"
"time"
@ -10,7 +11,8 @@ import (
)
func TestGenerateSignedToken(t *testing.T) {
svc, err := NewService("24h", nil)
dataStore := i.NewDatastore(i.WithSettingsService(&portainer.Settings{}))
svc, err := NewService("24h", dataStore)
assert.NoError(t, err, "failed to create a copy of service")
token := &portainer.TokenData{
@ -20,11 +22,11 @@ func TestGenerateSignedToken(t *testing.T) {
}
expiresAt := time.Now().Add(1 * time.Hour).Unix()
generatedToken, err := svc.generateSignedToken(token, expiresAt)
generatedToken, err := svc.generateSignedToken(token, expiresAt, defaultScope)
assert.NoError(t, err, "failed to generate a signed token")
parsedToken, err := jwt.ParseWithClaims(generatedToken, &claims{}, func(token *jwt.Token) (interface{}, error) {
return svc.secret, nil
return svc.secrets[defaultScope], nil
})
assert.NoError(t, err, "failed to parse generated token")
@ -36,3 +38,20 @@ func TestGenerateSignedToken(t *testing.T) {
assert.Equal(t, int(token.Role), tokenClaims.Role)
assert.Equal(t, expiresAt, tokenClaims.ExpiresAt)
}
func TestGenerateSignedToken_InvalidScope(t *testing.T) {
dataStore := i.NewDatastore(i.WithSettingsService(&portainer.Settings{}))
svc, err := NewService("24h", dataStore)
assert.NoError(t, err, "failed to create a copy of service")
token := &portainer.TokenData{
Username: "Joe",
ID: 1,
Role: 1,
}
expiresAt := time.Now().Add(1 * time.Hour).Unix()
_, err = svc.generateSignedToken(token, expiresAt, "testing")
assert.Error(t, err)
assert.Equal(t, "invalid scope: testing", err.Error())
}