Sha256: aef47065d7e4b407ffb1466e16ed6d66528f1b16adca693cea0d1de27f123307

Contents?: true

Size: 921 Bytes

Versions: 10

Compression:

Stored size: 921 Bytes

Contents

RSpec.describe Rails::Auth::X509::Matcher do
  let(:example_cert)        { OpenSSL::X509::Certificate.new(cert_path("valid.crt").read) }
  let(:example_certificate) { Rails::Auth::X509::Certificate.new(example_cert) }

  let(:example_ou) { "ponycopter" }
  let(:another_ou) { "somethingelse" }

  let(:example_env) do
    { Rails::Auth::CREDENTIALS_ENV_KEY => { "x509" => example_certificate } }
  end

  describe "#match" do
    it "matches against a valid Rails::Auth::X509::Credential" do
      matcher = described_class.new(ou: example_ou)
      expect(matcher.match(example_env)).to eq true
    end

    it "doesn't match if the subject mismatches" do
      matcher = described_class.new(ou: another_ou)
      expect(matcher.match(example_env)).to eq false
    end
  end

  it "knows its attributes" do
    matcher = described_class.new(ou: example_ou)
    expect(matcher.attributes).to eq(ou: example_ou)
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
rails-auth-1.3.0 spec/rails/auth/x509/matcher_spec.rb
rails-auth-1.2.0 spec/rails/auth/x509/matcher_spec.rb
rails-auth-1.1.0 spec/rails/auth/x509/matcher_spec.rb
rails-auth-1.0.0 spec/rails/auth/x509/matcher_spec.rb
rails-auth-0.5.3 spec/rails/auth/x509/matcher_spec.rb
rails-auth-0.5.2 spec/rails/auth/x509/matcher_spec.rb
rails-auth-0.5.1 spec/rails/auth/x509/matcher_spec.rb
rails-auth-0.5.0 spec/rails/auth/x509/matcher_spec.rb
rails-auth-0.4.1 spec/rails/auth/x509/matcher_spec.rb
rails-auth-0.4.0 spec/rails/auth/x509/matcher_spec.rb