beaker-puppet 1.29.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +9 -0
  3. data/.github/workflows/release.yml +2 -2
  4. data/.github/workflows/test.yml +28 -7
  5. data/.rubocop.yml +5 -0
  6. data/.rubocop_todo.yml +842 -0
  7. data/CHANGELOG.md +31 -0
  8. data/Gemfile +5 -20
  9. data/Rakefile +64 -169
  10. data/acceptance/config/acceptance-options.rb +3 -3
  11. data/acceptance/config/gem/acceptance-options.rb +8 -8
  12. data/acceptance/config/git/acceptance-options.rb +8 -8
  13. data/acceptance/config/pkg/acceptance-options.rb +7 -7
  14. data/acceptance/pre_suite/gem/install.rb +6 -6
  15. data/acceptance/pre_suite/git/install.rb +22 -22
  16. data/acceptance/pre_suite/pkg/install.rb +3 -3
  17. data/acceptance/tests/backwards_compatible.rb +6 -7
  18. data/acceptance/tests/clone_git_repo_on_test.rb +12 -13
  19. data/acceptance/tests/create_tmpdir_on_test.rb +13 -9
  20. data/acceptance/tests/install_smoke_test.rb +5 -4
  21. data/acceptance/tests/stub_host.rb +11 -10
  22. data/acceptance/tests/web_helpers_test.rb +11 -10
  23. data/beaker-puppet.gemspec +16 -23
  24. data/bin/beaker-puppet +2 -4
  25. data/lib/beaker-puppet/helpers/facter_helpers.rb +9 -7
  26. data/lib/beaker-puppet/helpers/host_helpers.rb +10 -7
  27. data/lib/beaker-puppet/helpers/puppet_helpers.rb +151 -160
  28. data/lib/beaker-puppet/helpers/rake_helpers.rb +1 -1
  29. data/lib/beaker-puppet/helpers/tk_helpers.rb +22 -28
  30. data/lib/beaker-puppet/install_utils/aio_defaults.rb +39 -43
  31. data/lib/beaker-puppet/install_utils/ezbake_utils.rb +34 -42
  32. data/lib/beaker-puppet/install_utils/foss_defaults.rb +134 -138
  33. data/lib/beaker-puppet/install_utils/foss_utils.rb +293 -320
  34. data/lib/beaker-puppet/install_utils/module_utils.rb +58 -70
  35. data/lib/beaker-puppet/install_utils/puppet5.rb +30 -35
  36. data/lib/beaker-puppet/install_utils/puppet_utils.rb +58 -68
  37. data/lib/beaker-puppet/install_utils/windows_utils.rb +34 -36
  38. data/lib/beaker-puppet/version.rb +1 -1
  39. data/lib/beaker-puppet/wrappers.rb +13 -14
  40. data/lib/beaker-puppet.rb +4 -5
  41. data/setup/aio/010_Install_Puppet_Agent.rb +5 -6
  42. data/setup/common/000-delete-puppet-when-none.rb +2 -4
  43. data/setup/common/003_solaris_cert_fix.rb +74 -70
  44. data/setup/common/005_redhat_subscription_fix.rb +3 -2
  45. data/setup/common/011_Install_Puppet_Server.rb +7 -9
  46. data/setup/common/012_Finalize_Installs.rb +5 -5
  47. data/setup/common/025_StopFirewall.rb +1 -1
  48. data/setup/common/030_StopSssd.rb +2 -2
  49. data/setup/common/040_ValidateSignCert.rb +10 -12
  50. data/setup/common/045_EnsureMasterStarted.rb +2 -2
  51. data/setup/gem/010_GemInstall.rb +5 -4
  52. data/setup/git/000_EnvSetup.rb +48 -48
  53. data/setup/git/010_TestSetup.rb +13 -12
  54. data/setup/git/020_PuppetUserAndGroup.rb +3 -2
  55. data/setup/git/060_InstallModules.rb +14 -14
  56. data/setup/git/070_InstallCACerts.rb +82 -82
  57. data/spec/beaker-puppet/helpers/facter_helpers_spec.rb +22 -24
  58. data/spec/beaker-puppet/helpers/host_helpers_spec.rb +10 -6
  59. data/spec/beaker-puppet/helpers/puppet_helpers_spec.rb +506 -517
  60. data/spec/beaker-puppet/helpers/tk_helpers_spec.rb +20 -24
  61. data/spec/beaker-puppet/install_utils/ezbake_utils_spec.rb +86 -90
  62. data/spec/beaker-puppet/install_utils/foss_utils_spec.rb +636 -599
  63. data/spec/beaker-puppet/install_utils/module_utils_spec.rb +125 -116
  64. data/spec/beaker-puppet/install_utils/puppet5_spec.rb +159 -165
  65. data/spec/beaker-puppet/install_utils/puppet_utils_spec.rb +92 -77
  66. data/spec/beaker-puppet/install_utils/windows_utils_spec.rb +101 -89
  67. data/spec/beaker-puppet/wrappers_spec.rb +10 -10
  68. data/spec/helpers.rb +85 -91
  69. data/tasks/ci.rake +171 -179
  70. metadata +33 -62
  71. data/setup/common/020_InstallCumulusModules.rb +0 -13
  72. data/setup/common/021_InstallAristaModuleMasters.rb +0 -12
  73. data/setup/common/022_InstallAristaModuleAgents.rb +0 -13
