|
4 | 4 | require 'simp/beaker_helpers' |
5 | 5 | include Simp::BeakerHelpers |
6 | 6 |
|
| 7 | +require 'beaker/puppet_install_helper' |
| 8 | +require 'beaker-windows' |
| 9 | +include BeakerWindows::Path |
| 10 | +include BeakerWindows::Powershell |
| 11 | +include BeakerWindows::Registry |
| 12 | +include BeakerWindows::WindowsFeature |
| 13 | + |
7 | 14 | unless ENV['BEAKER_provision'] == 'no' |
8 | 15 | hosts.each do |host| |
9 | 16 | # Install Puppet |
|
15 | 22 | end |
16 | 23 | end |
17 | 24 |
|
| 25 | +hosts.each do |host| |
| 26 | + # https://petersouter.co.uk/testing-windows-puppet-with-beaker/ |
| 27 | + case host['platform'] |
| 28 | + when /windows/ |
| 29 | + GEOTRUST_GLOBAL_CA = <<-EOM.freeze |
| 30 | +-----BEGIN CERTIFICATE----- |
| 31 | +MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT |
| 32 | +MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i |
| 33 | +YWwgQ0EwHhcNMDIwNTIxMDQwMDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQG |
| 34 | +EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3Qg |
| 35 | +R2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD9 |
| 36 | +9BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdq |
| 37 | +fnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDv |
| 38 | +iS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU |
| 39 | +1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+ |
| 40 | +bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoW |
| 41 | +MPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTA |
| 42 | +ephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1l |
| 43 | +uMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKIn |
| 44 | +Z57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfS |
| 45 | +tQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcF |
| 46 | +PseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Un |
| 47 | +hw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeXxx12E6nV |
| 48 | +5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw== |
| 49 | +-----END CERTIFICATE----- |
| 50 | + EOM |
| 51 | + install_cert_on_windows(host, 'geotrustglobal', GEOTRUST_GLOBAL_CA) |
| 52 | + end |
| 53 | +end |
| 54 | + |
18 | 55 |
|
19 | 56 | RSpec.configure do |c| |
20 | 57 | # ensure that environment OS is ready on each host |
21 | | - fix_errata_on hosts |
| 58 | + fix_errata_on(hosts) |
22 | 59 |
|
23 | 60 | # Readable test descriptions |
24 | 61 | c.formatter = :documentation |
25 | 62 |
|
26 | 63 | # Configure all nodes in nodeset |
27 | 64 | c.before :suite do |
28 | 65 | begin |
| 66 | + nonwin = hosts.dup |
| 67 | + nonwin.delete_if {|h| h[:platform] =~ /windows/ } |
29 | 68 | # Install modules and dependencies from spec/fixtures/modules |
30 | | - copy_fixture_modules_to( hosts ) |
31 | | - |
| 69 | + copy_fixture_modules_to( nonwin ) |
| 70 | + begin |
| 71 | + server = only_host_with_role(nonwin, 'server') |
| 72 | + rescue ArgumentError => e |
| 73 | + server = only_host_with_role(nonwin, 'default') |
| 74 | + end |
32 | 75 | # Generate and install PKI certificates on each SUT |
33 | 76 | Dir.mktmpdir do |cert_dir| |
34 | | - run_fake_pki_ca_on( default, hosts, cert_dir ) |
35 | | - hosts.each{ |sut| copy_pki_to( sut, cert_dir, '/etc/pki/simp-testing' )} |
| 77 | + run_fake_pki_ca_on(server, nonwin, cert_dir ) |
| 78 | + nonwin.each{ |sut| copy_pki_to( sut, cert_dir, '/etc/pki/simp-testing' )} |
36 | 79 | end |
| 80 | + |
| 81 | + # add PKI keys |
| 82 | + copy_keydist_to(server) |
37 | 83 | rescue StandardError, ScriptError => e |
38 | 84 | if ENV['PRY'] |
39 | 85 | require 'pry'; binding.pry |
|
0 commit comments