diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c38e3294..97163c33 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,8 +13,6 @@ jobs: strategy: matrix: cfg: - - {puppet_version: '7', ruby: '2.7'} - - {puppet_version: '7', ruby: 'jruby-9.3.7.0'} - {puppet_version: '8', ruby: '3.2'} - {puppet_version: '8', ruby: 'jruby-9.4.2.0'} env: @@ -51,7 +49,6 @@ jobs: strategy: matrix: cfg: - - {puppet_version: '7', ruby: '2.7'} - {puppet_version: '8', ruby: '3.2', extra: 'bundle config set with integration'} env: PUPPET_GEM_VERSION: ~> ${{ matrix.cfg.puppet_version }} diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index c35eb87c..b69d1179 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -11,8 +11,6 @@ jobs: strategy: matrix: cfg: - - {puppet_version: '7', ruby: '2.7'} - - {puppet_version: '7', ruby: 'jruby-9.3.7.0'} - {puppet_version: '8', ruby: '3.2'} - {puppet_version: '8', ruby: 'jruby-9.4.2.0'} env: @@ -49,7 +47,6 @@ jobs: strategy: matrix: cfg: - - {puppet_version: '7', ruby: '2.7'} - {puppet_version: '8', ruby: '3.2', extra: 'bundle config set with integration'} env: PUPPET_GEM_VERSION: ~> ${{ matrix.cfg.puppet_version }} diff --git a/.rubocop.yml b/.rubocop.yml index 52e4a89b..75e3806c 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -3,7 +3,8 @@ inherit_from: .rubocop_todo.yml require: rubocop-rspec AllCops: - TargetRubyVersion: '2.5' + NewCops: enable + TargetRubyVersion: '3.1' Include: - "**/*.rb" Exclude: diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index badc7c4f..7b1e3193 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -1,17 +1,35 @@ # This configuration was generated by # `rubocop --auto-gen-config` -# on 2023-12-19 10:44:38 UTC using RuboCop version 1.48.1. +# on 2025-03-10 20:03:26 UTC using RuboCop version 1.70.0. # The point is for the user to remove these configuration records # one by one as the offenses are removed from the code base. # Note that changes in the inspected code, or installation of new # versions of RuboCop, may require this file to be generated again. +# Offense count: 19 +# Configuration parameters: AllowComments, AllowEmptyLambdas. +Lint/EmptyBlock: + Exclude: + - 'lib/puppet/resource_api/value_creator.rb' + - 'spec/puppet/resource_api/base_context_spec.rb' + +# Offense count: 12 +# Configuration parameters: AllowComments. +Lint/EmptyClass: + Exclude: + - 'lib/puppet/resource_api/type_definition.rb' + - 'lib/puppet/util/network_device/simple/device.rb' + - 'spec/puppet/provider/test_provider/test_provider.rb' + - 'spec/puppet/resource_api/transport/wrapper_spec.rb' + - 'spec/puppet/resource_api/transport_spec.rb' + - 'spec/puppet/resource_api_spec.rb' + # Offense count: 25 # Configuration parameters: IgnoredMetadata. RSpec/DescribeClass: Enabled: false -# Offense count: 33 +# Offense count: 37 # Configuration parameters: CountAsOne. RSpec/ExampleLength: Max: 16 @@ -23,7 +41,7 @@ RSpec/InstanceVariable: - 'spec/acceptance/namevar_spec.rb' - 'spec/puppet/resource_api/data_type_handling_spec.rb' -# # Offense count: 15 +# Offense count: 15 RSpec/LeakyConstantDeclaration: Exclude: - 'spec/puppet/resource_api/base_context_spec.rb' @@ -49,3 +67,47 @@ RSpec/NestedGroups: RSpec/SubjectStub: Exclude: - 'spec/puppet/resource_api/base_context_spec.rb' + +# Offense count: 24 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: constant, string +RSpec/VerifiedDoubleReference: + Exclude: + - 'spec/integration/resource_api_spec.rb' + - 'spec/puppet/resource_api/property_spec.rb' + - 'spec/puppet/resource_api/puppet_context_spec.rb' + - 'spec/puppet/resource_api/simple_provider_spec.rb' + - 'spec/puppet/resource_api/transport_spec.rb' + - 'spec/puppet/resource_api/type_definition_spec.rb' + - 'spec/puppet/resource_api_spec.rb' + +# Offense count: 1 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: AllowedReceivers. +Style/CollectionCompact: + Exclude: + - 'lib/puppet/resource_api.rb' + +# Offense count: 3 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: AllowSplatArgument. +Style/HashConversion: + Exclude: + - 'lib/puppet/resource_api.rb' + - 'lib/puppet/resource_api/glue.rb' + - 'lib/puppet/resource_api/simple_provider.rb' + +# Offense count: 2 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: AllowedReceivers. +# AllowedReceivers: Thread.current +Style/HashEachMethods: + Exclude: + - 'lib/puppet/resource_api/type_definition.rb' + +# Offense count: 1 +# This cop supports unsafe autocorrection (--autocorrect-all). +Style/SlicingWithRange: + Exclude: + - 'lib/puppet/resource_api.rb' diff --git a/Gemfile b/Gemfile index 89a6afff..e5666395 100644 --- a/Gemfile +++ b/Gemfile @@ -19,7 +19,7 @@ group :tests do # since the Resource API runs inside the puppetserver, test against the JRuby versions we ship # these require special dependencies to have everything load properly # rubocop 1.48 supports JRuby 9.3+, which includes coverage for versions we support - gem 'rubocop', '~> 1.48.1', require: false + gem 'rubocop', '~> 1.70.0', require: false gem 'rubocop-rspec', '~> 2.20.0', require: false gem 'rubocop-performance', '~> 1.17.1', require: false end diff --git a/contrib/pre-commit b/contrib/pre-commit index 1519d7a8..75bf3a28 100755 --- a/contrib/pre-commit +++ b/contrib/pre-commit @@ -4,7 +4,7 @@ # Code modified from: https://gist.github.com/hanloong/9849098 require 'English' -changed_files = `git diff --name-only --cached --diff-filter=ACM`.split(/\n/) +changed_files = `git diff --name-only --cached --diff-filter=ACM`.split("\n") changed_files = changed_files.select do |file_name| File.extname(file_name) == '.rb' end.join(' ') diff --git a/lib/puppet/resource_api.rb b/lib/puppet/resource_api.rb index 9fe8591f..9f790d34 100644 --- a/lib/puppet/resource_api.rb +++ b/lib/puppet/resource_api.rb @@ -104,7 +104,7 @@ def initialize(attributes) attributes[:title] = @title if attributes[:title].nil? && !type_definition.namevars.empty? end - super(attributes) + super end def name @@ -541,8 +541,8 @@ def load_provider(type_name) end rescue NameError if device_name # line too long # rubocop:disable Style/GuardClause - raise Puppet::DevError, "Found neither the device-specific provider class Puppet::Provider::#{class_name}::#{device_class_name} in puppet/provider/#{type_name}/#{device_name}"\ - " nor the generic provider class Puppet::Provider::#{class_name}::#{class_name} in puppet/provider/#{type_name}/#{type_name}" + raise Puppet::DevError, "Found neither the device-specific provider class Puppet::Provider::#{class_name}::#{device_class_name} in puppet/provider/#{type_name}/#{device_name} " \ + "nor the generic provider class Puppet::Provider::#{class_name}::#{class_name} in puppet/provider/#{type_name}/#{type_name}" else raise Puppet::DevError, "provider class Puppet::Provider::#{class_name}::#{class_name} not found in puppet/provider/#{type_name}/#{type_name}" end diff --git a/lib/puppet/resource_api/data_type_handling.rb b/lib/puppet/resource_api/data_type_handling.rb index 0297578b..e304d624 100644 --- a/lib/puppet/resource_api/data_type_handling.rb +++ b/lib/puppet/resource_api/data_type_handling.rb @@ -142,7 +142,7 @@ def self.boolean_munge(value) # @private def self.ambiguous_error_msg(error_msg_prefix, value, type) "#{error_msg_prefix} #{value.inspect} is not unabiguously convertable to " \ - "#{type}" + "#{type}" end # Validates the `value` against the specified `type`. @@ -195,9 +195,9 @@ def self.parse_puppet_type(attr_name, type) Puppet::Pops::Types::TypeParser.singleton.parse(type) rescue Puppet::ParseErrorWithIssue => e raise Puppet::DevError, "The type of the `#{attr_name}` attribute " \ - "`#{type}` could not be parsed: #{e.message}" + "`#{type}` could not be parsed: #{e.message}" rescue Puppet::ParseError => e raise Puppet::DevError, "The type of the `#{attr_name}` attribute " \ - "`#{type}` is not recognised: #{e.message}" + "`#{type}` is not recognised: #{e.message}" end end diff --git a/lib/puppet/resource_api/transport.rb b/lib/puppet/resource_api/transport.rb index 6d528aae..4fc010c8 100644 --- a/lib/puppet/resource_api/transport.rb +++ b/lib/puppet/resource_api/transport.rb @@ -94,7 +94,7 @@ def self.validate(name, connection_info) transport_schema = transports[name] raise Puppet::DevError, format('Transport for `%s` not registered with `%s`', target: name, environment: current_environment_name) if transport_schema.nil? - clean_bolt_attributes(transport_schema, connection_info) if connection_info.key?(:"remote-transport") + clean_bolt_attributes(transport_schema, connection_info) if connection_info.key?(:'remote-transport') apply_defaults(transport_schema, connection_info) message_prefix = 'The connection info provided does not match the Transport Schema' diff --git a/lib/puppet/resource_api/transport/wrapper.rb b/lib/puppet/resource_api/transport/wrapper.rb index d91ab9c0..aa8c4f11 100644 --- a/lib/puppet/resource_api/transport/wrapper.rb +++ b/lib/puppet/resource_api/transport/wrapper.rb @@ -41,9 +41,9 @@ def respond_to_missing?(name, _include_private) (@transport.respond_to? name) || super end - def method_missing(method_name, *args, &block) + def method_missing(method_name, ...) if @transport.respond_to? method_name - @transport.send(method_name, *args, &block) + @transport.send(method_name, ...) else super end diff --git a/lib/puppet/resource_api/type_definition.rb b/lib/puppet/resource_api/type_definition.rb index eb9b5d6a..3bfdbfb7 100644 --- a/lib/puppet/resource_api/type_definition.rb +++ b/lib/puppet/resource_api/type_definition.rb @@ -25,7 +25,7 @@ def title_patterns end def validate_schema(definition, attr_key) - super(definition, attr_key) + super %i[title provider alias audit before consume export loglevel noop notify require schedule stage subscribe tag].each do |name| raise Puppet::DevError, format('must not define an attribute called `%s`', name: name.inspect) if definition[attr_key].key? name end @@ -234,7 +234,7 @@ def check_schema_values(resource) next unless attributes[key] type = @data_type_cache[attributes[key][:type]] - is_sensitive = (attributes[key].key?(:sensitive) && (attributes[key][:sensitive] == true)) + is_sensitive = attributes[key].key?(:sensitive) && (attributes[key][:sensitive] == true) error_message = Puppet::ResourceApi::DataTypeHandling.try_validate( type, value, diff --git a/spec/acceptance/device_spec.rb b/spec/acceptance/device_spec.rb index b469e388..abccd991 100644 --- a/spec/acceptance/device_spec.rb +++ b/spec/acceptance/device_spec.rb @@ -8,16 +8,9 @@ RSpec.describe 'exercising a device provider' do let(:common_args) { '--verbose --trace --strict=error --modulepath spec/fixtures' } let(:default_type_values) do - 'string="meep" boolean=true integer=15 float=1.23 ensure=present variant_pattern=AE321EEF '\ - 'url="http://www.puppet.com" boolean_param=false integer_param=99 float_param=3.21 '\ - 'ensure_param=present variant_pattern_param=0xAE321EEF url_param="https://www.google.com"' - end - - before(:all) do # rubocop:disable RSpec/BeforeAfterAll - if Gem::Version.new(Puppet::PUPPETVERSION) >= Gem::Version.new('5.3.0') && Gem::Version.new(Puppet::PUPPETVERSION) < Gem::Version.new('5.4.0') - # work around https://tickets.puppetlabs.com/browse/PUP-8632 and https://tickets.puppetlabs.com/browse/PUP-9047 - FileUtils.mkdir_p(File.expand_path('~/.puppetlabs/opt/puppet/cache/devices/the_node/state')) - end + 'string="meep" boolean=true integer=15 float=1.23 ensure=present variant_pattern=AE321EEF ' \ + 'url="http://www.puppet.com" boolean_param=false integer_param=99 float_param=3.21 ' \ + 'ensure_param=present variant_pattern_param=0xAE321EEF url_param="https://www.google.com"' end describe 'using `puppet resource`' do @@ -32,8 +25,8 @@ it 'deals with canonicalized resources correctly' do stdout_str, status = Open3.capture2e("puppet resource #{common_args} device_provider wibble ensure=present #{default_type_values}") - stdmatch = 'Error: /Device_provider\[wibble\]: Could not evaluate: device_provider\[wibble\]#get has not provided canonicalized values.\n'\ - 'Returned values: \{:name=>"wibble", :ensure=>"present", :string=>"sample", :string_ro=>"fixed"\}\n'\ + stdmatch = 'Error: /Device_provider\[wibble\]: Could not evaluate: device_provider\[wibble\]#get has not provided canonicalized values.\n' \ + 'Returned values: \{:name=>"wibble", :ensure=>"present", :string=>"sample", :string_ro=>"fixed"\}\n' \ 'Canonicalized values: \{:name=>"wibble", :ensure=>"present", :string=>"changed", :string_ro=>"fixed"\}' expect(stdout_str).to match(/#{stdmatch}/) expect(status).not_to be_success @@ -45,8 +38,8 @@ it 'deals with canonicalized resources correctly' do stdout_str, status = Open3.capture2e("puppet resource #{common_args} device_provider wibble ensure=present #{default_type_values}") - stdmatch = 'Warning: device_provider\[wibble\]#get has not provided canonicalized values.\n'\ - 'Returned values: \{:name=>"wibble", :ensure=>"present", :string=>"sample", :string_ro=>"fixed"\}\n'\ + stdmatch = 'Warning: device_provider\[wibble\]#get has not provided canonicalized values.\n' \ + 'Returned values: \{:name=>"wibble", :ensure=>"present", :string=>"sample", :string_ro=>"fixed"\}\n' \ 'Canonicalized values: \{:name=>"wibble", :ensure=>"present", :string=>"changed", :string_ro=>"fixed"\}' expect(stdout_str).to match(/#{stdmatch}/) expect(status).to be_success @@ -103,12 +96,7 @@ DEVICE_CREDS end - def is_device_apply_supported? - Gem::Version.new(Puppet::PUPPETVERSION) >= Gem::Version.new('5.3.6') && Gem::Version.new(Puppet::PUPPETVERSION) != Gem::Version.new('5.4.0') - end - before do - skip "No device --apply in puppet before v5.3.6 nor in v5.4.0 (v#{Puppet::PUPPETVERSION} is installed)" unless is_device_apply_supported? device_conf.write(device_conf_content) device_conf.close @@ -155,9 +143,9 @@ def is_device_apply_supported? it 'applies the catalog successfully' do Tempfile.create('fact_set') do |f| f.write 'device_provider{ "foo":' \ - 'ensure => "present", boolean => true, integer => 15, float => 1.23, variant_pattern => "0x1234ABCD", '\ - 'url => "http://www.google.com", boolean_param => false, integer_param => 99, float_param => 3.21, '\ - 'ensure_param => "present", variant_pattern_param => "9A2222ED", url_param => "http://www.puppet.com" }' + 'ensure => "present", boolean => true, integer => 15, float => 1.23, variant_pattern => "0x1234ABCD", ' \ + 'url => "http://www.google.com", boolean_param => false, integer_param => 99, float_param => 3.21, ' \ + 'ensure_param => "present", variant_pattern_param => "9A2222ED", url_param => "http://www.puppet.com" }' f.close stdout_str, _status = Open3.capture2e("puppet device #{common_args} --deviceconfig #{device_conf.path} --apply #{f.path}") diff --git a/spec/acceptance/multi_device_spec.rb b/spec/acceptance/multi_device_spec.rb index 8c59efd1..fdf51bbf 100644 --- a/spec/acceptance/multi_device_spec.rb +++ b/spec/acceptance/multi_device_spec.rb @@ -27,12 +27,7 @@ DEVICE_CONF end - def is_device_apply_supported? - Gem::Version.new(Puppet::PUPPETVERSION) >= Gem::Version.new('5.3.6') && Gem::Version.new(Puppet::PUPPETVERSION) != Gem::Version.new('5.4.0') - end - before do - skip "No device --apply in puppet before v5.3.6 nor in v5.4.0 (v#{Puppet::PUPPETVERSION} is installed)" unless is_device_apply_supported? device_conf.write(device_conf_content) device_conf.close end diff --git a/spec/acceptance/sensitive_spec.rb b/spec/acceptance/sensitive_spec.rb index 9352bff7..2b13f6c2 100644 --- a/spec/acceptance/sensitive_spec.rb +++ b/spec/acceptance/sensitive_spec.rb @@ -17,8 +17,8 @@ end it 'is not exposed by a provider' do - stdout_str, _status = Open3.capture2e("puppet apply #{common_args} -e \"test_sensitive { test_resource: secret => Sensitive('sesitive_data'), "\ - "optional_secret => Sensitive('optional sesitive_data'), array_secret => [Sensitive('array sesitive_data')] }\"") + stdout_str, _status = Open3.capture2e("puppet apply #{common_args} -e \"test_sensitive { test_resource: secret => Sensitive('sesitive_data'), " \ + "optional_secret => Sensitive('optional sesitive_data'), array_secret => [Sensitive('array sesitive_data')] }\"") expect(stdout_str).to match(/redacted/) expect(stdout_str).not_to match(/sesitive_data/) expect(stdout_str).not_to match(/warn|error/i) @@ -26,16 +26,16 @@ context 'when a sensitive value is not the top level type' do it 'is not exposed by a provider' do - stdout_str, _status = Open3.capture2e("puppet apply #{common_args} -e \"test_sensitive { test_resource: secret => Sensitive('sesitive_data'), "\ - "optional_secret => Sensitive('optional sesitive_data'), variant_secret => [Sensitive('variant sesitive_data')] }\"") + stdout_str, _status = Open3.capture2e("puppet apply #{common_args} -e \"test_sensitive { test_resource: secret => Sensitive('sesitive_data'), " \ + "optional_secret => Sensitive('optional sesitive_data'), variant_secret => [Sensitive('variant sesitive_data')] }\"") expect(stdout_str).to match(/redacted/) expect(stdout_str).not_to match(/variant sesitive_data/) expect(stdout_str).not_to match(/warn|error/i) end it 'properly validates the sensitive type value' do - stdout_str, _status = Open3.capture2e("puppet apply #{common_args} -e \"test_sensitive { test_resource: secret => Sensitive('sesitive_data'), "\ - "optional_secret => Sensitive('optional sesitive_data'), variant_secret => [Sensitive(134679)] }\"") + stdout_str, _status = Open3.capture2e("puppet apply #{common_args} -e \"test_sensitive { test_resource: secret => Sensitive('sesitive_data'), " \ + "optional_secret => Sensitive('optional sesitive_data'), variant_secret => [Sensitive(134679)] }\"") expect(stdout_str).to match(/Sensitive\[String\]( value)?, got Sensitive\[Integer\]/) expect(stdout_str).not_to match(/134679/) end diff --git a/spec/acceptance/transport/transport_defaults_spec.rb b/spec/acceptance/transport/transport_defaults_spec.rb index 9623ec14..e99b4966 100644 --- a/spec/acceptance/transport/transport_defaults_spec.rb +++ b/spec/acceptance/transport/transport_defaults_spec.rb @@ -23,12 +23,7 @@ end let(:device_credentials) { Tempfile.new('credentials.txt') } - def is_device_apply_supported? - Gem::Version.new(Puppet::PUPPETVERSION) >= Gem::Version.new('5.3.6') && Gem::Version.new(Puppet::PUPPETVERSION) != Gem::Version.new('5.4.0') - end - before do - skip "No device --apply in puppet before v5.3.6 nor in v5.4.0 (v#{Puppet::PUPPETVERSION} is installed)" unless is_device_apply_supported? device_conf.write(device_conf_content) device_conf.close diff --git a/spec/acceptance/transport/transport_spec.rb b/spec/acceptance/transport/transport_spec.rb index 515963ff..7c23915d 100644 --- a/spec/acceptance/transport/transport_spec.rb +++ b/spec/acceptance/transport/transport_spec.rb @@ -23,12 +23,7 @@ end let(:device_credentials) { Tempfile.new('credentials.txt') } - def is_device_apply_supported? - Gem::Version.new(Puppet::PUPPETVERSION) >= Gem::Version.new('5.3.6') && Gem::Version.new(Puppet::PUPPETVERSION) != Gem::Version.new('5.4.0') - end - before do - skip "No device --apply in puppet before v5.3.6 nor in v5.4.0 (v#{Puppet::PUPPETVERSION} is installed)" unless is_device_apply_supported? device_conf.write(device_conf_content) device_conf.close diff --git a/spec/puppet/resource_api/data_type_handling_spec.rb b/spec/puppet/resource_api/data_type_handling_spec.rb index 45acb202..b77c2f93 100644 --- a/spec/puppet/resource_api/data_type_handling_spec.rb +++ b/spec/puppet/resource_api/data_type_handling_spec.rb @@ -91,7 +91,7 @@ context "when validating #{valid_value.inspect}" do let(:value) { valid_value } - it { expect(error_msg).to be nil } + it { expect(error_msg).to be_nil } end end testcase[:invalid].each do |invalid_value| diff --git a/spec/puppet/resource_api/parameter_spec.rb b/spec/puppet/resource_api/parameter_spec.rb index 91d5aadb..8ea069f5 100644 --- a/spec/puppet/resource_api/parameter_spec.rb +++ b/spec/puppet/resource_api/parameter_spec.rb @@ -25,7 +25,7 @@ expect { parameter.value = 'value' }.to raise_error Exception, 'error' - expect(parameter.value).to eq nil + expect(parameter.value).to be_nil end end @@ -51,8 +51,8 @@ let(:munged_value) { true } let(:data_type) { Puppet::Pops::Types::PBooleanType.new } - it { expect(parameter.rs_value).to eq true } - it { expect(parameter.value).to eq true } + it { expect(parameter.rs_value).to be true } + it { expect(parameter.value).to be true } end end end diff --git a/spec/puppet/resource_api/property_spec.rb b/spec/puppet/resource_api/property_spec.rb index 65636ac8..fbf5a9e9 100644 --- a/spec/puppet/resource_api/property_spec.rb +++ b/spec/puppet/resource_api/property_spec.rb @@ -48,7 +48,7 @@ describe '#insync?' do it 'compares using symbols' do - expect(ensure_property.insync?(:present)).to eq(true) + expect(ensure_property.insync?(:present)).to be(true) end end @@ -153,7 +153,7 @@ end it 'compares using symbols' do - expect(ensure_property.insync?(:present)).to eq(true) + expect(ensure_property.insync?(:present)).to be(true) end end end @@ -285,7 +285,7 @@ expect { property.should = 'value' }.to raise_error Exception, 'error' - expect(property.should).to eq nil + expect(property.should).to be_nil end end @@ -313,7 +313,7 @@ let(:data_type) { Puppet::Pops::Types::PBooleanType.new } it { expect(property.should).to eq :true } # rubocop:disable Lint/BooleanSymbol - it { expect(property.rs_value).to eq true } + it { expect(property.rs_value).to be true } it { expect(property.value).to eq :true } # rubocop:disable Lint/BooleanSymbol end end diff --git a/spec/puppet/resource_api/read_only_parameter_spec.rb b/spec/puppet/resource_api/read_only_parameter_spec.rb index 8d640cd4..5388ded0 100644 --- a/spec/puppet/resource_api/read_only_parameter_spec.rb +++ b/spec/puppet/resource_api/read_only_parameter_spec.rb @@ -29,8 +29,8 @@ end context 'when value is not set' do - it { expect(read_only_parameter.rs_value).to eq nil } - it { expect(read_only_parameter.value).to eq nil } + it { expect(read_only_parameter.rs_value).to be_nil } + it { expect(read_only_parameter.value).to be_nil } end context 'when value is already set' do diff --git a/spec/puppet/resource_api/transport/wrapper_spec.rb b/spec/puppet/resource_api/transport/wrapper_spec.rb index 2d9cc112..b8d67b02 100644 --- a/spec/puppet/resource_api/transport/wrapper_spec.rb +++ b/spec/puppet/resource_api/transport/wrapper_spec.rb @@ -110,7 +110,7 @@ class SomethingSomethingDarkside; end context 'when the transport does not support the function' do context 'when using respond_to?' do it 'returns false' do - expect(instance.respond_to?(:wibble)).to eq(false) + expect(instance.respond_to?(:wibble)).to be(false) end end @@ -128,7 +128,7 @@ class SomethingSomethingDarkside; end context 'when using respond_to?' do it 'returns true' do - expect(instance.respond_to?(:close)).to eq(true) + expect(instance.respond_to?(:close)).to be(true) end end diff --git a/spec/puppet/resource_api/transport_schema_def_spec.rb b/spec/puppet/resource_api/transport_schema_def_spec.rb index 1464240e..96331e24 100644 --- a/spec/puppet/resource_api/transport_schema_def_spec.rb +++ b/spec/puppet/resource_api/transport_schema_def_spec.rb @@ -41,12 +41,12 @@ context 'when resource has all its attributes' do let(:resource) { { host: '1234', user: '4321' } } - it { expect { type.validate(resource) }.not_to raise_error } + it { expect { type.validate(resource) }.not_to raise_error } end end describe '#notify_schema_errors' do - context 'when a message is received ' do + context 'when a message is received' do let(:message) { 'Missing attribute: foo' } it 'raises an error with the supplied message' do diff --git a/spec/puppet/resource_api/value_creator_spec.rb b/spec/puppet/resource_api/value_creator_spec.rb index 477c8435..b8d34125 100644 --- a/spec/puppet/resource_api/value_creator_spec.rb +++ b/spec/puppet/resource_api/value_creator_spec.rb @@ -119,7 +119,7 @@ let(:param_or_property) { :newparam } it 'attribute_class has no #call_provider method' do - expect(attribute_class.method_defined?(:call_provider)).to eq(false) + expect(attribute_class.method_defined?(:call_provider)).to be(false) end context 'when behaviour is set to :namevar' do diff --git a/spec/puppet/resource_api_spec.rb b/spec/puppet/resource_api_spec.rb index 9062a5e3..3f126c77 100644 --- a/spec/puppet/resource_api_spec.rb +++ b/spec/puppet/resource_api_spec.rb @@ -23,7 +23,7 @@ end it 'has a version number' do - expect(described_class::VERSION).not_to be nil + expect(described_class::VERSION).not_to be_nil end context 'when registering a minimal type' do