inspec/test/unit/profiles/library_eval_context_test.rb
Ryan Davis 99ded5a132 Improve test expressiveness by using more direct assertions.
Signed-off-by: Ryan Davis <zenspider@chef.io>
2020-02-03 13:18:56 -08:00

41 lines
1.1 KiB
Ruby

require "helper"
require "inspec/library_eval_context"
describe Inspec::LibraryEvalContext do
let(:resource_content) do
<<~EOF
class MyTestResource < Inspec.resource(1)
name 'my_test_resource'
desc 'A test description'
example 'Forgot to write docs, sorry'
def version
'2.0'
end
end
EOF
end
let(:registry) { Inspec::Resource.new_registry }
let(:eval_context) { Inspec::LibraryEvalContext.create(registry, nil) }
it "accepts a registry" do
Inspec::LibraryEvalContext.create(registry, nil)
end
it "adds the resource to our registry" do
eval_context.instance_eval(resource_content)
_(registry.keys).must_include "my_test_resource"
end
it "adds nothing to the default registry" do
old_default_registry = Inspec::Resource.default_registry.dup
eval_context.instance_eval(resource_content)
_(old_default_registry).must_equal Inspec::Resource.default_registry
end
it "provides an inspec context for requiring local files" do
_(eval_context.__inspec_binding).must_be_kind_of Binding
end
end