diff --git a/lib/inspec/plugin/v2/plugin_types/input.rb b/lib/inspec/plugin/v2/plugin_types/input.rb new file mode 100644 index 000000000..a3d71da8d --- /dev/null +++ b/lib/inspec/plugin/v2/plugin_types/input.rb @@ -0,0 +1,5 @@ +module Inspec::Plugin::V2::PluginType + class Input < Inspec::Plugin::V2::PluginBase + register_plugin_type(:input) + end +end \ No newline at end of file diff --git a/test/unit/plugin/v2/api_input.rb b/test/unit/plugin/v2/api_input.rb new file mode 100644 index 000000000..f73573000 --- /dev/null +++ b/test/unit/plugin/v2/api_input.rb @@ -0,0 +1,35 @@ +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 + klass.name.must_equal 'Inspec::Plugin::V2::PluginType::Input' + 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 + klass.name.must_equal 'Inspec::Plugin::V2::PluginType::Input' + 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 + [ + # TODO - API instance methods + # fetch? + # default_priority? + ].each do |api_method| + it "should define an #{api_method} in the superclass" do + klass = Inspec::Plugin::V2::PluginType::CliCommand + klass.method_defined?(api_method).must_eq true + end + end + end +end \ No newline at end of file