@@ -1,34 +1,32 @@
1
1
  require 'beaker-puppet'
2
2
 
3
- confine :except, :platform => /^solaris-10/
3
+ confine :except, platform: /^solaris-10/
4
4
 
5
5
  test_name 'Clone from git' do
6
-
7
6
  PACKAGES = {
8
- :redhat => [
7
+ redhat: [
9
8
  'git',
10
9
  ],
11
- :debian => [
12
- ['git', 'git-core'],
10
+ debian: [
11
+ %w[git git-core],
13
12
  ],
14
- :solaris_11 => [
13
+ solaris_11: [
15
14
  ['git', 'developer/versioning/git'],
16
15
  ],
17
- :solaris_10 => [
16
+ solaris_10: [
18
17
  'coreutils',
19
18
  'curl', # update curl to fix "CURLOPT_SSL_VERIFYHOST no longer supports 1 as value!" issue
20
19
  'git',
21
20
  ],
22
- :windows => [
21
+ windows: [
23
22
  'git',
24
23
  ],
25
- :sles => [
24
+ sles: [
26
25
  'git-core',
27
- ]
26
+ ],
28
27
  }
29
28
 
30
-
31
- install_packages_on(hosts, PACKAGES, :check_if_exists => true)
29
+ install_packages_on(hosts, PACKAGES, check_if_exists: true)
32
30
 
33
31
  # implicitly tests build_giturl() and lookup_in_env()
34
32
  hosts.each do |host|
@@ -37,7 +35,8 @@ test_name 'Clone from git' do
37
35
 
38
36
  step 'should be able to successfully clone a git repo' do
39
37
  results = clone_git_repo_on(host, "#{testdir}", extract_repo_info_from(build_git_url('hiera')))
40
- assert_match( %r{From.*github\.com[:/]puppetlabs/hiera}, result.output, 'Did not find clone')
38
+
39
+ assert_match(%r{From.*github\.com[:/]puppetlabs/hiera}, result.output, 'Did not find clone')
41
40
  end
42
41
  end
43
42
  end
@@ -1,43 +1,47 @@
1
- test_name "dsl::helpers::host_helpers #create_tmpdir_on" do
2
- step "#create_tmpdir_on returns a temporary directory on the remote system" do
1
+ test_name 'dsl::helpers::host_helpers #create_tmpdir_on' do
2
+ step '#create_tmpdir_on returns a temporary directory on the remote system' do
3
3
  tmpdir = create_tmpdir_on default
4
+
4
5
  assert_match %r{/}, tmpdir
5
6
  assert_equal 0, on(default, "touch #{tmpdir}/testfile").exit_code
6
7
  end
7
8
 
8
- step "#create_tmpdir_on uses the specified path prefix when provided" do
9
- tmpdir = create_tmpdir_on(default, "mypathprefix")
9
+ step '#create_tmpdir_on uses the specified path prefix when provided' do
10
+ tmpdir = create_tmpdir_on(default, 'mypathprefix')
11
+
10
12
  assert_match %r{/mypathprefix}, tmpdir
11
13
  assert_equal 0, on(default, "touch #{tmpdir}/testfile").exit_code
12
14
  end
13
15
 
14
- step "#create_tmpdir_on fails if a non-existent user is specified" do
16
+ step '#create_tmpdir_on fails if a non-existent user is specified' do
15
17
  assert_raises Beaker::Host::CommandFailure do
16
18
  tmpdir = create_tmpdir_on default, '', 'fakeuser'
17
19
  end
18
20
  end
19
21
 
20
- step "#create_tmpdir_on sets the user if specified" do
22
+ step '#create_tmpdir_on sets the user if specified' do
21
23
  default.user_present('tmpdirtestuser')
22
24
  tmpdir = create_tmpdir_on(default, nil, 'tmpdirtestuser', nil)
25
+
23
26
  assert_match /tmpdirtestuser/, on(default, "ls -ld #{tmpdir}").output
24
27
  default.user_absent('tmpdirtestuser')
25
28
  end
26
29
 
27
- step "#create_tmpdir_on fails if a non-existent group is specified" do
30
+ step '#create_tmpdir_on fails if a non-existent group is specified' do
28
31
  assert_raises Beaker::Host::CommandFailure do
29
32
  tmpdir = create_tmpdir_on default, '', nil, 'fakegroup'
30
33
  end
31
34
  end
32
35
 
33
- step "#create_tmpdir_on sets the group if specified" do
36
+ step '#create_tmpdir_on sets the group if specified' do
34
37
  default.group_present('tmpdirtestgroup')
35
38
  tmpdir = create_tmpdir_on(default, nil, nil, 'tmpdirtestgroup')
39
+
36
40
  assert_match /testgroup/, on(default, "ls -ld #{tmpdir}").output
37
41
  default.group_absent('tmpdirtestgroup')
38
42
  end
39
43
 
40
- step "#create_tmpdir_on operates on all hosts if given a hosts array" do
44
+ step '#create_tmpdir_on operates on all hosts if given a hosts array' do
41
45
  tmpdirs = create_tmpdir_on hosts
42
46
  hosts.zip(tmpdirs).each do |(host, tmpdir)|
43
47
  assert_match %r{/}, tmpdir
@@ -1,6 +1,6 @@
1
1
  require 'beaker-puppet'
2
2
 
3
- test_name "puppet install smoketest"
3
+ test_name 'puppet install smoketest'
4
4
 
5
5
  step 'puppet install smoketest: verify \'facter --help\' can be successfully called on all hosts'
6
6
  hosts.each do |host|
@@ -17,7 +17,8 @@ hosts.each do |host|
17
17
  on host, puppet('help')
18
18
  end
19
19
 
20
- step "puppet install smoketest: can get a configprint of the puppet server setting on all hosts"
20
+ step 'puppet install smoketest: can get a configprint of the puppet server setting on all hosts'
21
+
21
22
  hosts.each do |host|
22
- assert(!host.puppet['server'].empty?, "can get a configprint of the puppet server setting")
23
- end
23
+ assert(!host.puppet['server'].empty?, 'can get a configprint of the puppet server setting')
24
+ end
@@ -1,23 +1,22 @@
1
1
  require 'beaker-puppet'
2
2
 
3
- test_name "validate host stubbing behavior"
3
+ test_name 'validate host stubbing behavior'
4
4
 
5
5
  def get_hosts_file(host)
6
6
  if host['platform'] =~ /win/
7
- hosts_file = "C:\\\\Windows\\\\System32\\\\Drivers\\\\etc\\\\hosts"
7
+ 'C:\\\\Windows\\\\System32\\\\Drivers\\\\etc\\\\hosts'
8
8
  else
9
- hosts_file = '/etc/hosts'
9
+ '/etc/hosts'
10
10
  end
11
- return hosts_file
12
11
  end
13
12
 
14
13
  step 'verify stub_host_on' do
15
14
  step 'should add entry to hosts file' do
16
15
  hosts.each do |host|
17
- stub_hosts_on(host, { 'foo' => '1.1.1.1' }, { 'foo' => [ 'bar', 'baz' ] })
16
+ stub_hosts_on(host, { 'foo' => '1.1.1.1' }, { 'foo' => %w[bar baz] })
18
17
  hosts_file = get_hosts_file(host)
19
18
  result = on host, "cat #{hosts_file}"
20
- assert_match %r{foo}, result.stdout
19
+ assert_match(/foo/, result.stdout)
21
20
  end
22
21
  end
23
22
 
@@ -25,7 +24,7 @@ step 'verify stub_host_on' do
25
24
  hosts.each do |host|
26
25
  hosts_file = get_hosts_file(host)
27
26
  result = on host, "cat #{hosts_file}"
28
- assert_match %r{foo}, result.stdout
27
+ assert_match(/foo/, result.stdout)
29
28
  end
30
29
  end
31
30
  end
@@ -34,8 +33,10 @@ step 'verify with_stub_host_on' do
34
33
  step 'should add entry to hosts file' do
35
34
  hosts.each do |host|
36
35
  hosts_file = get_hosts_file(host)
37
- result = with_host_stubbed_on(host, { 'sleepy' => '1.1.1.2' }, { 'sleepy' => [ 'grumpy', 'dopey' ] }) { on host, "cat #{hosts_file}" }
38
- assert_match %r{sleepy}, result.stdout
36
+ result = with_host_stubbed_on(host, { 'sleepy' => '1.1.1.2' }, { 'sleepy' => %w[grumpy dopey] }) do
37
+ on host, "cat #{hosts_file}"
38
+ end
39
+ assert_match(/sleepy/, result.stdout)
39
40
  end
40
41
  end
41
42
 
@@ -43,7 +44,7 @@ step 'verify with_stub_host_on' do
43
44
  hosts.each do |host|
44
45
  hosts_file = get_hosts_file(host)
45
46
  result = on host, "cat #{hosts_file}"
46
- assert_no_match %r{sleepy}, result.stdout
47
+ assert_no_match(/sleepy/, result.stdout)
47
48
  end
48
49
  end
49
50
  end
@@ -5,22 +5,22 @@ require 'webrick/https'
5
5
 
6
6
  test_name 'dsl::helpers::web_helpers #link_exists?' do
7
7
  cert_name = [
8
- %w[CN localhost],
8
+ %w[CN localhost],
9
9
  ]
10
10
  http_cmd = "ruby -rwebrick -e'WEBrick::HTTPServer.new(:Port => 80, :DocumentRoot => \"/tmp\").start' > /tmp/mylogfile 2>&1 &"
11
11
  https_cmd = "ruby -rwebrick/https -e'WEBrick::HTTPServer.new(:SSLEnable => true, :SSLCertName => #{cert_name}, :Port => 555,:DocumentRoot => \"/tmp\").start' > /tmp/mylogfile 2>&1 &"
12
12
  on(default, http_cmd)
13
13
  on(default, https_cmd)
14
- #allow web servers to start up
14
+ # allow web servers to start up
15
15
  sleep(3)
16
16
  dir = default.tmpdir('test_dir')
17
17
  file = default.tmpfile('test_file')
18
- dir.slice! "/tmp"
19
- file.slice! "/tmp"
18
+ dir.slice! '/tmp'
19
+ file.slice! '/tmp'
20
20
  dst_dir = 'web_helpers'
21
21
 
22
22
  step '#port_open_within? can tell if a port is open' do
23
- assert port_open_within?(default,80)
23
+ assert port_open_within?(default, 80)
24
24
  end
25
25
 
26
26
  step '#link_exists? can tell if a basic link exists' do
@@ -41,7 +41,8 @@ test_name 'dsl::helpers::web_helpers #link_exists?' do
41
41
 
42
42
  step '#fetch_http_dir will raise an error if unable fetch a dir' do
43
43
  exception = assert_raises(RuntimeError) { fetch_http_dir("http://#{default}/tmps", dst_dir) }
44
- assert_match /Failed to fetch_remote_dir.*/, exception.message, "#fetch_http_dir raised an unexpected RuntimeError"
44
+
45
+ assert_match /Failed to fetch_remote_dir.*/, exception.message, '#fetch_http_dir raised an unexpected RuntimeError'
45
46
  end
46
47
 
47
48
  step '#fetch_http_file can fetch a file' do
@@ -49,8 +50,8 @@ test_name 'dsl::helpers::web_helpers #link_exists?' do
49
50
  end
50
51
 
51
52
  step '#fetch_http_file will raise an error if unable to fetch a file' do
52
- exception = assert_raises(RuntimeError) { fetch_http_file("http://#{default}", "test2.txt", dst_dir) }
53
- assert_match /Failed to fetch_remote_file.*/, exception.message, "#fetch_http_dir raised an unexpected RuntimeError"
54
- end
53
+ exception = assert_raises(RuntimeError) { fetch_http_file("http://#{default}", 'test2.txt', dst_dir) }
55
54
 
56
- end
55
+ assert_match /Failed to fetch_remote_file.*/, exception.message, '#fetch_http_dir raised an unexpected RuntimeError'
56
+ end
57
+ end
@@ -1,41 +1,34 @@
1
- # -*- encoding: utf-8 -*-
2
- $LOAD_PATH.unshift File.expand_path("../lib", __FILE__)
1
+ $LOAD_PATH.unshift File.expand_path('lib', __dir__)
3
2
  require 'beaker-puppet/version'
4
3
 
5
4
  Gem::Specification.new do |s|
6
- s.name = "beaker-puppet"
5
+ s.name = 'beaker-puppet'
7
6
  s.version = BeakerPuppet::VERSION
8
- s.authors = ["Vox Pupuli"]
9
- s.email = ["voxpupuli@groups.io"]
10
- s.homepage = "https://github.com/voxpupuli/beaker-puppet"
11
- s.summary = %q{Beaker's Puppet DSL Extension Helpers!}
12
- s.description = %q{For use for the Beaker acceptance testing tool}
7
+ s.authors = ['Vox Pupuli']
8
+ s.email = ['voxpupuli@groups.io']
9
+ s.homepage = 'https://github.com/voxpupuli/beaker-puppet'
10
+ s.summary = "Beaker's Puppet DSL Extension Helpers!"
11
+ s.description = 'For use for the Beaker acceptance testing tool'
13
12
  s.license = 'Apache-2.0'
14
13
 
15
- s.required_ruby_version = '>= 2.4'
14
+ s.required_ruby_version = '>= 2.7'
16
15
 
17
16
  s.files = `git ls-files`.split("\n")
18
17
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
19
- s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
20
- s.require_paths = ["lib"]
18
+ s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
19
+ s.require_paths = ['lib']
21
20
 
22
21
  # Testing dependencies
23
- s.add_development_dependency 'rspec', '~> 3.0'
24
- s.add_development_dependency 'rspec-its'
25
- s.add_development_dependency 'fakefs', '>= 0.6', '< 2.0'
22
+ s.add_development_dependency 'fakefs', '>= 0.6', '< 3.0'
26
23
  s.add_development_dependency 'rake', '~> 13.0'
24
+ s.add_development_dependency 'rspec', '~> 3.0'
25
+ s.add_development_dependency 'rspec-its', '~> 1.3'
26
+ s.add_development_dependency 'voxpupuli-rubocop', '~> 1.2'
27
27
 
28
28
  # Acceptance Testing Dependencies
29
- s.add_development_dependency 'beaker-vmpooler'
30
-
31
- # Documentation dependencies
32
- s.add_development_dependency 'yard'
33
- s.add_development_dependency 'thin'
29
+ s.add_development_dependency 'beaker-vmpooler', '~> 1.4'
34
30
 
35
31
  # Run time dependencies
36
32
  s.add_runtime_dependency 'beaker', '~> 4.1'
37
- s.add_runtime_dependency 'in-parallel', '~> 0.1'
38
- s.add_runtime_dependency 'oga'
39
-
33
+ s.add_runtime_dependency 'oga', '~> 3.4'
40
34
  end
41
-
data/bin/beaker-puppet CHANGED
@@ -4,7 +4,7 @@ require 'rubygems' unless defined?(Gem)
4
4
  require 'beaker-puppet'
5
5
 
6
6
  VERSION_STRING =
7
- "
7
+ "
8
8
  _ .--.
9
9
  ( ` )
10
10
  beaker-puppet .-' `--,
@@ -25,8 +25,6 @@ VERSION_STRING =
25
25
  '=='
26
26
  "
27
27
 
28
-
29
-
30
- puts VERSION_STRING % [BeakerPuppet::VERSION]
28
+ puts format(VERSION_STRING, BeakerPuppet::VERSION)
31
29
 
32
30
  exit 0
@@ -5,7 +5,6 @@ module Beaker
5
5
  # for these methods to execute correctly
6
6
  #
7
7
  module FacterHelpers
8
-
9
8
  # @!macro [new] common_opts
10
9
  # @param [Hash{Symbol=>String}] opts Options to alter execution.
11
10
  # @option opts [Boolean] :silent (false) Do not produce log output
@@ -13,7 +12,7 @@ module Beaker
13
12
  # (or range) of integer exit codes that should be considered
14
13
  # acceptable. An error will be thrown if the exit code does not
15
14
  # match one of the values in this list.
16
- # @option opts [Boolean] :accept_all_exit_codes (false) Consider all
15
+ # @option opts [Boolean] :accept_all_exit_codes (false) Consider all
17
16
  # exit codes as passing.
18
17
  # @option opts [Boolean] :dry_run (false) Do not actually execute any
19
18
  # commands on the SUT
@@ -37,15 +36,19 @@ module Beaker
37
36
  # @return String The value of the fact 'name' on the provided host
38
37
  # @raise [FailTest] Raises an exception if call to facter fails
39
38
  def fact_on(host, name, opts = {})
40
- raise(ArgumentError, "fact_on's `name` option must be a String. You provided a #{name.class}: '#{name}'") unless name.is_a?(String)
41
- if opts.kind_of?(Hash)
42
- opts.merge!({json: nil})
39
+ unless name.is_a?(String)
40
+ raise(ArgumentError,
41
+ "fact_on's `name` option must be a String. You provided a #{name.class}: '#{name}'")
42
+ end
43
+
44
+ if opts.is_a?(Hash)
45
+ opts.merge!({ json: nil })
43
46
  else
44
47
  opts << ' --json'
45
48
  end
46
49
 
47
50
  result = on host, facter("\"#{name}\"", opts)
48
- if result.kind_of?(Array)
51
+ if result.is_a?(Array)
49
52
  result.map { |res| JSON.parse(res.stdout)[name] }
50
53
  else
51
54
  JSON.parse(result.stdout)[name]
@@ -57,7 +60,6 @@ module Beaker
57
60
  def fact(name, opts = {})
58
61
  fact_on(default, name, opts)
59
62
  end
60
-
61
63
  end
62
64
  end
63
65
  end
@@ -5,7 +5,6 @@ module Beaker
5
5
  # for these methods to execute correctly
6
6
  #
7
7
  module HostHelpers
8
-
9
8
  def ruby_command(host)
10
9
  if host['platform'] =~ /windows/ && !host.is_cygwin?
11
10
  "cmd /V /C \"set PATH=#{host['privatebindir']};!PATH! && ruby\""
@@ -20,8 +19,10 @@ module Beaker
20
19
  # S_IFDIR 0040000
21
20
  def beaker_stat(host, path)
22
21
  ruby = ruby_command(host)
23
- owner = on(host, "#{ruby} -e 'require \"etc\"; puts (Etc.getpwuid(File.stat(\"#{path}\").uid).name)'").stdout.chomp
24
- group = on(host, "#{ruby} -e 'require \"etc\"; puts (Etc.getgrgid(File.stat(\"#{path}\").gid).name)'").stdout.chomp
22
+ owner = on(host,
23
+ "#{ruby} -e 'require \"etc\"; puts (Etc.getpwuid(File.stat(\"#{path}\").uid).name)'").stdout.chomp
24
+ group = on(host,
25
+ "#{ruby} -e 'require \"etc\"; puts (Etc.getgrgid(File.stat(\"#{path}\").gid).name)'").stdout.chomp
25
26
  mode = on(host, "#{ruby} -e 'puts (File.stat(\"#{path}\").mode & 0777).to_s(8)'").stdout.chomp.to_i
26
27
 
27
28
  [owner, group, mode]
@@ -29,12 +30,14 @@ module Beaker
29
30
 
30
31
  def assert_ownership_permissions(host, location, expected_user, expected_group, expected_permissions)
31
32
  permissions = beaker_stat(host, location)
32
- assert_equal(expected_user, permissions[0], "Owner #{permissions[0]} does not match expected #{expected_user}")
33
- assert_equal(expected_group, permissions[1], "Group #{permissions[1]} does not match expected #{expected_group}")
34
- assert_equal(expected_permissions, permissions[2], "Permissions #{permissions[2]} does not match expected #{expected_permissions}")
33
+ assert_equal(expected_user, permissions[0],
34
+ "Owner #{permissions[0]} does not match expected #{expected_user}")
35
+ assert_equal(expected_group, permissions[1],
36
+ "Group #{permissions[1]} does not match expected #{expected_group}")
37
+ assert_equal(expected_permissions, permissions[2],
38
+ "Permissions #{permissions[2]} does not match expected #{expected_permissions}")
35
39
  end
36
40
  end
37
41
  end
38
42
  end
39
43
  end
40
-