Documentation
¶
Overview ¶
Package authorizationtest provides deterministic fixtures, assertions, and conformance checks for authorization integrations.
Index ¶
- func AllowEvaluator(reason authorization.ReasonCode) authorization.Evaluator
- func CanonicalDecisionJSON(decision authorization.Decision) ([]byte, error)
- func DenyEvaluator(reason authorization.ReasonCode) authorization.Evaluator
- func ErrorEvaluator(err error) authorization.Evaluator
- func FixedTime() time.Time
- func MustEngine(t TestingT, snapshot *authorization.Snapshot, ...) *authorization.Engine
- func MustSnapshot(t TestingT, revision authorization.Revision, ...) *authorization.Snapshot
- func NotApplicableEvaluator() authorization.Evaluator
- func RequireDecision(t TestingT, got authorization.Decision, err error, want authorization.Decision)
- func RequireOutcome(t TestingT, decision authorization.Decision, want authorization.Outcome)
- func RunAuthorizerConformance(t *testing.T, factory AuthorizerFactory)
- type AuthorizerFactory
- type RequestBuilder
- func (builder *RequestBuilder) Build() authorization.Request
- func (builder *RequestBuilder) WithAction(action authorization.Action) *RequestBuilder
- func (builder *RequestBuilder) WithAttribute(name authorization.AttributeName, value authorization.Value) *RequestBuilder
- func (builder *RequestBuilder) WithEnvironmentAttribute(name authorization.AttributeName, value authorization.Value) *RequestBuilder
- func (builder *RequestBuilder) WithGroup(id authorization.SubjectID) *RequestBuilder
- func (builder *RequestBuilder) WithResource(typeName authorization.ResourceType, id authorization.ResourceID) *RequestBuilder
- func (builder *RequestBuilder) WithResourceAttribute(name authorization.AttributeName, value authorization.Value) *RequestBuilder
- func (builder *RequestBuilder) WithSubject(kind authorization.SubjectKind, id authorization.SubjectID) *RequestBuilder
- func (builder *RequestBuilder) WithSubjectAttribute(name authorization.AttributeName, value authorization.Value) *RequestBuilder
- func (builder *RequestBuilder) WithTenant(tenant authorization.TenantID) *RequestBuilder
- func (builder *RequestBuilder) WithTime(at time.Time) *RequestBuilder
- type StaticEvaluator
- type TestingT
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AllowEvaluator ¶
func AllowEvaluator(reason authorization.ReasonCode) authorization.Evaluator
func CanonicalDecisionJSON ¶
func CanonicalDecisionJSON(decision authorization.Decision) ([]byte, error)
func DenyEvaluator ¶
func DenyEvaluator(reason authorization.ReasonCode) authorization.Evaluator
func ErrorEvaluator ¶
func ErrorEvaluator(err error) authorization.Evaluator
func MustEngine ¶
func MustEngine( t TestingT, snapshot *authorization.Snapshot, options ...authorization.EngineOption, ) *authorization.Engine
func MustSnapshot ¶
func MustSnapshot( t TestingT, revision authorization.Revision, algorithm authorization.CombiningAlgorithm, definitions ...authorization.PolicyDefinition, ) *authorization.Snapshot
func NotApplicableEvaluator ¶
func NotApplicableEvaluator() authorization.Evaluator
func RequireDecision ¶
func RequireDecision( t TestingT, got authorization.Decision, err error, want authorization.Decision, )
func RequireOutcome ¶
func RequireOutcome( t TestingT, decision authorization.Decision, want authorization.Outcome, )
func RunAuthorizerConformance ¶
func RunAuthorizerConformance(t *testing.T, factory AuthorizerFactory)
Types ¶
type AuthorizerFactory ¶
type AuthorizerFactory func(authorization.Evaluator) authorization.Authorizer
type RequestBuilder ¶
type RequestBuilder struct {
// contains filtered or unexported fields
}
func NewRequest ¶
func NewRequest() *RequestBuilder
func (*RequestBuilder) Build ¶
func (builder *RequestBuilder) Build() authorization.Request
func (*RequestBuilder) WithAction ¶
func (builder *RequestBuilder) WithAction(action authorization.Action) *RequestBuilder
func (*RequestBuilder) WithAttribute ¶
func (builder *RequestBuilder) WithAttribute( name authorization.AttributeName, value authorization.Value, ) *RequestBuilder
func (*RequestBuilder) WithEnvironmentAttribute ¶
func (builder *RequestBuilder) WithEnvironmentAttribute( name authorization.AttributeName, value authorization.Value, ) *RequestBuilder
func (*RequestBuilder) WithGroup ¶
func (builder *RequestBuilder) WithGroup(id authorization.SubjectID) *RequestBuilder
func (*RequestBuilder) WithResource ¶
func (builder *RequestBuilder) WithResource( typeName authorization.ResourceType, id authorization.ResourceID, ) *RequestBuilder
func (*RequestBuilder) WithResourceAttribute ¶
func (builder *RequestBuilder) WithResourceAttribute( name authorization.AttributeName, value authorization.Value, ) *RequestBuilder
func (*RequestBuilder) WithSubject ¶
func (builder *RequestBuilder) WithSubject( kind authorization.SubjectKind, id authorization.SubjectID, ) *RequestBuilder
func (*RequestBuilder) WithSubjectAttribute ¶
func (builder *RequestBuilder) WithSubjectAttribute( name authorization.AttributeName, value authorization.Value, ) *RequestBuilder
func (*RequestBuilder) WithTenant ¶
func (builder *RequestBuilder) WithTenant(tenant authorization.TenantID) *RequestBuilder
func (*RequestBuilder) WithTime ¶
func (builder *RequestBuilder) WithTime(at time.Time) *RequestBuilder
type StaticEvaluator ¶
type StaticEvaluator struct {
Decision authorization.Decision
Err error
}
func (StaticEvaluator) Evaluate ¶
func (evaluator StaticEvaluator) Evaluate( context.Context, authorization.Request, ) (authorization.Decision, error)
Click to show internal directories.
Click to hide internal directories.