mirror of
https://github.com/inspec/inspec
synced 2024-11-26 14:40:26 +00:00
9a561bce54
Signed-off-by: Vasu1105 <vasundhara.jagdale@chef.io>
60 lines
1.9 KiB
Ruby
60 lines
1.9 KiB
Ruby
require "helper"
|
|
require "inspec/dependency_loader"
|
|
|
|
describe "dependency_loader" do
|
|
let(:config_dir_path) { File.expand_path "test/fixtures/config_dirs" }
|
|
let(:gem_list) { [{ name: "inspec-test-fixture", version: "0.1.0" }] }
|
|
|
|
def reset_globals
|
|
ENV["HOME"] = Dir.home
|
|
end
|
|
|
|
before(:each) do
|
|
reset_globals
|
|
ENV["HOME"] = File.join(config_dir_path, "test-fixture-1-float/gems/2.7.0")
|
|
end
|
|
|
|
after(:each) do
|
|
reset_globals
|
|
end
|
|
|
|
let(:gem_path) { [ENV["HOME"]] }
|
|
let(:dependency_loader) { Inspec::DependencyLoader.new(gem_path, gem_list) }
|
|
|
|
describe "load" do
|
|
it "loads the gem dependency if already installed on the given gem path." do
|
|
result = dependency_loader.load
|
|
_(result).must_equal gem_list
|
|
end
|
|
|
|
it "raises error if the gem dependency not exist on the given gem path." do
|
|
dependency_loader.gem_list = [{ name: "test_gem", version: "0.0.1" }]
|
|
err = _ { dependency_loader.load }.must_raise Inspec::GemDependencyLoadError
|
|
_(err.message).must_equal "Unable to resolve dependency: user requested \'test_gem (= 0.0.1)\'"
|
|
end
|
|
end
|
|
|
|
describe "gem_installed?" do
|
|
it "returns the list of gems installed if gem already installed" do
|
|
result = dependency_loader.gem_installed?("inspec-test-fixture")
|
|
_(result).must_equal true
|
|
end
|
|
|
|
it "returns nil if specified gem is not already installed." do
|
|
result = dependency_loader.gem_installed?("test_gem")
|
|
_(result).must_equal false
|
|
end
|
|
end
|
|
|
|
describe "gem_version_installed?" do
|
|
it "returns the list of gems installed if gem with specified version is already installed" do
|
|
result = dependency_loader.gem_version_installed?("inspec-test-fixture", "0.1.0")
|
|
_(result).must_equal true
|
|
end
|
|
|
|
it "returns nil if gem with specified version is not already installed." do
|
|
result = dependency_loader.gem_version_installed?("test_gem", "0.0.1")
|
|
_(result).must_equal false
|
|
end
|
|
end
|
|
end
|