]> review.fuel-infra Code Review - puppet-modules/puppetlabs-firewall.git/commitdiff
pdksync_heads/master-0-g34e3266 pdksync_heads/master-0-g34e3266
authorHelen Campbell <helen@puppet.com>
Fri, 18 May 2018 14:17:07 +0000 (15:17 +0100)
committerHelen Campbell <helen@puppet.com>
Fri, 18 May 2018 14:17:07 +0000 (15:17 +0100)
23 files changed:
.gitignore
.pdkignore [new file with mode: 0644]
.rubocop.yml
.travis.yml
.yardopts [new file with mode: 0644]
Gemfile
Rakefile
lib/facter/iptables_persistent_version.rb
lib/puppet/provider/firewall/iptables.rb
lib/puppet/type/firewall.rb
lib/puppet/type/firewallchain.rb
lib/puppet/util/firewall.rb
metadata.json
spec/acceptance/firewall_spec.rb
spec/fixtures/iptables/conversion_hash.rb
spec/spec_helper.rb
spec/spec_helper_acceptance.rb
spec/unit/classes/firewall_linux_redhat_spec.rb
spec/unit/classes/firewall_linux_spec.rb
spec/unit/puppet/provider/iptables_spec.rb
spec/unit/puppet/type/firewall_spec.rb
spec/unit/puppet/type/firewallchain_spec.rb
spec/unit/puppet/util/firewall_spec.rb

index d17e98715d6e45b12d4799528826268f25b0f1e6..49bc2a40140e2bff6b74d81ffaacd7cce0fac4a9 100644 (file)
 /Gemfile.lock
 /junit/
 /log/
-/log/
 /pkg/
 /spec/fixtures/manifests/
 /spec/fixtures/modules/
 /tmp/
 /vendor/
 /convert_report.txt
-
+/update_report.txt
+.DS_Store
diff --git a/.pdkignore b/.pdkignore
new file mode 100644 (file)
index 0000000..49bc2a4
--- /dev/null
@@ -0,0 +1,23 @@
+.*.sw[op]
+.metadata
+.yardoc
+.yardwarns
+*.iml
+/.bundle/
+/.idea/
+/.vagrant/
+/coverage/
+/bin/
+/doc/
+/Gemfile.local
+/Gemfile.lock
+/junit/
+/log/
+/pkg/
+/spec/fixtures/manifests/
+/spec/fixtures/modules/
+/tmp/
+/vendor/
+/convert_report.txt
+/update_report.txt
+.DS_Store
index a658984b32a6a64c2d4dfcc8fcf7056657b41eec..7ed6225c7d1406fceafc68b90288f8eb93c37b1e 100644 (file)
@@ -8,11 +8,14 @@ AllCops:
   Exclude:
   - bin/*
   - ".vendor/**/*"
-  - Gemfile
-  - Rakefile
+  - "**/Gemfile"
+  - "**/Rakefile"
   - pkg/**/*
   - spec/fixtures/**/*
   - vendor/**/*
+  - "**/Puppetfile"
+  - "**/Vagrantfile"
+  - "**/Guardfile"
 Metrics/LineLength:
   Description: People have wide screens, use them.
   Max: 200
@@ -63,6 +66,13 @@ Style/TrailingCommaInLiteral:
 Style/SymbolArray:
   Description: Using percent style obscures symbolic intent of array's contents.
   EnforcedStyle: brackets
+RSpec/MessageSpies:
+  EnforcedStyle: receive
+Style/Documentation:
+  Exclude:
+  - lib/puppet/parser/functions/**/*
+Style/WordArray:
+  EnforcedStyle: brackets
 Style/CollectionMethods:
   Enabled: true
 Style/MethodCalledOnDoEndBlock:
index 14288376fd77ebac357cce3bf247ad5113cea3de..76b202cef81aff9db6365ffae644d51625fd0298 100644 (file)
@@ -7,7 +7,6 @@ before_install:
   - bundle -v
   - rm -f Gemfile.lock
   - gem update --system
-  - gem update bundler
   - gem --version
   - bundle -v
 script:
@@ -16,14 +15,15 @@ bundler_args: --without system_tests
 rvm:
   - 2.4.1
 env:
-  - PUPPET_GEM_VERSION="~> 5.0" CHECK=spec
+  global:
+    - BEAKER_PUPPET_COLLECTION=puppet5 PUPPET_GEM_VERSION="~> 5.0"
 matrix:
   fast_finish: true
   include:
     -
       bundler_args: 
       dist: trusty
-      env: PUPPET_INSTALL_TYPE=agent BEAKER_debug=true BEAKER_set=docker/centos-7
+      env: PUPPET_INSTALL_TYPE=agent BEAKER_debug=true BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_set=docker/centos-7
       rvm: 2.4.1
       script: bundle exec rake beaker
       services: docker
@@ -31,23 +31,17 @@ matrix:
     -
       bundler_args: 
       dist: trusty
-      env: PUPPET_INSTALL_TYPE=agent BEAKER_debug=true BEAKER_set=docker/ubuntu-14.04
+      env: PUPPET_INSTALL_TYPE=agent BEAKER_debug=true BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_set=docker/ubuntu-14.04
       rvm: 2.4.1
       script: bundle exec rake beaker
       services: docker
       sudo: required
     -
-      env: CHECK=rubocop
+      env: CHECK="syntax lint metadata_lint check:symlinks check:git_ignore check:dot_underscore check:test_file rubocop"
     -
-      env: CHECK="syntax lint"
+      env: CHECK=parallel_spec
     -
-      env: CHECK=metadata_lint
-    -
-      env: CHECK=release_checks
-    -
-      env: CHECK=spec
-    -
-      env: PUPPET_GEM_VERSION="~> 4.0" CHECK=spec
+      env: PUPPET_GEM_VERSION="~> 4.0" CHECK=parallel_spec
       rvm: 2.1.9
 branches:
   only:
diff --git a/.yardopts b/.yardopts
new file mode 100644 (file)
index 0000000..29c933b
--- /dev/null
+++ b/.yardopts
@@ -0,0 +1 @@
+--markup markdown
diff --git a/Gemfile b/Gemfile
index 37597a30357cf2e94485747e80bff543e9237a3d..a7ec8208c87b09f474d1b60c900bdd36b444ca42 100644 (file)
--- a/Gemfile
+++ b/Gemfile
@@ -28,11 +28,12 @@ group :development do
   gem "fast_gettext",                                  require: false if Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new('2.1.0')
   gem "json_pure", '<= 2.0.1',                         require: false if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new('2.0.0')
   gem "json", '= 1.8.1',                               require: false if Gem::Version.new(RUBY_VERSION.dup) == Gem::Version.new('2.1.9')
+  gem "json", '<= 2.0.4',                              require: false if Gem::Version.new(RUBY_VERSION.dup) == Gem::Version.new('2.4.4')
   gem "puppet-module-posix-default-r#{minor_version}", require: false, platforms: [:ruby]
   gem "puppet-module-posix-dev-r#{minor_version}",     require: false, platforms: [:ruby]
   gem "puppet-module-win-default-r#{minor_version}",   require: false, platforms: [:mswin, :mingw, :x64_mingw]
   gem "puppet-module-win-dev-r#{minor_version}",       require: false, platforms: [:mswin, :mingw, :x64_mingw]
-  gem "puppet-blacksmith", '~> 3.4',                   require: false
+  gem "puppet-blacksmith", '~> 3.4',                   require: false, platforms: [:ruby]
 end
 group :system_tests do
   gem "puppet-module-posix-system-r#{minor_version}",                            require: false, platforms: [:ruby]
@@ -49,73 +50,24 @@ puppet_type = gem_type(puppet_version)
 facter_version = ENV['FACTER_GEM_VERSION']
 hiera_version = ENV['HIERA_GEM_VERSION']
 
-def puppet_older_than?(version)
-  puppet_version = ENV['PUPPET_GEM_VERSION']
-  !puppet_version.nil? &&
-    Gem::Version.correct?(puppet_version) &&
-    Gem::Requirement.new("< #{version}").satisfied_by?(Gem::Version.new(puppet_version.dup))
-end
-
 gems = {}
 
 gems['puppet'] = location_for(puppet_version)
 
 # If facter or hiera versions have been specified via the environment
-# variables, use those versions. If not, and if the puppet version is < 3.5.0,
-# use known good versions of both for puppet < 3.5.0.
-if facter_version
-  gems['facter'] = location_for(facter_version)
-elsif puppet_type == :gem && puppet_older_than?('3.5.0')
-  gems['facter'] = ['>= 1.6.11', '<= 1.7.5', require: false]
-end
-
-if hiera_version
-  gems['hiera'] = location_for(ENV['HIERA_GEM_VERSION'])
-elsif puppet_type == :gem && puppet_older_than?('3.5.0')
-  gems['hiera'] = ['>= 1.0.0', '<= 1.3.0', require: false]
-end
+# variables
 
-if Gem.win_platform? && (puppet_type != :gem || puppet_older_than?('3.5.0'))
-  # For Puppet gems < 3.5.0 (tested as far back as 3.0.0) on Windows
-  if puppet_type == :gem
-    gems['ffi'] =            ['1.9.0',                require: false]
-    gems['minitar'] =        ['0.5.4',                require: false]
-    gems['win32-eventlog'] = ['0.5.3',    '<= 0.6.5', require: false]
-    gems['win32-process'] =  ['0.6.5',    '<= 0.7.5', require: false]
-    gems['win32-security'] = ['~> 0.1.2', '<= 0.2.5', require: false]
-    gems['win32-service'] =  ['0.7.2',    '<= 0.8.8', require: false]
-  else
-    gems['ffi'] =            ['~> 1.9.0',             require: false]
-    gems['minitar'] =        ['~> 0.5.4',             require: false]
-    gems['win32-eventlog'] = ['~> 0.5',   '<= 0.6.5', require: false]
-    gems['win32-process'] =  ['~> 0.6',   '<= 0.7.5', require: false]
-    gems['win32-security'] = ['~> 0.1',   '<= 0.2.5', require: false]
-    gems['win32-service'] =  ['~> 0.7',   '<= 0.8.8', require: false]
-  end
-
-  gems['win32-dir'] = ['~> 0.3', '<= 0.4.9', require: false]
-
-  if RUBY_VERSION.start_with?('1.')
-    gems['win32console'] = ['1.3.2', require: false]
-    # sys-admin was removed in Puppet 3.7.0 and doesn't compile under Ruby 2.x
-    gems['sys-admin'] =    ['1.5.6', require: false]
-  end
+gems['facter'] = location_for(facter_version) if facter_version
+gems['hiera'] = location_for(hiera_version) if hiera_version
 
-  # Puppet < 3.7.0 requires these.
-  # Puppet >= 3.5.0 gem includes these as requirements.
-  # The following versions are tested to work with 3.0.0 <= puppet < 3.7.0.
-  gems['win32-api'] =           ['1.4.8', require: false]
-  gems['win32-taskscheduler'] = ['0.2.2', require: false]
-  gems['windows-api'] =         ['0.4.3', require: false]
-  gems['windows-pr'] =          ['1.2.3', require: false]
-elsif Gem.win_platform?
+if Gem.win_platform? && puppet_version =~ %r{^(file:///|git://)}
   # If we're using a Puppet gem on Windows which handles its own win32-xxx gem
   # dependencies (>= 3.5.0), set the maximum versions (see PUP-6445).
   gems['win32-dir'] =      ['<= 0.4.9', require: false]
   gems['win32-eventlog'] = ['<= 0.6.5', require: false]
   gems['win32-process'] =  ['<= 0.7.5', require: false]
   gems['win32-security'] = ['<= 0.2.5', require: false]
-  gems['win32-service'] =  ['<= 0.8.8', require: false]
+  gems['win32-service'] =  ['0.8.8', require: false]
 end
 
 gems.each do |gem_name, gem_params|
index 802f67b501c5cdb37473ae6a5ac17bd4983cbb17..d4e36dadfd3a36312b46fb3bf972ed0fb00c6a69 100644 (file)
--- a/Rakefile
+++ b/Rakefile
@@ -1,3 +1,6 @@
 require 'puppetlabs_spec_helper/rake_tasks'
 require 'puppet-syntax/tasks/puppet-syntax'
-require 'puppet_blacksmith/rake_tasks'
+require 'puppet_blacksmith/rake_tasks' if Bundler.rubygems.find_name('puppet-blacksmith').any?
+
+PuppetLint.configuration.send('disable_relative')
+
index ac225f50f3381a7c8faa29664b8d31d9199a2fbb..01290f16f835d8553be2d2de132054cdd10a1089 100644 (file)
@@ -1,5 +1,5 @@
 Facter.add(:iptables_persistent_version) do
-  confine operatingsystem: %w[Debian Ubuntu]
+  confine operatingsystem: ['Debian', 'Ubuntu']
   setcode do
     # Throw away STDERR because dpkg >= 1.16.7 will make some noise if the
     # package isn't currently installed.
index d21277535d406d3b7198837049eb1e0501e0751b..15c99d1d7b9c36fa953da66bfd1f0236834e7fda 100644 (file)
@@ -637,7 +637,7 @@ Puppet::Type.type(:firewall).provide :iptables, parent: Puppet::Provider::Firewa
 
     # If the jump parameter is set to one of: ACCEPT, REJECT or DROP then
     # we should set the action parameter instead.
-    if %w[ACCEPT REJECT DROP].include?(hash[:jump])
+    if ['ACCEPT', 'REJECT', 'DROP'].include?(hash[:jump])
       hash[:action] = hash[:jump].downcase
       hash.delete(:jump)
     end
index a859f28f69c1ecf4d511aa8a84a06c3ac238a8c2..55e65028b864986d7a2ca3dc9f14b2acebb1ce89 100644 (file)
@@ -489,7 +489,7 @@ Puppet::Type.newtype(:firewall) do
         PUPPETCODE
       end
 
-      if %w[accept reject drop].include?(value.downcase)
+      if ['accept', 'reject', 'drop'].include?(value.downcase)
         raise ArgumentError, <<-PUPPETCODE
           Jump destination should not be one of ACCEPT, REJECT or DROP. Use
           the action property instead.
@@ -522,7 +522,7 @@ Puppet::Type.newtype(:firewall) do
         PUPPETCODE
       end
 
-      if %w[accept reject drop].include?(value.downcase)
+      if ['accept', 'reject', 'drop'].include?(value.downcase)
         raise ArgumentError, <<-PUPPETCODE
           Goto destination should not be one of ACCEPT, REJECT or DROP. Use
           the action property instead.
@@ -1059,10 +1059,7 @@ Puppet::Type.newtype(:firewall) do
     PUPPETCODE
     #  iptables uses the cisco DSCP classes as the basis for this flag. Values may be found here:
     #  'http://www.cisco.com/c/en/us/support/docs/quality-of-service-qos/qos-packet-marking/10103-dscpvalues.html'
-    valid_codes = %w[
-      af11 af12 af13 af21 af22 af23 af31 af32 af33 af41
-      af42 af43 cs1 cs2 cs3 cs4 cs5 cs6 cs7 ef
-    ]
+    valid_codes = ['af11', 'af12', 'af13', 'af21', 'af22', 'af23', 'af31', 'af32', 'af33', 'af41', 'af42', 'af43', 'cs1', 'cs2', 'cs3', 'cs4', 'cs5', 'cs6', 'cs7', 'ef']
     munge do |value|
       unless valid_codes.include? value.downcase
         raise ArgumentError, "#{value} is not a valid DSCP Class"
@@ -1720,7 +1717,7 @@ Puppet::Type.newtype(:firewall) do
     unless protocol.nil?
       table = value(:table)
       [value(:chain), value(:jump)].each do |chain|
-        reqs << "#{chain}:#{table}:#{protocol}" unless chain.nil? || (%w[INPUT OUTPUT FORWARD].include?(chain) && table == :filter)
+        reqs << "#{chain}:#{table}:#{protocol}" unless chain.nil? || (['INPUT', 'OUTPUT', 'FORWARD'].include?(chain) && table == :filter)
       end
     end
 
@@ -1732,7 +1729,7 @@ Puppet::Type.newtype(:firewall) do
   autorequire(:package) do
     case value(:provider)
     when :iptables, :ip6tables
-      %w[iptables iptables-persistent iptables-services]
+      ['iptables', 'iptables-persistent', 'iptables-services']
     else
       []
     end
@@ -1741,7 +1738,7 @@ Puppet::Type.newtype(:firewall) do
   autorequire(:service) do
     case value(:provider)
     when :iptables, :ip6tables
-      %w[firewalld iptables ip6tables iptables-persistent netfilter-persistent]
+      ['firewalld', 'iptables', 'ip6tables', 'iptables-persistent', 'netfilter-persistent']
     else
       []
     end
index 5a1085fd36377fd7939cd81adbf25ad446fbfb01..16363d762c37d55f00f2788be1c2bf51339b89e0 100644 (file)
@@ -158,7 +158,7 @@ Puppet::Type.newtype(:firewallchain) do
   autorequire(:package) do
     case value(:provider)
     when :iptables_chain
-      %w[iptables iptables-persistent iptables-services]
+      ['iptables', 'iptables-persistent', 'iptables-services']
     else
       []
     end
@@ -167,7 +167,7 @@ Puppet::Type.newtype(:firewallchain) do
   autorequire(:service) do
     case value(:provider)
     when :iptables, :ip6tables
-      %w[firewalld iptables ip6tables iptables-persistent netfilter-persistent]
+      ['firewalld', 'iptables', 'ip6tables', 'iptables-persistent', 'netfilter-persistent']
     else
       []
     end
index 0dc129f2a036b1c2106eea69681602ce85b9c90b..8cf83080c36550c26472c0567204d62dcaff466f 100644 (file)
@@ -196,7 +196,7 @@ module Puppet::Util::Firewall
     end
 
     # RHEL 7 and newer also use systemd to persist iptable rules
-    if os_key == 'RedHat' && %w[RedHat CentOS Scientific SL SLC Ascendos CloudLinux PSBM OracleLinux OVS OEL XenServer VirtuozzoLinux]
+    if os_key == 'RedHat' && ['RedHat', 'CentOS', 'Scientific', 'SL', 'SLC', 'Ascendos', 'CloudLinux', 'PSBM', 'OracleLinux', 'OVS', 'OEL', 'XenServer', 'VirtuozzoLinux']
        .include?(Facter.value(:operatingsystem)) && Facter.value(:operatingsystemrelease).to_i >= 7
       os_key = 'Fedora'
     end
@@ -205,24 +205,24 @@ module Puppet::Util::Firewall
           when :RedHat
             case proto.to_sym
             when :IPv4
-              %w[/sbin/service iptables save]
+              ['/sbin/service', 'iptables', 'save']
             when :IPv6
-              %w[/sbin/service ip6tables save]
+              ['/sbin/service', 'ip6tables', 'save']
             end
           when :Fedora
             case proto.to_sym
             when :IPv4
-              %w[/usr/libexec/iptables/iptables.init save]
+              ['/usr/libexec/iptables/iptables.init', 'save']
             when :IPv6
-              %w[/usr/libexec/iptables/ip6tables.init save]
+              ['/usr/libexec/iptables/ip6tables.init', 'save']
             end
           when :Debian
             case proto.to_sym
             when :IPv4, :IPv6
               if persist_ver && Puppet::Util::Package.versioncmp(persist_ver, '1.0') > 0
-                %w[/usr/sbin/service netfilter-persistent save]
+                ['/usr/sbin/service', 'netfilter-persistent', 'save']
               else
-                %w[/usr/sbin/service iptables-persistent save]
+                ['/usr/sbin/service', 'iptables-persistent', 'save']
               end
             end
           when :Debian_manual
index 5ae4efdd8ad95202685d76a3a2e75e61284a734a..9b206e4ce301705556fe8410d0bbc76f89ea3ce6 100644 (file)
@@ -80,6 +80,7 @@
       "version_requirement": ">= 4.7.0 < 6.0.0"
     }
   ],
-  "template-url": "file:///opt/puppetlabs/pdk/share/cache/pdk-templates.git",
-  "template-ref": "1.3.2-0-g07678c8"
+  "template-url": "https://github.com/puppetlabs/pdk-templates",
+  "template-ref": "heads/master-0-g34e3266",
+  "pdk-version": "1.5.0"
 }
index f4c3d67d7dab965aa9b103770267398ec76a0b33..f4f4d0b7eb036277ee01809eedcca842c7eefe7b 100644 (file)
@@ -522,7 +522,7 @@ describe 'firewall basics', docker: true do
     end
   end
 
-  %w[dst_type src_type].each do |type|
+  ['dst_type', 'src_type'].each do |type|
     describe type.to_s do
       context 'when MULTICAST' do
         pp26 = <<-PUPPETCODE
@@ -1534,7 +1534,7 @@ describe 'firewall basics', docker: true do
         end
       end
 
-      %w[dst_type src_type].each do |type|
+      ['dst_type', 'src_type'].each do |type|
         describe type.to_s do
           context 'when MULTICAST' do
             pp65 = <<-PUPPETCODE
index fb5b2c7808a3a938dd644a58ab6422e336039e53..60b43674bb8c8e3aa44bdff006b1d4d76f06648f 100644 (file)
@@ -36,14 +36,14 @@ ARGS_TO_HASH = {
       action: 'accept',
       chain: 'INPUT',
       destination: '1.1.1.1/32',
-      dport: %w[7061 7062],
+      dport: ['7061', '7062'],
       ensure: :present,
       line: '-A INPUT -s 1.1.1.1/32 -d 1.1.1.1/32 -p tcp -m multiport --dports 7061,7062 -m multiport --sports 7061,7062 -j ACCEPT -m comment --comment "000 allow foo"',
       name: '000 allow foo',
       proto: 'tcp',
       provider: 'iptables',
       source: '1.1.1.1/32',
-      sport: %w[7061 7062],
+      sport: ['7061', '7062'],
       table: 'filter',
     },
   },
@@ -221,7 +221,7 @@ ARGS_TO_HASH = {
     line: '-A INPUT -m state --state INVALID,RELATED,ESTABLISHED',
     table: 'filter',
     params: {
-      state: %w[ESTABLISHED INVALID RELATED],
+      state: ['ESTABLISHED', 'INVALID', 'RELATED'],
       action: nil,
     },
   },
@@ -229,7 +229,7 @@ ARGS_TO_HASH = {
     line: '-A INPUT -m conntrack --ctstate INVALID,RELATED,ESTABLISHED',
     table: 'filter',
     params: {
-      ctstate: %w[ESTABLISHED INVALID RELATED],
+      ctstate: ['ESTABLISHED', 'INVALID', 'RELATED'],
       action: nil,
     },
   },
@@ -699,12 +699,12 @@ HASH_TO_ARGS = {
       action: 'accept',
       chain: 'INPUT',
       destination: '1.1.1.1',
-      dport: %w[7061 7062],
+      dport: ['7061', '7062'],
       ensure: :present,
       name: '000 allow foo',
       proto: 'tcp',
       source: '1.1.1.1',
-      sport: %w[7061 7062],
+      sport: ['7061', '7062'],
       table: 'filter',
     },
     args: ['-t', :filter, '-s', '1.1.1.1/32', '-d', '1.1.1.1/32', '-p', :tcp, '-m', 'multiport', '--sports', '7061,7062', '-m', 'multiport', '--dports', '7061,7062', '-j', 'ACCEPT', '-m', 'comment', '--comment', '000 allow foo'], # rubocop:disable Metrics/LineLength
@@ -719,7 +719,7 @@ HASH_TO_ARGS = {
       name: '700 allow bar',
       proto: 'udp',
       source: '1.1.1.1',
-      sport: %w[7061 7062],
+      sport: ['7061', '7062'],
       table: 'filter',
     },
     args: ['-t', :filter, '-s', '1.1.1.1/32', '-d', '2.10.13.0/24', '-p', :udp, '-m', 'multiport', '--sports', '7061,7062', '-m', 'multiport', '--dports', '7061', '-j', 'my_custom_chain', '-m', 'comment', '--comment', '700 allow bar'], # rubocop:disable Metrics/LineLength
@@ -863,7 +863,7 @@ HASH_TO_ARGS = {
     params: {
       name: '100 states_set_from_array',
       table: 'filter',
-      state: %w[ESTABLISHED INVALID],
+      state: ['ESTABLISHED', 'INVALID'],
     },
     args: ['-t', :filter, '-p', :tcp, '-m', 'state', '--state', 'ESTABLISHED,INVALID', '-m', 'comment', '--comment', '100 states_set_from_array'],
   },
@@ -871,7 +871,7 @@ HASH_TO_ARGS = {
     params: {
       name: '100 ctstates_set_from_array',
       table: 'filter',
-      ctstate: %w[ESTABLISHED INVALID],
+      ctstate: ['ESTABLISHED', 'INVALID'],
     },
     args: ['-t', :filter, '-p', :tcp, '-m', 'conntrack', '--ctstate', 'ESTABLISHED,INVALID', '-m', 'comment', '--comment', '100 ctstates_set_from_array'],
   },
index c20a317736bb8ff13ffc12e160c2a326c8b7ca0c..e117192684d1d907d001bf542592bdea4f0e470e 100644 (file)
@@ -1,5 +1,13 @@
+
 require 'puppetlabs_spec_helper/module_spec_helper'
 require 'rspec-puppet-facts'
+
+begin
+  require 'spec_helper_local' if File.file?(File.join(File.dirname(__FILE__), 'spec_helper_local.rb'))
+rescue LoadError => loaderror
+  warn "Could not require spec_helper_local: #{loaderror.message}"
+end
+
 include RspecPuppetFacts
 
 default_facts = {
@@ -20,5 +28,9 @@ end
 
 RSpec.configure do |c|
   c.default_facts = default_facts
+  c.before :each do
+    # set to strictest setting for testing
+    # by default Puppet runs at warning level
+    Puppet.settings[:strict] = :warning
+  end
 end
-require 'spec_helper_local'
index 8fcc58915ea6aacfec2d1378e05c724a6544ca8a..0651b82a8c0823882750405944e2ea5d7d562016 100644 (file)
@@ -3,13 +3,13 @@ require 'beaker/puppet_install_helper'
 require 'beaker/module_install_helper'
 
 def iptables_flush_all_tables
-  %w[filter nat mangle raw].each do |t|
+  ['filter', 'nat', 'mangle', 'raw'].each do |t|
     expect(shell("iptables -t #{t} -F").stderr).to eq('')
   end
 end
 
 def ip6tables_flush_all_tables
-  %w[filter mangle].each do |t|
+  ['filter', 'mangle'].each do |t|
     expect(shell("ip6tables -t #{t} -F").stderr).to eq('')
   end
 end
index df71d43642db4449abefdd7999ff9e900182d61b..04a6d4534dca7c5e047d746c1ae9717e09e8095e 100644 (file)
@@ -32,9 +32,9 @@ RSpec.shared_examples 'ensures iptables service' do
 end
 
 describe 'firewall::linux::redhat', type: :class do
-  %w[RedHat CentOS Fedora].each do |os|
+  ['RedHat', 'CentOS', 'Fedora'].each do |os|
     oldreleases = ((os == 'Fedora') ? ['14'] : ['6.5'])
-    newreleases = ((os == 'Fedora') ? %w[15 Rawhide] : ['7.0.1406'])
+    newreleases = ((os == 'Fedora') ? ['15', 'Rawhide'] : ['7.0.1406'])
 
     oldreleases.each do |osrel|
       context "os #{os} and osrel #{osrel}" do
index 056e3083c779117a0eca2b3924d0dda38af93fdc..2fbb462f5f1eae9724b868885d3418bb3cdbf948 100644 (file)
@@ -1,9 +1,9 @@
 require 'spec_helper'
 
 describe 'firewall::linux', type: :class do
-  %w[RedHat CentOS Fedora].each do |os|
+  ['RedHat', 'CentOS', 'Fedora'].each do |os|
     context "Redhat Like: operatingsystem => #{os}" do
-      releases = ((os == 'Fedora') ? %w[14 15 Rawhide] : %w[6 7])
+      releases = ((os == 'Fedora') ? ['14', '15', 'Rawhide'] : ['6', '7'])
       releases.each do |osrel|
         context "operatingsystemrelease => #{osrel}" do
           let(:facts) do
@@ -24,9 +24,9 @@ describe 'firewall::linux', type: :class do
     end
   end
 
-  %w[Debian Ubuntu].each do |os|
+  ['Debian', 'Ubuntu'].each do |os|
     context "Debian Like: operatingsystem => #{os}" do
-      releases = ((os == 'Debian') ? %w[6 7 8] : ['10.04', '12.04', '14.04'])
+      releases = ((os == 'Debian') ? ['6', '7', '8'] : ['10.04', '12.04', '14.04'])
       releases.each do |osrel|
         let(:facts) do
           {
index ed5bd0e101183858d60972f1f2604b3bb86084c5..a7a23d0954e6122d1e9f165b37eba553ef84d222 100644 (file)
@@ -273,7 +273,7 @@ describe 'iptables provider' do
     end
 
     resource_types = [:chain, :source, :destination, :proto, :dport, :sport, :action]
-    rule_values = ['INPUT', '1.1.1.1/32', '1.1.1.1/32', 'tcp', %w[7061 7062], %w[7061 7062], 'accept']
+    rule_values = ['INPUT', '1.1.1.1/32', '1.1.1.1/32', 'tcp', ['7061', '7062'], ['7061', '7062'], 'accept']
     it 'parsed the rule arguments correctly' do
       resource_types.each_with_index do |type, index|
         expect(resource[type]).to eq(rule_values[index])
index 8018b6b3fca380eb64effb5aef6083d66fec2add..5a9d42fa48347107781b20786637904acde65f18 100755 (executable)
@@ -100,14 +100,14 @@ describe firewall do # rubocop:disable RSpec/MultipleDescribes
       expect(res.parameters[:jump]).to be nil
     end
 
-    %w[QUEUE RETURN DNAT SNAT LOG NFLOG MASQUERADE REDIRECT MARK].each do |jump|
+    ['QUEUE', 'RETURN', 'DNAT', 'SNAT', 'LOG', 'NFLOG', 'MASQUERADE', 'REDIRECT', 'MARK'].each do |jump|
       it "should accept jump value #{jump}" do
         resource[:jump] = jump
         expect(resource[:jump]).to eql jump
       end
     end
 
-    %w[ACCEPT DROP REJECT].each do |jump|
+    ['ACCEPT', 'DROP', 'REJECT'].each do |jump|
       it "should now fail when value #{jump}" do
         expect(-> { resource[:jump] = jump }).to raise_error(Puppet::Error)
       end
@@ -145,8 +145,8 @@ describe firewall do # rubocop:disable RSpec/MultipleDescribes
       end
 
       it "should accept a #{port} as an array" do
-        resource[port] = %w[22 23]
-        expect(resource[port]).to eql %w[22 23]
+        resource[port] = ['22', '23']
+        expect(resource[port]).to eql ['22', '23']
       end
 
       it "should accept a #{port} as a number" do
@@ -412,7 +412,7 @@ describe firewall do # rubocop:disable RSpec/MultipleDescribes
   end
 
   describe ':recent' do
-    %w[set update rcheck remove].each do |recent|
+    ['set', 'update', 'rcheck', 'remove'].each do |recent|
       it "should accept recent value #{recent}" do
         resource[:recent] = recent
         expect(resource[:recent]).to eql "--#{recent}"
@@ -433,7 +433,7 @@ describe firewall do # rubocop:disable RSpec/MultipleDescribes
       expect(resource[:uid]).to eql 'root'
     end
     it 'allows me to set uid as an array, and silently hide my error' do
-      resource[:uid] = %w[root bobby]
+      resource[:uid] = ['root', 'bobby']
       expect(resource[:uid]).to eql 'root'
     end
     it 'allows me to set gid' do
@@ -441,7 +441,7 @@ describe firewall do # rubocop:disable RSpec/MultipleDescribes
       expect(resource[:gid]).to eql 'root'
     end
     it 'allows me to set gid as an array, and silently hide my error' do
-      resource[:gid] = %w[root bobby]
+      resource[:gid] = ['root', 'bobby']
       expect(resource[:gid]).to eql 'root'
     end
   end
@@ -577,7 +577,7 @@ describe firewall do # rubocop:disable RSpec/MultipleDescribes
       end
 
       # test where autorequire is still needed (table != filter)
-      %w[INPUT OUTPUT FORWARD].each do |test_chain|
+      ['INPUT', 'OUTPUT', 'FORWARD'].each do |test_chain|
         it "should autorequire fwchain #{test_chain} when table is mangle and provider is undefined" do
           resource[param] = test_chain
           resource[:table] = :mangle
@@ -608,7 +608,7 @@ describe firewall do # rubocop:disable RSpec/MultipleDescribes
       end
 
       # test of case where autorequire should not happen
-      %w[INPUT OUTPUT FORWARD].each do |test_chain|
+      ['INPUT', 'OUTPUT', 'FORWARD'].each do |test_chain|
         it "should not autorequire fwchain #{test_chain} when table and provider are undefined" do
           resource[param] = test_chain
           expect(resource[:table]).to be :filter
index fcabcfd6a9b3098a78a05dd3c00024be7f4156e7..89c36e92daf95d89a5f9a255d124d356a9df1584 100755 (executable)
@@ -26,13 +26,13 @@ describe firewallchain do # rubocop:disable RSpec/MultipleDescribes
   end
 
   describe ':name' do
-    { 'nat' => %w[PREROUTING POSTROUTING INPUT OUTPUT],
-      'mangle' => %w[PREROUTING POSTROUTING INPUT FORWARD OUTPUT],
-      'filter' => %w[INPUT OUTPUT FORWARD],
-      'raw' => %w[PREROUTING OUTPUT],
+    { 'nat' => ['PREROUTING', 'POSTROUTING', 'INPUT', 'OUTPUT'],
+      'mangle' => ['PREROUTING', 'POSTROUTING', 'INPUT', 'FORWARD', 'OUTPUT'],
+      'filter' => ['INPUT', 'OUTPUT', 'FORWARD'],
+      'raw' => ['PREROUTING', 'OUTPUT'],
       'broute' => ['BROUTING'],
-      'security' => %w[INPUT OUTPUT FORWARD] }.each_pair do |table, allowedinternalchains|
-      %w[IPv4 IPv6 ethernet].each do |protocol|
+      'security' => ['INPUT', 'OUTPUT', 'FORWARD'] }.each_pair do |table, allowedinternalchains|
+      ['IPv4', 'IPv6', 'ethernet'].each do |protocol|
         ['test', '$5()*&%\'"^$09):'].each do |chainname|
           name = "#{chainname}:#{table}:#{protocol}"
           if table == 'nat' && protocol == 'IPv6'
@@ -58,7 +58,7 @@ describe firewallchain do # rubocop:disable RSpec/MultipleDescribes
         end
       end
 
-      %w[PREROUTING POSTROUTING BROUTING INPUT FORWARD OUTPUT].each do |internalchain|
+      ['PREROUTING', 'POSTROUTING', 'BROUTING', 'INPUT', 'FORWARD', 'OUTPUT'].each do |internalchain|
         name = internalchain + ':' + table + ':'
         name += if internalchain == 'BROUTING'
                   'ethernet'
index 1d21fc485466b2ee714a30509f154cdb2b3fea4e..dc9580f81caf03abadf8b1da05adb552771c56af 100644 (file)
@@ -55,7 +55,7 @@ describe 'Puppet::Util::Firewall' do
     describe 'proto unsupported' do
       subject(:host) { resource }
 
-      %w[inet5 inet8 foo].each do |proto|
+      ['inet5', 'inet8', 'foo'].each do |proto|
         it "should reject invalid proto #{proto}" do
           expect { host.icmp_name_to_number('echo-reply', proto) }
             .to raise_error(ArgumentError, "unsupported protocol family '#{proto}'")
@@ -133,7 +133,7 @@ describe 'Puppet::Util::Firewall' do
         allow(Facter.fact(:operatingsystem)).to receive(:value).and_return('RedHat')
         allow(Facter.fact(:operatingsystemrelease)).to receive(:value).and_return('6')
 
-        allow(host).to receive(:execute).with(%w[/sbin/service iptables save])
+        allow(host).to receive(:execute).with(['/sbin/service', 'iptables', 'save'])
         host.persist_iptables(proto)
       end
 
@@ -142,7 +142,7 @@ describe 'Puppet::Util::Firewall' do
         allow(Facter.fact(:operatingsystem)).to receive(:value).and_return('RedHat')
         allow(Facter.fact(:operatingsystemrelease)).to receive(:value).and_return('7')
 
-        allow(host).to receive(:execute).with(%w[/usr/libexec/iptables/iptables.init save])
+        allow(host).to receive(:execute).with(['/usr/libexec/iptables/iptables.init', 'save'])
         host.persist_iptables(proto)
       end
 
@@ -151,7 +151,7 @@ describe 'Puppet::Util::Firewall' do
         allow(Facter.fact(:operatingsystem)).to receive(:value).and_return('Fedora')
         allow(Facter.fact(:operatingsystemrelease)).to receive(:value).and_return('15')
 
-        allow(host).to receive(:execute).with(%w[/usr/libexec/iptables/iptables.init save])
+        allow(host).to receive(:execute).with(['/usr/libexec/iptables/iptables.init', 'save'])
         host.persist_iptables(proto)
       end
 
@@ -159,7 +159,7 @@ describe 'Puppet::Util::Firewall' do
         allow(Facter.fact(:osfamily)).to receive(:value).and_return(nil)
         allow(Facter.fact(:operatingsystem)).to receive(:value).and_return('CentOS')
         allow(Facter.fact(:operatingsystemrelease)).to receive(:value).and_return('6.5')
-        allow(host).to receive(:execute).with(%w[/sbin/service iptables save])
+        allow(host).to receive(:execute).with(['/sbin/service', 'iptables', 'save'])
         host.persist_iptables(proto)
       end
 
@@ -167,7 +167,7 @@ describe 'Puppet::Util::Firewall' do
         allow(Facter.fact(:osfamily)).to receive(:value).and_return(nil)
         allow(Facter.fact(:operatingsystem)).to receive(:value).and_return('CentOS')
         allow(Facter.fact(:operatingsystemrelease)).to receive(:value).and_return('7.0.1406')
-        allow(host).to receive(:execute).with(%w[/usr/libexec/iptables/iptables.init save])
+        allow(host).to receive(:execute).with(['/usr/libexec/iptables/iptables.init', 'save'])
         host.persist_iptables(proto)
       end
 
@@ -182,7 +182,7 @@ describe 'Puppet::Util::Firewall' do
         allow(Facter.fact(:operatingsystem)).to receive(:value).and_return('RedHat')
         allow(Facter.fact(:operatingsystemrelease)).to receive(:value).and_return('6')
 
-        allow(host).to receive(:execute).with(%w[/sbin/service iptables save]).and_raise(Puppet::ExecutionFailure, 'some error')
+        allow(host).to receive(:execute).with(['/sbin/service', 'iptables', 'save']).and_raise(Puppet::ExecutionFailure, 'some error')
         allow(host).to receive(:warning).with('Unable to persist firewall rules: some error')
         host.persist_iptables(proto)
       end
@@ -195,7 +195,7 @@ describe 'Puppet::Util::Firewall' do
         allow(Facter.fact(:osfamily)).to receive(:value).and_return(nil)
         allow(Facter.fact(:operatingsystem)).to receive(:value).and_return('Ubuntu')
         allow(Facter.fact(:iptables_persistent_version)).to receive(:value).and_return('0.5.3ubuntu2')
-        allow(host).to receive(:execute).with(%w[/usr/sbin/service iptables-persistent save])
+        allow(host).to receive(:execute).with(['/usr/sbin/service', 'iptables-persistent', 'save'])
         host.persist_iptables(proto)
       end