diff --git a/.rubocop.yml b/.rubocop.yml index fb442ea..60982da 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,2 +1,3 @@ inherit_from: + - .rubocop_todo.yml - rubocop.yml diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml new file mode 100644 index 0000000..3154fe8 --- /dev/null +++ b/.rubocop_todo.yml @@ -0,0 +1,35 @@ +# This configuration was generated by +# `rubocop --auto-gen-config` +# on 2023-02-09 19:54:21 UTC using RuboCop version 1.22.3. +# 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: 1 +# Configuration parameters: IgnoreLiteralBranches, IgnoreConstantBranches. +Lint/DuplicateBranch: + Exclude: + - 'lib/voxpupuli/test/facts.rb' + +# Offense count: 1 +# Configuration parameters: AllowComments. +Lint/EmptyFile: + Exclude: + - 'lib/voxpupuli/test.rb' + +# Offense count: 6 +# Configuration parameters: . +# SupportedStyles: have_received, receive +RSpec/MessageSpies: + EnforcedStyle: receive + +# Offense count: 1 +RSpec/MultipleDescribes: + Exclude: + - 'spec/facts_spec.rb' + +# Offense count: 1 +Style/MixinUsage: + Exclude: + - 'lib/voxpupuli/test/facts.rb' diff --git a/lib/voxpupuli/test/facts.rb b/lib/voxpupuli/test/facts.rb index 4c5bd92..480651c 100644 --- a/lib/voxpupuli/test/facts.rb +++ b/lib/voxpupuli/test/facts.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'rspec-puppet-facts' include RspecPuppetFacts @@ -51,7 +53,7 @@ def add_facts_for_metadata(metadata) metadata['dependencies'].each do |dependency| case normalize_module_name(dependency['name']) when 'camptocamp/systemd', 'puppet/systemd' - add_custom_fact :systemd, ->(os, facts) { facts['service_provider'] == 'systemd' } + add_custom_fact :systemd, ->(_os, facts) { facts['service_provider'] == 'systemd' } when 'puppetlabs/stdlib' add_stdlib_facts end @@ -60,6 +62,7 @@ def add_facts_for_metadata(metadata) def normalize_module_name(name) return unless name + name.sub('-', '/') end @@ -70,7 +73,7 @@ def add_stdlib_facts # Rough conversion of grepping in the puppet source: # grep defaultfor lib/puppet/provider/service/*.rb - add_custom_fact :service_provider, ->(os, facts) do + add_custom_fact :service_provider, lambda { |_os, facts| case facts[:osfamily].downcase when 'archlinux' 'systemd' @@ -93,5 +96,5 @@ def add_stdlib_facts else 'init' end - end + } end diff --git a/lib/voxpupuli/test/rake.rb b/lib/voxpupuli/test/rake.rb index fd2c101..d671bed 100644 --- a/lib/voxpupuli/test/rake.rb +++ b/lib/voxpupuli/test/rake.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'puppetlabs_spec_helper/rake_tasks' PuppetLint.configuration.log_format = '%{path}:%{line}:%{check}:%{KIND}:%{message}' @@ -14,6 +16,7 @@ task :trailing_whitespace do Dir.glob('**/*.md', File::FNM_DOTMATCH).sort.each do |filename| next if filename =~ %r{^((modules|acceptance|\.?vendor|spec/fixtures|pkg)/|REFERENCE.md)} + File.foreach(filename).each_with_index do |line, index| if line =~ %r{\s\n$} puts "#{filename} has trailing whitespace on line #{index + 1}" diff --git a/lib/voxpupuli/test/spec_helper.rb b/lib/voxpupuli/test/spec_helper.rb index 6022b13..2e7d3ff 100644 --- a/lib/voxpupuli/test/spec_helper.rb +++ b/lib/voxpupuli/test/spec_helper.rb @@ -1,10 +1,10 @@ +# frozen_string_literal: true + RSpec.configure do |config| # puppetlabs_spec_helper defaults to mocha but emits a deprecation warning # Vox Pupuli prefers rspec to avoid the deprecation warning unless explicitly # set - if config.instance_variable_get(:@mock_framework).nil? - config.mock_with :rspec - end + config.mock_with :rspec if config.instance_variable_get(:@mock_framework).nil? end require 'voxpupuli/test/facts' diff --git a/spec/facts_spec.rb b/spec/facts_spec.rb index 2bb230e..6607d2b 100644 --- a/spec/facts_spec.rb +++ b/spec/facts_spec.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'spec_helper' require 'voxpupuli/test/facts' @@ -10,9 +12,9 @@ 'release' => { 'full' => '7.7.1908', 'major' => '7', - 'minor' => '7' + 'minor' => '7', }, - } + }, } end @@ -25,9 +27,9 @@ 'release' => { 'full' => '7.7.1908', 'major' => '7', - 'minor' => '7' + 'minor' => '7', }, - } + }, } end @@ -43,16 +45,16 @@ 'release' => { 'full' => '7.7.1908', 'major' => '7', - 'minor' => '7' + 'minor' => '7', }, }, ruby: { 'sitedir' => '/usr/local/share/ruby/site_ruby', - } + }, } end - it { expect(override_facts(base_facts, ruby: {sitedir: '/usr/local/share/ruby/site_ruby'})).to eq(expected) } + it { expect(override_facts(base_facts, ruby: { sitedir: '/usr/local/share/ruby/site_ruby' })).to eq(expected) } end describe 'with deep merging' do @@ -64,13 +66,13 @@ 'release' => { 'full' => '7.7.1908', 'major' => '7', - 'minor' => '8' + 'minor' => '8', }, - } + }, } end - it { expect(override_facts(base_facts, os: {release: {minor: '8'}})).to eq(expected) } + it { expect(override_facts(base_facts, os: { release: { minor: '8' } })).to eq(expected) } end describe 'with strings' do @@ -82,19 +84,20 @@ 'release' => { 'full' => '7.7.1908', 'major' => '7', - 'minor' => '8' + 'minor' => '8', }, - } + }, } end - it { expect(override_facts(base_facts, os: {'release' => {minor: '8'}})).to eq(expected) } + it { expect(override_facts(base_facts, os: { 'release' => { minor: '8' } })).to eq(expected) } end end describe 'add_facts_for_metadata' do - before(:each) { RspecPuppetFacts.reset } - after(:each) { RspecPuppetFacts.reset } + before { RspecPuppetFacts.reset } + + after { RspecPuppetFacts.reset } let(:metadata) do { 'dependencies' => dependencies } @@ -112,7 +115,7 @@ context 'with systemd' do let(:dependencies) do [ - {'name' => 'puppet/systemd'}, + { 'name' => 'puppet/systemd' }, ] end @@ -124,26 +127,26 @@ context 'and stdlib' do let(:dependencies) do [ - {'name' => 'puppetlabs/stdlib'}, - {'name' => 'puppet/systemd'}, + { 'name' => 'puppetlabs/stdlib' }, + { 'name' => 'puppet/systemd' }, ] end it 'has systemd on Red Hat 7' do add_facts_for_metadata(metadata) - facts = RspecPuppetFacts.with_custom_facts('redhat-7-x86_64', {osfamily: 'RedHat', operatingsystemmajrelease: '7'}) + facts = RspecPuppetFacts.with_custom_facts('redhat-7-x86_64', { osfamily: 'RedHat', operatingsystemmajrelease: '7' }) expect(facts['systemd']).to be true end it 'has no systemd on Red Hat 6' do add_facts_for_metadata(metadata) - facts = RspecPuppetFacts.with_custom_facts('redhat-6-x86_64', {osfamily: 'RedHat', operatingsystemmajrelease: '6'}) + facts = RspecPuppetFacts.with_custom_facts('redhat-6-x86_64', { osfamily: 'RedHat', operatingsystemmajrelease: '6' }) expect(facts['systemd']).to be false end it 'has no systemd on openbsd' do add_facts_for_metadata(metadata) - facts = RspecPuppetFacts.with_custom_facts('openbsd-6.4-x86_64', {osfamily: 'OpenBSD'}) + facts = RspecPuppetFacts.with_custom_facts('openbsd-6.4-x86_64', { osfamily: 'OpenBSD' }) expect(facts['systemd']).to be false end end @@ -152,7 +155,7 @@ context 'with stdlib' do let(:dependencies) do [ - {'name' => 'puppetlabs/stdlib'}, + { 'name' => 'puppetlabs/stdlib' }, ] end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 73fb578..36922e5 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + begin require 'simplecov' require 'simplecov-console'