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
@@ -5,22 +5,23 @@ require 'pathname'
5
5
  class PuppetModules
6
6
  attr_reader :modules
7
7
 
8
- def initialize(modules=[])
8
+ def initialize(modules = [])
9
9
  @modules = modules
10
10
  end
11
11
 
12
12
  def list
13
13
  return [] unless modules
14
+
14
15
  modules.collect do |uri|
15
16
  git_url, git_ref = uri.split '#'
16
17
  folder = Pathname.new(git_url).basename('.git')
17
18
  name = folder.to_s.split('-', 2)[1] || folder.to_s
18
19
  {
19
- :name => name,
20
- :url => git_url,
21
- :folder => folder.to_s,
22
- :ref => git_ref,
23
- :protocol => git_url.split(':')[0].intern,
20
+ name: name,
21
+ url: git_url,
22
+ folder: folder.to_s,
23
+ ref: git_ref,
24
+ protocol: git_url.split(':')[0].intern,
24
25
  }
25
26
  end
26
27
  end
@@ -31,7 +32,7 @@ def install_git_module(mod, hosts)
31
32
  # temporary directory to this location. This will preserve the global
32
33
  # state of the system while allowing individual test cases to quickly run
33
34
  # with a module "installed" in the module path.
34
- moddir = "/opt/puppet-git-repos"
35
+ moddir = '/opt/puppet-git-repos'
35
36
  target = "#{moddir}/#{mod[:name]}"
36
37
 
37
38
  step "Clone #{mod[:url]} if needed"
@@ -40,19 +41,18 @@ def install_git_module(mod, hosts)
40
41
  step "Update #{mod[:name]} and check out revision #{mod[:ref]}"
41
42
 
42
43
  commands = ["cd #{target}",
43
- "remote rm origin",
44
+ 'remote rm origin',
44
45
  "remote add origin #{mod[:url]}",
45
- "fetch origin",
46
+ 'fetch origin',
46
47
  "checkout -f #{mod[:ref]}",
47
48
  "reset --hard refs/remotes/origin/#{mod[:ref]}",
48
- "clean -fdx",
49
- ]
49
+ 'clean -fdx',]
50
50
 
51
- on hosts, commands.join(" && git ")
51
+ on hosts, commands.join(' && git ')
52
52
  end
53
53
 
54
54
  def install_scp_module(mod, hosts)
55
- moddir = "/opt/puppet-git-repos"
55
+ moddir = '/opt/puppet-git-repos'
56
56
  target = "#{moddir}/#{mod[:name]}"
57
57
 
58
58
  step "Purge #{target} if needed"
@@ -68,7 +68,7 @@ skip_test 'not testing with puppetserver' unless @options['is_puppetserver']
68
68
 
69
69
  modules = PuppetModules.new(options[:modules]).list
70
70
 
71
- step "Masters: Install Puppet Modules"
71
+ step 'Masters: Install Puppet Modules'
72
72
  masters = hosts.select { |host| host['roles'].include? 'master' }
73
73
 
74
74
  modules.each do |mod|
@@ -1,95 +1,95 @@
1
- test_name "Install CA Certs"
2
- confine :to, :platform => 'windows'
1
+ test_name 'Install CA Certs'
2
+ confine :to, platform: 'windows'
3
3
 
4
- GEOTRUST_GLOBAL_CA = <<-EOM
5
- -----BEGIN CERTIFICATE-----
6
- MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT
7
- MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i
8
- YWwgQ0EwHhcNMDIwNTIxMDQwMDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQG
9
- EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3Qg
10
- R2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD9
11
- 9BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdq
12
- fnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDv
13
- iS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU
14
- 1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+
15
- bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoW
16
- MPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTA
17
- ephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1l
18
- uMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKIn
19
- Z57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfS
20
- tQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcF
21
- PseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Un
22
- hw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeXxx12E6nV
23
- 5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw==
24
- -----END CERTIFICATE-----
4
+ GEOTRUST_GLOBAL_CA = <<~EOM
5
+ -----BEGIN CERTIFICATE-----
6
+ MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT
7
+ MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i
8
+ YWwgQ0EwHhcNMDIwNTIxMDQwMDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQG
9
+ EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3Qg
10
+ R2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD9
11
+ 9BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdq
12
+ fnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDv
13
+ iS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU
14
+ 1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+
15
+ bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoW
16
+ MPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTA
17
+ ephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1l
18
+ uMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKIn
19
+ Z57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfS
20
+ tQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcF
21
+ PseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Un
22
+ hw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeXxx12E6nV
23
+ 5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw==
24
+ -----END CERTIFICATE-----
25
25
  EOM
