Merge pull request #384 from cyberious/HttpBasicAuthentication

MODULES-1119 Fixed to now have username and passwords passed in again
This commit is contained in:
Morgan Haskel 2014-11-21 11:52:45 -05:00
commit 1e7cef8429
2 changed files with 13 additions and 4 deletions

View file

@ -108,12 +108,13 @@ Puppet::Type.type(:apt_key).provide(:apt_key) do
end
def source_to_file(value)
if URI::parse(value).scheme.nil?
parsedValue = URI::parse(value)
if parsedValue.scheme.nil?
fail("The file #{value} does not exist") unless File.exists?(value)
value
else
begin
key = open(value, :ftp_active_mode => false).read
key = parsedValue.read
rescue OpenURI::HTTPError, Net::FTPPermError => e
fail("#{e.message} for #{resource[:source]}")
rescue SocketError
@ -158,6 +159,7 @@ Puppet::Type.type(:apt_key).provide(:apt_key) do
end
def destroy
#Currently del only removes the first key, we need to recursively list and ensure all with id are absent.
apt_key('del', resource[:id])
@property_hash.clear
end

View file

@ -82,7 +82,7 @@ describe Puppet::Type::type(:apt_key) do
resource[:source].should eq 'http://apt.puppetlabs.com/pubkey.gpg'
end
end
context 'with content' do
let(:resource) { Puppet::Type.type(:apt_key).new(
:id => '4BD6EC30',
@ -93,7 +93,7 @@ describe Puppet::Type::type(:apt_key) do
resource[:content].should eq 'http://apt.puppetlabs.com/pubkey.gpg'
end
end
context 'with keyserver' do
let(:resource) { Puppet::Type.type(:apt_key).new(
:id => '4BD6EC30',
@ -143,6 +143,13 @@ describe Puppet::Type::type(:apt_key) do
)}.to_not raise_error
end
it 'allows the https URI with username and password' do
expect { Puppet::Type.type(:apt_key).new(
:id => '4BD6EC30',
:source => 'https://testme:Password2@pgp.mit.edu'
)}.to_not raise_error
end
it 'allows the ftp URI scheme in source' do
expect { Puppet::Type.type(:apt_key).new(
:id => '4BD6EC30',