summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/puppet/configurer/downloader.rb2
-rwxr-xr-xspec/integration/configurer.rb18
-rwxr-xr-xspec/unit/configurer/downloader.rb8
3 files changed, 26 insertions, 2 deletions
diff --git a/lib/puppet/configurer/downloader.rb b/lib/puppet/configurer/downloader.rb
index 9653c3a58..7409fca64 100644
--- a/lib/puppet/configurer/downloader.rb
+++ b/lib/puppet/configurer/downloader.rb
@@ -56,7 +56,7 @@ class Puppet::Configurer::Downloader
def file
args = default_arguments.merge(:path => path, :source => source)
- args[:ignore] = ignore if ignore
+ args[:ignore] = ignore.split if ignore
Puppet::Type.type(:file).new(args)
end
diff --git a/spec/integration/configurer.rb b/spec/integration/configurer.rb
new file mode 100755
index 000000000..3bea0ead4
--- /dev/null
+++ b/spec/integration/configurer.rb
@@ -0,0 +1,18 @@
+#!/usr/bin/env ruby
+
+require File.dirname(__FILE__) + '/../spec_helper'
+
+require 'puppet/configurer'
+
+describe Puppet::Configurer do
+ describe "when downloading plugins" do
+ it "should use the :pluginsignore setting, split on whitespace, for ignoring remote files" do
+ resource = Puppet::Type.type(:notify).new :name => "yay"
+ Puppet::Type.type(:file).expects(:new).with { |args| args[:ignore] == Puppet[:pluginsignore].split(/\s+/) }.returns resource
+
+ configurer = Puppet::Configurer.new
+ configurer.stubs(:download_plugins?).returns true
+ configurer.download_plugins
+ end
+ end
+end
diff --git a/spec/unit/configurer/downloader.rb b/spec/unit/configurer/downloader.rb
index bc23574f2..80de8db48 100755
--- a/spec/unit/configurer/downloader.rb
+++ b/spec/unit/configurer/downloader.rb
@@ -82,10 +82,16 @@ describe Puppet::Configurer::Downloader do
end
it "should support providing an 'ignore' parameter" do
- Puppet::Type.type(:file).expects(:new).with { |opts| opts[:ignore] == ".svn" }
+ Puppet::Type.type(:file).expects(:new).with { |opts| opts[:ignore] == [".svn"] }
@dler = Puppet::Configurer::Downloader.new("foo", "path", "source", ".svn")
@dler.file
end
+
+ it "should split the 'ignore' parameter on whitespace" do
+ Puppet::Type.type(:file).expects(:new).with { |opts| opts[:ignore] == %w{.svn CVS} }
+ @dler = Puppet::Configurer::Downloader.new("foo", "path", "source", ".svn CVS")
+ @dler.file
+ end
end
describe "when creating the catalog to do the downloading" do