26
26
 
27
- USERTRUST_NETWORK_CA = <<-EOM
28
- -----BEGIN CERTIFICATE-----
29
- MIIEdDCCA1ygAwIBAgIQRL4Mi1AAJLQR0zYq/mUK/TANBgkqhkiG9w0BAQUFADCB
30
- lzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug
31
- Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho
32
- dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3Qt
33
- SGFyZHdhcmUwHhcNOTkwNzA5MTgxMDQyWhcNMTkwNzA5MTgxOTIyWjCBlzELMAkG
34
- A1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEe
35
- MBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8v
36
- d3d3LnVzZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdh
37
- cmUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCx98M4P7Sof885glFn
38
- 0G2f0v9Y8+efK+wNiVSZuTiZFvfgIXlIwrthdBKWHTxqctU8EGc6Oe0rE81m65UJ
39
- M6Rsl7HoxuzBdXmcRl6Nq9Bq/bkqVRcQVLMZ8Jr28bFdtqdt++BxF2uiiPsA3/4a
40
- MXcMmgF6sTLjKwEHOG7DpV4jvEWbe1DByTCP2+UretNb+zNAHqDVmBe8i4fDidNd
41
- oI6yqqr2jmmIBsX6iSHzCJ1pLgkzmykNRg+MzEk0sGlRvfkGzWitZky8PqxhvQqI
42
- DsjfPe58BEydCl5rkdbux+0ojatNh4lz0G6k0B4WixThdkQDf2Os5M1JnMWS9Ksy
43
- oUhbAgMBAAGjgbkwgbYwCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8wHQYD
44
- VR0OBBYEFKFyXyYbKJhDlV0HN9WFlp1L0sNFMEQGA1UdHwQ9MDswOaA3oDWGM2h0
45
- dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VVE4tVVNFUkZpcnN0LUhhcmR3YXJlLmNy
46
- bDAxBgNVHSUEKjAoBggrBgEFBQcDAQYIKwYBBQUHAwUGCCsGAQUFBwMGBggrBgEF
47
- BQcDBzANBgkqhkiG9w0BAQUFAAOCAQEARxkP3nTGmZev/K0oXnWO6y1n7k57K9cM
48
- //bey1WiCuFMVGWTYGufEpytXoMs61quwOQt9ABjHbjAbPLPSbtNk28Gpgoiskli
49
- CE7/yMgUsogWXecB5BKV5UU0s4tpvc+0hY91UZ59Ojg6FEgSxvunOxqNDYJAB+gE
50
- CJChicsZUN/KHAG8HQQZexB2lzvukJDKxA4fFm517zP4029bHpbj4HR3dHuKom4t
51
- 3XbWOTCC8KucUvIqx69JXn7HaOWCgchqJ/kniCrVWFCVH/A7HFe7fRQ5YiuayZSS
52
- KqMiDP+JJn1fIytH1xUdqWqeUQ0qUZ6B+dQ7XnASfxAynB67nfhmqA==
53
- -----END CERTIFICATE-----
27
+ USERTRUST_NETWORK_CA = <<~EOM
28
+ -----BEGIN CERTIFICATE-----
29
+ MIIEdDCCA1ygAwIBAgIQRL4Mi1AAJLQR0zYq/mUK/TANBgkqhkiG9w0BAQUFADCB
30
+ lzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug
31
+ Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho
32
+ dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3Qt
33
+ SGFyZHdhcmUwHhcNOTkwNzA5MTgxMDQyWhcNMTkwNzA5MTgxOTIyWjCBlzELMAkG
34
+ A1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEe
35
+ MBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8v
36
+ d3d3LnVzZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdh
37
+ cmUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCx98M4P7Sof885glFn
38
+ 0G2f0v9Y8+efK+wNiVSZuTiZFvfgIXlIwrthdBKWHTxqctU8EGc6Oe0rE81m65UJ
39
+ M6Rsl7HoxuzBdXmcRl6Nq9Bq/bkqVRcQVLMZ8Jr28bFdtqdt++BxF2uiiPsA3/4a
40
+ MXcMmgF6sTLjKwEHOG7DpV4jvEWbe1DByTCP2+UretNb+zNAHqDVmBe8i4fDidNd
41
+ oI6yqqr2jmmIBsX6iSHzCJ1pLgkzmykNRg+MzEk0sGlRvfkGzWitZky8PqxhvQqI
42
+ DsjfPe58BEydCl5rkdbux+0ojatNh4lz0G6k0B4WixThdkQDf2Os5M1JnMWS9Ksy
43
+ oUhbAgMBAAGjgbkwgbYwCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8wHQYD
44
+ VR0OBBYEFKFyXyYbKJhDlV0HN9WFlp1L0sNFMEQGA1UdHwQ9MDswOaA3oDWGM2h0
45
+ dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VVE4tVVNFUkZpcnN0LUhhcmR3YXJlLmNy
46
+ bDAxBgNVHSUEKjAoBggrBgEFBQcDAQYIKwYBBQUHAwUGCCsGAQUFBwMGBggrBgEF
47
+ BQcDBzANBgkqhkiG9w0BAQUFAAOCAQEARxkP3nTGmZev/K0oXnWO6y1n7k57K9cM
48
+ //bey1WiCuFMVGWTYGufEpytXoMs61quwOQt9ABjHbjAbPLPSbtNk28Gpgoiskli
49
+ CE7/yMgUsogWXecB5BKV5UU0s4tpvc+0hY91UZ59Ojg6FEgSxvunOxqNDYJAB+gE
50
+ CJChicsZUN/KHAG8HQQZexB2lzvukJDKxA4fFm517zP4029bHpbj4HR3dHuKom4t
51
+ 3XbWOTCC8KucUvIqx69JXn7HaOWCgchqJ/kniCrVWFCVH/A7HFe7fRQ5YiuayZSS
52
+ KqMiDP+JJn1fIytH1xUdqWqeUQ0qUZ6B+dQ7XnASfxAynB67nfhmqA==
53
+ -----END CERTIFICATE-----
54
54
  EOM
