Sha256: f8f86bf37d9110a4c7ec84a1189eaeee9403fb04aac85640c19fdb5469e62edf

Contents?: true

Size: 1.59 KB

Versions: 5

Compression:

Stored size: 1.59 KB

Contents

module Certmeister

  module Test
    
    module MemoryStoreInterface

      def it_behaves_like_a_certmeister_store
        
        it "stores certificates by CN (common name)" do
          pem = File.read('fixtures/client.crt')
          subject.store('axl.hetzner.africa', pem)
          expect(subject.fetch('axl.hetzner.africa')).to eql pem
        end

        it "returns nil when fetching non-existent CN" do
          expect(subject.fetch('axl.hetzner.africa')).to be_nil
        end

        it "is not concerned with validating certificates" do
          expect { subject.store('axl.hetzner.africa', "nonsense") }.to_not raise_error
        end

        it "overwrites an existing certificate if one exists" do
          subject.store('axl.hetzner.africa', "first")
          subject.store('axl.hetzner.africa', "second")
          expect(subject.fetch('axl.hetzner.africa')).to eql "second"
        end

        it "deletes certificates by CN (common name)" do
          subject.store('axl.hetzner.africa', "cert")
          expect(subject.remove('axl.hetzner.africa')).to be true
          expect(subject.fetch('axl.hetzner.africa')).to be_nil
        end

        it "returns false when removing a non-existent CN" do
          expect(subject.remove('axl.hetzner.africa')).to be false
        end

        it "returns true from health_check when healthy" do
          expect(subject.health_check).to be true
        end

        it "returns false from health_check when not healthy" do
          subject.send(:break!)
          expect(subject.health_check).to be false
        end

      end

    end

  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
certmeister-1.2.1 lib/certmeister/test/memory_store_interface.rb
certmeister-1.2.0 lib/certmeister/test/memory_store_interface.rb
certmeister-1.1.0 lib/certmeister/test/memory_store_interface.rb
certmeister-1.0.1 lib/certmeister/test/memory_store_interface.rb
certmeister-1.0.0 lib/certmeister/test/memory_store_interface.rb