Btw, it's far easier (and standard practice on the list) to top-reply
for responses to code, given how long the code usually is.

-- 
http://puppetlabs.com/ | +1-615-594-8199 | @puppetmasterd

On Sep 23, 2010, at 16:19, Jacob Helwig <ja...@puppetlabs.com> wrote:

> On Thu, 23 Sep 2010 16:16:52 -0700, Jeff McCune wrote:
>> Date: Thu, 23 Sep 2010 16:16:52 -0700
>> From: Jeff McCune <j...@puppetlabs.com>
>> To: "puppet-dev@googlegroups.com" <puppet-dev@googlegroups.com>
>> Subject: Re: [Puppet-dev] [PATCH/puppet 1/2] Port
>> Puppet::SSLCertificates::CA
>> test to rspec
>> Message-ID: <7102529324421586...@unknownmsgid>
>>
>> So now that it's +1, but no longer my branch, what's the process?  Should I
>> update the ticket, or Jacob, or does someone else update the ticket?
>>
>> --
>> Jeff McCune - (+1-503-208-4484)
>>
>> On Sep 23, 2010, at 4:13 PM, Nick Lewis <n...@puppetlabs.com> wrote:
>>
>> +1
>>
>> On Thu, Sep 23, 2010 at 4:04 PM, Jacob Helwig <ja...@puppetlabs.com> wrote:
>>
>>> Signed-off-by: Jacob Helwig <ja...@puppetlabs.com>
>>> ---
>>> spec/unit/sslcertificates/ca_spec.rb |   99
>>> ++++++++++++++++++++++++++++++++++
>>> test/certmgr/ca.rb                   |   87 -----------------------------
>>> 2 files changed, 99 insertions(+), 87 deletions(-)
>>> create mode 100644 spec/unit/sslcertificates/ca_spec.rb
>>> delete mode 100755 test/certmgr/ca.rb
>>>
>>> diff --git a/spec/unit/sslcertificates/ca_spec.rb
>>> b/spec/unit/sslcertificates/ca_spec.rb
>>> new file mode 100644
>>> index 0000000..aa7e25f
>>> --- /dev/null
>>> +++ b/spec/unit/sslcertificates/ca_spec.rb
>>> @@ -0,0 +1,99 @@
>>> +#!/usr/bin/env ruby
>>> +
>>> +require File.dirname(__FILE__) + '/../../spec_helper'
>>> +require 'puppet'
>>> +require 'puppet/sslcertificates'
>>> +require 'puppet/sslcertificates/ca'
>>> +
>>> +describe Puppet::SSLCertificates::CA do
>>> +  before :all do
>>> +    @hosts = %w{host.domain.com Other.Testing.Com}
>>> +  end
>>> +
>>> +  before :each do
>>> +    Puppet::Util::SUIDManager.stubs(:asuser).yields
>>> +    file = Tempfile.new("ca_testing")
>>> +    @dir = file.path
>>> +    file.delete
>>> +
>>> +    Puppet.settings[:confdir] = @dir
>>> +    Puppet.settings[:vardir]  = @dir
>>> +
>>> +    @ca = Puppet::SSLCertificates::CA.new
>>> +  end
>>> +
>>> +  after :each do
>>> +    system("rm -rf #...@dir}")
>>> +  end
>>> +
>>> +  describe 'when cleaning' do
>>> +    it 'should remove associated files' do
>>> +      dirs = [:csrdir, :signeddir, :publickeydir, :privatekeydir,
>>> :certdir]
>>> +
>>> +      @hosts.each do |host|
>>> +        files = []
>>> +        dirs.each do |dir|
>>> +          dir = Puppet[dir]
>>> +
>>> +          # Case insensitivity is handled through downcasing
>>> +          file = File.join(dir, host.downcase + '.pem')
>>> +
>>> +          File.open(file, "w") do |f|
>>> +            f.puts "testing"
>>> +          end
>>> +
>>> +          files << file
>>> +        end
>>> +
>>> +        lambda { @ca.clean(host) }.should_not raise_error
>>> +
>>> +        files.reject {|f| ! File.exists?(f)}.should be_empty
>>> +      end
>>> +    end
>>> +  end
>>> +
>>> +  describe 'when mapping hosts to files' do
>>> +    it 'should correctly return the certfile' do
>>> +      @hosts.each do |host|
>>> +        value = nil
>>> +        lambda { value = @ca.host2certfile host }.should_not raise_error
>>> +
>>> +        File.join(Puppet[:signeddir], host.downcase + '.pem').should ==
>>> value
>>> +      end
>>> +    end
>>> +
>>> +    it 'should correctly return the csrfile' do
>>> +      @hosts.each do |host|
>>> +        value = nil
>>> +        lambda { value = @ca.host2csrfile host }.should_not raise_error
>>> +
>>> +        File.join(Puppet[:csrdir], host.downcase + '.pem').should == value
>>> +      end
>>> +    end
>>> +  end
>>> +
>>> +  describe 'when listing' do
>>> +    it 'should find all csr' do
>>> +      list = []
>>> +
>>> +      # Make some fake CSRs
>>> +      @hosts.each do |host|
>>> +        file = File.join(Puppet[:csrdir], host.downcase + '.pem')
>>> +        File.open(file, 'w') { |f| f.puts "yay" }
>>> +        list << host.downcase
>>> +      end
>>> +
>>> +      @ca.list.sort.should == list.sort
>>> +    end
>>> +  end
>>> +
>>> +  describe 'when creating a root certificate' do
>>> +    before :each do
>>> +      lambda { @ca.mkrootcert }.should_not raise_exception
>>> +    end
>>> +
>>> +    it 'should store the public key' do
>>> +      File.exists?(Puppet[:capub]).should be_true
>>> +    end
>>> +  end
>>> +end
>>> diff --git a/test/certmgr/ca.rb b/test/certmgr/ca.rb
>>> deleted file mode 100755
>>> index 7e0498d..0000000
>>> --- a/test/certmgr/ca.rb
>>> +++ /dev/null
>>> @@ -1,87 +0,0 @@
>>> -#!/usr/bin/env ruby
>>> -
>>> -require File.dirname(__FILE__) + '/../lib/puppettest'
>>> -
>>> -require 'puppet'
>>> -require 'puppet/sslcertificates/ca.rb'
>>> -require 'puppettest'
>>> -require 'puppettest/certificates'
>>> -require 'mocha'
>>> -
>>> -class TestCA < Test::Unit::TestCase
>>> -  include PuppetTest
>>> -
>>> -  def setup
>>> -    super
>>> -    Puppet::Util::SUIDManager.stubs(:asuser).yields
>>> -  end
>>> -
>>> -  def hosts
>>> -    %w{host.domain.com Other.Testing.Com}
>>> -  end
>>> -  def mkca
>>> -    Puppet::SSLCertificates::CA.new
>>> -  end
>>> -
>>> -  def test_clean
>>> -    dirs = [:csrdir, :signeddir, :publickeydir, :privatekeydir, :certdir]
>>> -    ca = mkca
>>> -
>>> -    hosts.each do |host|
>>> -      files = []
>>> -      dirs.each do |dir|
>>> -        dir = Puppet[dir]
>>> -        # We handle case insensitivity through downcasing
>>> -        file = File.join(dir, host.downcase + ".pem")
>>> -        File.open(file, "w") do |f|
>>> -          f.puts "testing"
>>> -        end
>>> -        files << file
>>> -      end
>>> -      assert_nothing_raised do
>>> -        ca.clean(host)
>>> -      end
>>> -      files.each do |f|
>>> -        assert(! FileTest.exists?(f), "File #{f} was not deleted")
>>> -      end
>>> -    end
>>> -  end
>>> -
>>> -  def test_host2Xfile
>>> -    ca = mkca
>>> -    hosts.each do |host|
>>> -      {:signeddir => :host2certfile, :csrdir => :host2csrfile}.each do
>>> |dir, method|
>>> -        val = nil
>>> -        assert_nothing_raised do
>>> -          val = ca.send(method, host)
>>> -        end
>>> -        assert_equal(File.join(Puppet[dir], host.downcase + ".pem"), val,
>>> -          "incorrect response from #{method}")
>>> -      end
>>> -    end
>>> -  end
>>> -
>>> -  def test_list
>>> -    ca = mkca
>>> -    # Make a fake csr
>>> -    dir = Puppet[:csrdir]
>>> -    list = []
>>> -    hosts.each do |host|
>>> -      file = File.join(dir, host.downcase + ".pem")
>>> -      File.open(file, "w") { |f| f.puts "yay" }
>>> -      list << host.downcase
>>> -    end
>>> -
>>> -    assert_equal(list.sort, ca.list.sort, "list was not correct")
>>> -  end
>>> -
>>> -  # #142 - test storing the public key
>>> -  def test_store_public_key
>>> -    ca = mkca
>>> -    assert_nothing_raised do
>>> -      ca.mkrootcert
>>> -    end
>>> -    assert(FileTest.exists?(Puppet[:capub]), "did not store public key")
>>> -  end
>>> -end
>>> -
>>> --
>>> 1.7.3
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups
>>> "Puppet Developers" group.
>>> To post to this group, send email to puppet-...@googlegroups.com.
>>> To unsubscribe from this group, send email to
>>> puppet-dev+unsubscr...@googlegroups.com<puppet-dev%2bunsubscr...@googlegroups.com>
>>> .
>>> For more options, visit this group at
>>> http://groups.google.com/group/puppet-dev?hl=en.
>>>
>>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Puppet Developers" group.
>> To post to this group, send email to puppet-...@googlegroups.com.
>> To unsubscribe from this group, send email to
>> puppet-dev+unsubscr...@googlegroups.com.
>> For more options, visit this group at
>> http://groups.google.com/group/puppet-dev?hl=en.
>>
>> --
>> You received this message because you are subscribed to the Google Groups 
>> "Puppet Developers" group.
>> To post to this group, send email to puppet-...@googlegroups.com.
>> To unsubscribe from this group, send email to 
>> puppet-dev+unsubscr...@googlegroups.com.
>> For more options, visit this group at 
>> http://groups.google.com/group/puppet-dev?hl=en.
>>
>
> I'm not sure what "the process" is, but I'll just go ahead, and update
> the ticket.
>
> --
> Jacob Helwig

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To post to this group, send email to puppet-...@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-dev+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en.

Reply via email to