1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
require 'spec_helper'
require 'puppet/ssl/certificate_request'
describe Puppet::SSL::CertificateRequest do
include PuppetSpec::Files
before do
# Get a safe temporary file
dir = tmpdir("csr_integration_testing")
Puppet.settings[:confdir] = dir
Puppet.settings[:vardir] = dir
Puppet::SSL::Host.ca_location = :none
@csr = Puppet::SSL::CertificateRequest.new("luke.madstop.com")
@key = OpenSSL::PKey::RSA.new(512)
# This is necessary so the terminus instances don't lie around.
Puppet::SSL::CertificateRequest.indirection.termini.clear
end
it "should be able to generate CSRs" do
@csr.generate(@key)
end
it "should be able to save CSRs" do
Puppet::SSL::CertificateRequest.indirection.save(@csr)
end
it "should be able to find saved certificate requests via the Indirector" do
@csr.generate(@key)
Puppet::SSL::CertificateRequest.indirection.save(@csr)
expect(Puppet::SSL::CertificateRequest.indirection.find("luke.madstop.com")).to be_instance_of(Puppet::SSL::CertificateRequest)
end
it "should save the completely CSR when saving" do
@csr.generate(@key)
Puppet::SSL::CertificateRequest.indirection.save(@csr)
expect(Puppet::SSL::CertificateRequest.indirection.find("luke.madstop.com").content.to_s).to eq(@csr.content.to_s)
end
end
|