executors

package
v1.0.0-beta Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 19, 2019 License: MIT Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ExchangeCodeForAccessToken

func ExchangeCodeForAccessToken(tokenName, code, scope string, definition RunDefinition, ctx *model.Context) (accesstoken string, err error)

ExchangeCodeForAccessToken - runs a testcase to perform this operation

func NewBufferedDaemonController

func NewBufferedDaemonController() *daemonController

NewBufferedDaemonController new instance to control a background routine with 100 objects buffer in result and error channels

func NewCollector

func NewCollector(requirements []model.SpecConsentRequirements, doneFunc func()) *collector

NewCollector returns a thread safe token collector

func NewDaemonController

func NewDaemonController(resultChan chan results.TestCase) *daemonController

NewDaemonController new instance to control a background routine

func NewTokenCollector

func NewTokenCollector(consentIds TokenConsentIDs, doneFunc func()) *tokencollector

NewTokenCollector -

Types

type Collector

type Collector interface {
	Collect(setName, token string) error
	Tokens() []Token
}

Collector collects tokens for a set or permissions requirements and calls a subscribed function when it has received all

func NewNullCollector

func NewNullCollector(doneFunc func()) Collector

NewNullCollector implements a dummy collector that trigger done immediately and collects nothing for using when we don't want to collect or in tests

type DaemonController

type DaemonController interface {
	Stop()
	ShouldStop() bool
	Stopped()
	Results() chan results.TestCase
}

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 NewExecutor

func NewExecutor() *Executor

NewExecutor creates an executor

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
	TestCaseRun   generation.TestCasesRun
	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, 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(definition RunDefinition, daemonController DaemonController) *TestCaseRunner

NewConsentAcquisitionRunner -

func NewExchangeComponentRunner

func NewExchangeComponentRunner(definition RunDefinition, daemonController DaemonController) *TestCaseRunner

NewExchangeComponentRunner -

func NewTestCaseRunner

func NewTestCaseRunner(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

type TokenConsentIDItem

type TokenConsentIDItem struct {
	TokenName   string
	ConsentID   string
	Permissions string
	AccessToken string
	ConsentURL  string
}

TokenConsentIDItem is a single consentId mapping to token name

type TokenConsentIDs

type TokenConsentIDs []TokenConsentIDItem

TokenConsentIDs captures the token/consentIds awaiting authorisation

func InitiationConsentAcquisition

func InitiationConsentAcquisition(consentRequirements []model.SpecConsentRequirements, definition RunDefinition, ctx *model.Context) (TokenConsentIDs, error)

InitiationConsentAcquisition - get required tokens

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL