From 939f795d373a5a935c172cbef65dac8d39f7e594 Mon Sep 17 00:00:00 2001 From: Ben Roberts Date: Thu, 9 May 2019 23:41:09 +0100 Subject: [PATCH] Autocorrect PDK validation warnings --- lib/facter/entropy_repos.rb | 10 +- lib/facter/locale.rb | 9 +- lib/puppet/provider/enman_repo/enman.rb | 41 ++-- .../provider/entropy_keywords/parsed.rb | 45 ++-- lib/puppet/provider/entropy_mask/parsed.rb | 49 ++--- lib/puppet/provider/entropy_repo/file.rb | 38 ++-- .../provider/entropy_splitdebug/parsed.rb | 49 ++--- .../entropy_splitdebug_mask/parsed.rb | 49 ++--- lib/puppet/provider/entropy_unmask/parsed.rb | 49 ++--- lib/puppet/provider/package/entropy.rb | 92 ++++---- lib/puppet/provider/service/sabayon.rb | 7 +- lib/puppet/type/enman_repo.rb | 10 +- lib/puppet/type/entropy_keywords.rb | 31 ++- lib/puppet/type/entropy_mask.rb | 31 ++- lib/puppet/type/entropy_repo.rb | 14 +- lib/puppet/type/entropy_splitdebug.rb | 31 ++- lib/puppet/type/entropy_splitdebug_mask.rb | 31 ++- lib/puppet/type/entropy_unmask.rb | 31 ++- spec/classes/init_spec.rb | 4 +- .../provider/entropy_keywords/parsed_spec.rb | 145 +++++++------ spec/unit/provider/entropy_repo/file_spec.rb | 38 ++-- .../provider/package_types/parsed_spec.rb | 201 +++++++++--------- spec/unit/type/enman_repo_spec.rb | 12 +- spec/unit/type/entropy_keywords_spec.rb | 41 ++-- spec/unit/type/entropy_repo_spec.rb | 10 +- spec/unit/type/package_types_spec.rb | 53 +++-- 26 files changed, 537 insertions(+), 584 deletions(-) diff --git a/lib/facter/entropy_repos.rb b/lib/facter/entropy_repos.rb index c509bb0..95540d5 100644 --- a/lib/facter/entropy_repos.rb +++ b/lib/facter/entropy_repos.rb @@ -1,16 +1,15 @@ Facter.add('entropy_repos') do - - confine :operatingsystem => :Sabayon + confine operatingsystem: :Sabayon setcode do # Use the types/providers to do the heavy lifting here repos = {} - Puppet::Type.type(:entropy_repo).provider(:file).instances().each do |repo| + Puppet::Type.type(:entropy_repo).provider(:file).instances.each do |repo| Facter.debug(repo.enabled) r = { - :repo_type => repo.repo_type, - :enabled => repo.enabled, + repo_type: repo.repo_type, + enabled: repo.enabled, } repos[repo.name] = r @@ -18,5 +17,4 @@ Facter.add('entropy_repos') do repos end - end diff --git a/lib/facter/locale.rb b/lib/facter/locale.rb index b0cfcbe..8d6b7c2 100644 --- a/lib/facter/locale.rb +++ b/lib/facter/locale.rb @@ -1,7 +1,6 @@ Facter.add(:locale) do - confine :osfamily => :gentoo - setcode do - Facter::Core::Execution.exec('eselect --colour=no --brief locale show').strip - end + confine osfamily: :gentoo + setcode do + Facter::Core::Execution.exec('eselect --colour=no --brief locale show').strip + end end - diff --git a/lib/puppet/provider/enman_repo/enman.rb b/lib/puppet/provider/enman_repo/enman.rb index 6726151..dfa0e7d 100644 --- a/lib/puppet/provider/enman_repo/enman.rb +++ b/lib/puppet/provider/enman_repo/enman.rb @@ -1,54 +1,51 @@ Puppet::Type.type(:enman_repo).provide(:enman) do - desc "Enman provider for Enman Repositories" - - defaultfor :operatingsystem => :sabayon + desc 'Enman provider for Enman Repositories' - commands({:enman => "enman"}) + defaultfor operatingsystem: :sabayon + + commands(enman: 'enman') mk_resource_methods - + def create - enman("add", resource[:name]) - @property_hash[:ensure] = :present + enman('add', resource[:name]) + @property_hash[:ensure] = :present end - + def destroy - enman("remove", resource[:name]) - @property_hash[:ensure] = :absent + enman('remove', resource[:name]) + @property_hash[:ensure] = :absent end - + def exists? @property_hash[:ensure] == :present end def self.instances - all_installed = enman("list", "--quiet", "--installed").chomp.split - all_available = enman("list", "--quiet", "--available").chomp.split + all_installed = enman('list', '--quiet', '--installed').chomp.split + all_available = enman('list', '--quiet', '--available').chomp.split - all_available.collect do |available_repo| + all_available.map do |available_repo| repo = { - :name => available_repo, - :ensure => all_installed.include?(available_repo) ? :present : :absent, - :provider => :enman_repo, + name: available_repo, + ensure: all_installed.include?(available_repo) ? :present : :absent, + provider: :enman_repo, } Puppet.debug(repo) new(repo) end - end def self.prefetch(resources) - available_repos = self.instances() + available_repos = instances - resources.each do |name, resource| + resources.each do |name, _resource| if provider = available_repos.find { |r| r.name == name } resources[name].provider = provider end end end - end # vim: set ts=2 shiftwidth=2 expandtab : - diff --git a/lib/puppet/provider/entropy_keywords/parsed.rb b/lib/puppet/provider/entropy_keywords/parsed.rb index 5469e34..c529883 100644 --- a/lib/puppet/provider/entropy_keywords/parsed.rb +++ b/lib/puppet/provider/entropy_keywords/parsed.rb @@ -1,41 +1,38 @@ require 'puppet/provider/parsedfile' -file = "/etc/entropy/packages/package.keywords" +file = '/etc/entropy/packages/package.keywords' Puppet::Type.type(:entropy_keywords).provide(:parsed, - :parent => Puppet::Provider::ParsedFile, - :default_target => file, - :filetype => :flat -) do + parent: Puppet::Provider::ParsedFile, + default_target: file, + filetype: :flat) do - desc "Override keywords for entropy packages" + desc 'Override keywords for entropy packages' - defaultfor :operatingsystem => :sabayon + defaultfor operatingsystem: :sabayon text_line :blank, - :match => /^\s*$/ + match: %r{^\s*$} text_line :comment, - :match => /^\s*#/ + 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*$} record_line :parsed, - :fields => %w{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*$}, - :to_line => proc { |record| - line = record[:keyword] + " " - line += record[:operator] if record[:operator] - line += record[:package] if record[:package] - line += "-" + record[:version] if record[:version] - line += " " if record[:package] && record[:repo] - line += "repo=" + record[:repo] if record[:repo] - line += " ## Puppet Name: " + record[:name] - - line - } + 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*$}, + to_line: proc { |record| + line = record[:keyword] + ' ' + line += record[:operator] if record[:operator] + line += record[:package] if record[:package] + line += '-' + record[:version] if record[:version] + line += ' ' if record[:package] && record[:repo] + line += 'repo=' + record[:repo] if record[:repo] + line += ' ## Puppet Name: ' + record[:name] + line + } end # vim: set ts=2 shiftwidth=2 expandtab : - diff --git a/lib/puppet/provider/entropy_mask/parsed.rb b/lib/puppet/provider/entropy_mask/parsed.rb index 6ea649c..e26db3a 100644 --- a/lib/puppet/provider/entropy_mask/parsed.rb +++ b/lib/puppet/provider/entropy_mask/parsed.rb @@ -1,43 +1,40 @@ require 'puppet/provider/parsedfile' -masks = "/etc/entropy/packages/package.mask" +masks = '/etc/entropy/packages/package.mask' Puppet::Type.type(:entropy_mask).provide(:parsed, - :parent => Puppet::Provider::ParsedFile, - :default_target => masks, - :filetype => :flat -) do + parent: Puppet::Provider::ParsedFile, + default_target: masks, + filetype: :flat) do - desc "File mask provider for entropy packages" + desc 'File mask provider for entropy packages' - defaultfor :operatingsystem => :sabayon + defaultfor operatingsystem: :sabayon text_line :blank, - :match => /^\s*$/ + match: %r{^\s*$} text_line :comment, - :match => /^\s*#/ + 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*$} record_line :parsed, - :fields => %w{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*$}, - :to_line => proc { |record| - line = "" - line += record[:operator] if record[:operator] - line += record[:package] if record[:package] - line += "-" + record[:version] if record[:version] - line += ":" + record[:slot] if record[:slot] - line += "[" + record[:use] + "]" if record[:use] - line += "#" + record[:tag] if record[:tag] - line += "::" + record[:repo] if record[:repo] - line += " ## Puppet Name: " + record[:name] - - line - } + 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*$}, + to_line: proc { |record| + line = '' + line += record[:operator] if record[:operator] + line += record[:package] if record[:package] + line += '-' + record[:version] if record[:version] + line += ':' + record[:slot] if record[:slot] + line += '[' + record[:use] + ']' if record[:use] + line += '#' + record[:tag] if record[:tag] + line += '::' + record[:repo] if record[:repo] + line += ' ## Puppet Name: ' + record[:name] + line + } end # vim: set ts=2 shiftwidth=2 expandtab : - diff --git a/lib/puppet/provider/entropy_repo/file.rb b/lib/puppet/provider/entropy_repo/file.rb index 4b14e9c..6113eea 100644 --- a/lib/puppet/provider/entropy_repo/file.rb +++ b/lib/puppet/provider/entropy_repo/file.rb @@ -1,7 +1,7 @@ Puppet::Type.type(:entropy_repo).provide(:file) do - desc "File provider for Entropy Repositories" - - defaultfor :operatingsystem => :sabayon + desc 'File provider for Entropy Repositories' + + defaultfor operatingsystem: :sabayon mk_resource_methods @@ -18,57 +18,55 @@ Puppet::Type.type(:entropy_repo).provide(:file) do disabled_filename = "/etc/entropy/repositories.conf.d/_entropy_#{type_prefix}#{@property_hash[:name]}" if value == 'true' || value == :true - if File.exists?(disabled_filename) + if File.exist?(disabled_filename) File.rename(disabled_filename, enabled_filename) end else - if File.exists?(enabled_filename) + if File.exist?(enabled_filename) File.rename(enabled_filename, disabled_filename) end end @property_hash[:enabled] = value end - + def self.instances repos = Dir.entries('/etc/entropy/repositories.conf.d/') - repos.collect do |r| + repos.map { |r| if r == '.' || r == '..' nil - elsif r =~ /\.example$/ + elsif r =~ %r{\.example$} nil - elsif r !~ /^_?entropy_/ + elsif r !~ %r{^_?entropy_} nil else - matches = /^(_)?entropy_(enman_)?(.*)$/.match(r) + matches = %r{^(_)?entropy_(enman_)?(.*)$}.match(r) enabled = matches[1].nil? ? 'true' : 'false' - type = matches[2] == 'enman_' ? 'enman' : 'entropy' + type = (matches[2] == 'enman_') ? 'enman' : 'entropy' name = matches[3] repo = { - :name => name, - :repo_type => type, - :enabled => enabled, - :provider => :entropy_repo, + name: name, + repo_type: type, + enabled: enabled, + provider: :entropy_repo, } new(repo) end - end.compact + }.compact end def self.prefetch(resources) - repos = self.instances() + repos = instances - resources.each do |name, resource| + resources.each do |name, _resource| if provider = repos.find { |r| r.name == name } resources[name].provider = provider end end end - end # vim: set ts=2 shiftwidth=2 expandtab : - diff --git a/lib/puppet/provider/entropy_splitdebug/parsed.rb b/lib/puppet/provider/entropy_splitdebug/parsed.rb index 1a445fd..db41266 100644 --- a/lib/puppet/provider/entropy_splitdebug/parsed.rb +++ b/lib/puppet/provider/entropy_splitdebug/parsed.rb @@ -1,43 +1,40 @@ require 'puppet/provider/parsedfile' -file = "/etc/entropy/packages/package.splitdebug" +file = '/etc/entropy/packages/package.splitdebug' Puppet::Type.type(:entropy_splitdebug).provide(:parsed, - :parent => Puppet::Provider::ParsedFile, - :default_target => file, - :filetype => :flat -) do + parent: Puppet::Provider::ParsedFile, + default_target: file, + filetype: :flat) do - desc "File splitdebug provider for entropy packages" + desc 'File splitdebug provider for entropy packages' - defaultfor :operatingsystem => :sabayon + defaultfor operatingsystem: :sabayon text_line :blank, - :match => /^\s*$/ + match: %r{^\s*$} text_line :comment, - :match => /^\s*#/ + 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*$} record_line :parsed, - :fields => %w{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*$}, - :to_line => proc { |record| - line = "" - line += record[:operator] if record[:operator] - line += record[:package] if record[:package] - line += "-" + record[:version] if record[:version] - line += ":" + record[:slot] if record[:slot] - line += "[" + record[:use] + "]" if record[:use] - line += "#" + record[:tag] if record[:tag] - line += "::" + record[:repo] if record[:repo] - line += " ## Puppet Name: " + record[:name] + 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*$}, + to_line: proc { |record| + line = '' + line += record[:operator] if record[:operator] + line += record[:package] if record[:package] + line += '-' + record[:version] if record[:version] + line += ':' + record[:slot] if record[:slot] + line += '[' + record[:use] + ']' if record[:use] + line += '#' + record[:tag] if record[:tag] + line += '::' + record[:repo] if record[:repo] + line += ' ## Puppet Name: ' + record[:name] - line - } - + line + } end # vim: set ts=2 shiftwidth=2 expandtab : - diff --git a/lib/puppet/provider/entropy_splitdebug_mask/parsed.rb b/lib/puppet/provider/entropy_splitdebug_mask/parsed.rb index d4f602d..6aac71b 100644 --- a/lib/puppet/provider/entropy_splitdebug_mask/parsed.rb +++ b/lib/puppet/provider/entropy_splitdebug_mask/parsed.rb @@ -1,43 +1,40 @@ require 'puppet/provider/parsedfile' -file = "/etc/entropy/packages/package.splitdebug.mask" +file = '/etc/entropy/packages/package.splitdebug.mask' Puppet::Type.type(:entropy_splitdebug_mask).provide(:parsed, - :parent => Puppet::Provider::ParsedFile, - :default_target => file, - :filetype => :flat -) do + parent: Puppet::Provider::ParsedFile, + default_target: file, + filetype: :flat) do - desc "File splitdebug mask provider for entropy packages" + desc 'File splitdebug mask provider for entropy packages' - defaultfor :operatingsystem => :sabayon + defaultfor operatingsystem: :sabayon text_line :blank, - :match => /^\s*$/ + match: %r{^\s*$} text_line :comment, - :match => /^\s*#/ + 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*$} record_line :parsed, - :fields => %w{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*$}, - :to_line => proc { |record| - line = "" - line += record[:operator] if record[:operator] - line += record[:package] if record[:package] - line += "-" + record[:version] if record[:version] - line += ":" + record[:slot] if record[:slot] - line += "[" + record[:use] + "]" if record[:use] - line += "#" + record[:tag] if record[:tag] - line += "::" + record[:repo] if record[:repo] - line += " ## Puppet Name: " + record[:name] + 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*$}, + to_line: proc { |record| + line = '' + line += record[:operator] if record[:operator] + line += record[:package] if record[:package] + line += '-' + record[:version] if record[:version] + line += ':' + record[:slot] if record[:slot] + line += '[' + record[:use] + ']' if record[:use] + line += '#' + record[:tag] if record[:tag] + line += '::' + record[:repo] if record[:repo] + line += ' ## Puppet Name: ' + record[:name] - line - } - + line + } end # vim: set ts=2 shiftwidth=2 expandtab : - diff --git a/lib/puppet/provider/entropy_unmask/parsed.rb b/lib/puppet/provider/entropy_unmask/parsed.rb index 2ff7ad3..ca588bf 100644 --- a/lib/puppet/provider/entropy_unmask/parsed.rb +++ b/lib/puppet/provider/entropy_unmask/parsed.rb @@ -1,43 +1,40 @@ require 'puppet/provider/parsedfile' -unmasks = "/etc/entropy/packages/package.unmask" +unmasks = '/etc/entropy/packages/package.unmask' Puppet::Type.type(:entropy_unmask).provide(:parsed, - :parent => Puppet::Provider::ParsedFile, - :default_target => unmasks, - :filetype => :flat -) do + parent: Puppet::Provider::ParsedFile, + default_target: unmasks, + filetype: :flat) do - desc "File unmask provider for entropy packages" + desc 'File unmask provider for entropy packages' - defaultfor :operatingsystem => :sabayon + defaultfor operatingsystem: :sabayon text_line :blank, - :match => /^\s*$/ + match: %r{^\s*$} text_line :comment, - :match => /^\s*#/ + 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*$} record_line :parsed, - :fields => %w{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*$}, - :to_line => proc { |record| - line = "" - line += record[:operator] if record[:operator] - line += record[:package] if record[:package] - line += "-" + record[:version] if record[:version] - line += ":" + record[:slot] if record[:slot] - line += "[" + record[:use] + "]" if record[:use] - line += "#" + record[:tag] if record[:tag] - line += "::" + record[:repo] if record[:repo] - line += " ## Puppet Name: " + record[:name] + 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*$}, + to_line: proc { |record| + line = '' + line += record[:operator] if record[:operator] + line += record[:package] if record[:package] + line += '-' + record[:version] if record[:version] + line += ':' + record[:slot] if record[:slot] + line += '[' + record[:use] + ']' if record[:use] + line += '#' + record[:tag] if record[:tag] + line += '::' + record[:repo] if record[:repo] + line += ' ## Puppet Name: ' + record[:name] - line - } - + line + } end # vim: set ts=2 shiftwidth=2 expandtab : - diff --git a/lib/puppet/provider/package/entropy.rb b/lib/puppet/provider/package/entropy.rb index 8989b24..6655d4d 100644 --- a/lib/puppet/provider/package/entropy.rb +++ b/lib/puppet/provider/package/entropy.rb @@ -1,7 +1,7 @@ require 'puppet/provider/package' require 'fileutils' -Puppet::Type.type(:package).provide(:entropy, :parent => Puppet::Provider::Package) do +Puppet::Type.type(:package).provide(:entropy, parent: Puppet::Provider::Package) do desc "Provides packaging support for Sabayon's entropy system." has_feature :versionable @@ -9,60 +9,57 @@ Puppet::Type.type(:package).provide(:entropy, :parent => Puppet::Provider::Packa has_feature :uninstallable has_feature :upgradeable - has_command(:equo, "equo") do + has_command(:equo, 'equo') do locale = Facter.value(:locale) - environment({ - :LANG => locale, - :LC_ALL => locale, - :LANGUAHE => locale, - }) + environment(LANG: locale, + LC_ALL: locale, + LANGUAHE: locale) end # Require the locale fact exist - confine :false => Facter.value(:locale).nil? - confine :osfamily => :Gentoo - - defaultfor :operatingsystem => :Sabayon + confine false: Facter.value(:locale).nil? + confine osfamily: :Gentoo + + 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_fields = [:category, :name, :ensure] begin - search_output = equo("query", "list", "installed", "--quiet", "--verbose").chomp + search_output = equo('query', 'list', 'installed', '--quiet', '--verbose').chomp packages = [] search_output.each_line do |search_result| match = result_format.match(search_result) - if match - package = {} - result_fields.zip(match.captures) do |field, value| - package[field] = value unless !value or value.empty? - end - package[:provider] = :entropy - - packages << new(package) + next unless match + package = {} + result_fields.zip(match.captures) do |field, value| + package[field] = value unless !value || value.empty? end + package[:provider] = :entropy + + packages << new(package) end return packages rescue Puppet::ExecutionFailure => detail - raise Puppet::Error.new(detail.message) + raise Puppet::Error, detail.message end end def install should = @resource.should(:ensure) name = package_name - unless should == :present or should == :latest + unless should == :present || should == :latest # We must install a specific version name = "=#{name}-#{should}" end begin - equo "install", name + equo 'install', name rescue Puppet::ExecutionFailure => detail - raise Puppet::Error.new(detail.message) + raise Puppet::Error, detail.message end end @@ -76,15 +73,13 @@ Puppet::Type.type(:package).provide(:entropy, :parent => Puppet::Provider::Packa end def uninstall - begin - equo "remove", package_name - rescue Puppet::ExecutionFailure => detail - raise Puppet::Error.new(detail.message) - end + equo 'remove', package_name + rescue Puppet::ExecutionFailure => detail + raise Puppet::Error, detail.message end def update - self.install + install end def query @@ -93,16 +88,15 @@ Puppet::Type.type(:package).provide(:entropy, :parent => Puppet::Provider::Packa begin # Look for an installed package from a known repository - search_output = equo("match", "--quiet", "--verbose", package_name).chomp + search_output = equo('match', '--quiet', '--verbose', package_name).chomp search_match = search_output.match(result_format) if search_match package = {} result_fields.zip(search_match.captures).each do |field, value| - package[field] = value unless !value or value.empty? + package[field] = value unless !value || value.empty? end - begin installed_output = equo('match', '--quiet', '--verbose', '--installed', package_name).chomp installed_match = installed_output.match(result_format) @@ -122,38 +116,34 @@ Puppet::Type.type(:package).provide(:entropy, :parent => Puppet::Provider::Packa else # List all installed packages and try and find if it's installed from outside a repository # If so, assume the installed version is the latest available - all_installed = equo("query", "list", "installed", "--quiet", "--verbose").chomp + all_installed = equo('query', 'list', 'installed', '--quiet', '--verbose').chomp all_installed.split("\n").each do |installed_package| - search_match = installed_package.match(result_format) - if search_match - search_captures = search_match.captures - - if (search_captures[0] == @resource[:category] and search_captures[1] == @resource[:name]) or "#{search_captures[0]}/#{search_captures[1]}" == package_name + next unless search_match + search_captures = search_match.captures - package = { - :ensure => search_captures[2] - } + next unless (search_captures[0] == (@resource[:category]) && search_captures[1] == (@resource[:name])) || package_name == "#{search_captures[0]}/#{search_captures[1]}" - result_fields.zip(search_captures).each do |field, value| - package[field] = value unless !value or value.empty? - end + package = { + ensure: search_captures[2], + } - return package - - end + result_fields.zip(search_captures).each do |field, value| + package[field] = value unless !value || value.empty? end + + return package end - raise Puppet::Error.new("No package found with the specified name [#{package_name}]") + raise Puppet::Error, "No package found with the specified name [#{package_name}]" end rescue Puppet::ExecutionFailure => detail - raise Puppet::Error.new(detail.message) + raise Puppet::Error, detail.message end end def latest - self.query[:version_available] + query[:version_available] end end diff --git a/lib/puppet/provider/service/sabayon.rb b/lib/puppet/provider/service/sabayon.rb index 0439070..2b40a33 100644 --- a/lib/puppet/provider/service/sabayon.rb +++ b/lib/puppet/provider/service/sabayon.rb @@ -1,8 +1,7 @@ # Manage systemd services using /bin/systemctl -Puppet::Type.type(:service).provide :sabayon, :parent => :systemd do - desc "Manages `systemd` services using `systemctl`." - - defaultfor :operatingsystem => :sabayon +Puppet::Type.type(:service).provide :sabayon, parent: :systemd do + desc 'Manages `systemd` services using `systemctl`.' + defaultfor operatingsystem: :sabayon end diff --git a/lib/puppet/type/enman_repo.rb b/lib/puppet/type/enman_repo.rb index faea233..f8bad7e 100644 --- a/lib/puppet/type/enman_repo.rb +++ b/lib/puppet/type/enman_repo.rb @@ -1,18 +1,16 @@ Puppet::Type.newtype(:enman_repo) do - @desc = "Manages Sabayon Community Repositories" - + @desc = 'Manages Sabayon Community Repositories' + ensurable - + newparam(:name) do - desc "Name of the Enman Repository" + desc 'Name of the Enman Repository' isnamevar end autorequire(:package) do ['enman'] end - end # vim: set ts=2 shiftwidth=2 expandtab : - diff --git a/lib/puppet/type/entropy_keywords.rb b/lib/puppet/type/entropy_keywords.rb index 8842253..ca85a32 100644 --- a/lib/puppet/type/entropy_keywords.rb +++ b/lib/puppet/type/entropy_keywords.rb @@ -1,23 +1,23 @@ Puppet::Type.newtype(:entropy_keywords) do - @desc = "Override keywords for Entropy packages" - + @desc = 'Override keywords for Entropy packages' + ensurable - + newparam(:name) do - desc "Unique name for this keyword entry" + desc 'Unique name for this keyword entry' end newproperty(:keyword) do - desc "Keyword to be applied to matching packages" + desc 'Keyword to be applied to matching packages' - defaultto { + defaultto do os = Facter.value(:os) if os.key?('architecture') os['architecture'] else '**' end - } + end end newproperty(:operator) do @@ -25,35 +25,35 @@ Puppet::Type.newtype(:entropy_keywords) do end newproperty(:package) do - desc "Name of the package being keyworded" + desc 'Name of the package being keyworded' newvalues(%r{^(?:[A-Za-z0-9+_.-]+\/)?[a-zA-Z0-9+_-]+$}) end newproperty(:version) do - desc "Version of the package" + desc 'Version of the package' newvalues(%r{^(\d*(?:\.\d+[a-zA-Z]*)*)(?:_((?:alpha|beta|pre|rc)\d*))?(-r\d+)?$}) end newproperty(:repo) do - desc "Repo for the package" + desc 'Repo for the package' end newproperty(:target) do - desc "Location of the package.keywords file being managed" + desc 'Location of the package.keywords file being managed' - defaultto { + defaultto do if @resource.class.defaultprovider.ancestors.include?(Puppet::Provider::ParsedFile) @resource.class.defaultprovider.default_target else nil end - } + end end validate do - raise(ArgumentError, "Package is required when a version is specified") if self[:package].nil? && !self[:version].nil? + raise(ArgumentError, 'Package is required when a version is specified') if self[:package].nil? && !self[:version].nil? - raise(ArgumentError, "Version is required when an operator is specified") if self[:version].nil? && !self[:operator].nil? + raise(ArgumentError, 'Version is required when an operator is specified') if self[:version].nil? && !self[:operator].nil? end autobefore(:package) do @@ -62,4 +62,3 @@ Puppet::Type.newtype(:entropy_keywords) do end # vim: set ts=2 sw=2 expandtab: - diff --git a/lib/puppet/type/entropy_mask.rb b/lib/puppet/type/entropy_mask.rb index 33f1d6a..562761e 100644 --- a/lib/puppet/type/entropy_mask.rb +++ b/lib/puppet/type/entropy_mask.rb @@ -1,10 +1,10 @@ Puppet::Type.newtype(:entropy_mask) do - @desc = "Mask packages in Entropy" - + @desc = 'Mask packages in Entropy' + ensurable - + newparam(:name) do - desc "Unique name for this mask" + desc 'Unique name for this mask' end newproperty(:operator) do @@ -12,47 +12,47 @@ Puppet::Type.newtype(:entropy_mask) do end newproperty(:package) do - desc "Name of the package being masked" + desc 'Name of the package being masked' newvalues(%r{^(?:[A-Za-z0-9+_.-]+\/)?[a-zA-Z0-9+_-]+$}) end newproperty(:version) do - desc "Version of the package" + desc 'Version of the package' newvalues(%r{^(\d*(?:\.\d+[a-zA-Z]*)*)(?:_((?:alpha|beta|pre|rc)\d*))?(-r\d+)?$}) end newproperty(:slot) do - desc "Slot the package is in" + desc 'Slot the package is in' end newproperty(:use) do - desc "Useflags for the package" + desc 'Useflags for the package' end newproperty(:tag) do - desc "Tag for the package" + desc 'Tag for the package' end newproperty(:repo) do - desc "Repo for the package" + desc 'Repo for the package' end newproperty(:target) do - desc "Location of the package.mask file being managed" + desc 'Location of the package.mask file being managed' - defaultto { + defaultto do if @resource.class.defaultprovider.ancestors.include?(Puppet::Provider::ParsedFile) @resource.class.defaultprovider.default_target else nil end - } + end end validate do - raise(ArgumentError, "Package is required when a version is specified") if self[:package].nil? && !self[:version].nil? + raise(ArgumentError, 'Package is required when a version is specified') if self[:package].nil? && !self[:version].nil? - raise(ArgumentError, "Version is required when an operator is specified") if self[:version].nil? && !self[:operator].nil? + raise(ArgumentError, 'Version is required when an operator is specified') if self[:version].nil? && !self[:operator].nil? end autobefore(:package) do @@ -61,4 +61,3 @@ Puppet::Type.newtype(:entropy_mask) do end # vim: set ts=2 sw=2 expandtab: - diff --git a/lib/puppet/type/entropy_repo.rb b/lib/puppet/type/entropy_repo.rb index 5f2cdcb..54299ed 100644 --- a/lib/puppet/type/entropy_repo.rb +++ b/lib/puppet/type/entropy_repo.rb @@ -1,22 +1,20 @@ require 'puppet/property/boolean' Puppet::Type.newtype(:entropy_repo) do - @desc = "Manages Entropy Repositories" - + @desc = 'Manages Entropy Repositories' + newparam(:name) do - desc "Name of the Entropy Repository" + desc 'Name of the Entropy Repository' end - newproperty(:repo_type, :readonly => true) do - desc "What type of repository this is (enman or entropy)" + newproperty(:repo_type, readonly: true) do + desc 'What type of repository this is (enman or entropy)' end newproperty(:enabled) do - desc "Whether the repository is enabled or not" + desc 'Whether the repository is enabled or not' newvalues('true', 'false') end - end # vim: set ts=2 shiftwidth=2 expandtab : - diff --git a/lib/puppet/type/entropy_splitdebug.rb b/lib/puppet/type/entropy_splitdebug.rb index 0176750..962e403 100644 --- a/lib/puppet/type/entropy_splitdebug.rb +++ b/lib/puppet/type/entropy_splitdebug.rb @@ -1,10 +1,10 @@ Puppet::Type.newtype(:entropy_splitdebug) do - @desc = "Manages splitdebug for packages in Entropy" - + @desc = 'Manages splitdebug for packages in Entropy' + ensurable - + newparam(:name) do - desc "Unique name for this splitdebug specification" + desc 'Unique name for this splitdebug specification' end newproperty(:operator) do @@ -12,47 +12,47 @@ Puppet::Type.newtype(:entropy_splitdebug) do end newproperty(:package) do - desc "Name of the package with splitdebug" + desc 'Name of the package with splitdebug' newvalues(%r{^(?:[A-Za-z0-9+_.-]+\/)?[a-zA-Z0-9+_-]+$}) end newproperty(:version) do - desc "Version of the package" + desc 'Version of the package' newvalues(%r{^(\d*(?:\.\d+[a-zA-Z]*)*)(?:_((?:alpha|beta|pre|rc)\d*))?(-r\d+)?$}) end newproperty(:slot) do - desc "Slot the package is in" + desc 'Slot the package is in' end newproperty(:use) do - desc "Useflags for the package" + desc 'Useflags for the package' end newproperty(:tag) do - desc "Tag for the package" + desc 'Tag for the package' end newproperty(:repo) do - desc "Repo for the package" + desc 'Repo for the package' end newproperty(:target) do - desc "Location of the package.splitdebug file being managed" + desc 'Location of the package.splitdebug file being managed' - defaultto { + defaultto do if @resource.class.defaultprovider.ancestors.include?(Puppet::Provider::ParsedFile) @resource.class.defaultprovider.default_target else nil end - } + end end validate do - raise(ArgumentError, "Package is required when a version is specified") if self[:package].nil? && !self[:version].nil? + raise(ArgumentError, 'Package is required when a version is specified') if self[:package].nil? && !self[:version].nil? - raise(ArgumentError, "Version is required when an operator is specified") if self[:version].nil? && !self[:operator].nil? + raise(ArgumentError, 'Version is required when an operator is specified') if self[:version].nil? && !self[:operator].nil? end autobefore(:package) do @@ -61,4 +61,3 @@ Puppet::Type.newtype(:entropy_splitdebug) do end # vim: set ts=2 sw=2 expandtab: - diff --git a/lib/puppet/type/entropy_splitdebug_mask.rb b/lib/puppet/type/entropy_splitdebug_mask.rb index 1016b38..279fb14 100644 --- a/lib/puppet/type/entropy_splitdebug_mask.rb +++ b/lib/puppet/type/entropy_splitdebug_mask.rb @@ -1,10 +1,10 @@ Puppet::Type.newtype(:entropy_splitdebug_mask) do - @desc = "Manages splitdebug masks for packages in Entropy" - + @desc = 'Manages splitdebug masks for packages in Entropy' + ensurable - + newparam(:name) do - desc "Unique name for this splitdebug mask specification" + desc 'Unique name for this splitdebug mask specification' end newproperty(:operator) do @@ -12,47 +12,47 @@ Puppet::Type.newtype(:entropy_splitdebug_mask) do end newproperty(:package) do - desc "Name of the package with splitdebug mask" + desc 'Name of the package with splitdebug mask' newvalues(%r{^(?:[A-Za-z0-9+_.-]+\/)?[a-zA-Z0-9+_-]+$}) end newproperty(:version) do - desc "Version of the package" + desc 'Version of the package' newvalues(%r{^(\d*(?:\.\d+[a-zA-Z]*)*)(?:_((?:alpha|beta|pre|rc)\d*))?(-r\d+)?$}) end newproperty(:slot) do - desc "Slot the package is in" + desc 'Slot the package is in' end newproperty(:use) do - desc "Useflags for the package" + desc 'Useflags for the package' end newproperty(:tag) do - desc "Tag for the package" + desc 'Tag for the package' end newproperty(:repo) do - desc "Repo for the package" + desc 'Repo for the package' end newproperty(:target) do - desc "Location of the package.splitdebug.mask file being managed" + desc 'Location of the package.splitdebug.mask file being managed' - defaultto { + defaultto do if @resource.class.defaultprovider.ancestors.include?(Puppet::Provider::ParsedFile) @resource.class.defaultprovider.default_target else nil end - } + end end validate do - raise(ArgumentError, "Package is required when a version is specified") if self[:package].nil? && !self[:version].nil? + raise(ArgumentError, 'Package is required when a version is specified') if self[:package].nil? && !self[:version].nil? - raise(ArgumentError, "Version is required when an operator is specified") if self[:version].nil? && !self[:operator].nil? + raise(ArgumentError, 'Version is required when an operator is specified') if self[:version].nil? && !self[:operator].nil? end autobefore(:package) do @@ -61,4 +61,3 @@ Puppet::Type.newtype(:entropy_splitdebug_mask) do end # vim: set ts=2 sw=2 expandtab: - diff --git a/lib/puppet/type/entropy_unmask.rb b/lib/puppet/type/entropy_unmask.rb index f81dcf7..0ceff3e 100644 --- a/lib/puppet/type/entropy_unmask.rb +++ b/lib/puppet/type/entropy_unmask.rb @@ -1,10 +1,10 @@ Puppet::Type.newtype(:entropy_unmask) do - @desc = "Unmask packages in Entropy" - + @desc = 'Unmask packages in Entropy' + ensurable - + newparam(:name) do - desc "Unique name for this unmask" + desc 'Unique name for this unmask' end newproperty(:operator) do @@ -12,47 +12,47 @@ Puppet::Type.newtype(:entropy_unmask) do end newproperty(:package) do - desc "Name of the package being masked" + desc 'Name of the package being masked' newvalues(%r{^(?:[A-Za-z0-9+_.-]+\/)?[a-zA-Z0-9+_-]+$}) end newproperty(:version) do - desc "Version of the package" + desc 'Version of the package' newvalues(%r{^(\d*(?:\.\d+[a-zA-Z]*)*)(?:_((?:alpha|beta|pre|rc)\d*))?(-r\d+)?$}) end newproperty(:slot) do - desc "Slot the package is in" + desc 'Slot the package is in' end newproperty(:use) do - desc "Useflags for the package" + desc 'Useflags for the package' end newproperty(:tag) do - desc "Tag for the package" + desc 'Tag for the package' end newproperty(:repo) do - desc "Repo for the package" + desc 'Repo for the package' end newproperty(:target) do - desc "Location of the package.unmask file being managed" + desc 'Location of the package.unmask file being managed' - defaultto { + defaultto do if @resource.class.defaultprovider.ancestors.include?(Puppet::Provider::ParsedFile) @resource.class.defaultprovider.default_target else nil end - } + end end validate do - raise(ArgumentError, "Package is required when a version is specified") if self[:package].nil? && !self[:version].nil? + raise(ArgumentError, 'Package is required when a version is specified') if self[:package].nil? && !self[:version].nil? - raise(ArgumentError, "Version is required when an operator is specified") if self[:version].nil? && !self[:operator].nil? + raise(ArgumentError, 'Version is required when an operator is specified') if self[:version].nil? && !self[:operator].nil? end autobefore(:package) do @@ -61,4 +61,3 @@ Puppet::Type.newtype(:entropy_unmask) do end # vim: set ts=2 sw=2 expandtab: - diff --git a/spec/classes/init_spec.rb b/spec/classes/init_spec.rb index 66ab330..ea2c174 100644 --- a/spec/classes/init_spec.rb +++ b/spec/classes/init_spec.rb @@ -1,7 +1,7 @@ require 'spec_helper' describe 'sabayon' do context 'with default values for all parameters' do - it { should contain_class('sabayon') } - it { should contain_package('app-admin/enman') } + it { is_expected.to contain_class('sabayon') } + it { is_expected.to contain_package('app-admin/enman') } end end diff --git a/spec/unit/provider/entropy_keywords/parsed_spec.rb b/spec/unit/provider/entropy_keywords/parsed_spec.rb index ac1d4ed..f92a100 100644 --- a/spec/unit/provider/entropy_keywords/parsed_spec.rb +++ b/spec/unit/provider/entropy_keywords/parsed_spec.rb @@ -1,7 +1,7 @@ require 'spec_helper' describe Puppet::Type.type(:entropy_keywords).provider(:parsed) do - before do + before(:each) do described_class.stubs(:filetype).returns(Puppet::Util::FileType::FileTypeRam) described_class.stubs(:filetype=) @default_target = described_class.default_target @@ -14,7 +14,7 @@ describe Puppet::Type.type(:entropy_keywords).provider(:parsed) do end describe 'when parsing' do - it 'should parse out the name' do + it 'parses out the name' do line = '** app-admin/foobar ## Puppet Name: foobar' expect(described_class.parse_line(line)[:name]).to eq('foobar') end @@ -23,15 +23,15 @@ describe Puppet::Type.type(:entropy_keywords).provider(:parsed) do line = '** app-admin/foobar ## Puppet Name: foobar' parsed = described_class.parse_line(line) - it 'should parse out the keyword' do + it 'parses out the keyword' do expect(parsed[:keyword]).to eq('**') end - it 'should parse out the package name' do + it 'parses out the package name' do expect(parsed[:package]).to eq('app-admin/foobar') end - it 'should have all other parameters undefined' do + it 'has all other parameters undefined' do [:operator, :version, :repo].each do |param| expect(parsed[param]).to be_nil end @@ -42,19 +42,19 @@ describe Puppet::Type.type(:entropy_keywords).provider(:parsed) do line = '** app-admin/foobar-1.2.3_alpha1-r1 ## Puppet Name: foobar' parsed = described_class.parse_line(line) - it 'should parse out the keyword' do + it 'parses out the keyword' do expect(parsed[:keyword]).to eq('**') end - it 'should parse out the package name' do + it 'parses out the package name' do expect(parsed[:package]).to eq('app-admin/foobar') end - it 'should parse out the version' do + it 'parses out the version' do expect(parsed[:version]).to eq('1.2.3_alpha1-r1') end - it 'should have all other parameters undefined' do + it 'has all other parameters undefined' do [:operator, :repo].each do |param| expect(parsed[param]).to be_nil end @@ -65,23 +65,23 @@ describe Puppet::Type.type(:entropy_keywords).provider(:parsed) do line = '** >=app-admin/foobar-1.2.3_alpha1-r1 ## Puppet Name: foobar' parsed = described_class.parse_line(line) - it 'should parse out the keyword' do + it 'parses out the keyword' do expect(parsed[:keyword]).to eq('**') end - it 'should parse out the package name' do + it 'parses out the package name' do expect(parsed[:package]).to eq('app-admin/foobar') end - it 'should parse out the version' do + it 'parses out the version' do expect(parsed[:version]).to eq('1.2.3_alpha1-r1') end - it 'should parse out the operator' do + it 'parses out the operator' do expect(parsed[:operator]).to eq('>=') end - it 'should have all other parameters undefined' do + it 'has all other parameters undefined' do [:repo].each do |param| expect(parsed[param]).to be_nil end @@ -92,19 +92,19 @@ describe Puppet::Type.type(:entropy_keywords).provider(:parsed) do line = '** app-admin/foobar repo=community ## Puppet Name: foobar' parsed = described_class.parse_line(line) - it 'should parse out the keyword' do + it 'parses out the keyword' do expect(parsed[:keyword]).to eq('**') end - it 'should parse out the package name' do + it 'parses out the package name' do expect(parsed[:package]).to eq('app-admin/foobar') end - it 'should parse out the repo' do + it 'parses out the repo' do expect(parsed[:repo]).to eq('community') end - it 'should have all other parameters undefined' do + it 'has all other parameters undefined' do [:operator, :version].each do |param| expect(parsed[param]).to be_nil end @@ -115,15 +115,15 @@ describe Puppet::Type.type(:entropy_keywords).provider(:parsed) do line = 'amd64 repo=community ## Puppet Name: foobar' parsed = described_class.parse_line(line) - it 'should parse out the keyword' do + it 'parses out the keyword' do expect(parsed[:keyword]).to eq('amd64') end - it 'should parse out the repo' do + it 'parses out the repo' do expect(parsed[:repo]).to eq('community') end - it 'should have all other parameters undefined' do + it 'has all other parameters undefined' do [:package, :operator, :version].each do |param| expect(parsed[param]).to be_nil end @@ -135,24 +135,23 @@ describe Puppet::Type.type(:entropy_keywords).provider(:parsed) do parsed = described_class.parse_line(line) expected = { - :name => 'foobar', - :keyword => '**', - :package => 'app-admin/foobar', - :operator => '>=', - :version => '1.2.3a_alpha1-r1', - :repo => 'community', + name: 'foobar', + keyword: '**', + package: 'app-admin/foobar', + operator: '>=', + version: '1.2.3a_alpha1-r1', + repo: 'community', } - it 'should parse out all parameters' do + it 'parses out all parameters' do expected.each do |param, value| expect(parsed[param]).to eq(value) end end end - end - describe 'when flushing' do + describe 'when flushing' do before :each do @ramfile = Puppet::Util::FileType::FileTypeRam.new(@default_target) File.stubs(:exist?).with(@default_target).returns(true) @@ -163,71 +162,71 @@ describe Puppet::Type.type(:entropy_keywords).provider(:parsed) do described_class.clear end - it 'should output a single package entry' do + it 'outputs a single package entry' do resource = { - :record_type => :parsed, - :name => 'test', - :keyword => '**', - :package => 'app-admin/foobar', + record_type: :parsed, + name: 'test', + keyword: '**', + package: 'app-admin/foobar', } - expect(described_class.to_line(resource)).to eq ('** app-admin/foobar ## Puppet Name: test') + expect(described_class.to_line(resource)).to eq '** app-admin/foobar ## Puppet Name: test' end - it 'should output a versioned package entry' do + it 'outputs a versioned package entry' do resource = { - :record_type => :parsed, - :name => 'test', - :keyword => '**', - :package => 'app-admin/foobar', - :version => '1.2.3', + record_type: :parsed, + name: 'test', + keyword: '**', + package: 'app-admin/foobar', + version: '1.2.3', } - expect(described_class.to_line(resource)).to eq ('** app-admin/foobar-1.2.3 ## Puppet Name: test') + expect(described_class.to_line(resource)).to eq '** app-admin/foobar-1.2.3 ## Puppet Name: test' end - it 'should output a ranged versioned package entry' do + it 'outputs a ranged versioned package entry' do resource = { - :record_type => :parsed, - :name => 'test', - :keyword => '**', - :package => 'app-admin/foobar', - :version => '1.2.3', - :operator => '>=', + record_type: :parsed, + name: 'test', + keyword: '**', + package: 'app-admin/foobar', + version: '1.2.3', + operator: '>=', } - expect(described_class.to_line(resource)).to eq ('** >=app-admin/foobar-1.2.3 ## Puppet Name: test') + expect(described_class.to_line(resource)).to eq '** >=app-admin/foobar-1.2.3 ## Puppet Name: test' end - it 'should output a repo-specific package entry' do + it 'outputs a repo-specific package entry' do resource = { - :record_type => :parsed, - :name => 'test', - :keyword => '**', - :package => 'app-admin/foobar', - :repo => 'community', + record_type: :parsed, + name: 'test', + keyword: '**', + package: 'app-admin/foobar', + repo: 'community', } - expect(described_class.to_line(resource)).to eq ('** app-admin/foobar repo=community ## Puppet Name: test') + expect(described_class.to_line(resource)).to eq '** app-admin/foobar repo=community ## Puppet Name: test' end - it 'should output a whole-repo entry' do + it 'outputs a whole-repo entry' do resource = { - :record_type => :parsed, - :name => 'test', - :keyword => '**', - :repo => 'community', + record_type: :parsed, + name: 'test', + keyword: '**', + repo: 'community', } - expect(described_class.to_line(resource)).to eq ('** repo=community ## Puppet Name: test') + expect(described_class.to_line(resource)).to eq '** repo=community ## Puppet Name: test' end - it 'should output all fields for a package entry' do + it 'outputs all fields for a package entry' do resource = { - :record_type => :parsed, - :name => 'test', - :keyword => '**', - :package => 'app-admin/foobar', - :operator => '>=', - :version => '1.2.3', - :repo => 'community', + record_type: :parsed, + name: 'test', + keyword: '**', + package: 'app-admin/foobar', + operator: '>=', + version: '1.2.3', + repo: 'community', } - expect(described_class.to_line(resource)).to eq ('** >=app-admin/foobar-1.2.3 repo=community ## Puppet Name: test') + expect(described_class.to_line(resource)).to eq '** >=app-admin/foobar-1.2.3 repo=community ## Puppet Name: test' end end end diff --git a/spec/unit/provider/entropy_repo/file_spec.rb b/spec/unit/provider/entropy_repo/file_spec.rb index 23eee58..2171aa5 100644 --- a/spec/unit/provider/entropy_repo/file_spec.rb +++ b/spec/unit/provider/entropy_repo/file_spec.rb @@ -8,53 +8,53 @@ describe Puppet::Type.type(:entropy_repo).provider(:file) do let(:repos) do [ - {:name => 'sabayonlinux.org', :type => 'entropy', :enabled => 'true'}, - {:name => 'sabayon-limbo', :type => 'entropy', :enabled => 'false'}, - {:name => 'community', :type => 'enman', :enabled => 'true'}, + { name: 'sabayonlinux.org', type: 'entropy', enabled: 'true' }, + { name: 'sabayon-limbo', type: 'entropy', enabled: 'false' }, + { name: 'community', type: 'enman', enabled: 'true' }, ] end - before do + before(:each) do Dir.stubs(:entries).with('/etc/entropy/repositories.conf.d/').returns([ - '.', '..', 'README', - 'entropy_sabayonlinux.org', - '_entropy_sabayon-limbo', - 'entropy_enman_community', - 'entropy_foobar.example', - ]) + '.', '..', 'README', + 'entropy_sabayonlinux.org', + '_entropy_sabayon-limbo', + 'entropy_enman_community', + 'entropy_foobar.example' + ]) end - it 'should identify the correct number of repos' do + it 'identifies the correct number of repos' do expect(instances.size).to eq(repos.size) end - it 'should identify the correct repo name' do + it 'identifies the correct repo name' do repos.each_with_index do |repo, index| expect(instances[index].name).to eq(repo[:name]) end end - it 'should identify the correct enabled state' do + it 'identifies the correct enabled state' do repos.each_with_index do |repo, index| expect(instances[index].enabled).to eq(repo[:enabled]) end end end - describe 'when enabling a repository' do - it 'should enable a disabled repository' do + describe 'when enabling a repository' do + it 'enables a disabled repository' do File.stubs(:exists?).with('/etc/entropy/repositories.conf.d/entropy_sabayonlinux.org').returns(true).once File.stubs(:rename).with('/etc/entropy/repositories.conf.d/entropy_sabayonlinux.org', '/etc/entropy/repositories.conf.d/_entropy_sabayonlinux.org').once - instance = described_class.new(:name => 'sabayonlinux.org', :enabled => 'true', :type => 'entropy') + instance = described_class.new(name: 'sabayonlinux.org', enabled: 'true', type: 'entropy') instance.enabled = 'false' end end - describe 'when disabling a repository' do - it 'should disable an enabled repository' do + describe 'when disabling a repository' do + it 'disables an enabled repository' do File.stubs(:exists?).with('/etc/entropy/repositories.conf.d/_entropy_sabayon-limbo').returns(true).once File.stubs(:rename).with('/etc/entropy/repositories.conf.d/_entropy_sabayon-limbo', '/etc/entropy/repositories.conf.d/entropy_sabayon-limbo').once - instance = described_class.new(:name => 'sabayon-limbo', :enabled => 'false', :type => 'entropy') + instance = described_class.new(name: 'sabayon-limbo', enabled: 'false', type: 'entropy') instance.enabled = 'true' end end diff --git a/spec/unit/provider/package_types/parsed_spec.rb b/spec/unit/provider/package_types/parsed_spec.rb index 531fb21..fca3873 100644 --- a/spec/unit/provider/package_types/parsed_spec.rb +++ b/spec/unit/provider/package_types/parsed_spec.rb @@ -5,22 +5,22 @@ require 'puppet/type/entropy_splitdebug' require 'puppet/type/entropy_splitdebug_mask' types = { - :entropy_mask => Puppet::Type::Entropy_mask, - :entropy_unmask => Puppet::Type::Entropy_unmask, - :entropy_splitdebug => Puppet::Type::Entropy_splitdebug, - :entropy_splitdebug_mask => Puppet::Type::Entropy_splitdebug_mask, + entropy_mask: Puppet::Type::Entropy_mask, + entropy_unmask: Puppet::Type::Entropy_unmask, + entropy_splitdebug: Puppet::Type::Entropy_splitdebug, + entropy_splitdebug_mask: Puppet::Type::Entropy_splitdebug_mask, } default_targets = { - :entropy_mask => '/etc/entropy/packages/package.mask', - :entropy_unmask => '/etc/entropy/packages/package.unmask', - :entropy_splitdebug => '/etc/entropy/packages/package.splitdebug', - :entropy_splitdebug_mask => '/etc/entropy/packages/package.splitdebug.mask', + entropy_mask: '/etc/entropy/packages/package.mask', + entropy_unmask: '/etc/entropy/packages/package.unmask', + entropy_splitdebug: '/etc/entropy/packages/package.splitdebug', + entropy_splitdebug_mask: '/etc/entropy/packages/package.splitdebug.mask', } -types.each do |type_name, type| +types.each do |type_name, _type| describe Puppet::Type.type(type_name).provider(:parsed) do - before do + before(:each) do described_class.stubs(:filetype).returns(Puppet::Util::FileType::FileTypeRam) described_class.stubs(:filetype=) @default_target = described_class.default_target @@ -33,7 +33,7 @@ types.each do |type_name, type| end describe 'when parsing' do - it 'should parse out the name' do + it 'parses out the name' do line = 'app-admin/foobar ## Puppet Name: foobar' expect(described_class.parse_line(line)[:name]).to eq('foobar') end @@ -42,11 +42,11 @@ types.each do |type_name, type| line = 'app-admin/foobar ## Puppet Name: foobar' parsed = described_class.parse_line(line) - it 'should parse out the package name' do + it 'parses out the package name' do expect(parsed[:package]).to eq('app-admin/foobar') end - it 'should have all other parameters undefined' do + it 'has all other parameters undefined' do [:operator, :version, :slot, :use, :tag, :repo].each do |param| expect(parsed[param]).to be_nil end @@ -57,15 +57,15 @@ types.each do |type_name, type| line = 'app-admin/foobar-1.2.3_alpha1-r1 ## Puppet Name: foobar' parsed = described_class.parse_line(line) - it 'should parse out the package name' do + it 'parses out the package name' do expect(parsed[:package]).to eq('app-admin/foobar') end - it 'should parse out the version' do + it 'parses out the version' do expect(parsed[:version]).to eq('1.2.3_alpha1-r1') end - it 'should have all other parameters undefined' do + it 'has all other parameters undefined' do [:operator, :slot, :use, :tag, :repo].each do |param| expect(parsed[param]).to be_nil end @@ -76,19 +76,19 @@ types.each do |type_name, type| line = '>=app-admin/foobar-1.2.3_alpha1-r1 ## Puppet Name: foobar' parsed = described_class.parse_line(line) - it 'should parse out the package name' do + it 'parses out the package name' do expect(parsed[:package]).to eq('app-admin/foobar') end - it 'should parse out the version' do + it 'parses out the version' do expect(parsed[:version]).to eq('1.2.3_alpha1-r1') end - it 'should parse out the operator' do + it 'parses out the operator' do expect(parsed[:operator]).to eq('>=') end - it 'should have all other parameters undefined' do + it 'has all other parameters undefined' do [:slot, :use, :tag, :repo].each do |param| expect(parsed[param]).to be_nil end @@ -99,15 +99,15 @@ types.each do |type_name, type| line = 'app-admin/foobar:1.1 ## Puppet Name: foobar' parsed = described_class.parse_line(line) - it 'should parse out the package name' do + it 'parses out the package name' do expect(parsed[:package]).to eq('app-admin/foobar') end - it 'should parse out the slot' do + it 'parses out the slot' do expect(parsed[:slot]).to eq('1.1') end - it 'should have all other parameters undefined' do + it 'has all other parameters undefined' do [:operator, :version, :use, :tag, :repo].each do |param| expect(parsed[param]).to be_nil end @@ -118,15 +118,15 @@ types.each do |type_name, type| line = 'app-admin/foobar[-foo,bar] ## Puppet Name: foobar' parsed = described_class.parse_line(line) - it 'should parse out the package name' do + it 'parses out the package name' do expect(parsed[:package]).to eq('app-admin/foobar') end - it 'should parse out the use' do + it 'parses out the use' do expect(parsed[:use]).to eq('-foo,bar') end - it 'should have all other parameters undefined' do + it 'has all other parameters undefined' do [:operator, :version, :slot, :tag, :repo].each do |param| expect(parsed[param]).to be_nil end @@ -137,15 +137,15 @@ types.each do |type_name, type| line = 'app-admin/foobar#server ## Puppet Name: foobar' parsed = described_class.parse_line(line) - it 'should parse out the package name' do + it 'parses out the package name' do expect(parsed[:package]).to eq('app-admin/foobar') end - it 'should parse out the tag' do + it 'parses out the tag' do expect(parsed[:tag]).to eq('server') end - it 'should have all other parameters undefined' do + it 'has all other parameters undefined' do [:operator, :version, :slot, :use, :repo].each do |param| expect(parsed[param]).to be_nil end @@ -156,15 +156,15 @@ types.each do |type_name, type| line = 'app-admin/foobar::community ## Puppet Name: foobar' parsed = described_class.parse_line(line) - it 'should parse out the package name' do + it 'parses out the package name' do expect(parsed[:package]).to eq('app-admin/foobar') end - it 'should parse out the repo' do + it 'parses out the repo' do expect(parsed[:repo]).to eq('community') end - it 'should have all other parameters undefined' do + it 'has all other parameters undefined' do [:operator, :version, :slot, :use, :tag].each do |param| expect(parsed[param]).to be_nil end @@ -176,26 +176,25 @@ types.each do |type_name, type| parsed = described_class.parse_line(line) expected = { - :name => 'foobar', - :operator => '>=', - :package => 'app-admin/foobar', - :version => '1.2.3a_alpha1-r1', - :slot => '1', - :use => '-foo', - :tag => 'server', - :repo => 'community', + name: 'foobar', + operator: '>=', + package: 'app-admin/foobar', + version: '1.2.3a_alpha1-r1', + slot: '1', + use: '-foo', + tag: 'server', + repo: 'community', } - it 'should parse out all parameters' do + it 'parses out all parameters' do expected.each do |param, value| expect(parsed[param]).to eq(value) end end end - end - describe 'when flushing' do + describe 'when flushing' do before :each do @ramfile = Puppet::Util::FileType::FileTypeRam.new(@default_target) File.stubs(:exist?).with(default_targets[type_name]).returns(true) @@ -206,98 +205,98 @@ types.each do |type_name, type| described_class.clear end - it 'should output a single package entry' do + it 'outputs a single package entry' do resource = { - :record_type => :parsed, - :name => 'test', - :package => 'app-admin/foobar', + record_type: :parsed, + name: 'test', + package: 'app-admin/foobar', } - expect(described_class.to_line(resource)).to eq ('app-admin/foobar ## Puppet Name: test') + expect(described_class.to_line(resource)).to eq 'app-admin/foobar ## Puppet Name: test' end - it 'should output a versioned package entry' do + it 'outputs a versioned package entry' do resource = { - :record_type => :parsed, - :name => 'test', - :package => 'app-admin/foobar', - :version => '1.2.3', + record_type: :parsed, + name: 'test', + package: 'app-admin/foobar', + version: '1.2.3', } - expect(described_class.to_line(resource)).to eq ('app-admin/foobar-1.2.3 ## Puppet Name: test') + expect(described_class.to_line(resource)).to eq 'app-admin/foobar-1.2.3 ## Puppet Name: test' end - it 'should output a ranged versioned package entry' do + it 'outputs a ranged versioned package entry' do resource = { - :record_type => :parsed, - :name => 'test', - :package => 'app-admin/foobar', - :version => '1.2.3', - :operator => '>=', + record_type: :parsed, + name: 'test', + package: 'app-admin/foobar', + version: '1.2.3', + operator: '>=', } - expect(described_class.to_line(resource)).to eq ('>=app-admin/foobar-1.2.3 ## Puppet Name: test') + expect(described_class.to_line(resource)).to eq '>=app-admin/foobar-1.2.3 ## Puppet Name: test' end - it 'should output a use-restricted package entry' do + it 'outputs a use-restricted package entry' do resource = { - :record_type => :parsed, - :name => 'test', - :package => 'app-admin/foobar', - :use => '-foo,bar', + record_type: :parsed, + name: 'test', + package: 'app-admin/foobar', + use: '-foo,bar', } - expect(described_class.to_line(resource)).to eq ('app-admin/foobar[-foo,bar] ## Puppet Name: test') + expect(described_class.to_line(resource)).to eq 'app-admin/foobar[-foo,bar] ## Puppet Name: test' end - it 'should output a slotted package entry' do + it 'outputs a slotted package entry' do resource = { - :record_type => :parsed, - :name => 'test', - :package => 'app-admin/foobar', - :slot => '1.1', + record_type: :parsed, + name: 'test', + package: 'app-admin/foobar', + slot: '1.1', } - expect(described_class.to_line(resource)).to eq ('app-admin/foobar:1.1 ## Puppet Name: test') + expect(described_class.to_line(resource)).to eq 'app-admin/foobar:1.1 ## Puppet Name: test' end - it 'should output a tagged package entry' do + it 'outputs a tagged package entry' do resource = { - :record_type => :parsed, - :name => 'test', - :package => 'app-admin/foobar', - :tag => 'server', + record_type: :parsed, + name: 'test', + package: 'app-admin/foobar', + tag: 'server', } - expect(described_class.to_line(resource)).to eq ('app-admin/foobar#server ## Puppet Name: test') + expect(described_class.to_line(resource)).to eq 'app-admin/foobar#server ## Puppet Name: test' end - it 'should output a repo-specific package entry' do + it 'outputs a repo-specific package entry' do resource = { - :record_type => :parsed, - :name => 'test', - :package => 'app-admin/foobar', - :repo => 'community', + record_type: :parsed, + name: 'test', + package: 'app-admin/foobar', + repo: 'community', } - expect(described_class.to_line(resource)).to eq ('app-admin/foobar::community ## Puppet Name: test') + expect(described_class.to_line(resource)).to eq 'app-admin/foobar::community ## Puppet Name: test' end - it 'should output a whole-repo entry' do + it 'outputs a whole-repo entry' do resource = { - :record_type => :parsed, - :name => 'test', - :repo => 'community', + record_type: :parsed, + name: 'test', + repo: 'community', } - expect(described_class.to_line(resource)).to eq ('::community ## Puppet Name: test') + expect(described_class.to_line(resource)).to eq '::community ## Puppet Name: test' end - it 'should output all fields for a package entry' do + it 'outputs all fields for a package entry' do resource = { - :record_type => :parsed, - :name => 'test', - :package => 'app-admin/foobar', - :operator => '>=', - :version => '1.2.3', - :slot => '1.1', - :use => '-foo,bar', - :tag => 'server', - :repo => 'community', + record_type: :parsed, + name: 'test', + package: 'app-admin/foobar', + operator: '>=', + version: '1.2.3', + slot: '1.1', + use: '-foo,bar', + tag: 'server', + repo: 'community', } - expect(described_class.to_line(resource)).to eq ('>=app-admin/foobar-1.2.3:1.1[-foo,bar]#server::community ## Puppet Name: test') + expect(described_class.to_line(resource)).to eq '>=app-admin/foobar-1.2.3:1.1[-foo,bar]#server::community ## Puppet Name: test' end end end diff --git a/spec/unit/type/enman_repo_spec.rb b/spec/unit/type/enman_repo_spec.rb index 7b61f07..57d6c3c 100644 --- a/spec/unit/type/enman_repo_spec.rb +++ b/spec/unit/type/enman_repo_spec.rb @@ -1,16 +1,16 @@ describe Puppet::Type.type(:enman_repo) do - before do + before(:each) do @provider = stub 'provider' @provider.stubs(:name).returns(:enman) described_class.stubs(:defaultprovider).returns(@provider) end - it "should be an instance of Puppet::Type::Enman_repo" do - expect(described_class.new(:name => "test")).to be_an_instance_of Puppet::Type::Enman_repo + it 'is an instance of Puppet::Type::Enman_repo' do + expect(described_class.new(name: 'test')).to be_an_instance_of Puppet::Type::Enman_repo end - describe "when validating attributes" do - params = [:name] + describe 'when validating attributes' do + params = [:name] params.each do |param| it "should have the #{param} param" do @@ -19,7 +19,7 @@ describe Puppet::Type.type(:enman_repo) do end end - it "should have name as the namevar" do + it 'has name as the namevar' do expect(described_class.key_attributes).to eq [:name] end end diff --git a/spec/unit/type/entropy_keywords_spec.rb b/spec/unit/type/entropy_keywords_spec.rb index 555c750..f5ca562 100644 --- a/spec/unit/type/entropy_keywords_spec.rb +++ b/spec/unit/type/entropy_keywords_spec.rb @@ -1,17 +1,17 @@ describe Puppet::Type.type(:entropy_keywords) do - before 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") + @provider.stubs(:default_target).returns('defaulttarget') described_class.stubs(:defaultprovider).returns(@provider) end - it "should be an instance of Puppet::Type::Entropy_keywords" do - expect(described_class.new(:name => "test", :package => "app-admin/dummy")).to be_an_instance_of Puppet::Type::Entropy_keywords + it 'is an instance of Puppet::Type::Entropy_keywords' do + expect(described_class.new(name: 'test', package: 'app-admin/dummy')).to be_an_instance_of Puppet::Type::Entropy_keywords end - describe "when validating attributes" do + describe 'when validating attributes' do params = [:name] properties = [:package, :operator, :version, :repo, :target] @@ -26,37 +26,36 @@ describe Puppet::Type.type(:entropy_keywords) do expect(described_class.attrtype(property)).to eq :property end end - end - it "should have name as the namevar" do + it 'has name as the namevar' do expect(described_class.key_attributes).to eq [:name] end - describe "when validating the target property" do - it "should default to the provider's default target" do - expect(described_class.new(:name => "test", :package => "app-admin/dummy").should(:target)).to eq "defaulttarget" + describe 'when validating the target property' do + it "defaults to the provider's default target" do + expect(described_class.new(name: 'test', package: 'app-admin/dummy').should(:target)).to eq 'defaulttarget' end end - describe "when validating required properties" do - it "should raise an error when a version is passed with no package" do + describe 'when validating required properties' do + it 'raises an error when a version is passed with no package' do expect { - described_class.new(:name => "test", :repo => "test", :version => "1.2.3") - }.to raise_error(Puppet::Error, /Package is required/) + described_class.new(name: 'test', repo: 'test', version: '1.2.3') + }.to raise_error(Puppet::Error, %r{Package is required}) end - it "should raise an error when an operator is passed with no version" do + it 'raises an error when an operator is passed with no version' do expect { - described_class.new(:name => "test", :package => "app-admin/dummy", :operator => "<=") - }.to raise_error(Puppet::Error, /Version is required/) + described_class.new(name: 'test', package: 'app-admin/dummy', operator: '<=') + }.to raise_error(Puppet::Error, %r{Version is required}) end end - describe "when the catalog includes a matching package" do - it "should have an autobefore relationship" do - resource = described_class.new(:name => "test", :package => "app-admin/dummy") - package = Puppet::Type.type(:package).new(:title => 'app-admin/dummy') + describe 'when the catalog includes a matching package' do + it 'has an autobefore relationship' do + resource = described_class.new(name: 'test', package: 'app-admin/dummy') + package = Puppet::Type.type(:package).new(title: 'app-admin/dummy') catalog = Puppet::Resource::Catalog.new catalog.add_resource package diff --git a/spec/unit/type/entropy_repo_spec.rb b/spec/unit/type/entropy_repo_spec.rb index ecbe686..e8e8b91 100644 --- a/spec/unit/type/entropy_repo_spec.rb +++ b/spec/unit/type/entropy_repo_spec.rb @@ -1,15 +1,15 @@ describe Puppet::Type.type(:entropy_repo) do - before do + before(:each) do @provider = stub 'provider' @provider.stubs(:name).returns(:file) described_class.stubs(:defaultprovider).returns(@provider) end - it "should be an instance of Puppet::Type::Entropy_repo" do - expect(described_class.new(:name => "test")).to be_an_instance_of Puppet::Type::Entropy_repo + it 'is an instance of Puppet::Type::Entropy_repo' do + expect(described_class.new(name: 'test')).to be_an_instance_of Puppet::Type::Entropy_repo end - describe "when validating attributes" do + describe 'when validating attributes' do params = [:name] properties = [:repo_type, :enabled] @@ -26,7 +26,7 @@ describe Puppet::Type.type(:entropy_repo) do end end - it "should have name as the namevar" do + it 'has name as the namevar' do expect(described_class.key_attributes).to eq [:name] end end diff --git a/spec/unit/type/package_types_spec.rb b/spec/unit/type/package_types_spec.rb index c866583..708fbb6 100644 --- a/spec/unit/type/package_types_spec.rb +++ b/spec/unit/type/package_types_spec.rb @@ -5,27 +5,27 @@ require 'puppet/type/entropy_splitdebug' require 'puppet/type/entropy_splitdebug_mask' types = { - :entropy_mask => Puppet::Type::Entropy_mask, - :entropy_unmask => Puppet::Type::Entropy_unmask, - :entropy_splitdebug => Puppet::Type::Entropy_splitdebug, - :entropy_splitdebug_mask => Puppet::Type::Entropy_splitdebug_mask, + entropy_mask: Puppet::Type::Entropy_mask, + entropy_unmask: Puppet::Type::Entropy_unmask, + entropy_splitdebug: Puppet::Type::Entropy_splitdebug, + entropy_splitdebug_mask: Puppet::Type::Entropy_splitdebug_mask, } types.each do |type_name, type| describe Puppet::Type.type(type_name) do - before 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") + @provider.stubs(:default_target).returns('defaulttarget') described_class.stubs(:defaultprovider).returns(@provider) end it "should be an instance of #{type.class.name}" do - expect(described_class.new(:name => "test", :package => "app-admin/dummy")).to be_an_instance_of type + expect(described_class.new(name: 'test', package: 'app-admin/dummy')).to be_an_instance_of type end - describe "when validating attributes" do + describe 'when validating attributes' do params = [:name] properties = [:package, :operator, :version, :slot, :use, :tag, :repo, :target] @@ -40,32 +40,31 @@ types.each do |type_name, type| expect(described_class.attrtype(property)).to eq :property end end - end - it "should have name as the namevar" do + it 'has name as the namevar' do expect(described_class.key_attributes).to eq [:name] end - describe "when validating the target property" do - it "should default to the provider's default target" do - expect(described_class.new(:name => "test", :package => "app-admin/dummy").should(:target)).to eq "defaulttarget" + describe 'when validating the target property' do + it "defaults to the provider's default target" do + expect(described_class.new(name: 'test', package: 'app-admin/dummy').should(:target)).to eq 'defaulttarget' end end - describe "when validating required properties" do + describe 'when validating required properties' do packages = [ 'virtual/package', 'package', 'package-with-dash', 'package_with_underscores', 'category-123/package2', - 'category.with.dots/package' + 'category.with.dots/package', ] packages.each do |package| it "should accept valid package name #{package}" do expect { - described_class.new(:name => 'test', :package => package) + described_class.new(name: 'test', package: package) }.not_to raise_error end end @@ -79,28 +78,28 @@ types.each do |type_name, type| packages.each do |package| it "should reject invalid package name #{package}" do expect { - described_class.new(:name => 'test', :package => package) + described_class.new(name: 'test', package: package) }.to raise_error(Puppet::Error) end end - it "should raise an error when a version is passed with no package" do + it 'raises an error when a version is passed with no package' do expect { - described_class.new(:name => "test", :repo => "test", :version => "1.2.3") - }.to raise_error(Puppet::Error, /Package is required/) + described_class.new(name: 'test', repo: 'test', version: '1.2.3') + }.to raise_error(Puppet::Error, %r{Package is required}) end - it "should raise an error when an operator is passed with no version" do + it 'raises an error when an operator is passed with no version' do expect { - described_class.new(:name => "test", :package => "app-admin/dummy", :operator => "<=") - }.to raise_error(Puppet::Error, /Version is required/) + described_class.new(name: 'test', package: 'app-admin/dummy', operator: '<=') + }.to raise_error(Puppet::Error, %r{Version is required}) end end - describe "when the catalog includes a matching package" do - it "should have an autobefore relationship" do - resource = described_class.new(:name => "test", :package => "app-admin/dummy") - package = Puppet::Type.type(:package).new(:title => 'app-admin/dummy') + describe 'when the catalog includes a matching package' do + it 'has an autobefore relationship' do + resource = described_class.new(name: 'test', package: 'app-admin/dummy') + package = Puppet::Type.type(:package).new(title: 'app-admin/dummy') catalog = Puppet::Resource::Catalog.new catalog.add_resource package