Because?

I thought I actually did that;  I'll fix it and repush, but not resend.

On Sep 18, 2009, at 12:46 PM, Markus Roberts wrote:

> +1
>
> But why not just:
>
>     def find(request)
>         if result = super
>             result.name = request.key
>             result
>         end
>     end
>
>
> On Fri, Sep 18, 2009 at 12:25 PM, Luke Kanies <[email protected]>  
> wrote:
>
> This allows us to search for a cert, and we use the searched-for
> term as the cert name (for the wrapper, not the actual cert object),
> rather than the real cert name.
>
> This allows us to use symbolic names like 'ca', as we're currently  
> doing.
>
> Signed-off-by: Luke Kanies <[email protected]>
> ---
>  lib/puppet/indirector/certificate/rest.rb       |    6 ++++
>  spec/integration/indirector/certificate/rest.rb |    4 ++-
>  spec/unit/indirector/certificate/rest.rb        |   34 +++++++++++++ 
> ++++++++++
>  3 files changed, 43 insertions(+), 1 deletions(-)
>
> diff --git a/lib/puppet/indirector/certificate/rest.rb b/lib/puppet/ 
> indirector/certificate/rest.rb
> index 5999830..6f47c25 100644
> --- a/lib/puppet/indirector/certificate/rest.rb
> +++ b/lib/puppet/indirector/certificate/rest.rb
> @@ -6,4 +6,10 @@ class Puppet::SSL::Certificate::Rest <  
> Puppet::Indirector::REST
>
>     use_server_setting(:ca_server)
>     use_port_setting(:ca_port)
> +
> +    def find(request)
> +        return nil unless result = super
> +        result.name = request.key unless result.name == request.key
> +        result
> +    end
>  end
> diff --git a/spec/integration/indirector/certificate/rest.rb b/spec/ 
> integration/indirector/certificate/rest.rb
> index 3ebd1e5..71ef443 100755
> --- a/spec/integration/indirector/certificate/rest.rb
> +++ b/spec/integration/indirector/certificate/rest.rb
> @@ -64,6 +64,8 @@ describe "Certificate REST Terminus" do
>
>         # There's no good '==' method on certs.
>         result.content.to_s.should == @host.certificate.content.to_s
> -        result.name.should == @host.certificate.name
> +
> +        # also make sure it uses the provided name, rather than the  
> internal one.
> +        result.name.should == "bar"
>     end
>  end
> diff --git a/spec/unit/indirector/certificate/rest.rb b/spec/unit/ 
> indirector/certificate/rest.rb
> index d5959c4..a325754 100755
> --- a/spec/unit/indirector/certificate/rest.rb
> +++ b/spec/unit/indirector/certificate/rest.rb
> @@ -20,4 +20,38 @@ describe Puppet::SSL::Certificate::Rest do
>     it "should set port_setting to :ca_port" do
>         Puppet::SSL::Certificate::Rest.port_setting.should == :ca_port
>     end
> +
> +    it "should make sure found certificates have their names set to  
> the search string" do
> +        terminus = Puppet::SSL::Certificate::Rest.new
> +
> +        # This has 'boo.com' in the CN
> +        cert_string = "-----BEGIN CERTIFICATE-----
> +MIICPzCCAaigAwIBAgIBBDANBgkqhkiG9w0BAQUFADAWMRQwEgYDVQQDDAtidWNr
> +eS5sb2NhbDAeFw0wOTA5MTcxNzI1MzJaFw0xNDA5MTYxNzI1MzJaMBIxEDAOBgNV
> +BAMMB2Jvby5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKG9B+DkTCNh
> +F5xHchNDfnbC9NzWKM600oxrr84pgUVAG6B2wAZcdfoEtXszhsY9Jzpwqkvxk4Mx
> +AbYqo9+TCi4UoiH6e+vAKOOJD3DHrlf+/RW4hGtyaI41DBhf4+B4/oFz5PH9mvKe
> +NSfHFI/yPW+1IXYjxKLQNwF9E7q3JbnzAgMBAAGjgaAwgZ0wOAYJYIZIAYb4QgEN
> +BCsWKVB1cHBldCBSdWJ5L09wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMAwG
> +A1UdEwEB/wQCMAAwHQYDVR0OBBYEFJOxEUeyf4cNOBmf9zIaE1JTuNdLMAsGA1Ud
> +DwQEAwIFoDAnBgNVHSUEIDAeBggrBgEFBQcDAQYIKwYBBQUHAwIGCCsGAQUFBwME
> +MA0GCSqGSIb3DQEBBQUAA4GBAFTJxKprMg6tfhGnvEvURPmlJrINn9c2b5Y4AGYp
> +tO86PFFkWw/EIJvvJzbj3s+Butr+eUo//+f1xxX7UCwwGqGxKqjtVS219oU/wkx8
> +h7rW4Xk7MrLl0auSS1p4wLcAMm+ZImf94+j8Cj+tkr8eGozZceRV13b8+EkdaE3S
> +rn/G
> +-----END CERTIFICATE-----
> +"
> +
> +        network = stub 'network'
> +        terminus.stubs(:network).returns network
> +
> +        response = stub 'response', :code => "200", :body =>  
> cert_string
> +        response.stubs(:[]).with('content-type').returns "text/plain"
> +        network.expects(:get).returns response
> +
> +        request =  
> Puppet::Indirector::Request.new(:certificate, :find, "foo.com")
> +        result = terminus.find(request)
> +        result.should_not be_nil
> +        result.name.should == "foo.com"
> +    end
>  end
> --
> 1.6.1
>
>
>
>
>
> >


-- 
It is dangerous to be right when the government is wrong.
     -- Voltaire
---------------------------------------------------------------------
Luke Kanies | http://reductivelabs.com | http://madstop.com


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

Reply via email to