Documentation ¶
Index ¶
- Constants
- func NewJourney(logger *logrus.Entry, generator generation.Generator, ...) *journey
- func NewWebSocketUpgrader() *websocket.Upgrader
- func PrintRoutesInfo(server *Server, logger *logrus.Entry)
- type AcquiredAccessTokenWebSocketEvent
- type AcquiredAllAccessTokensWebSocketEvent
- type AuthClaim
- type ErrorResponse
- type ExportRequest
- type ExportResponse
- type GlobalConfiguration
- type Journey
- type JourneyConfig
- type MockJourney
- func (_m *MockJourney) AllTokenCollected() bool
- func (_m *MockJourney) CollectToken(code string, state string, scope string) error
- func (_m *MockJourney) Events() events.Events
- func (_m *MockJourney) NewDaemonController()
- func (_m *MockJourney) Results() executors.DaemonController
- func (_m *MockJourney) RunTests() error
- func (_m *MockJourney) SetConfig(config JourneyConfig) error
- func (_m *MockJourney) SetDiscoveryModel(discoveryModel *discovery.Model) (discovery.ValidationFailures, error)
- func (_m *MockJourney) StopTestRun()
- func (_m *MockJourney) TestCases() (generation.TestCasesRun, error)
- type PostDiscoveryModelResponse
- type RedirectError
- type RedirectFragment
- type RedirectQuery
- type Server
- type StoppedEvent
- type TestCaseResultWebSocketEvent
- type TestCasesCompletedWebSocketEvent
- type VersionResponse
Constants ¶
const ListenHost = "127.0.0.1"
ListenHost defines the name/address by which the service can be accessed.
Variables ¶
This section is empty.
Functions ¶
func NewJourney ¶
func NewJourney(logger *logrus.Entry, generator generation.Generator, validator discovery.Validator) *journey
NewJourney creates an instance for a user journey
func NewWebSocketUpgrader ¶
NewWebSocketUpgrader creates a new websocket.Ugprader.
func PrintRoutesInfo ¶
Types ¶
type AcquiredAccessTokenWebSocketEvent ¶
type AcquiredAccessTokenWebSocketEvent struct { Type string `json:"type"` Value events.AcquiredAccessToken `json:"value"` }
type AcquiredAllAccessTokensWebSocketEvent ¶
type AcquiredAllAccessTokensWebSocketEvent struct { Type string `json:"type"` Value events.AcquiredAllAccessTokens `json:"value"` }
type AuthClaim ¶
type AuthClaim struct { jwt.StandardClaims AuditTrackingID string `json:"auditTrackingId"` TokenName string `json:"tokenName"` Nonce string `json:"nonce"` Acr string `json:"acr"` CHash string `json:"c_hash"` OpenBankingIntentID string `json:"openbanking_intent_id"` SHash string `json:"s_hash"` Azp string `json:"azp"` AuthTime int `json:"auth_time"` Realm string `json:"realm"` TokenType string `json:"tokenType"` }
AuthClaim represents an in coming JWT from third part ASPSP as part of authentication/consent process during `Hybrid Flow Authentication` https://openid.net/specs/openid-connect-core-1_0.html#HybridFlowAuth
type ErrorResponse ¶
type ErrorResponse struct {
Error interface{} `json:"error"`
}
ErrorResponse wraps `error` into a JSON object.
func NewErrorMessageResponse ¶
func NewErrorMessageResponse(msg string) *ErrorResponse
func NewErrorResponse ¶
func NewErrorResponse(err error) *ErrorResponse
NewErrorResponse creates a ErrorResponse object from a go standard error
type ExportRequest ¶
type ExportRequest struct { Implementer string `json:"implementer"` AuthorisedBy string `json:"authorised_by"` JobTitle string `json:"job_title"` HasAgreed bool `json:"has_agreed"` AddDigitalSignature bool `json:"add_digital_signature"` }
ExportRequest - Request to `/api/export`.
func (ExportRequest) Validate ¶
func (e ExportRequest) Validate() error
type ExportResponse ¶
type ExportResponse struct { ExportRequest ExportRequest `json:"export_request"` HasPassed bool `json:"has_passed"` Results []results.TestCase `json:"results"` Tokens []events.AcquiredAccessToken `json:"tokens"` }
ExportResponse - Response to `/api/export`.
type GlobalConfiguration ¶
type GlobalConfiguration struct { SigningPrivate string `json:"signing_private" validate:"not_empty"` SigningPublic string `json:"signing_public" validate:"not_empty"` TransportPrivate string `json:"transport_private" validate:"not_empty"` TransportPublic string `json:"transport_public" validate:"not_empty"` ClientID string `json:"client_id" validate:"not_empty"` ClientSecret string `json:"client_secret" validate:"not_empty"` TokenEndpoint string `json:"token_endpoint" validate:"valid_url"` TokenEndpointAuthMethod string `json:"token_endpoint_auth_method" validate:"not_empty"` AuthorizationEndpoint string `json:"authorization_endpoint" validate:"valid_url"` ResourceBaseURL string `json:"resource_base_url" validate:"valid_url"` XFAPIFinancialID string `json:"x_fapi_financial_id" validate:"not_empty"` Issuer string `json:"issuer" validate:"valid_url"` RedirectURL string `json:"redirect_url" validate:"valid_url"` ResourceIDs model.ResourceIDs `json:"resource_ids" validate:"not_empty"` }
type Journey ¶
type Journey interface { SetDiscoveryModel(discoveryModel *discovery.Model) (discovery.ValidationFailures, error) TestCases() (generation.TestCasesRun, error) CollectToken(code, state, scope string) error AllTokenCollected() bool RunTests() error StopTestRun() NewDaemonController() Results() executors.DaemonController SetConfig(config JourneyConfig) error Events() events.Events }
Journey represents all possible steps for a user test conformance journey
Happy path journey would look like: 1. SetCertificates - sets configuration to run test cases 2. SetDiscoveryModel - this validates and if successful set this as your discovery model 3. TestCases - Generates test cases, generates permission set requirements to run tests and starts a token collector 3.1 CollectToken - collects all tokens required to RunTest 4. RunTest - Runs triggers a background run on all generated test from previous steps, needs all token to be already collected 5. Results - returns a background process control, so we can monitor on finished tests
type JourneyConfig ¶
type JourneyConfig struct {
// contains filtered or unexported fields
}
func MakeJourneyConfig ¶
func MakeJourneyConfig(config *GlobalConfiguration) (JourneyConfig, error)
type MockJourney ¶
MockJourney is an autogenerated mock type for the Journey type
func (*MockJourney) AllTokenCollected ¶
func (_m *MockJourney) AllTokenCollected() bool
AllTokenCollected provides a mock function with given fields:
func (*MockJourney) CollectToken ¶
func (_m *MockJourney) CollectToken(code string, state string, scope string) error
CollectToken provides a mock function with given fields: code, state, scope
func (*MockJourney) Events ¶
func (_m *MockJourney) Events() events.Events
Events provides a mock function with given fields:
func (*MockJourney) NewDaemonController ¶
func (_m *MockJourney) NewDaemonController()
NewDaemonController provides a mock function with given fields:
func (*MockJourney) Results ¶
func (_m *MockJourney) Results() executors.DaemonController
Results provides a mock function with given fields:
func (*MockJourney) RunTests ¶
func (_m *MockJourney) RunTests() error
RunTests provides a mock function with given fields:
func (*MockJourney) SetConfig ¶
func (_m *MockJourney) SetConfig(config JourneyConfig) error
SetConfig provides a mock function with given fields: config
func (*MockJourney) SetDiscoveryModel ¶
func (_m *MockJourney) SetDiscoveryModel(discoveryModel *discovery.Model) (discovery.ValidationFailures, error)
SetDiscoveryModel provides a mock function with given fields: discoveryModel
func (*MockJourney) StopTestRun ¶
func (_m *MockJourney) StopTestRun()
StopTestRun provides a mock function with given fields:
func (*MockJourney) TestCases ¶
func (_m *MockJourney) TestCases() (generation.TestCasesRun, error)
TestCases provides a mock function with given fields:
type PostDiscoveryModelResponse ¶
type PostDiscoveryModelResponse struct { TokenEndpoints map[string]string `json:"token_endpoints"` TokenEndpointAuthMethods map[string][]string `json:"token_endpoint_auth_methods"` DefaultTokenEndpointAuthMethod map[string]string `json:"default_token_endpoint_auth_method"` AuthorizationEndpoints map[string]string `json:"authorization_endpoints"` Issuers map[string]string `json:"issuers"` }
type RedirectError ¶
type RedirectFragment ¶
type RedirectQuery ¶
type Server ¶
type Server struct { *echo.Echo // Wrap (using composition) *echo.Echo, allows us to pretend Server is echo.Echo. // contains filtered or unexported fields }
Server - wraps *echo.Echo.
type StoppedEvent ¶
type StoppedEvent struct {
Stopped bool `json:"stopped"`
}
type VersionResponse ¶
type VersionResponse struct { Version string `json:"version"` Msg string `json:"message"` Update bool `json:"update"` }
VersionResponse is defined as a response object for /version API calls