Sha256: d61e21bdc0578bae36362474b55e7ed6c58f8b2381d9af9af9342dfeedde8504
Contents?: true
Size: 1.7 KB
Versions: 3
Compression:
Stored size: 1.7 KB
Contents
# frozen_string_literal: true require_relative "../token_helper" RSpec.shared_context "with mocked keycloak" do let(:config_server_url) { "http://keycloak.example.com/auth" } let(:config_realm_id) { "Test" } let(:config_allow_anonymous) { false } let(:config_halt_on_auth_failure) { true } let(:config_cache_ttl) { 86_400 } let(:config_skip_paths) { {} } let(:mocked_config_env) do { "KEYCLOAK_SERVER_URL" => config_server_url, "KEYCLOAK_REALM_ID" => config_realm_id, "KEYCLOAK_CACHE_TTL" => config_cache_ttl, "KEYCLOAK_ALLOW_ANONYMOUS" => config_allow_anonymous, "KEYCLOAK_HALT_ON_AUTH_FAILURE" => config_halt_on_auth_failure } end let(:token_helper) { TokenHelper.new } let(:jwks_response) { token_helper.jwks.as_json } let(:public_key_url) do "#{config_server_url}/realms/#{config_realm_id}/protocol/openid-connect/certs" end let(:mocked_public_key_response) do { body: jwks_response.to_json, status: 200 } end around do |example| with_env(mocked_config_env.transform_values(&:to_s)) do mocked_config = KeycloakRack::Config.new realm_id: config_realm_id mocked_config.skip_paths = config_skip_paths KeycloakRack::Container.stub("keycloak-rack.config", mocked_config) resolver = KeycloakRack::KeyResolver.new KeycloakRack::Container.stub("keycloak-rack.key_resolver", resolver) example.run end ensure KeycloakRack::Container.unstub("keycloak-rack.config") end before do stub_request(:get, public_key_url). to_return(mocked_public_key_response) end # @return [void] def refresh_public_keys! KeycloakRack::Container["keycloak-rack.key_resolver"].refresh! end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
keycloak_rack-1.1.1 | spec/support/contexts/mocked_keycloak.rb |
keycloak_rack-1.1.0 | spec/support/contexts/mocked_keycloak.rb |
keycloak_rack-1.0.0 | spec/support/contexts/mocked_keycloak.rb |