diff --git a/spec/acceptance/dsc/basic.rb b/spec/acceptance/dsc/basic.rb index 47669175..ad140e06 100644 --- a/spec/acceptance/dsc/basic.rb +++ b/spec/acceptance/dsc/basic.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -require 'spec_helper' +require 'spec_helper_acceptance' require 'ruby-pwsh' require 'securerandom' diff --git a/spec/acceptance/dsc/cim_instances.rb b/spec/acceptance/dsc/cim_instances.rb index b181898e..b7089f4c 100644 --- a/spec/acceptance/dsc/cim_instances.rb +++ b/spec/acceptance/dsc/cim_instances.rb @@ -4,7 +4,7 @@ # 1. Make sure valid nested CIM instances can be passed to Invoke-DscResource # 2. Make sure nested CIM instances can be read back from Invoke-DscResource -require 'spec_helper' +require 'spec_helper_acceptance' require 'ruby-pwsh' # Needs to be declared here so it is usable in before and it blocks alike diff --git a/spec/acceptance/dsc/class.rb b/spec/acceptance/dsc/class.rb index 4d3dc863..28c43b81 100644 --- a/spec/acceptance/dsc/class.rb +++ b/spec/acceptance/dsc/class.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -require 'spec_helper' +require 'spec_helper_acceptance' require 'ruby-pwsh' powershell = Pwsh::Manager.instance(Pwsh::Manager.powershell_path, Pwsh::Manager.powershell_args) diff --git a/spec/acceptance/dsc/complex.rb b/spec/acceptance/dsc/complex.rb index 2d313b14..de326384 100644 --- a/spec/acceptance/dsc/complex.rb +++ b/spec/acceptance/dsc/complex.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -require 'spec_helper' +require 'spec_helper_acceptance' require 'ruby-pwsh' # Needs to be declared here so it is usable in before and it blocks alike diff --git a/spec/acceptance/support/setup_winrm.ps1 b/spec/acceptance/support/setup_winrm.ps1 new file mode 100644 index 00000000..4dd411d5 --- /dev/null +++ b/spec/acceptance/support/setup_winrm.ps1 @@ -0,0 +1,6 @@ +Get-ChildItem WSMan:\localhost\Listener\ -OutVariable Listeners | Format-List * -Force +$HTTPListener = $Listeners | Where-Object -FilterScript { $_.Keys.Contains('Transport=HTTP') } +If ($HTTPListener.Count -eq 0) { + winrm create winrm/config/Listener?Address=*+Transport=HTTP + winrm e winrm/config/listener +} diff --git a/spec/spec_helper_acceptance.rb b/spec/spec_helper_acceptance.rb new file mode 100644 index 00000000..2af850f7 --- /dev/null +++ b/spec/spec_helper_acceptance.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +require 'spec_helper' + +# Execute a PowerShell Script from path +def execute_powershell_script(path) + return unless Gem.win_platform? + + command = "pwsh.exe -NoProfile -NonInteractive -NoLogo -ExecutionPolicy Bypass -File '#{path}'" + system(command) +end + +execute_powershell_script('spec/acceptance/support/setup_winrm.ps1')