diff options
-rw-r--r-- | lib/puppet/ssl/certificate.rb | 5 | ||||
-rwxr-xr-x | spec/unit/ssl/certificate.rb | 15 |
2 files changed, 20 insertions, 0 deletions
diff --git a/lib/puppet/ssl/certificate.rb b/lib/puppet/ssl/certificate.rb index 4887708f8..16af85d06 100644 --- a/lib/puppet/ssl/certificate.rb +++ b/lib/puppet/ssl/certificate.rb @@ -11,4 +11,9 @@ class Puppet::SSL::Certificate < Puppet::SSL::Base extend Puppet::Indirector indirects :certificate, :terminus_class => :file + + def expiration + return nil unless content + return content.not_after + end end diff --git a/spec/unit/ssl/certificate.rb b/spec/unit/ssl/certificate.rb index a30591946..1cb164d3f 100755 --- a/spec/unit/ssl/certificate.rb +++ b/spec/unit/ssl/certificate.rb @@ -38,6 +38,21 @@ describe Puppet::SSL::Certificate do @certificate.should respond_to(:content) end + it "should return a nil expiration if there is no actual certificate" do + @certificate.stubs(:content).returns nil + + @certificate.expiration.should be_nil + end + + it "should use the expiration of the certificate as its expiration date" do + cert = stub 'cert' + @certificate.stubs(:content).returns cert + + cert.expects(:not_after).returns "sometime" + + @certificate.expiration.should == "sometime" + end + it "should be able to read certificates from disk" do path = "/my/path" File.expects(:read).with(path).returns("my certificate") |