55
55
 
56
- EQUIFAX_CA = <<-EOM
57
- -----BEGIN CERTIFICATE-----
58
- MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV
59
- UzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2Vy
60
- dGlmaWNhdGUgQXV0aG9yaXR5MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1
61
- MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoTB0VxdWlmYXgxLTArBgNVBAsTJEVx
62
- dWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCBnzANBgkqhkiG9w0B
63
- AQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPRfM6f
64
- BeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+A
65
- cJkVV5MW8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kC
66
- AwEAAaOCAQkwggEFMHAGA1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQ
67
- MA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlm
68
- aWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoGA1UdEAQTMBGBDzIwMTgw
69
- ODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvSspXXR9gj
70
- IBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQF
71
- MAMBAf8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUA
72
- A4GBAFjOKer89961zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y
73
- 7qj/WsjTVbJmcVfewCHrPSqnI0kBBIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh
74
- 1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee9570+sB3c4
75
- -----END CERTIFICATE-----
56
+ EQUIFAX_CA = <<~EOM
57
+ -----BEGIN CERTIFICATE-----
58
+ MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV
59
+ UzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2Vy
60
+ dGlmaWNhdGUgQXV0aG9yaXR5MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1
61
+ MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoTB0VxdWlmYXgxLTArBgNVBAsTJEVx
62
+ dWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCBnzANBgkqhkiG9w0B
63
+ AQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPRfM6f
64
+ BeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+A
65
+ cJkVV5MW8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kC
66
+ AwEAAaOCAQkwggEFMHAGA1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQ
67
+ MA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlm
68
+ aWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoGA1UdEAQTMBGBDzIwMTgw
69
+ ODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvSspXXR9gj
70
+ IBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQF
71
+ MAMBAf8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUA
72
+ A4GBAFjOKer89961zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y
73
+ 7qj/WsjTVbJmcVfewCHrPSqnI0kBBIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh
74
+ 1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee9570+sB3c4
75
+ -----END CERTIFICATE-----
76
76
  EOM
77
77
 
78
78
  hosts.each do |host|
79
79
  next if host['use_existing_container']
80
80
 
