Documentation ¶
Index ¶
- Constants
- func Closer(s string) io.ReadCloser
- func CreateInstanceInPlatform(ctx *TestContext, platformID string) (string, *types.ServiceInstance)
- func CreateInstanceInPlatformForPlan(ctx *TestContext, platformID, planID string) *types.ServiceInstance
- func CreateVisibilitiesForAllBrokerPlans(SM *SMExpect, brokerID string)
- func DelayingHandler(done chan interface{}) func(req *http.Request) (int, map[string]interface{})
- func DeleteBinding(ctx *TestContext, bindingID, instanceID string) error
- func DeleteInstance(ctx *TestContext, instanceID, servicePlanID string) error
- func DoHTTP(reaction *HTTPReaction, checks *HTTPExpectations) func(*http.Request) (*http.Response, error)
- func DoHTTPSequence(sequence []HTTPCouple) func(*http.Request) (*http.Response, error)
- func ExtractResourceIDs(entities []Object) []string
- func GenerateFreeTestPlan() string
- func GeneratePaidTestPlan() string
- func GenerateRandomNotification() *types.Notification
- func GenerateTestPlan() string
- func GenerateTestPlanFromTemplate(id, planTemplate string) string
- func GenerateTestPlanWithID(planID string) string
- func GenerateTestServiceWithPlans(plans ...string) string
- func GenerateTestServiceWithPlansWithID(serviceID string, plans ...string) string
- func JSONToMap(j string) map[string]interface{}
- func MapContains(actual Object, expected Object)
- func MergeObjects(target, source Object)
- func MultipleErrorsBeforeSuccessHandler(initialStatusCode, finalStatusCode int, initialBody, finalBody Object) func(_ *http.Request) (int, map[string]interface{})
- func MultiplePollsRequiredHandler(state, finalState string) func(_ *http.Request) (int, map[string]interface{})
- func NewSMListener() (net.Listener, error)
- func ParameterizedHandler(statusCode int, responseBody map[string]interface{}) func(_ *http.Request) (int, map[string]interface{})
- func Print(message string, args ...interface{})
- func RegisterPlatformInSM(platformJSON Object, SM *SMExpect, headers map[string]string) *types.Platform
- func RegisterVisibilityForPlanAndPlatform(SM *SMExpect, planID, platformID string) string
- func RemoveAllBindings(testCtx *TestContext) error
- func RemoveAllBrokers(repository storage.TransactionalRepository)
- func RemoveAllInstances(testCtx *TestContext) error
- func RemoveAllNotifications(repository storage.TransactionalRepository)
- func RemoveAllOperations(repository storage.TransactionalRepository)
- func RemoveAllPlatforms(repository storage.TransactionalRepository)
- func RemoveAllVisibilities(repository storage.TransactionalRepository)
- func SetLogOutput(set *pflag.FlagSet)
- func SetNotificationsCleanerSettings(set *pflag.FlagSet)
- func SetResponse(rw http.ResponseWriter, status int, message map[string]interface{})
- func SetTestFileLocation(set *pflag.FlagSet)
- func TestEnv(additionalFlagFuncs ...func(set *pflag.FlagSet)) env.Environment
- func VerifyOperationExists(ctx *TestContext, operationURL string, expectations OperationExpectations) (string, string)
- func VerifyResourceDoesNotExist(smClient *SMExpect, expectations ResourceExpectations)
- func VerifyResourceExists(smClient *SMExpect, expectations ResourceExpectations) *httpexpect.Object
- type Array
- type BrokerServer
- func (b *BrokerServer) BindingHandlerFunc(method, op string, ...)
- func (b *BrokerServer) BindingLastOpHandlerFunc(op string, handler func(req *http.Request) (int, map[string]interface{}))
- func (b *BrokerServer) Reset()
- func (b *BrokerServer) ResetCallHistory()
- func (b *BrokerServer) ResetHandlers()
- func (b *BrokerServer) ResetProperties()
- func (b *BrokerServer) ServiceInstanceHandlerFunc(method, op string, ...)
- func (b *BrokerServer) ServiceInstanceLastOpHandlerFunc(op string, handler func(req *http.Request) (int, map[string]interface{}))
- func (b *BrokerServer) ShouldRecordRequests(shouldRecordRequests bool)
- func (b *BrokerServer) URL() string
- type FakeServer
- type FlagValue
- type HTTPCouple
- type HTTPExpectations
- type HTTPReaction
- type NopCloser
- type OAuthServer
- type Object
- func CopyFields(obj Object) Object
- func CopyLabels(obj Object) Object
- func CopyObject(obj Object) Object
- func GenerateRandomBroker() Object
- func GenerateRandomPlatform() Object
- func MakePlatform(id string, name string, atype string, description string) Object
- func RegisterBrokerInSM(brokerJSON Object, SM *SMExpect, headers map[string]string) Object
- func RemoveBooleanArgs(obj Object) Object
- func RemoveNonJSONArgs(obj Object) Object
- func RemoveNonNumericArgs(obj Object) Object
- func RemoveNotNullableFieldAndLabels(obj Object, objithMandatoryFields Object) Object
- func RemoveNumericArgs(obj Object) Object
- type OperationExpectations
- type ResourceExpectations
- type SBCatalog
- type SMExpect
- type TestContext
- func (ctx *TestContext) Cleanup()
- func (ctx *TestContext) CleanupAdditionalResources()
- func (ctx *TestContext) CleanupAll(cleanupResources bool)
- func (ctx *TestContext) CleanupBroker(id string)
- func (ctx *TestContext) CleanupPlatforms()
- func (ctx *TestContext) CloseWebSocket(conn *websocket.Conn)
- func (ctx *TestContext) ConnectWebSocket(platform *types.Platform, queryParams map[string]string) (*websocket.Conn, *http.Response, error)
- func (ctx *TestContext) NewTenantExpect(tenantIdentifier string) *SMExpect
- func (ctx *TestContext) RegisterBroker() (string, Object, *BrokerServer)
- func (ctx *TestContext) RegisterBrokerWithCatalog(catalog SBCatalog) (string, Object, *BrokerServer)
- func (ctx *TestContext) RegisterBrokerWithCatalogAndLabels(catalog SBCatalog, brokerData Object) (string, Object, *BrokerServer)
- func (ctx *TestContext) RegisterBrokerWithCatalogAndLabelsExpect(catalog SBCatalog, brokerData Object, expect *SMExpect) (string, Object, *BrokerServer)
- func (ctx *TestContext) RegisterPlatform() *types.Platform
- func (ctx *TestContext) RegisterPlatformWithType(platformType string) *types.Platform
- type TestContextBuilder
- func (tcb *TestContextBuilder) Build() *TestContext
- func (tcb *TestContextBuilder) BuildWithListener(listener net.Listener, cleanup bool) *TestContext
- func (tcb *TestContextBuilder) BuildWithoutCleanup() *TestContext
- func (tcb *TestContextBuilder) ShouldUseSeparateOAuthServerForTenantAccess(use bool) *TestContextBuilder
- func (tcb *TestContextBuilder) SkipBasicAuthClientSetup(shouldSkip bool) *TestContextBuilder
- func (tcb *TestContextBuilder) WithAdditionalFakeServers(additionalFakeServers map[string]FakeServer) *TestContextBuilder
- func (tcb *TestContextBuilder) WithDefaultEnv(envCreateFunc func(f ...func(set *pflag.FlagSet)) env.Environment) *TestContextBuilder
- func (tcb *TestContextBuilder) WithDefaultTokenClaims(defaultTokenClaims map[string]interface{}) *TestContextBuilder
- func (tcb *TestContextBuilder) WithEnvPostExtensions(fs ...func(e env.Environment, servers map[string]FakeServer)) *TestContextBuilder
- func (tcb *TestContextBuilder) WithEnvPreExtensions(fs ...func(set *pflag.FlagSet)) *TestContextBuilder
- func (tcb *TestContextBuilder) WithSMExtensions(...) *TestContextBuilder
- func (tcb *TestContextBuilder) WithTenantTokenClaims(tenantTokenClaims map[string]interface{}) *TestContextBuilder
Constants ¶
View Source
const BrokerServerPrefix = "broker-"
View Source
const OauthServer = "oauth-server"
View Source
const SMServer = "sm-server"
View Source
const TenantOauthServer = "tenant-oauth-server"
Variables ¶
This section is empty.
Functions ¶
func Closer ¶
func Closer(s string) io.ReadCloser
func CreateInstanceInPlatform ¶ added in v0.10.0
func CreateInstanceInPlatform(ctx *TestContext, platformID string) (string, *types.ServiceInstance)
func CreateInstanceInPlatformForPlan ¶ added in v0.10.0
func CreateInstanceInPlatformForPlan(ctx *TestContext, platformID, planID string) *types.ServiceInstance
func CreateVisibilitiesForAllBrokerPlans ¶ added in v0.6.0
func DelayingHandler ¶ added in v0.10.0
func DeleteBinding ¶ added in v0.10.0
func DeleteBinding(ctx *TestContext, bindingID, instanceID string) error
func DeleteInstance ¶ added in v0.10.0
func DeleteInstance(ctx *TestContext, instanceID, servicePlanID string) error
func DoHTTP ¶
func DoHTTP(reaction *HTTPReaction, checks *HTTPExpectations) func(*http.Request) (*http.Response, error)
func DoHTTPSequence ¶ added in v0.6.0
func ExtractResourceIDs ¶ added in v0.1.8
func GenerateFreeTestPlan ¶ added in v0.1.8
func GenerateFreeTestPlan() string
func GeneratePaidTestPlan ¶ added in v0.1.8
func GeneratePaidTestPlan() string
func GenerateRandomNotification ¶ added in v0.3.0
func GenerateRandomNotification() *types.Notification
func GenerateTestPlan ¶ added in v0.1.8
func GenerateTestPlan() string
func GenerateTestPlanFromTemplate ¶ added in v0.1.8
func GenerateTestPlanWithID ¶ added in v0.9.0
func GenerateTestServiceWithPlans ¶ added in v0.1.8
func GenerateTestServiceWithPlansWithID ¶ added in v0.9.0
func MapContains ¶
func MergeObjects ¶ added in v0.1.11
func MergeObjects(target, source Object)
func MultipleErrorsBeforeSuccessHandler ¶ added in v0.10.0
func MultiplePollsRequiredHandler ¶ added in v0.10.0
func NewSMListener ¶ added in v0.4.1
func ParameterizedHandler ¶ added in v0.10.0
func RegisterPlatformInSM ¶ added in v0.1.2
func RegisterVisibilityForPlanAndPlatform ¶ added in v0.6.0
func RemoveAllBindings ¶ added in v0.10.0
func RemoveAllBindings(testCtx *TestContext) error
func RemoveAllBrokers ¶
func RemoveAllBrokers(repository storage.TransactionalRepository)
func RemoveAllInstances ¶ added in v0.9.0
func RemoveAllInstances(testCtx *TestContext) error
func RemoveAllNotifications ¶ added in v0.9.0
func RemoveAllNotifications(repository storage.TransactionalRepository)
func RemoveAllOperations ¶ added in v0.9.0
func RemoveAllOperations(repository storage.TransactionalRepository)
func RemoveAllPlatforms ¶
func RemoveAllPlatforms(repository storage.TransactionalRepository)
func RemoveAllVisibilities ¶ added in v0.1.6
func RemoveAllVisibilities(repository storage.TransactionalRepository)
func SetLogOutput ¶ added in v0.5.0
func SetNotificationsCleanerSettings ¶ added in v0.3.0
func SetResponse ¶ added in v0.1.2
func SetResponse(rw http.ResponseWriter, status int, message map[string]interface{})
func SetTestFileLocation ¶ added in v0.1.2
func TestEnv ¶ added in v0.1.2
func TestEnv(additionalFlagFuncs ...func(set *pflag.FlagSet)) env.Environment
func VerifyOperationExists ¶ added in v0.10.0
func VerifyOperationExists(ctx *TestContext, operationURL string, expectations OperationExpectations) (string, string)
func VerifyResourceDoesNotExist ¶ added in v0.10.0
func VerifyResourceDoesNotExist(smClient *SMExpect, expectations ResourceExpectations)
func VerifyResourceExists ¶ added in v0.10.0
func VerifyResourceExists(smClient *SMExpect, expectations ResourceExpectations) *httpexpect.Object
Types ¶
type BrokerServer ¶ added in v0.1.2
type BrokerServer struct { *httptest.Server CatalogHandler http.HandlerFunc // /v2/catalog ServiceInstanceHandler http.HandlerFunc // Provision/v2/service_instances/{instance_id} ServiceInstanceLastOpHandler http.HandlerFunc // /v2/service_instances/{instance_id}/last_operation ServiceInstanceOperations []string BindingHandler http.HandlerFunc // /v2/service_instances/{instance_id}/service_bindings/{binding_id} BindingAdaptCredentialsHandler http.HandlerFunc // /v2/service_instances/{instance_id}/service_bindings/{binding_id}/adapt_credentials BindingLastOpHandler http.HandlerFunc // /v2/service_instances/{instance_id}/service_bindings/{binding_id}/last_operation ServiceBindingOperations []string Username, Password string Catalog SBCatalog LastRequestBody []byte LastRequest *http.Request CatalogEndpointRequests []*http.Request ServiceInstanceEndpointRequests []*http.Request ServiceInstanceLastOpEndpointRequests []*http.Request BindingEndpointRequests []*http.Request BindingLastOpEndpointRequests []*http.Request BindingAdaptCredentialsEndpointRequests []*http.Request // contains filtered or unexported fields }
func NewBrokerServer ¶ added in v0.1.2
func NewBrokerServer() *BrokerServer
func NewBrokerServerWithCatalog ¶ added in v0.1.6
func NewBrokerServerWithCatalog(catalog SBCatalog) *BrokerServer
func (*BrokerServer) BindingHandlerFunc ¶ added in v0.10.0
func (*BrokerServer) BindingLastOpHandlerFunc ¶ added in v0.10.0
func (*BrokerServer) Reset ¶ added in v0.1.2
func (b *BrokerServer) Reset()
func (*BrokerServer) ResetCallHistory ¶ added in v0.1.2
func (b *BrokerServer) ResetCallHistory()
func (*BrokerServer) ResetHandlers ¶ added in v0.1.2
func (b *BrokerServer) ResetHandlers()
func (*BrokerServer) ResetProperties ¶ added in v0.1.2
func (b *BrokerServer) ResetProperties()
func (*BrokerServer) ServiceInstanceHandlerFunc ¶ added in v0.10.0
func (*BrokerServer) ServiceInstanceLastOpHandlerFunc ¶ added in v0.10.0
func (*BrokerServer) ShouldRecordRequests ¶ added in v0.10.0
func (b *BrokerServer) ShouldRecordRequests(shouldRecordRequests bool)
func (*BrokerServer) URL ¶ added in v0.1.9
func (b *BrokerServer) URL() string
type FakeServer ¶ added in v0.1.9
type FakeServer interface {
// contains filtered or unexported methods
}
type FlagValue ¶ added in v0.1.2
type FlagValue struct {
// contains filtered or unexported fields
}
type HTTPCouple ¶ added in v0.6.0
type HTTPCouple struct { Expectations *HTTPExpectations Reaction *HTTPReaction }
type HTTPExpectations ¶
type HTTPReaction ¶
type OAuthServer ¶
type OAuthServer struct { BaseURL string Router *mux.Router // contains filtered or unexported fields }
func NewOAuthServer ¶
func NewOAuthServer() *OAuthServer
func (*OAuthServer) Close ¶
func (os *OAuthServer) Close()
func (*OAuthServer) CreateToken ¶
func (os *OAuthServer) CreateToken(payload map[string]interface{}) string
func (*OAuthServer) RotateTokenKey ¶ added in v0.11.0
func (os *OAuthServer) RotateTokenKey()
func (*OAuthServer) Start ¶
func (os *OAuthServer) Start()
func (*OAuthServer) TokenKeysRequestCallCount ¶ added in v0.11.0
func (os *OAuthServer) TokenKeysRequestCallCount() int
func (*OAuthServer) URL ¶
func (os *OAuthServer) URL() string
type Object ¶
type Object = map[string]interface{}
func CopyFields ¶ added in v0.6.0
func CopyLabels ¶ added in v0.6.0
func CopyObject ¶ added in v0.1.8
func GenerateRandomBroker ¶ added in v0.1.8
func GenerateRandomBroker() Object
func GenerateRandomPlatform ¶ added in v0.1.8
func GenerateRandomPlatform() Object
func MakePlatform ¶
func RegisterBrokerInSM ¶ added in v0.1.2
func RemoveBooleanArgs ¶ added in v0.10.0
func RemoveNonJSONArgs ¶ added in v0.1.8
func RemoveNonNumericArgs ¶ added in v0.1.8
func RemoveNotNullableFieldAndLabels ¶ added in v0.1.8
func RemoveNumericArgs ¶ added in v0.1.8
type OperationExpectations ¶ added in v0.10.0
type OperationExpectations struct { Category types.OperationCategory State types.OperationState ResourceType types.ObjectType Reschedulable bool DeletionScheduled bool Error string }
type ResourceExpectations ¶ added in v0.10.0
type ResourceExpectations struct { ID string Type types.ObjectType Ready bool }
type SBCatalog ¶ added in v0.1.8
type SBCatalog string
func NewEmptySBCatalog ¶ added in v0.1.8
func NewEmptySBCatalog() SBCatalog
NewEmptySBCatalog returns an empty service broker catalog tha contains no services and no plans
func NewRandomSBCatalog ¶ added in v0.1.8
func NewRandomSBCatalog() SBCatalog
NewRandomSBCatalog returns a service broker catalog containg one random service with one free and one paid random plans
func (*SBCatalog) AddPlanToService ¶ added in v0.1.8
func (*SBCatalog) AddService ¶ added in v0.1.8
func (*SBCatalog) RemovePlan ¶ added in v0.1.8
type SMExpect ¶ added in v0.6.0
type SMExpect struct {
*httpexpect.Expect
}
func (*SMExpect) ListWithQuery ¶ added in v0.6.0
func (expect *SMExpect) ListWithQuery(path string, query string) *httpexpect.Array
func (*SMExpect) SetBasicCredentials ¶ added in v0.11.0
func (expect *SMExpect) SetBasicCredentials(ctx *TestContext, username, password string)
type TestContext ¶
type TestContext struct { SM *SMExpect SMWithOAuth *SMExpect // Requests a token the the "multitenant" oauth client - then token issued by this client contains // the "multitenant" client id behind the specified token claim in the api config // the token also contains a "tenant identifier" behind the configured tenant_indentifier claim that // will be compared with the value of the label specified in the "label key" configuration // In the end requesting brokers with this SMWithOAuthForTenant *SMExpect SMWithBasic *SMExpect SMRepository storage.TransactionalRepository SMScheduler *operations.Scheduler TestPlatform *types.Platform TenantTokenProvider func() string Servers map[string]FakeServer HttpClient *http.Client // contains filtered or unexported fields }
func DefaultTestContext ¶ added in v0.1.9
func DefaultTestContext() *TestContext
DefaultTestContext sets up a test context with default values
func (*TestContext) Cleanup ¶
func (ctx *TestContext) Cleanup()
func (*TestContext) CleanupAdditionalResources ¶ added in v0.1.8
func (ctx *TestContext) CleanupAdditionalResources()
func (*TestContext) CleanupAll ¶ added in v0.10.0
func (ctx *TestContext) CleanupAll(cleanupResources bool)
func (*TestContext) CleanupBroker ¶
func (ctx *TestContext) CleanupBroker(id string)
func (*TestContext) CleanupPlatforms ¶ added in v0.10.0
func (ctx *TestContext) CleanupPlatforms()
func (*TestContext) CloseWebSocket ¶ added in v0.3.3
func (ctx *TestContext) CloseWebSocket(conn *websocket.Conn)
func (*TestContext) ConnectWebSocket ¶ added in v0.3.3
func (*TestContext) NewTenantExpect ¶ added in v0.10.0
func (ctx *TestContext) NewTenantExpect(tenantIdentifier string) *SMExpect
func (*TestContext) RegisterBroker ¶
func (ctx *TestContext) RegisterBroker() (string, Object, *BrokerServer)
func (*TestContext) RegisterBrokerWithCatalog ¶ added in v0.1.6
func (ctx *TestContext) RegisterBrokerWithCatalog(catalog SBCatalog) (string, Object, *BrokerServer)
func (*TestContext) RegisterBrokerWithCatalogAndLabels ¶ added in v0.1.8
func (ctx *TestContext) RegisterBrokerWithCatalogAndLabels(catalog SBCatalog, brokerData Object) (string, Object, *BrokerServer)
func (*TestContext) RegisterBrokerWithCatalogAndLabelsExpect ¶ added in v0.4.2
func (ctx *TestContext) RegisterBrokerWithCatalogAndLabelsExpect(catalog SBCatalog, brokerData Object, expect *SMExpect) (string, Object, *BrokerServer)
func (*TestContext) RegisterPlatform ¶ added in v0.1.6
func (ctx *TestContext) RegisterPlatform() *types.Platform
func (*TestContext) RegisterPlatformWithType ¶ added in v0.10.0
func (ctx *TestContext) RegisterPlatformWithType(platformType string) *types.Platform
type TestContextBuilder ¶ added in v0.1.9
type TestContextBuilder struct { Environment func(f ...func(set *pflag.FlagSet)) env.Environment Servers map[string]FakeServer HttpClient *http.Client // contains filtered or unexported fields }
func NewTestContextBuilder ¶ added in v0.1.9
func NewTestContextBuilder() *TestContextBuilder
NewTestContextBuilder sets up a builder with default values
func NewTestContextBuilderWithSecurity ¶ added in v0.9.7
func NewTestContextBuilderWithSecurity() *TestContextBuilder
func (*TestContextBuilder) Build ¶ added in v0.1.9
func (tcb *TestContextBuilder) Build() *TestContext
func (*TestContextBuilder) BuildWithListener ¶ added in v0.4.1
func (tcb *TestContextBuilder) BuildWithListener(listener net.Listener, cleanup bool) *TestContext
func (*TestContextBuilder) BuildWithoutCleanup ¶ added in v0.10.0
func (tcb *TestContextBuilder) BuildWithoutCleanup() *TestContext
func (*TestContextBuilder) ShouldUseSeparateOAuthServerForTenantAccess ¶ added in v0.11.0
func (tcb *TestContextBuilder) ShouldUseSeparateOAuthServerForTenantAccess(use bool) *TestContextBuilder
func (*TestContextBuilder) SkipBasicAuthClientSetup ¶ added in v0.1.9
func (tcb *TestContextBuilder) SkipBasicAuthClientSetup(shouldSkip bool) *TestContextBuilder
func (*TestContextBuilder) WithAdditionalFakeServers ¶ added in v0.1.9
func (tcb *TestContextBuilder) WithAdditionalFakeServers(additionalFakeServers map[string]FakeServer) *TestContextBuilder
func (*TestContextBuilder) WithDefaultEnv ¶ added in v0.1.9
func (tcb *TestContextBuilder) WithDefaultEnv(envCreateFunc func(f ...func(set *pflag.FlagSet)) env.Environment) *TestContextBuilder
func (*TestContextBuilder) WithDefaultTokenClaims ¶ added in v0.1.9
func (tcb *TestContextBuilder) WithDefaultTokenClaims(defaultTokenClaims map[string]interface{}) *TestContextBuilder
func (*TestContextBuilder) WithEnvPostExtensions ¶ added in v0.1.9
func (tcb *TestContextBuilder) WithEnvPostExtensions(fs ...func(e env.Environment, servers map[string]FakeServer)) *TestContextBuilder
func (*TestContextBuilder) WithEnvPreExtensions ¶ added in v0.1.9
func (tcb *TestContextBuilder) WithEnvPreExtensions(fs ...func(set *pflag.FlagSet)) *TestContextBuilder
func (*TestContextBuilder) WithSMExtensions ¶ added in v0.1.9
func (tcb *TestContextBuilder) WithSMExtensions(fs ...func(ctx context.Context, smb *sm.ServiceManagerBuilder, e env.Environment) error) *TestContextBuilder
func (*TestContextBuilder) WithTenantTokenClaims ¶ added in v0.4.1
func (tcb *TestContextBuilder) WithTenantTokenClaims(tenantTokenClaims map[string]interface{}) *TestContextBuilder
Click to show internal directories.
Click to hide internal directories.