mirror of
https://github.com/inspec/inspec
synced 2025-02-17 06:28:40 +00:00
- Allow users to elide the `name` attributes - Assume a default source of supermarket Fixes #1048 Signed-off-by: Steven Danna <steve@chef.io>
41 lines
1.3 KiB
Ruby
41 lines
1.3 KiB
Ruby
# encoding: utf-8
|
|
# author: Dominik Richter
|
|
# author: Christoph Hartmann
|
|
|
|
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
|
|
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.must_be_kind_of Fetchers::Url
|
|
res.resolved_source.must_equal({url: "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
|