X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=3rdparty%2Fmodules%2Farchive%2Fspec%2Funit%2Fpuppet%2Fprovider%2Farchive%2Fcurl_spec.rb;fp=3rdparty%2Fmodules%2Farchive%2Fspec%2Funit%2Fpuppet%2Fprovider%2Farchive%2Fcurl_spec.rb;h=0000000000000000000000000000000000000000;hb=f89d8091bbf5a7bd8f86ee80abb03c729cea8d74;hp=c06aa41331c78bc8e53569db6a9fdfa181a3cb19;hpb=ce70d6baf887ae03a2a6a7f5e73eb2e2c3dea208;p=mirror%2Fdsa-puppet.git diff --git a/3rdparty/modules/archive/spec/unit/puppet/provider/archive/curl_spec.rb b/3rdparty/modules/archive/spec/unit/puppet/provider/archive/curl_spec.rb deleted file mode 100644 index c06aa4133..000000000 --- a/3rdparty/modules/archive/spec/unit/puppet/provider/archive/curl_spec.rb +++ /dev/null @@ -1,172 +0,0 @@ -require 'spec_helper' - -curl_provider = Puppet::Type.type(:archive).provider(:curl) - -RSpec.describe curl_provider do - it_behaves_like 'an archive provider', curl_provider - - describe '#download' do - let(:name) { '/tmp/example.zip' } - let(:resource) { Puppet::Type::Archive.new(resource_properties) } - let(:provider) { curl_provider.new(resource) } - - let(:default_options) do - [ - 'http://home.lan/example.zip', - '-o', - String, - '-fsSLg', - '--max-redirs', - 5 - ] - end - - before do - allow(FileUtils).to receive(:mv) - allow(provider).to receive(:curl) - end - - context 'no extra properties specified' do - let(:resource_properties) do - { - name: name, - source: 'http://home.lan/example.zip' - } - end - - it 'calls curl with input, output and --max-redirects=5' do - provider.download(name) - expect(provider).to have_received(:curl).with(default_options) - end - end - - context 'username specified' do - let(:resource_properties) do - { - name: name, - source: 'http://home.lan/example.zip', - username: 'foo' - } - end - - it 'calls curl with default options and username' do - provider.download(name) - expect(provider).to have_received(:curl).with(default_options << '--user' << 'foo') - end - end - - context 'username and password specified' do - let(:resource_properties) do - { - name: name, - source: 'http://home.lan/example.zip', - username: 'foo', - password: 'bar' - } - end - - it 'calls curl with default options and password' do - provider.download(name) - expect(provider).to have_received(:curl).with(default_options << '--user' << 'foo:bar') - end - end - - context 'allow_insecure true' do - let(:resource_properties) do - { - name: name, - source: 'http://home.lan/example.zip', - allow_insecure: true - } - end - - it 'calls curl with default options and --insecure' do - provider.download(name) - expect(provider).to have_received(:curl).with(default_options << '--insecure') - end - end - - context 'cookie specified' do - let(:resource_properties) do - { - name: name, - source: 'http://home.lan/example.zip', - cookie: 'foo=bar' - } - end - - it 'calls curl with default options cookie' do - provider.download(name) - expect(provider).to have_received(:curl).with(default_options << '--cookie' << 'foo=bar') - end - end - - context 'using proxy' do - let(:resource_properties) do - { - name: name, - source: 'http://home.lan/example.zip', - proxy_server: 'https://home.lan:8080' - } - end - - it 'calls curl with proxy' do - provider.download(name) - expect(provider).to have_received(:curl).with(default_options << '--proxy' << 'https://home.lan:8080') - end - end - - describe '#checksum' do - subject { provider.checksum } - - let(:url) { nil } - let(:resource_properties) do - { - name: name, - source: 'http://home.lan/example.zip' - } - end - - before do - resource[:checksum_url] = url if url - end - - context 'with a url' do - let(:curl_params) do - [ - 'http://example.com/checksum', - '-fsSLg', - '--max-redirs', - 5 - ] - end - - let(:url) { 'http://example.com/checksum' } - - context 'responds with hash' do - let(:remote_hash) { 'a0c38e1aeb175201b0dacd65e2f37e187657050a' } - - it 'parses checksum value' do - allow(provider).to receive(:curl).with(curl_params).and_return("a0c38e1aeb175201b0dacd65e2f37e187657050a README.md\n") - expect(provider.checksum).to eq('a0c38e1aeb175201b0dacd65e2f37e187657050a') - end - end - end - end - - describe 'custom options' do - let(:resource_properties) do - { - name: name, - source: 'http://home.lan/example.zip', - download_options: ['--tlsv1'] - } - end - - it 'calls curl with custom tls options' do - provider.download(name) - expect(provider).to have_received(:curl).with(default_options << '--tlsv1') - end - end - end -end