1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-07-23 15:29:42 +02:00

feat(unit-testing): add a mock for the RequestBouncer EE-5610 (#9089)

This commit is contained in:
andres-portainer 2023-06-16 10:44:22 -03:00 committed by GitHub
parent 933e764a13
commit f7dd73b0f7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
42 changed files with 147 additions and 126 deletions

View file

@ -5,15 +5,30 @@ import (
"strings"
"time"
"github.com/pkg/errors"
httperror "github.com/portainer/libhttp/error"
portainer "github.com/portainer/portainer/api"
"github.com/portainer/portainer/api/apikey"
"github.com/portainer/portainer/api/dataservices"
httperrors "github.com/portainer/portainer/api/http/errors"
"github.com/pkg/errors"
)
type (
BouncerService interface {
PublicAccess(http.Handler) http.Handler
AdminAccess(http.Handler) http.Handler
RestrictedAccess(http.Handler) http.Handler
TeamLeaderAccess(http.Handler) http.Handler
AuthenticatedAccess(http.Handler) http.Handler
EdgeComputeOperation(http.Handler) http.Handler
AuthorizedEndpointOperation(*http.Request, *portainer.Endpoint) error
AuthorizedEdgeEndpointOperation(*http.Request, *portainer.Endpoint) error
TrustedEdgeEnvironmentAccess(dataservices.DataStoreTx, *portainer.Endpoint) error
JWTAuthLookup(*http.Request) *portainer.TokenData
}
// RequestBouncer represents an entity that manages API request accesses
RequestBouncer struct {
dataStore dataservices.DataStore