summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJay Mundrawala <jdmundrawala@gmail.com>2015-05-07 09:35:54 -0700
committerJay Mundrawala <jdmundrawala@gmail.com>2015-05-07 09:35:54 -0700
commit03a8b4cc50f02d588e55b2d69e362512170076ac (patch)
tree3040d85af0265b6b1456f50de85a3be56278ed52
parentff8e731efcb4034a2538da7a51d4065afd81db15 (diff)
downloadchef-jdm/smb.tar.gz
Allow unc to have ip addressjdm/smb
-rw-r--r--lib/chef/provider/remote_file/fetcher.rb2
-rw-r--r--spec/unit/provider/remote_file/fetcher_spec.rb17
2 files changed, 14 insertions, 5 deletions
diff --git a/lib/chef/provider/remote_file/fetcher.rb b/lib/chef/provider/remote_file/fetcher.rb
index 91ad11aa34..53bfe9935c 100644
--- a/lib/chef/provider/remote_file/fetcher.rb
+++ b/lib/chef/provider/remote_file/fetcher.rb
@@ -43,7 +43,7 @@ class Chef
def self.network_share?(source)
case source
when String
- !!(%r{\A\\\\[A-Za-z][A-Za-z0-9+\-\.]*} =~ source)
+ !!(%r{\A\\\\[A-Za-z0-9+\-\.]+} =~ source)
else
false
end
diff --git a/spec/unit/provider/remote_file/fetcher_spec.rb b/spec/unit/provider/remote_file/fetcher_spec.rb
index e4d87fa9f0..8bd3b7c625 100644
--- a/spec/unit/provider/remote_file/fetcher_spec.rb
+++ b/spec/unit/provider/remote_file/fetcher_spec.rb
@@ -25,13 +25,22 @@ describe Chef::Provider::RemoteFile::Fetcher do
let(:fetcher_instance) { double("fetcher") }
describe "when passed a network share" do
- let(:source) { "\\\\foohost\\fooshare\\Foo.tar.gz" }
-
before do
expect(Chef::Provider::RemoteFile::NetworkFile).to receive(:new).and_return(fetcher_instance)
end
- it "returns a network file fetcher" do
- expect(described_class.for_resource(source, new_resource, current_resource)).to eq(fetcher_instance)
+
+ context "when host is a name" do
+ let(:source) { "\\\\foohost\\fooshare\\Foo.tar.gz" }
+ it "returns a network file fetcher" do
+ expect(described_class.for_resource(source, new_resource, current_resource)).to eq(fetcher_instance)
+ end
+ end
+
+ context "when host is an ip" do
+ let(:source) { "\\\\127.0.0.1\\fooshare\\Foo.tar.gz" }
+ it "returns a network file fetcher" do
+ expect(described_class.for_resource(source, new_resource, current_resource)).to eq(fetcher_instance)
+ end
end
end