Skip to content

Commit

Permalink
rubocop: fix save violations
Browse files Browse the repository at this point in the history
  • Loading branch information
bastelfreak committed Jun 21, 2024
1 parent cf3bc7d commit 5631ebe
Show file tree
Hide file tree
Showing 9 changed files with 142 additions and 40 deletions.
94 changes: 94 additions & 0 deletions .rubocop_todo.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
# This configuration was generated by
# `rubocop --auto-gen-config`
# on 2024-06-21 09:28:53 UTC using RuboCop version 1.50.2.
# 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: 2
# Configuration parameters: IgnoreLiteralBranches, IgnoreConstantBranches.
Lint/DuplicateBranch:
Exclude:
- 'lib/voxpupuli/test/facts.rb'

# Offense count: 1
# Configuration parameters: AllowComments, AllowNil.
Lint/SuppressedException:
Exclude:
- 'Rakefile'

# Offense count: 1
# Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes.
Metrics/AbcSize:
Max: 19

# Offense count: 1
# Configuration parameters: AllowedMethods, AllowedPatterns.
Metrics/CyclomaticComplexity:
Max: 12

# Offense count: 1
# Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns.
Metrics/MethodLength:
Max: 28

# Offense count: 1
# Configuration parameters: Prefixes, AllowedPatterns.
# Prefixes: when, with, without
RSpec/ContextWording:
Exclude:
- 'spec/facts_spec.rb'

# Offense count: 2
# Configuration parameters: IgnoredMetadata.
RSpec/DescribeClass:
Exclude:
- '**/spec/features/**/*'
- '**/spec/requests/**/*'
- '**/spec/routing/**/*'
- '**/spec/system/**/*'
- '**/spec/views/**/*'
- 'spec/facts_spec.rb'

# Offense count: 1
# Configuration parameters: CountAsOne.
RSpec/ExampleLength:
Max: 7

# 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
RSpec/MultipleExpectations:
Max: 4

# Offense count: 3
# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: always, always_true, never
Style/FrozenStringLiteralComment:
Exclude:
- 'lib/voxpupuli/test/facts.rb'
- 'lib/voxpupuli/test/rake.rb'
- 'lib/voxpupuli/test/spec_helper.rb'

# Offense count: 1
Style/MixinUsage:
Exclude:
- 'lib/voxpupuli/test/facts.rb'

# Offense count: 1
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns.
# URISchemes: http, https
Layout/LineLength:
Max: 136
10 changes: 6 additions & 4 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# frozen_string_literal: true

source 'https://rubygems.org'

gemspec
Expand All @@ -7,10 +9,10 @@ group :release do
gem 'github_changelog_generator', '~> 1.16.4', require: false
end

group :coverage, optional: ENV['COVERAGE']!='yes' do
gem 'simplecov-console', :require => false
gem 'codecov', :require => false
group :coverage, optional: ENV['COVERAGE'] != 'yes' do
gem 'codecov', require: false
gem 'simplecov-console', require: false
end

# Override gemspec for CI matrix builds.
gem 'puppet', ENV.fetch('PUPPET_VERSION', '>= 7.24'), :require => false
gem 'puppet', ENV.fetch('PUPPET_VERSION', '>= 7.24'), require: false
6 changes: 4 additions & 2 deletions Rakefile
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
# frozen_string_literal: true

require 'rspec/core/rake_task'

RSpec::Core::RakeTask.new(:spec)

task :default => :spec
task default: :spec

begin
require 'github_changelog_generator/task'

GitHubChangelogGenerator::RakeTask.new :changelog do |config|
config.header = "# Changelog\n\nAll notable changes to this project will be documented in this file."
config.exclude_labels = %w{duplicate question invalid wontfix wont-fix skip-changelog}
config.exclude_labels = %w[duplicate question invalid wontfix wont-fix skip-changelog]
config.user = 'voxpupuli'
config.project = 'voxpupuli-test'
config.future_release = "v#{Gem::Specification.load("#{config.project}.gemspec").version}"
Expand Down
Empty file removed lib/voxpupuli/test.rb
Empty file.
7 changes: 4 additions & 3 deletions lib/voxpupuli/test/facts.rb
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ def add_facts_for_metadata(metadata)

def normalize_module_name(name)
return unless name

name.sub('-', '/')
end

Expand All @@ -70,7 +71,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|
os = RSpec.configuration.facterdb_string_keys ? facts['os'] : facts[:os]
case os['family'].downcase
when 'archlinux', 'debian', 'redhat'
Expand All @@ -84,11 +85,11 @@ def add_stdlib_facts
when 'openbsd'
'openbsd'
when 'suse'
os['release']['major'].to_i >= 12 ? 'systemd' : 'redhat'
(os['release']['major'].to_i >= 12) ? 'systemd' : 'redhat'
when 'windows'
'windows'
else
'init'
end
end
}
end
5 changes: 3 additions & 2 deletions lib/voxpupuli/test/rake.rb
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
require 'puppetlabs_spec_helper/rake_tasks'

