2019-05-02 04:25:02 +00:00
|
|
|
require 'helper'
|
|
|
|
|
|
|
|
describe 'Input plugin type' do
|
|
|
|
describe 'when registering the plugin type superclass' do
|
|
|
|
it 'returns the superclass when calling the global defintion method' do
|
|
|
|
klass = Inspec.plugin(2, :input)
|
|
|
|
klass.must_be_kind_of Class
|
2019-05-15 22:57:44 +00:00
|
|
|
klass.must_equal Inspec::Plugin::V2::PluginType::Input
|
2019-05-02 04:25:02 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
it 'returns the superclass when referenced by alias' do
|
|
|
|
klass = Inspec::Plugin::V2::PluginBase.base_class_for_type(:input)
|
|
|
|
klass.must_be_kind_of Class
|
2019-05-15 22:57:44 +00:00
|
|
|
klass.must_equal Inspec::Plugin::V2::PluginType::Input
|
2019-05-02 04:25:02 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
it 'registers an activation dsl method' do
|
|
|
|
klass = Inspec::Plugin::V2::PluginBase
|
|
|
|
klass.must_respond_to :input
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
describe 'when examining the specific plugin type API' do
|
|
|
|
[
|
2019-05-02 23:47:00 +00:00
|
|
|
# API instance methods
|
|
|
|
:fetch,
|
|
|
|
:default_priority,
|
|
|
|
:list_inputs,
|
2019-05-02 04:25:02 +00:00
|
|
|
].each do |api_method|
|
2019-05-02 23:47:00 +00:00
|
|
|
it "should define a '#{api_method}' method in the superclass" do
|
|
|
|
klass = Inspec::Plugin::V2::PluginType::Input
|
|
|
|
klass.method_defined?(api_method).must_equal true
|
2019-05-02 04:25:02 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|