81
- step "Installing Geotrust CA cert"
82
- create_remote_file(host, "geotrustglobal.pem", GEOTRUST_GLOBAL_CA)
83
- on host, "chmod 644 geotrustglobal.pem"
84
- on host, "cmd /c certutil -v -addstore Root `cygpath -w geotrustglobal.pem`"
81
+ step 'Installing Geotrust CA cert'
82
+ create_remote_file(host, 'geotrustglobal.pem', GEOTRUST_GLOBAL_CA)
83
+ on host, 'chmod 644 geotrustglobal.pem'
84
+ on host, 'cmd /c certutil -v -addstore Root `cygpath -w geotrustglobal.pem`'
85
85
 
86
- step "Installing Usertrust Network CA cert"
87
- create_remote_file(host, "usertrust-network.pem", USERTRUST_NETWORK_CA)
88
- on host, "chmod 644 usertrust-network.pem"
89
- on host, "cmd /c certutil -v -addstore Root `cygpath -w usertrust-network.pem`"
86
+ step 'Installing Usertrust Network CA cert'
87
+ create_remote_file(host, 'usertrust-network.pem', USERTRUST_NETWORK_CA)
88
+ on host, 'chmod 644 usertrust-network.pem'
89
+ on host, 'cmd /c certutil -v -addstore Root `cygpath -w usertrust-network.pem`'
90
90
 
91
- step "Installing Equifax CA cert"
92
- create_remote_file(host, "equifax.pem", EQUIFAX_CA)
93
- on host, "chmod 644 equifax.pem"
94
- on host, "cmd /c certutil -v -addstore Root `cygpath -w equifax.pem`"
91
+ step 'Installing Equifax CA cert'
92
+ create_remote_file(host, 'equifax.pem', EQUIFAX_CA)
93
+ on host, 'chmod 644 equifax.pem'
94
+ on host, 'cmd /c certutil -v -addstore Root `cygpath -w equifax.pem`'
95
95
  end
@@ -12,32 +12,31 @@ class ClassMixedWithDSLHelpers
12
12
  def logger
13
13
  RSpec::Mocks::Double.new('logger').as_null_object
14
14
  end
15
-
16
15
  end
17
16
 
18
17
  describe ClassMixedWithDSLHelpers do
19
- let( :command ){ 'ls' }
20
- let( :host ) { double.as_null_object }
21
- let( :result ) { Beaker::Result.new( host, command ) }
18
+ let(:command) { 'ls' }
19
+ let(:host) { double.as_null_object }
20
+ let(:result) { Beaker::Result.new(host, command) }
22
21
 
23
- let( :master ) { make_host( 'master', :roles => %w( master agent default) ) }
24
- let( :agent ) { make_host( 'agent', :roles => %w( agent ) ) }
25
- let( :custom ) { make_host( 'custom', :roles => %w( custom agent ) ) }
26
- let( :dash ) { make_host( 'console', :roles => %w( dashboard agent ) ) }
27
- let( :db ) { make_host( 'db', :roles => %w( database agent ) ) }
28
- let( :hosts ) { [ master, agent, dash, db, custom ] }
22
+ let(:master) { make_host('master', roles: %w[master agent default]) }
23
+ let(:agent) { make_host('agent', roles: %w[agent]) }
24
+ let(:custom) { make_host('custom', roles: %w[custom agent]) }
25
+ let(:dash) { make_host('console', roles: %w[dashboard agent]) }
26
+ let(:db) { make_host('db', roles: %w[database agent]) }
27
+ let(:hosts) { [master, agent, dash, db, custom] }
29
28
 
30
29
  before :each do
31
- allow( subject ).to receive( :hosts ).and_return( hosts )
30
+ allow(subject).to receive(:hosts).and_return(hosts)
32
31
  end
33
32
 
34
33
  describe '#fact_on' do
35
34
  it 'retrieves a fact on a single host' do
36
35
  result.stdout = "{\"osfamily\": \"family\"}\n"
37
- expect( subject ).to receive(:facter).with('"osfamily"',{json: nil}).once
38
- expect( subject ).to receive(:on).and_return(result)
36
+ expect(subject).to receive(:facter).with('"osfamily"', { json: nil }).once
37
+ expect(subject).to receive(:on).and_return(result)
39
38
 