PuppetLint.configuration.log_format = '%{path}:%{line}:%{check}:%{KIND}:%{message}'
PuppetLint.configuration.log_format = '%<path>s:%<line>s:%<check>s:%<KIND>s:%<message>s'
# without this, puppet-lint always gives an exit code of 0
PuppetLint.configuration.fail_on_warnings = true

Expand All @@ -14,8 +14,9 @@
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$}
if line =~ /\s\n$/
puts "#{filename} has trailing whitespace on line #{index + 1}"
exit 1
end
Expand Down
54 changes: 27 additions & 27 deletions spec/facts_spec.rb
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# frozen_string_literal: true

require 'spec_helper'

describe 'override_facts' do
Expand All @@ -9,9 +11,9 @@
'release' => {
'full' => '7.7.1908',
'major' => '7',
'minor' => '7'
'minor' => '7',
},
}
},
}
end

Expand All @@ -24,9 +26,9 @@
'release' => {
'full' => '7.7.1908',
'major' => '7',
'minor' => '7'
'minor' => '7',
},
}
},
}
end

Expand All @@ -42,16 +44,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
Expand All @@ -63,13 +65,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
Expand All @@ -81,19 +83,19 @@
'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 }
Expand All @@ -111,7 +113,7 @@
context 'with systemd' do
let(:dependencies) do
[
{'name' => 'puppet/systemd'},
{ 'name' => 'puppet/systemd' },
]
end

Expand All @@ -123,24 +125,20 @@
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 9' do
add_facts_for_metadata(metadata)
facts = RspecPuppetFacts.with_custom_facts('redhat-9-x86_64', {
os: { 'family' => 'RedHat', 'release' => { 'major' => '9' } }
})
facts = RspecPuppetFacts.with_custom_facts('redhat-9-x86_64', { os: { 'family' => 'RedHat', 'release' => { 'major' => '9' } } })
expect(facts[:systemd]).to be true
end

it 'has no systemd on openbsd' do
add_facts_for_metadata(metadata)
facts = RspecPuppetFacts.with_custom_facts('openbsd-7-x86_64', {
os: { 'family' => 'OpenBSD' }
})
facts = RspecPuppetFacts.with_custom_facts('openbsd-7-x86_64', { os: { 'family' => 'OpenBSD' } })
expect(facts[:systemd]).to be false
end
end
Expand All @@ -149,13 +147,15 @@
context 'with stdlib' do
let(:dependencies) do
[
{'name' => 'puppetlabs/stdlib'},
{ 'name' => 'puppetlabs/stdlib' },
]
end

it 'adds the systemd fact' do
expect(RspecPuppetFacts).to receive(:register_custom_fact).with(:puppet_environmentpath, '/etc/puppetlabs/code/environments', {})
expect(RspecPuppetFacts).to receive(:register_custom_fact).with(:puppet_vardir, '/opt/puppetlabs/puppet/cache', {})
expect(RspecPuppetFacts).to receive(:register_custom_fact).with(:puppet_environmentpath,
'/etc/puppetlabs/code/environments', {})
expect(RspecPuppetFacts).to receive(:register_custom_fact).with(:puppet_vardir, '/opt/puppetlabs/puppet/cache',
{})
expect(RspecPuppetFacts).to receive(:register_custom_fact).with(:root_home, '/root', {})
expect(RspecPuppetFacts).to receive(:register_custom_fact).with(:service_provider, instance_of(Proc), {})
add_facts_for_metadata(metadata)
Expand Down
2 changes: 2 additions & 0 deletions spec/spec_helper.rb
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# frozen_string_literal: true

begin
require 'simplecov'
require 'simplecov-console'
Expand Down
4 changes: 2 additions & 2 deletions voxpupuli-test.gemspec
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# -*- encoding: utf-8 -*-
# frozen_string_literal: true

Gem::Specification.new do |s|
s.name = 'voxpupuli-test'
Expand Down Expand Up @@ -32,8 +32,8 @@ Gem::Specification.new do |s|
# newest versions that still support Ruby 2.6
# jruby 9.3 in Puppetserver 7 is compatible with C Ruby 2.6
s.add_runtime_dependency 'rubocop', '~> 1.50.0'
s.add_runtime_dependency 'rubocop-rspec', '~> 2.20.0'
s.add_runtime_dependency 'rubocop-rake', '~> 0.6.0'
s.add_runtime_dependency 'rubocop-rspec', '~> 2.20.0'

# Linting
# meta gem to pull in all puppet-lint plugins + puppet-lint itself
Expand Down

0 comments on commit 5631ebe

Please sign in to comment.