Module: Verikloak::Rails::Testing::Helpers
- Includes:
- ClaimsBuilder, MiddlewareStub
- Defined in:
- lib/verikloak/rails/testing/helpers.rb
Overview
Top-level mix-in for RSpec example groups (request and policy specs).
Composes ClaimsBuilder and MiddlewareStub, and adds
Verikloak::Pundit::UserContext builders when the optional
verikloak-pundit gem is loaded.
Constant Summary
Constants included from MiddlewareStub
MiddlewareStub::DEFAULT_STUB_TOKEN
Instance Method Summary collapse
-
#build_admin_user_context(user, admin_group: '/admin', **options) ⇒ Verikloak::Pundit::UserContext
Convenience wrapper: admin claims + UserContext.
-
#build_pundit_user_context(claims, **options) ⇒ Verikloak::Pundit::UserContext
Build a
Verikloak::Pundit::UserContextfor policy specs. -
#build_user_user_context(user, user_group: '/user', **options) ⇒ Verikloak::Pundit::UserContext
Convenience wrapper: user claims + UserContext.
Methods included from MiddlewareStub
Methods included from ClaimsBuilder
#build_admin_claims, #build_jwt_claims, #build_user_claims
Instance Method Details
#build_admin_user_context(user, admin_group: '/admin', **options) ⇒ Verikloak::Pundit::UserContext
Convenience wrapper: admin claims + UserContext.
43 44 45 |
# File 'lib/verikloak/rails/testing/helpers.rb', line 43 def build_admin_user_context(user, admin_group: '/admin', **) build_pundit_user_context(build_admin_claims(user, admin_group: admin_group), **) end |
#build_pundit_user_context(claims, **options) ⇒ Verikloak::Pundit::UserContext
Build a Verikloak::Pundit::UserContext for policy specs.
Matches verikloak-pundit's constructor
(UserContext.new(claims, resource_client: nil, config: nil)),
which wraps the JWT claims only — the application user object is
not part of the context.
29 30 31 32 33 34 35 |
# File 'lib/verikloak/rails/testing/helpers.rb', line 29 def build_pundit_user_context(claims, **) unless defined?(::Verikloak::Pundit::UserContext) raise 'verikloak-pundit gem is not loaded; cannot build a UserContext' end ::Verikloak::Pundit::UserContext.new(claims, **) end |
#build_user_user_context(user, user_group: '/user', **options) ⇒ Verikloak::Pundit::UserContext
Convenience wrapper: user claims + UserContext.
53 54 55 |
# File 'lib/verikloak/rails/testing/helpers.rb', line 53 def build_user_user_context(user, user_group: '/user', **) build_pundit_user_context(build_user_claims(user, user_group: user_group), **) end |