40
- expect( subject.fact_on('host','osfamily') ).to be === JSON.parse(result.stdout)['osfamily']
39
+ expect(subject.fact_on('host', 'osfamily')).to be === JSON.parse(result.stdout)['osfamily']
41
40
  end
42
41
 
43
42
  it 'converts each element to a structured fact when it receives an array of results from #on' do
@@ -45,23 +44,23 @@ describe ClassMixedWithDSLHelpers do
45
44
  times = hosts.length
46
45
  results_array = [result] * times
47
46
  parsed_array = [JSON.parse(result.stdout)['os']] * times
48
- allow( subject ).to receive( :on ).and_return( results_array )
47
+ allow(subject).to receive(:on).and_return(results_array)
49
48
 
50
- expect( subject.fact_on(hosts,'os') ).to be === parsed_array
49
+ expect(subject.fact_on(hosts, 'os')).to be === parsed_array
51
50
  end
52
51
 
53
52
  it 'returns a single result for single host' do
54
53
  result.stdout = "{\"osfamily\": \"family\"}\n"
55
54
  parsed_result = JSON.parse(result.stdout)['osfamily']
56
- allow( subject ).to receive( :on ).and_return( result )
55
+ allow(subject).to receive(:on).and_return(result)
57
56
 
58
- expect( subject.fact_on('host','osfamily') ).to be === parsed_result
57
+ expect(subject.fact_on('host', 'osfamily')).to be === parsed_result
59
58
  end
60
59
 
61
60
  it 'preserves data types' do
62
- result.stdout = "{\"identity\": { \"uid\": 0, \"user\": \"root\", \"privileged\": true }}"
63
- allow( subject ).to receive( :on ).and_return( result )
64
- structured_fact = subject.fact_on('host','identity')
61
+ result.stdout = '{"identity": { "uid": 0, "user": "root", "privileged": true }}'
62
+ allow(subject).to receive(:on).and_return(result)
63
+ structured_fact = subject.fact_on('host', 'identity')
65
64
 
66
65
  expect(structured_fact['uid'].class).to be Fixnum
67
66
  expect(structured_fact['user'].class).to be String
@@ -76,11 +75,10 @@ describe ClassMixedWithDSLHelpers do
76
75
 
77
76
  describe '#fact' do
78
77
  it 'delegates to #fact_on with the default host' do
79
- expect( subject ).to receive(:fact_on).with(anything,"osfamily",{}).once
80
- expect( subject ).to receive(:default)
78
+ expect(subject).to receive(:fact_on).with(anything, 'osfamily', {}).once
79
+ expect(subject).to receive(:default)
81
80
 
82
81
  subject.fact('osfamily')
83
82
  end
84
83
  end
85
-
86
84
  end
@@ -8,9 +8,11 @@ describe ClassMixedWithDSLHelpers do
8
8
  let(:privatebindir) { 'C:\\Program Files\\Puppet Labs\\Puppet\\bin' }
9
9
 
10
10
  context 'when platform is windows and non cygwin' do
11
- let(:winhost) { make_host('winhost_non_cygwin', { :platform => 'windows',
12
- :privatebindir => privatebindir,
13
- :is_cygwin => 'false' }) }
11
+ let(:winhost) do
12
+ make_host('winhost_non_cygwin', { platform: 'windows',
13
+ privatebindir: privatebindir,
14
+ is_cygwin: 'false', })
15
+ end
14
16
 
15
17
  it 'run the correct ruby_command' do
16
18
  expect(subject.ruby_command(winhost)).to eq("cmd /V /C \"set PATH=#{privatebindir};!PATH! && ruby\"")
@@ -18,9 +20,11 @@ describe ClassMixedWithDSLHelpers do
18
20
  end
19
21
 
20
22
  context 'when platform is windows and cygwin' do
21
- let(:winhost) { make_host('winhost', { :platform => Beaker::Platform.new('windows-2016-a64'),
22
- :privatebindir => privatebindir,
23
- :is_cygwin => true }) }
23
+ let(:winhost) do
24
+ make_host('winhost', { platform: Beaker::Platform.new('windows-2016-a64'),
25
+ privatebindir: privatebindir,
26
+ is_cygwin: true, })
27
+ end
24
28
 
25
29
  it 'run the correct ruby_command' do
26
30
  expect(subject.ruby_command(winhost)).to eq("env PATH=\"#{privatebindir}:${PATH}\" ruby")