vagrant-dsc 1.1.1 → 1.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/vagrant-dsc/provisioner.rb +3 -5
- data/lib/vagrant-dsc/version.rb +1 -1
- data/spec/provisioner/config_spec.rb +4 -4
- data/spec/provisioner/provisioner_spec.rb +30 -8
- data/spec/spec_helper.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8d8b084bcba884bdf9fca4300290c80e2dc5ad4c
|
4
|
+
data.tar.gz: 80b7d911f8205e82ed29dd6164c593db7161263f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fbc5c0dabb0a1695a724e4d329b7e0e6b77093255c9880617742a66226ec6d54774d369714daec0a2759c8894d9c19700054c677bb921454dc7c858a915d8415
|
7
|
+
data.tar.gz: 3655d498d3f0e2df00815c603516af03e5178911eec15e8ca8da873c58ff0071726a39e01a3531eba816c0284410d3face44e213f54dd6a9b2fdcdb88acef08d
|
@@ -247,17 +247,15 @@ module VagrantPlugins
|
|
247
247
|
manifest: config.configuration_file))
|
248
248
|
|
249
249
|
# A bit of an ugly dance, but this is how we get neat, colourised output and exit codes from a Powershell run
|
250
|
-
last_type = nil
|
251
|
-
new_line = ""
|
252
250
|
error = false
|
253
251
|
machine.communicate.shell.powershell("powershell -ExecutionPolicy Bypass -OutputFormat Text -file #{DSC_GUEST_RUNNER_PATH}") do |type, data|
|
254
252
|
if !data.chomp.empty?
|
255
253
|
error = true if type == :stderr
|
256
254
|
if [:stderr, :stdout].include?(type)
|
257
255
|
color = type == :stdout ? :green : :red
|
258
|
-
|
259
|
-
|
260
|
-
@machine.ui.info(
|
256
|
+
# Remove the \r\n since the dsc output uses this if line is to long. A Line break is a simple \n
|
257
|
+
data = data.gsub(/\r\n/,"") if type == :stdout
|
258
|
+
@machine.ui.info( data.strip(), color: color, prefix: false)
|
261
259
|
end
|
262
260
|
end
|
263
261
|
end
|
data/lib/vagrant-dsc/version.rb
CHANGED
@@ -17,7 +17,7 @@ describe VagrantPlugins::DSC::Config do
|
|
17
17
|
before do
|
18
18
|
env = double("environment", root_path: "/tmp/vagrant-dsc-path")
|
19
19
|
config = double("config")
|
20
|
-
machine.
|
20
|
+
allow(machine).to receive_messages(config: config, env: env)
|
21
21
|
|
22
22
|
allow(machine).to receive(:root_path).and_return("/c/foo")
|
23
23
|
end
|
@@ -65,7 +65,7 @@ describe VagrantPlugins::DSC::Config do
|
|
65
65
|
it "should detect the fully qualified path to the manifest automatically" do
|
66
66
|
env = double("environment", root_path: "")
|
67
67
|
config = double("config")
|
68
|
-
machine.
|
68
|
+
allow(machine).to receive_messages(config: config, env: env)
|
69
69
|
allow(machine).to receive(:root_path).and_return(".")
|
70
70
|
|
71
71
|
subject.configuration_file = "manifests/MyWebsite.ps1"
|
@@ -83,7 +83,7 @@ describe VagrantPlugins::DSC::Config do
|
|
83
83
|
before do
|
84
84
|
env = double("environment", root_path: "")
|
85
85
|
config = double("config")
|
86
|
-
machine.
|
86
|
+
allow(machine).to receive_messages(config: config, env: env)
|
87
87
|
|
88
88
|
allow(machine).to receive(:root_path).and_return("/path/to/vagrant")
|
89
89
|
end
|
@@ -138,7 +138,7 @@ describe VagrantPlugins::DSC::Config do
|
|
138
138
|
it "should detect the fully qualified path to the configuration data file automatically" do
|
139
139
|
env = double("environment", root_path: "")
|
140
140
|
config = double("config")
|
141
|
-
machine.
|
141
|
+
allow(machine).to receive_messages(config: config, env: env)
|
142
142
|
allow(machine).to receive(:root_path).and_return(".")
|
143
143
|
|
144
144
|
subject.configuration_data_file = "manifests/foo.psd1"
|
@@ -23,7 +23,7 @@ describe VagrantPlugins::DSC::Provisioner do
|
|
23
23
|
describe "configure" do
|
24
24
|
before do
|
25
25
|
allow(machine).to receive(:root_config).and_return(root_config)
|
26
|
-
machine.
|
26
|
+
allow(machine).to receive_messages(config: root_config, env: env)
|
27
27
|
root_config.module_path = module_path
|
28
28
|
root_config.configuration_file = configuration_file
|
29
29
|
root_config.finalize!
|
@@ -79,7 +79,7 @@ describe VagrantPlugins::DSC::Provisioner do
|
|
79
79
|
|
80
80
|
before do
|
81
81
|
allow(machine).to receive(:root_config).and_return(root_config)
|
82
|
-
machine.
|
82
|
+
allow(machine).to receive_messages(config: root_config, env: env, communicate: communicator)
|
83
83
|
root_config.module_path = module_path
|
84
84
|
root_config.configuration_file = configuration_file
|
85
85
|
root_config.finalize!
|
@@ -123,7 +123,7 @@ describe VagrantPlugins::DSC::Provisioner do
|
|
123
123
|
root_config.validate(machine)
|
124
124
|
subject.configure(root_config)
|
125
125
|
# allow(root_config).to receive(:vm).and_return(vm)
|
126
|
-
machine.
|
126
|
+
allow(machine).to receive_messages(config: root_config, env: env, communicate: communicator, guest: guest)
|
127
127
|
end
|
128
128
|
|
129
129
|
it "should allow reboot capability when capability exists" do
|
@@ -357,7 +357,7 @@ describe VagrantPlugins::DSC::Provisioner do
|
|
357
357
|
|
358
358
|
allow(machine).to receive(:root_config).and_return(root_config)
|
359
359
|
root_config.configuration_file = configuration_file
|
360
|
-
machine.
|
360
|
+
allow(machine).to receive_messages(config: root_config, env: env)
|
361
361
|
root_config.module_path = module_path
|
362
362
|
root_config.configuration_file = configuration_file
|
363
363
|
root_config.finalize!
|
@@ -584,7 +584,7 @@ del $StagingPath\\*.mof
|
|
584
584
|
allow(machine).to receive(:root_config).and_return(root_config)
|
585
585
|
root_config.configuration_file = configuration_file
|
586
586
|
root_config.configuration_data_file = configuration_data_file
|
587
|
-
machine.
|
587
|
+
allow(machine).to receive_messages(config: root_config, env: env)
|
588
588
|
root_config.module_path = module_path
|
589
589
|
root_config.configuration_file = configuration_file
|
590
590
|
root_config.finalize!
|
@@ -695,7 +695,7 @@ del $StagingPath\\*.mof
|
|
695
695
|
script = "myscript"
|
696
696
|
path = "/local/runner/path"
|
697
697
|
guest_path = "c:/tmp/vagrant-dsc-runner.ps1"
|
698
|
-
machine.
|
698
|
+
allow(machine).to receive_messages(config: root_config, env: env, communicate: communicator)
|
699
699
|
file = double("file")
|
700
700
|
allow(file).to receive(:path).and_return(path)
|
701
701
|
allow(Tempfile).to receive(:new) { file }
|
@@ -716,7 +716,7 @@ del $StagingPath\\*.mof
|
|
716
716
|
expect(shell).to receive(:powershell).with("powershell -ExecutionPolicy Bypass -OutputFormat Text -file c:/tmp/vagrant-dsc-runner.ps1").and_yield(:stdout, "provisioned!")
|
717
717
|
root_config.configuration_file = configuration_file
|
718
718
|
expect(ui).to receive(:info).with("\"Running DSC Provisioner with manifests/MyWebsite.ps1...\"")
|
719
|
-
expect(ui).to receive(:info).with("provisioned!", {color: :green,
|
719
|
+
expect(ui).to receive(:info).with("provisioned!", {color: :green, prefix: false}).once
|
720
720
|
|
721
721
|
subject.run_dsc_apply
|
722
722
|
end
|
@@ -727,10 +727,32 @@ del $StagingPath\\*.mof
|
|
727
727
|
|
728
728
|
root_config.configuration_file = configuration_file
|
729
729
|
expect(ui).to receive(:info).with("\"Running DSC Provisioner with manifests/MyWebsite.ps1...\"")
|
730
|
-
expect(ui).to receive(:info).with("not provisioned!", {color: :red,
|
730
|
+
expect(ui).to receive(:info).with("not provisioned!", {color: :red, prefix: false}).once
|
731
731
|
expect(shell).to receive(:powershell).with("powershell -ExecutionPolicy Bypass -OutputFormat Text -file c:/tmp/vagrant-dsc-runner.ps1").and_yield(:stderr, "not provisioned!")
|
732
732
|
|
733
733
|
subject.run_dsc_apply
|
734
734
|
end
|
735
|
+
|
736
|
+
it "should format DSC Output correct" do
|
737
|
+
allow(machine).to receive(:communicate).and_return(communicator)
|
738
|
+
allow(communicator).to receive(:shell).and_return(shell)
|
739
|
+
|
740
|
+
root_config.configuration_file = configuration_file
|
741
|
+
expect(ui).not_to receive(:info).with(/\r\n/, any_args)
|
742
|
+
expect(ui).not_to receive(:info).with(/^\n/, any_args)
|
743
|
+
expect(ui).not_to receive(:info).with(/\n$/, any_args)
|
744
|
+
expect(shell).to receive(:powershell)
|
745
|
+
.and_yield(:stout, "PSModulePath Configured: C:\\Users\\vagrant\\Documents\\WindowsPowerShell\\Modules;C:\\Program Files\\WindowsPowerShell\\Modules;C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\Modules")
|
746
|
+
.and_yield(:stout, "\r\nRunning Configuration file: C:\\tmp\\vagrant-dsc-3\\manifests\\Reboot.ps1\r\n")
|
747
|
+
.and_yield(:stout, "\r\n Directory: C:\\tmp\\vagrant-dsc-3\\staging\r\n\r\n\r\nMode LastWriteTime Length Name \r\n---- ------------- ------ ---- \r\n-a---- 10/17/2016 7:09 AM 3420 localhost.mof \r\n")
|
748
|
+
.and_yield(:stout, "VERBOSE: Perform operation 'Invoke CimMethod' with following parameters, ''methodName' = \r\nSendConfigurationApply,'className' = MSFT_DSCLocalConfigurationManager,'namespaceName' = \r\nroot/Microsoft/Windows/DesiredStateConfiguration'.")
|
749
|
+
.and_yield(:stout, "VERBOSE: An LCM method call arrived from computer WIN-QRTPA0OO7EK with user sid \r\nS-1-5-21-678342207-3002680417-1007590926-1000.\nVERBOSE: [WIN-QRTPA0OO7EK]: LCM: [ Start Set ]\n")
|
750
|
+
.and_yield(:stout, "VERBOSE: [WIN-QRTPA0OO7EK]: LCM: [ Start Resource ] [[Script]Reboot]")
|
751
|
+
.and_yield(:stout, "\nVERBOSE: [WIN-QRTPA0OO7EK]: LCM: [ Start Test ] [[Script]Reboot]\nVERBOSE: [WIN-QRTPA0OO7EK]: LCM: [ End Test ] [[Script]Reboot] in 0.0000 seconds.\nVERBOSE: [WIN-QRTPA0OO7EK]: LCM: [ Skip Set ] [[Script]Reboot]\nVERBOSE: [WIN-QRTPA0OO7EK]: LCM: [ End Resource ] [[Script]Reboot]\nVERBOSE: [WIN-QRTPA0OO7EK]: LCM: [ Start Resource ] [[Script]Error]\nVERBOSE: [WIN-QRTPA0OO7EK]: LCM: [ Start Test ] [[Script]Error]\nVERBOSE: [WIN-QRTPA0OO7EK]: LCM: [ End Test ] [[Script]Error] in 0.0000 seconds.\n")
|
752
|
+
.and_yield(:stderr, "PowerShell DSC resource MSFT_ScriptResource failed to execute Test-TargetResource functionality with error message: \r\n")
|
753
|
+
.and_yield(:stderr, "\nVERBOSE: Operation 'Invoke CimMethod' complete.\nVERBOSE: Time taken for configuration job to complete is 0.198 seconds\n\r\n\r\n")
|
754
|
+
|
755
|
+
subject.run_dsc_apply
|
756
|
+
end
|
735
757
|
end
|
736
758
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -6,10 +6,10 @@ require 'vagrant-dsc/plugin'
|
|
6
6
|
require 'rspec/its'
|
7
7
|
require 'base'
|
8
8
|
|
9
|
-
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
|
9
|
+
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new([
|
10
10
|
SimpleCov::Formatter::HTMLFormatter,
|
11
11
|
Coveralls::SimpleCov::Formatter
|
12
|
-
]
|
12
|
+
])
|
13
13
|
|
14
14
|
SimpleCov.start do
|
15
15
|
coverage_dir('tmp/coverage')
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-dsc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matt Fellows
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-10-
|
11
|
+
date: 2016-10-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|