3
require File.dirname(__FILE__) + '/../../../spec_helper'
5
require 'puppet/indirector/certificate/rest'
7
describe Puppet::SSL::Certificate::Rest do
9
@searcher = Puppet::SSL::Certificate::Rest.new
12
it "should be a sublcass of Puppet::Indirector::REST" do
13
Puppet::SSL::Certificate::Rest.superclass.should equal(Puppet::Indirector::REST)
16
it "should set server_setting to :ca_server" do
17
Puppet::SSL::Certificate::Rest.server_setting.should == :ca_server
20
it "should set port_setting to :ca_port" do
21
Puppet::SSL::Certificate::Rest.port_setting.should == :ca_port
24
it "should make sure found certificates have their names set to the search string" do
25
terminus = Puppet::SSL::Certificate::Rest.new
27
# This has 'boo.com' in the CN
28
cert_string = "-----BEGIN CERTIFICATE-----
29
MIICPzCCAaigAwIBAgIBBDANBgkqhkiG9w0BAQUFADAWMRQwEgYDVQQDDAtidWNr
30
eS5sb2NhbDAeFw0wOTA5MTcxNzI1MzJaFw0xNDA5MTYxNzI1MzJaMBIxEDAOBgNV
31
BAMMB2Jvby5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKG9B+DkTCNh
32
F5xHchNDfnbC9NzWKM600oxrr84pgUVAG6B2wAZcdfoEtXszhsY9Jzpwqkvxk4Mx
33
AbYqo9+TCi4UoiH6e+vAKOOJD3DHrlf+/RW4hGtyaI41DBhf4+B4/oFz5PH9mvKe
34
NSfHFI/yPW+1IXYjxKLQNwF9E7q3JbnzAgMBAAGjgaAwgZ0wOAYJYIZIAYb4QgEN
35
BCsWKVB1cHBldCBSdWJ5L09wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMAwG
36
A1UdEwEB/wQCMAAwHQYDVR0OBBYEFJOxEUeyf4cNOBmf9zIaE1JTuNdLMAsGA1Ud
37
DwQEAwIFoDAnBgNVHSUEIDAeBggrBgEFBQcDAQYIKwYBBQUHAwIGCCsGAQUFBwME
38
MA0GCSqGSIb3DQEBBQUAA4GBAFTJxKprMg6tfhGnvEvURPmlJrINn9c2b5Y4AGYp
39
tO86PFFkWw/EIJvvJzbj3s+Butr+eUo//+f1xxX7UCwwGqGxKqjtVS219oU/wkx8
40
h7rW4Xk7MrLl0auSS1p4wLcAMm+ZImf94+j8Cj+tkr8eGozZceRV13b8+EkdaE3S
42
-----END CERTIFICATE-----
45
network = stub 'network'
46
terminus.stubs(:network).returns network
48
response = stub 'response', :code => "200", :body => cert_string
49
response.stubs(:[]).with('content-type').returns "text/plain"
50
network.expects(:get).returns response
52
request = Puppet::Indirector::Request.new(:certificate, :find, "foo.com")
53
result = terminus.find(request)
54
result.should_not be_nil
55
result.name.should == "foo.com"