Sha256: f8bc2d7cfb89b8a55393f0f7eae77af9f8cda9a4f39e2d3c93502b028ddbc6f1
Contents?: true
Size: 1.07 KB
Versions: 6
Compression:
Stored size: 1.07 KB
Contents
# frozen_string_literal: true RSpec.describe Rails::Auth::ACL do let(:example_config) { fixture_path("example_acl.yml").read } let(:example_acl) do described_class.from_yaml( example_config, matchers: { allow_x509_subject: Rails::Auth::X509::Matcher, allow_claims: ClaimsMatcher } ) end describe "#initialize" do it "raises TypeError if given a non-Array ACL type" do expect { described_class.new(:bogus) }.to raise_error(TypeError) end end describe "#match" do it "matches routes against the ACL" do expect(example_acl.match(env_for(:get, "/"))).to eq "allow_all" expect(example_acl.match(env_for(:get, "/foo/bar/baz"))).to eq "allow_claims" expect(example_acl.match(env_for(:get, "/_admin"))).to eq nil end end describe "#matching_resources" do it "finds Rails::Auth::ACL::Resource objects that match the request" do resources = example_acl.matching_resources(env_for(:get, "/foo/bar/baz")) expect(resources.first.path).to eq %r{\A/foo/bar/.*\z} end end end
Version data entries
6 entries across 6 versions & 1 rubygems