Documentation ¶
Index ¶
- func CallPaymentHeadlessConsentUrls(rt *[]manifest.RequiredTokens, ctx *model.Context, logger *logrus.Entry) (map[string]string, error)
- func ExchangeCodeForAccessToken(tokenName, code string, ctx *model.Context) (accesstoken string, err error)
- func GetDynamicResourceIds(tokenName, token string, ctx *model.Context, ...) error
- func GetHeadlessConsent(definition RunDefinition, ctx *model.Context, specRun *generation.SpecRun, ...) ([]manifest.RequiredTokens, error)
- func NewBufferedDaemonController() *daemonController
- func NewDaemonController(resultChan chan results.TestCase) *daemonController
- type Collector
- type DaemonController
- type DetailError
- type ExchangeParameters
- type Executor
- type RunDefinition
- type TestCaseExecutor
- type TestCaseRunner
- func NewConsentAcquisitionRunner(logger *logrus.Entry, definition RunDefinition, ...) *TestCaseRunner
- func NewExchangeComponentRunner(definition RunDefinition, daemonController DaemonController) *TestCaseRunner
- func NewTestCaseRunner(logger *logrus.Entry, definition RunDefinition, ...) *TestCaseRunner
- func (r *TestCaseRunner) AppErr(msg string) error
- func (r *TestCaseRunner) AppMsg(msg string) string
- func (r *TestCaseRunner) RunConsentAcquisition(item TokenConsentIDItem, ctx *model.Context, consentType string, ...) error
- func (r *TestCaseRunner) RunTestCases(ctx *model.Context) error
- func (r *TestCaseRunner) String() string
- type Token
- type TokenCollector
- type TokenConsentIDItem
- type TokenConsentIDs
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CallPaymentHeadlessConsentUrls ¶ added in v1.1.16
func CallPaymentHeadlessConsentUrls(rt *[]manifest.RequiredTokens, ctx *model.Context, logger *logrus.Entry) (map[string]string, error)
CallPaymentHeadlessConsentUrls -
func ExchangeCodeForAccessToken ¶
func ExchangeCodeForAccessToken(tokenName, code string, ctx *model.Context) (accesstoken string, err error)
ExchangeCodeForAccessToken - runs a testcase to perform this operation
func GetDynamicResourceIds ¶ added in v1.1.15
func GetDynamicResourceIds(tokenName, token string, ctx *model.Context, requiredTokens []manifest.RequiredTokens) error
GetDynamicResourceIds retrieves the accounts and statements resource ids for the current token
func GetHeadlessConsent ¶ added in v1.1.16
func GetHeadlessConsent(definition RunDefinition, ctx *model.Context, specRun *generation.SpecRun, permissions map[string][]manifest.RequiredTokens) ([]manifest.RequiredTokens, error)
GetHeadlessConsent -
func NewBufferedDaemonController ¶
func NewBufferedDaemonController() *daemonController
NewBufferedDaemonController new instance to control a background routine with 100 objects buffer in result and error channels
func NewDaemonController ¶
NewDaemonController new instance to control a background routine
Types ¶
type Collector ¶
Collector collects tokens for a set or permissions requirements and calls a subscribed function when it has received all
type DaemonController ¶
type DaemonController interface { Stop() ShouldStop() bool Stopped() AddResult(result results.TestCase) AllResults() []results.TestCase AllResultsGrouped() map[results.ResultKey][]results.TestCase AddResponseFields(string) ResponseFieldsJSON() string Results() <-chan results.TestCase SetCompleted() IsCompleted() <-chan bool }
type DetailError ¶ added in v1.1.6
type DetailError struct { EndpointResponse string `json:"endpointResponse"` TestCaseMessage string `json:"testCaseMessage"` }
func (DetailError) Error ¶ added in v1.1.6
func (de DetailError) Error() string
type ExchangeParameters ¶
type ExchangeParameters struct { Code string BasicAuthentication string TokenEndpoint string RedirectURL string Scope string TokenName string }
ExchangeParameters - Captures the parameters require to exchange a code for an access token
type Executor ¶
type Executor struct { SigningCert authentication.Certificate TransportCert authentication.Certificate }
Executor - passes request to system under test across an matls connection
func (*Executor) ExecuteTestCase ¶
func (e *Executor) ExecuteTestCase(r *resty.Request, t *model.TestCase, ctx *model.Context) (*resty.Response, results.Metrics, error)
ExecuteTestCase - makes this a generic executor
func (*Executor) SetCertificates ¶
func (e *Executor) SetCertificates(certificateSigning, certificationTransport authentication.Certificate) error
SetCertificates receives transport and signing certificates
type RunDefinition ¶
type RunDefinition struct { DiscoModel *discovery.Model SpecRun generation.SpecRun SigningCert authentication.Certificate TransportCert authentication.Certificate }
RunDefinition captures all the information required to run the test cases
type TestCaseExecutor ¶
type TestCaseExecutor interface { ExecuteTestCase(r *resty.Request, t *model.TestCase, ctx *model.Context) (*resty.Response, results.Metrics, error) SetCertificates(certificateSigning, certificationTransport authentication.Certificate) error }
TestCaseExecutor defines an interface capable of executing a testcase
type TestCaseRunner ¶
type TestCaseRunner struct {
// contains filtered or unexported fields
}
func NewConsentAcquisitionRunner ¶
func NewConsentAcquisitionRunner(logger *logrus.Entry, definition RunDefinition, daemonController DaemonController) *TestCaseRunner
NewConsentAcquisitionRunner -
func NewExchangeComponentRunner ¶
func NewExchangeComponentRunner(definition RunDefinition, daemonController DaemonController) *TestCaseRunner
NewExchangeComponentRunner -
func NewTestCaseRunner ¶
func NewTestCaseRunner(logger *logrus.Entry, definition RunDefinition, daemonController DaemonController) *TestCaseRunner
NewTestCaseRunner -
func (*TestCaseRunner) AppErr ¶
func (r *TestCaseRunner) AppErr(msg string) error
AppErr - application level trace error msg
func (*TestCaseRunner) AppMsg ¶
func (r *TestCaseRunner) AppMsg(msg string) string
AppMsg - application level trace
func (*TestCaseRunner) RunConsentAcquisition ¶
func (r *TestCaseRunner) RunConsentAcquisition(item TokenConsentIDItem, ctx *model.Context, consentType string, consentIDChannel chan<- TokenConsentIDItem) error
RunConsentAcquisition -
func (*TestCaseRunner) RunTestCases ¶
func (r *TestCaseRunner) RunTestCases(ctx *model.Context) error
RunTestCases runs the testCases
func (*TestCaseRunner) String ¶
func (r *TestCaseRunner) String() string
String - object represetation
type Token ¶
type Token struct { Code string NamedPermission model.NamedPermission }
Token represents a token acquisition for one of the permission set requirement
type TokenCollector ¶
type TokenCollector interface { Collect(tokenName, accesstoken string) error Tokens() TokenConsentIDs }
TokenCollector - collects tokens
func NewTokenCollector ¶
func NewTokenCollector(log *logrus.Entry, consentIds TokenConsentIDs, doneFunc func(), events events.Events) TokenCollector
NewTokenCollector -
type TokenConsentIDItem ¶
type TokenConsentIDItem struct { TokenName string ConsentID string Permissions string AccessToken string ConsentURL string Error string }
TokenConsentIDItem is a single consentId mapping to token name
type TokenConsentIDs ¶
type TokenConsentIDs []TokenConsentIDItem
TokenConsentIDs captures the token/consentIds awaiting authorisation
func GetPsuConsent ¶ added in v1.1.0
func GetPsuConsent(definition RunDefinition, ctx *model.Context, runTests *generation.SpecRun, permissions map[string][]manifest.RequiredTokens) (TokenConsentIDs, map[string]string, error)
GetPsuConsent -