From 03a8b4cc50f02d588e55b2d69e362512170076ac Mon Sep 17 00:00:00 2001 From: Jay Mundrawala Date: Thu, 7 May 2015 09:35:54 -0700 Subject: Allow unc to have ip address --- lib/chef/provider/remote_file/fetcher.rb | 2 +- spec/unit/provider/remote_file/fetcher_spec.rb | 17 +++++++++++++---- 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 -- cgit v1.2.1