From 4a3dcd0a8a2a6fbf1eb299a76ae9460d7252c351 Mon Sep 17 00:00:00 2001 From: Ben Roberts Date: Fri, 10 May 2019 22:17:45 +0100 Subject: [PATCH] Rubocop fixes --- lib/puppet/provider/enman_repo/enman.rb | 3 ++- .../provider/entropy_keywords/parsed.rb | 21 +++++++++++++++-- lib/puppet/provider/entropy_mask/parsed.rb | 21 +++++++++++++++-- lib/puppet/provider/entropy_repo/file.rb | 13 +++++------ .../provider/entropy_splitdebug/parsed.rb | 23 +++++++++++++++++-- .../entropy_splitdebug_mask/parsed.rb | 22 ++++++++++++++++-- lib/puppet/provider/entropy_unmask/parsed.rb | 23 +++++++++++++++++-- lib/puppet/provider/package/entropy.rb | 12 +++++++--- .../provider/entropy_keywords/parsed_spec.rb | 10 ++++---- .../provider/package_types/parsed_spec.rb | 10 +++++--- spec/unit/type/enman_repo_spec.rb | 6 ++--- spec/unit/type/entropy_keywords_spec.rb | 10 ++++---- spec/unit/type/entropy_repo_spec.rb | 6 ++--- spec/unit/type/package_types_spec.rb | 10 ++++---- 14 files changed, 146 insertions(+), 44 deletions(-) diff --git a/lib/puppet/provider/enman_repo/enman.rb b/lib/puppet/provider/enman_repo/enman.rb index dfa0e7d..5a83d3e 100644 --- a/lib/puppet/provider/enman_repo/enman.rb +++ b/lib/puppet/provider/enman_repo/enman.rb @@ -41,7 +41,8 @@ Puppet::Type.type(:enman_repo).provide(:enman) do available_repos = instances resources.each do |name, _resource| - if provider = available_repos.find { |r| r.name == name } + provider = available_repos.find { |r| r.name == name } + if provider resources[name].provider = provider end end diff --git a/lib/puppet/provider/entropy_keywords/parsed.rb b/lib/puppet/provider/entropy_keywords/parsed.rb index c529883..2e31880 100644 --- a/lib/puppet/provider/entropy_keywords/parsed.rb +++ b/lib/puppet/provider/entropy_keywords/parsed.rb @@ -17,11 +17,28 @@ Puppet::Type.type(:entropy_keywords).provide(:parsed, match: %r{^\s*#} text_line :unmanaged, - match: %r{^(\S+)\s+([<>]?=)?(?:((?:[A-Za-z0-9+_.-]+/)?[a-zA-Z0-9+_-]+)?(?:-(\d+(?:\.\d+)*[a-z]*(?:_(?:alpha|beta|pre|p|rc)\d*)?(?:-r\d+)?))?)?(?:\s*repo=([a-zA-Z0-9\._-]+))?\s*$} + match: %r{ + ^(\S+)\s+([<>]?=)? + (?: + ((?:[A-Za-z0-9+_.-]+/)?[a-zA-Z0-9+_-]+)? + (?:-(\d+(?:\.\d+)*[a-z]*(?:_(?:alpha|beta|pre|p|rc)\d*)?(?:-r\d+)?))? + )? + (?:\s*repo=([a-zA-Z0-9\._-]+))? + \s*$ + }x record_line :parsed, fields: ['keyword', 'operator', 'package', 'version', 'repo', 'name'], - match: %r{^(\S+)\s+([<>]?=)?(?:((?:[A-Za-z0-9+_.-]+/)?[a-zA-Z0-9+_-]+)?(?:-(\d+(?:\.\d+)*[a-z]*(?:_(?:alpha|beta|pre|p|rc)\d*)?(?:-r\d+)?))?)?(?:\s*repo=([a-zA-Z0-9\._-]+))?\s+## Puppet Name: (.*)\s*$}, + match: %r{ + ^(\S+)\s+([<>]?=)? + (?: + ((?:[A-Za-z0-9+_.-]+/)?[a-zA-Z0-9+_-]+)? + (?:-(\d+(?:\.\d+)*[a-z]*(?:_(?:alpha|beta|pre|p|rc)\d*)?(?:-r\d+)?))? + )? + (?:\s*repo=([a-zA-Z0-9\._-]+))? + \s+\#+\s+Puppet\s+Name:\s+(.*) + \s*$ + }x, to_line: proc { |record| line = record[:keyword] + ' ' line += record[:operator] if record[:operator] diff --git a/lib/puppet/provider/entropy_mask/parsed.rb b/lib/puppet/provider/entropy_mask/parsed.rb index e26db3a..f63cf61 100644 --- a/lib/puppet/provider/entropy_mask/parsed.rb +++ b/lib/puppet/provider/entropy_mask/parsed.rb @@ -17,11 +17,28 @@ Puppet::Type.type(:entropy_mask).provide(:parsed, match: %r{^\s*#} text_line :unmanaged, - match: %r{^([<>]?=)?((?:[A-Za-z0-9+_.-]+/)?[a-zA-Z0-9+_-]+)?(?:-(\d+(?:\.\d+)*[a-z]*(?:_(?:alpha|beta|pre|p|rc)\d*)?(?:-r\d+)?))?(?::([a-zA-Z0-9._-]+))?(?:\[([^\]]*)\])?(?:#([a-zA-Z0-9._-]+))?(?:::([a-zA-Z0-9\._-]+))?\s*$} + match: %r{ + ^([<>]?=)? + ((?:[A-Za-z0-9+_.-]+/)?[a-zA-Z0-9+_-]+)? + (?:-(\d+(?:\.\d+)*[a-z]*(?:_(?:alpha|beta|pre|p|rc)\d*)?(?:-r\d+)?))? + (?::([a-zA-Z0-9._-]+))? + (?:\[([^\]]*)\])? + (?:\#([a-zA-Z0-9._-]+))? + (?:::([a-zA-Z0-9\._-]+))?\s*$ + }x record_line :parsed, fields: ['operator', 'package', 'version', 'slot', 'use', 'tag', 'repo', 'name'], - match: %r{^([<>]?=)?((?:[A-Za-z0-9+_.-]+/)?[a-zA-Z0-9+_-]+)?(?:-(\d+(?:\.\d+)*[a-z]*(?:_(?:alpha|beta|pre|p|rc)\d*)?(?:-r\d+)?))?(?::([a-zA-Z0-9._-]+))?(?:\[([^\]]*)\])?(?:#([a-zA-Z0-9._-]+))?(?:::([a-zA-Z0-9\._-]+))?\s+#+ Puppet Name: (.*)\s*$}, + match: %r{ + ^([<>]?=)? + ((?:[A-Za-z0-9+_.-]+/)?[a-zA-Z0-9+_-]+)? + (?:-(\d+(?:\.\d+)*[a-z]*(?:_(?:alpha|beta|pre|p|rc)\d*)?(?:-r\d+)?))? + (?::([a-zA-Z0-9._-]+))? + (?:\[([^\]]*)\])? + (?:\#([a-zA-Z0-9._-]+))? + (?:::([a-zA-Z0-9\._-]+))? + \s+\#+\s+Puppet\s+Name:\s+(.*)\s*$ + }x, to_line: proc { |record| line = '' line += record[:operator] if record[:operator] diff --git a/lib/puppet/provider/entropy_repo/file.rb b/lib/puppet/provider/entropy_repo/file.rb index 6113eea..727f870 100644 --- a/lib/puppet/provider/entropy_repo/file.rb +++ b/lib/puppet/provider/entropy_repo/file.rb @@ -17,14 +17,12 @@ Puppet::Type.type(:entropy_repo).provide(:file) do enabled_filename = "/etc/entropy/repositories.conf.d/entropy_#{type_prefix}#{@property_hash[:name]}" disabled_filename = "/etc/entropy/repositories.conf.d/_entropy_#{type_prefix}#{@property_hash[:name]}" - if value == 'true' || value == :true + if ['true', :true].include?(value) if File.exist?(disabled_filename) File.rename(disabled_filename, enabled_filename) end - else - if File.exist?(enabled_filename) - File.rename(enabled_filename, disabled_filename) - end + elsif File.exist?(enabled_filename) + File.rename(enabled_filename, disabled_filename) end @property_hash[:enabled] = value @@ -34,7 +32,7 @@ Puppet::Type.type(:entropy_repo).provide(:file) do repos = Dir.entries('/etc/entropy/repositories.conf.d/') repos.map { |r| - if r == '.' || r == '..' + if ['.', '..'].include?(r) nil elsif r =~ %r{\.example$} nil @@ -62,7 +60,8 @@ Puppet::Type.type(:entropy_repo).provide(:file) do repos = instances resources.each do |name, _resource| - if provider = repos.find { |r| r.name == name } + provider = repos.find { |r| r.name == name } + if provider resources[name].provider = provider end end diff --git a/lib/puppet/provider/entropy_splitdebug/parsed.rb b/lib/puppet/provider/entropy_splitdebug/parsed.rb index db41266..1507544 100644 --- a/lib/puppet/provider/entropy_splitdebug/parsed.rb +++ b/lib/puppet/provider/entropy_splitdebug/parsed.rb @@ -17,11 +17,30 @@ Puppet::Type.type(:entropy_splitdebug).provide(:parsed, match: %r{^\s*#} text_line :unmanaged, - match: %r{^([<>]?=)?((?:[A-Za-z0-9+_.-]+/)?[a-zA-Z0-9+_-]+)?(?:-(\d+(?:\.\d+)*[a-z]*(?:_(?:alpha|beta|pre|p|rc)\d*)?(?:-r\d+)?))?(?::([a-zA-Z0-9\._-]+))?(?:\[([^\]]*)\])?(?:#([a-zA-Z0-9\._-]+))?(?:::([a-zA-Z0-9\._-]+))?\s*$} + match: %r{ + ^([<>]?=)? + ((?:[A-Za-z0-9+_.-]+/)?[a-zA-Z0-9+_-]+)? + (?:-(\d+(?:\.\d+)*[a-z]*(?:_(?:alpha|beta|pre|p|rc)\d*)?(?:-r\d+)?))? + (?::([a-zA-Z0-9\._-]+))? + (?:\[([^\]]*)\])? + (?:\#([a-zA-Z0-9\._-]+))? + (?:::([a-zA-Z0-9\._-]+))? + \s*$ + }x record_line :parsed, fields: ['operator', 'package', 'version', 'slot', 'use', 'tag', 'repo', 'name'], - match: %r{^([<>]?=)?((?:[A-Za-z0-9+_.-]+/)?[a-zA-Z0-9+_-]+)?(?:-(\d+(?:\.\d+)*[a-z]*(?:_(?:alpha|beta|pre|p|rc)\d*)?(?:-r\d+)?))?(?::([a-zA-Z0-9\._-]+))?(?:\[([^\]]*)\])?(?:#([a-zA-Z0-9\._-]+))?(?:::([a-zA-Z0-9\._-]+))?\s+#+ Puppet Name: (.*)\s*$}, + match: %r{ + ^([<>]?=)? + ((?:[A-Za-z0-9+_.-]+/)?[a-zA-Z0-9+_-]+)? + (?:-(\d+(?:\.\d+)*[a-z]*(?:_(?:alpha|beta|pre|p|rc)\d*)?(?:-r\d+)?))? + (?::([a-zA-Z0-9\._-]+))? + (?:\[([^\]]*)\])? + (?:\#([a-zA-Z0-9\._-]+))? + (?:::([a-zA-Z0-9\._-]+))? + \s+\#+\s+Puppet\s+Name:\s+(.*) + \s*$ + }x, to_line: proc { |record| line = '' line += record[:operator] if record[:operator] diff --git a/lib/puppet/provider/entropy_splitdebug_mask/parsed.rb b/lib/puppet/provider/entropy_splitdebug_mask/parsed.rb index 6aac71b..56c0cad 100644 --- a/lib/puppet/provider/entropy_splitdebug_mask/parsed.rb +++ b/lib/puppet/provider/entropy_splitdebug_mask/parsed.rb @@ -17,11 +17,29 @@ Puppet::Type.type(:entropy_splitdebug_mask).provide(:parsed, match: %r{^\s*#} text_line :unmanaged, - match: %r{^([<>]?=)?((?:[A-Za-z0-9+_.-]+/)?[a-zA-Z0-9+_-]+)?(?:-(\d+(?:\.\d+)*[a-z]*(?:_(?:alpha|beta|pre|p|rc)\d*)?(?:-r\d+)?))?(?::([a-zA-Z0-9\._-]+))?(?:\[([^\]]*)\])?(?:#([a-zA-Z0-9._-]+))?(?:::([a-zA-Z0-9._-]+))?\s*$} + match: %r{ + ^([<>]?=)? + ((?:[A-Za-z0-9+_.-]+/)?[a-zA-Z0-9+_-]+)? + (?:-(\d+(?:\.\d+)*[a-z]*(?:_(?:alpha|beta|pre|p|rc)\d*)?(?:-r\d+)?))? + (?::([a-zA-Z0-9\._-]+))? + (?:\[([^\]]*)\])? + (?:\#([a-zA-Z0-9._-]+))? + (?:::([a-zA-Z0-9._-]+))? + \s*$ + }x record_line :parsed, fields: ['operator', 'package', 'version', 'slot', 'use', 'tag', 'repo', 'name'], - match: %r{^([<>]?=)?((?:[A-Za-z0-9+_.-]+/)?[a-zA-Z0-9+_-]+)?(?:-(\d+(?:\.\d+)*[a-z]*(?:_(?:alpha|beta|pre|p|rc)\d*)?(?:-r\d+)?))?(?::([a-zA-Z0-9._-]+))?(?:\[([^\]]*)\])?(?:#([a-zA-Z0-9._-]+))?(?:::([a-zA-Z0-9._-]+))?\s+#+ Puppet Name: (.*)\s*$}, + match: %r{ + ^([<>]?=)? + ((?:[A-Za-z0-9+_.-]+/)?[a-zA-Z0-9+_-]+)? + (?:-(\d+(?:\.\d+)*[a-z]*(?:_(?:alpha|beta|pre|p|rc)\d*)?(?:-r\d+)?))? + (?::([a-zA-Z0-9._-]+))?(?:\[([^\]]*)\])? + (?:\#([a-zA-Z0-9._-]+))? + (?:::([a-zA-Z0-9._-]+))? + \s+\#+\s+Puppet\s+Name:\s+(.*) + \s*$ + }x, to_line: proc { |record| line = '' line += record[:operator] if record[:operator] diff --git a/lib/puppet/provider/entropy_unmask/parsed.rb b/lib/puppet/provider/entropy_unmask/parsed.rb index ca588bf..a657e67 100644 --- a/lib/puppet/provider/entropy_unmask/parsed.rb +++ b/lib/puppet/provider/entropy_unmask/parsed.rb @@ -17,11 +17,30 @@ Puppet::Type.type(:entropy_unmask).provide(:parsed, match: %r{^\s*#} text_line :unmanaged, - match: %r{^([<>]?=)?((?:[A-Za-z0-9+_.-]+/)?[a-zA-Z0-9+_-]+)?(?:-(\d+(?:\.\d+)*[a-z]*(?:_(?:alpha|beta|pre|p|rc)\d*)?(?:-r\d+)?))?(?::([a-zA-Z0-9._-]+))?(?:\[([^\]]*)\])?(?:#([a-zA-Z0-9._-]+))?(?:::([a-zA-Z0-9._-]+))?\s*$} + match: %r{ + ^([<>]?=)? + ((?:[A-Za-z0-9+_.-]+/)?[a-zA-Z0-9+_-]+)? + (?:-(\d+(?:\.\d+)*[a-z]*(?:_(?:alpha|beta|pre|p|rc)\d*)?(?:-r\d+)?))? + (?::([a-zA-Z0-9._-]+))? + (?:\[([^\]]*)\])? + (?:\#([a-zA-Z0-9._-]+))? + (?:::([a-zA-Z0-9._-]+))? + \s*$ + }x record_line :parsed, fields: ['operator', 'package', 'version', 'slot', 'use', 'tag', 'repo', 'name'], - match: %r{^([<>]?=)?((?:[A-Za-z0-9+_.-]+/)?[a-zA-Z0-9+_-]+)?(?:-(\d+(?:\.\d+)*[a-z]*(?:_(?:alpha|beta|pre|p|rc)\d*)?(?:-r\d+)?))?(?::([a-zA-Z0-9._-]+))?(?:\[([^\]]*)\])?(?:#([a-zA-Z0-9._-]+))?(?:::([a-zA-Z0-9._-]+))?\s+#+ Puppet Name: (.*)\s*$}, + match: %r{ + ^([<>]?=)? + ((?:[A-Za-z0-9+_.-]+/)?[a-zA-Z0-9+_-]+)? + (?:-(\d+(?:\.\d+)*[a-z]*(?:_(?:alpha|beta|pre|p|rc)\d*)?(?:-r\d+)?))? + (?::([a-zA-Z0-9._-]+))? + (?:\[([^\]]*)\])? + (?:\#([a-zA-Z0-9._-]+))? + (?:::([a-zA-Z0-9._-]+))? + \s+\#+\s+Puppet\s+Name:\s+(.*) + \s*$ + }x, to_line: proc { |record| line = '' line += record[:operator] if record[:operator] diff --git a/lib/puppet/provider/package/entropy.rb b/lib/puppet/provider/package/entropy.rb index 6655d4d..a5e7a0e 100644 --- a/lib/puppet/provider/package/entropy.rb +++ b/lib/puppet/provider/package/entropy.rb @@ -23,7 +23,10 @@ Puppet::Type.type(:package).provide(:entropy, parent: Puppet::Provider::Package) defaultfor operatingsystem: :Sabayon def self.instances - result_format = /^(\S+)\/(\S+)-([\.\d]+(?:_?(?:a(?:lpha)?|b(?:eta)?|pre|pre_pre|rc|p)\d*)?(?:-r\d+)?)(?:#(\S+))?$/ + result_format = %r{ + ^(\S+)\/(\S+)-([\.\d]+(?:_?(?:a(?:lpha)?|b(?:eta)?|pre|pre_pre|rc|p)\d*)? + (?:-r\d+)?)(?:\#(\S+))?$ + }x result_fields = [:category, :name, :ensure] begin @@ -52,7 +55,7 @@ Puppet::Type.type(:package).provide(:entropy, parent: Puppet::Provider::Package) def install should = @resource.should(:ensure) name = package_name - unless should == :present || should == :latest + unless [:present, :latest].include?(should) # We must install a specific version name = "=#{name}-#{should}" end @@ -83,7 +86,10 @@ Puppet::Type.type(:package).provide(:entropy, parent: Puppet::Provider::Package) end def query - result_format = /^(\S+)\/(\S+)-([\.\d]+(?:_(?:alpha|beta|pre_pre|pre|rc|p)\d+)?(?:-r\d+)?)(?::[^#]+)?(?:#(\S+))?$/ + result_format = %r{ + ^(\S+)\/(\S+)-([\.\d]+(?:_(?:alpha|beta|pre_pre|pre|rc|p)\d+)?(?:-r\d+)?) + (?::[^\#]+)?(?:\#(\S+))?$ + }x result_fields = [:category, :name, :version_available] begin diff --git a/spec/unit/provider/entropy_keywords/parsed_spec.rb b/spec/unit/provider/entropy_keywords/parsed_spec.rb index f92a100..c863d38 100644 --- a/spec/unit/provider/entropy_keywords/parsed_spec.rb +++ b/spec/unit/provider/entropy_keywords/parsed_spec.rb @@ -1,10 +1,11 @@ require 'spec_helper' describe Puppet::Type.type(:entropy_keywords).provider(:parsed) do + let(:default_target) { described_class.default_target } + before(:each) do described_class.stubs(:filetype).returns(Puppet::Util::FileType::FileTypeRam) described_class.stubs(:filetype=) - @default_target = described_class.default_target end describe 'should have a default target of /etc/entropy/packages/package.keywords' do @@ -152,10 +153,11 @@ describe Puppet::Type.type(:entropy_keywords).provider(:parsed) do end describe 'when flushing' do + let(:ramfile) { Puppet::Util::FileType::FileTypeRam.new(:default_target) } + before :each do - @ramfile = Puppet::Util::FileType::FileTypeRam.new(@default_target) - File.stubs(:exist?).with(@default_target).returns(true) - described_class.any_instance.stubs(:target_object).returns(@ramfile) + File.stubs(:exist?).with(:default_target).returns(true) + described_class.stubs(:target_object).returns(:ramfile) end after :each do diff --git a/spec/unit/provider/package_types/parsed_spec.rb b/spec/unit/provider/package_types/parsed_spec.rb index fca3873..806d111 100644 --- a/spec/unit/provider/package_types/parsed_spec.rb +++ b/spec/unit/provider/package_types/parsed_spec.rb @@ -20,10 +20,11 @@ default_targets = { types.each do |type_name, _type| describe Puppet::Type.type(type_name).provider(:parsed) do + let(:default_target) { described_class.default_target } + before(:each) do described_class.stubs(:filetype).returns(Puppet::Util::FileType::FileTypeRam) described_class.stubs(:filetype=) - @default_target = described_class.default_target end describe "should have a default target of #{default_targets[type_name]}" do @@ -195,10 +196,13 @@ types.each do |type_name, _type| end describe 'when flushing' do + let(:ramfile) do + Puppet::Util::FileType::FileTypeRam.new(:default_target) + end + before :each do - @ramfile = Puppet::Util::FileType::FileTypeRam.new(@default_target) File.stubs(:exist?).with(default_targets[type_name]).returns(true) - described_class.any_instance.stubs(:target_object).returns(@ramfile) + described_class.stubs(:target_object).returns(:ramfile) end after :each do diff --git a/spec/unit/type/enman_repo_spec.rb b/spec/unit/type/enman_repo_spec.rb index 57d6c3c..3427931 100644 --- a/spec/unit/type/enman_repo_spec.rb +++ b/spec/unit/type/enman_repo_spec.rb @@ -1,8 +1,8 @@ describe Puppet::Type.type(:enman_repo) do before(:each) do - @provider = stub 'provider' - @provider.stubs(:name).returns(:enman) - described_class.stubs(:defaultprovider).returns(@provider) + provider = stub 'provider' + provider.stubs(:name).returns(:enman) + described_class.stubs(:defaultprovider).returns(provider) end it 'is an instance of Puppet::Type::Enman_repo' do diff --git a/spec/unit/type/entropy_keywords_spec.rb b/spec/unit/type/entropy_keywords_spec.rb index f5ca562..2f73b08 100644 --- a/spec/unit/type/entropy_keywords_spec.rb +++ b/spec/unit/type/entropy_keywords_spec.rb @@ -1,10 +1,10 @@ describe Puppet::Type.type(:entropy_keywords) do before(:each) do - @provider = stub 'provider' - @provider.stubs(:name).returns(:parsed) - @provider.stubs(:ancestors).returns([Puppet::Provider::ParsedFile]) - @provider.stubs(:default_target).returns('defaulttarget') - described_class.stubs(:defaultprovider).returns(@provider) + provider = stub 'provider' + provider.stubs(:name).returns(:parsed) + provider.stubs(:ancestors).returns([Puppet::Provider::ParsedFile]) + provider.stubs(:default_target).returns('defaulttarget') + described_class.stubs(:defaultprovider).returns(provider) end it 'is an instance of Puppet::Type::Entropy_keywords' do diff --git a/spec/unit/type/entropy_repo_spec.rb b/spec/unit/type/entropy_repo_spec.rb index e8e8b91..cf37f22 100644 --- a/spec/unit/type/entropy_repo_spec.rb +++ b/spec/unit/type/entropy_repo_spec.rb @@ -1,8 +1,8 @@ describe Puppet::Type.type(:entropy_repo) do before(:each) do - @provider = stub 'provider' - @provider.stubs(:name).returns(:file) - described_class.stubs(:defaultprovider).returns(@provider) + provider = stub 'provider' + provider.stubs(:name).returns(:file) + described_class.stubs(:defaultprovider).returns(provider) end it 'is an instance of Puppet::Type::Entropy_repo' do diff --git a/spec/unit/type/package_types_spec.rb b/spec/unit/type/package_types_spec.rb index 708fbb6..dbfd222 100644 --- a/spec/unit/type/package_types_spec.rb +++ b/spec/unit/type/package_types_spec.rb @@ -14,11 +14,11 @@ types = { types.each do |type_name, type| describe Puppet::Type.type(type_name) do before(:each) do - @provider = stub 'provider' - @provider.stubs(:name).returns(:parsed) - @provider.stubs(:ancestors).returns([Puppet::Provider::ParsedFile]) - @provider.stubs(:default_target).returns('defaulttarget') - described_class.stubs(:defaultprovider).returns(@provider) + provider = stub 'provider' + provider.stubs(:name).returns(:parsed) + provider.stubs(:ancestors).returns([Puppet::Provider::ParsedFile]) + provider.stubs(:default_target).returns('defaulttarget') + described_class.stubs(:defaultprovider).returns(provider) end it "should be an instance of #{type.class.name}" do