inspec/test/unit/fetchers/fetchers_test.rb
Ryan Davis 07dc5e3192 First pass at cleaning deprecations for old minitest/spec-style tests.
3 files left to go, and they're behaving oddly so I'm leaving them out
in this pass. Looks like 21 deprecations left.

Signed-off-by: Ryan Davis <zenspider@chef.io>
2019-10-03 13:45:19 -07:00

45 lines
1.4 KiB
Ruby

require "helper"
require "bundles/inspec-supermarket/target"
require "bundles/inspec-supermarket/api"
describe "Inspec::Fetcher" do
it "loads the local fetcher for this file" do
res = Inspec::Fetcher.resolve(__FILE__)
_(res).must_be_kind_of Fetchers::Local
end
describe "without a source specified" do
let(:mock_open) do
m = Minitest::Mock.new
m.expect :meta, { "content-type" => "application/gzip" }
m.expect :read, "fake content"
m
end
before do
Supermarket::API.expects(:exist?).returns(true)
Supermarket::API.expects(:find).returns({ "tool_source_url" => "http://mock-url" })
end
it "defaults to supermarket if only a name is given" do
res = Inspec::Fetcher.resolve({ name: "mock/test-profile" })
res.expects(:open).returns(mock_open)
_(res).must_be_kind_of Fetchers::Url
_(res.resolved_source[:url]).must_equal("http://mock-url")
end
it "ignores keys that might have come along for the ride" do
res = Inspec::Fetcher.resolve({ name: "mock/test-profile", cwd: "/tmp/inspec-test", cache: "ancache", backend: "test-backend" })
_(res).must_be_kind_of Fetchers::Url
end
end
it "is able to handle Windows paths" do
# simulate a local windows path
file = __FILE__
file.tr!("/", '\\')
res = Inspec::Fetcher.resolve(file)
_(res).must_be_kind_of Fetchers::Local
_(res.target).must_equal __FILE__
end
end