mirror of
https://github.com/lukaszraczylo/traefikoidc.git
synced 2026-06-05 22:44:17 +00:00
c474bbafd6
* Cleanup excessive comments. * Remove leftovers hanging around from previous refactor * Improve test coverage
141 lines
3.9 KiB
Go
141 lines
3.9 KiB
Go
package testutil
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/lukaszraczylo/traefikoidc/internal/testutil/fixtures"
|
|
"github.com/lukaszraczylo/traefikoidc/internal/testutil/mocks"
|
|
"github.com/lukaszraczylo/traefikoidc/internal/testutil/servers"
|
|
)
|
|
|
|
// Re-export types for easier access from main package tests
|
|
type (
|
|
// Mocks
|
|
JWKCacheMock = mocks.JWKCache
|
|
TokenExchangerMock = mocks.TokenExchanger
|
|
TokenVerifierMock = mocks.TokenVerifier
|
|
JWTVerifierMock = mocks.JWTVerifier
|
|
SessionManagerMock = mocks.SessionManager
|
|
CacheMock = mocks.Cache
|
|
TokenCacheMock = mocks.TokenCache
|
|
BlacklistMock = mocks.Blacklist
|
|
HTTPClientMock = mocks.HTTPClient
|
|
RoundTripperMock = mocks.RoundTripper
|
|
LoggerMock = mocks.Logger
|
|
|
|
// Mock types
|
|
JWKSet = mocks.JWKSet
|
|
JWK = mocks.JWK
|
|
MockTokenResponse = mocks.TokenResponse
|
|
MockSessionData = mocks.SessionData
|
|
IntrospectionResp = mocks.IntrospectionResponse
|
|
|
|
// Fixtures
|
|
TokenFixture = fixtures.TokenFixture
|
|
|
|
// Servers
|
|
OIDCServer = servers.OIDCServer
|
|
OIDCServerConfig = servers.OIDCServerConfig
|
|
OIDCError = servers.OIDCError
|
|
)
|
|
|
|
// NewJWKCacheMock creates a new JWK cache mock
|
|
func NewJWKCacheMock() *mocks.JWKCache {
|
|
return new(mocks.JWKCache)
|
|
}
|
|
|
|
// NewTokenExchangerMock creates a new token exchanger mock
|
|
func NewTokenExchangerMock() *mocks.TokenExchanger {
|
|
return new(mocks.TokenExchanger)
|
|
}
|
|
|
|
// NewTokenVerifierMock creates a new token verifier mock
|
|
func NewTokenVerifierMock() *mocks.TokenVerifier {
|
|
return new(mocks.TokenVerifier)
|
|
}
|
|
|
|
// NewJWTVerifierMock creates a new JWT verifier mock
|
|
func NewJWTVerifierMock() *mocks.JWTVerifier {
|
|
return new(mocks.JWTVerifier)
|
|
}
|
|
|
|
// NewSessionManagerMock creates a new session manager mock
|
|
func NewSessionManagerMock() *mocks.SessionManager {
|
|
return new(mocks.SessionManager)
|
|
}
|
|
|
|
// NewCacheMock creates a new cache mock
|
|
func NewCacheMock() *mocks.Cache {
|
|
return new(mocks.Cache)
|
|
}
|
|
|
|
// NewTokenCacheMock creates a new token cache mock
|
|
func NewTokenCacheMock() *mocks.TokenCache {
|
|
return new(mocks.TokenCache)
|
|
}
|
|
|
|
// NewBlacklistMock creates a new blacklist mock
|
|
func NewBlacklistMock() *mocks.Blacklist {
|
|
return new(mocks.Blacklist)
|
|
}
|
|
|
|
// NewHTTPClientMock creates a new HTTP client mock
|
|
func NewHTTPClientMock() *mocks.HTTPClient {
|
|
return new(mocks.HTTPClient)
|
|
}
|
|
|
|
// NewRoundTripperMock creates a new round tripper mock
|
|
func NewRoundTripperMock() *mocks.RoundTripper {
|
|
return new(mocks.RoundTripper)
|
|
}
|
|
|
|
// NewLoggerMock creates a new logger mock
|
|
func NewLoggerMock() *mocks.Logger {
|
|
return new(mocks.Logger)
|
|
}
|
|
|
|
// NewTokenFixture creates a new token fixture
|
|
func NewTokenFixture() (*fixtures.TokenFixture, error) {
|
|
return fixtures.NewTokenFixture()
|
|
}
|
|
|
|
// NewOIDCServer creates a new mock OIDC server
|
|
func NewOIDCServer(config *servers.OIDCServerConfig) *servers.OIDCServer {
|
|
return servers.NewOIDCServer(config)
|
|
}
|
|
|
|
// DefaultServerConfig returns a default server configuration
|
|
func DefaultServerConfig() *servers.OIDCServerConfig {
|
|
return servers.DefaultConfig()
|
|
}
|
|
|
|
// GoogleServerConfig returns a Google-like server configuration
|
|
func GoogleServerConfig() *servers.OIDCServerConfig {
|
|
return servers.GoogleConfig()
|
|
}
|
|
|
|
// AzureServerConfig returns an Azure AD-like server configuration
|
|
func AzureServerConfig() *servers.OIDCServerConfig {
|
|
return servers.AzureConfig()
|
|
}
|
|
|
|
// Auth0ServerConfig returns an Auth0-like server configuration
|
|
func Auth0ServerConfig() *servers.OIDCServerConfig {
|
|
return servers.Auth0Config()
|
|
}
|
|
|
|
// KeycloakServerConfig returns a Keycloak-like server configuration
|
|
func KeycloakServerConfig() *servers.OIDCServerConfig {
|
|
return servers.KeycloakConfig()
|
|
}
|
|
|
|
// SlowServerConfig returns a configuration with delays
|
|
func SlowServerConfig(delay time.Duration) *servers.OIDCServerConfig {
|
|
return servers.SlowServerConfig(delay)
|
|
}
|
|
|
|
// RateLimitedServerConfig returns a rate-limited configuration
|
|
func RateLimitedServerConfig(afterN int) *servers.OIDCServerConfig {
|
|
return servers.RateLimitedConfig(afterN)
|
|
}
|