Sha256: d93a88bc0608e4b81bb8dbf0eb29c9fa9c22ade2299cd9b04043a0e5b4e05fba
Contents?: true
Size: 1.62 KB
Versions: 1
Compression:
Stored size: 1.62 KB
Contents
require 'spec_helper' require 'certmeister/policy/blackhole' require 'certmeister/policy/noop' require 'certmeister/policy/chain_all' describe Certmeister::Policy::ChainAll do it "must be configured with a list of policies" do expected_error = "enumerable collection of policies required" expect { Certmeister::Policy::ChainAll.new }.to raise_error(ArgumentError) expect { Certmeister::Policy::ChainAll.new(Certmeister::Policy::Noop.new) }.to raise_error(ArgumentError, expected_error) expect { Certmeister::Policy::ChainAll.new([]) }.to raise_error(ArgumentError, expected_error) end it "demands a request" do policy = Certmeister::Policy::ChainAll.new([Certmeister::Policy::Noop.new]) expect { policy.authenticate }.to raise_error(ArgumentError) end it "authenticates a request that all its chained policies authenticate" do policy = Certmeister::Policy::ChainAll.new([Certmeister::Policy::Noop.new, Certmeister::Policy::Noop.new]) response = policy.authenticate({anything: 'something'}) expect(response).to be_authenticated end it "refuses a request that any one of its chained policies refuses" do refuse_last = Certmeister::Policy::ChainAll.new([ Certmeister::Policy::Noop.new, Certmeister::Policy::Blackhole.new]) refuse_first = Certmeister::Policy::ChainAll.new([ Certmeister::Policy::Blackhole.new, Certmeister::Policy::Noop.new]) policies = [refuse_last, refuse_first] policies.each do |policy| response = policy.authenticate({anything: 'something'}) expect(response).to_not be_authenticated expect(response.error).to eql "blackholed" end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
certmeister-0.4.0 | spec/certmeister/policy/chain_all_spec.rb |