mirror of
https://github.com/inspec/inspec
synced 2024-11-10 15:14:23 +00:00
add tests for resource plugin
This commit is contained in:
parent
0acd926dbd
commit
ca5f7b822b
1 changed files with 60 additions and 0 deletions
60
test/unit/plugins/resource_test.rb
Normal file
60
test/unit/plugins/resource_test.rb
Normal file
|
@ -0,0 +1,60 @@
|
|||
require 'helper'
|
||||
|
||||
describe Inspec::Plugins::Resource do
|
||||
let(:base) { Inspec::Plugins::Resource }
|
||||
|
||||
describe '#name' do
|
||||
it "won't register a nil resource" do
|
||||
Class.new(base) do name nil; end
|
||||
Inspec::Resource.registry.keys.wont_include nil
|
||||
Inspec::Resource.registry.keys.wont_include ''
|
||||
end
|
||||
|
||||
it "will register a valid name" do
|
||||
Class.new(base) do name 'hello'; end
|
||||
Inspec::Resource.registry['hello'].wont_be :nil?
|
||||
end
|
||||
|
||||
it "will create a good class name" do
|
||||
Class.new(base) do name 'hello_world'; end
|
||||
Inspec::Resource.registry['hello_world'].to_s
|
||||
.must_equal 'Inspec::Resource::Registry::HelloWorld'
|
||||
end
|
||||
end
|
||||
|
||||
def create(&block)
|
||||
random_name = (0...50).map { (65 + rand(26)).chr }.join
|
||||
Class.new(base) do
|
||||
name random_name
|
||||
instance_eval &block
|
||||
end
|
||||
Inspec::Resource.registry[random_name]
|
||||
end
|
||||
|
||||
describe '#desc' do
|
||||
it "will register a description" do
|
||||
expected = rand.to_s
|
||||
create { desc expected }.desc.must_equal expected
|
||||
end
|
||||
|
||||
it "can change the description" do
|
||||
c = create { desc rand.to_s }
|
||||
c.desc(x = rand.to_s)
|
||||
c.desc.must_equal x
|
||||
end
|
||||
end
|
||||
|
||||
describe '#example' do
|
||||
it "will register a description" do
|
||||
expected = rand.to_s
|
||||
create { example expected }.example.must_equal expected
|
||||
end
|
||||
|
||||
it "can change the description" do
|
||||
c = create { example rand.to_s }
|
||||
c.example(x = rand.to_s)
|
||||
c.example.must_equal x
|
||||
end
|
||||
end
|
||||
|
||||
end
|
Loading…
Reference in a new issue