chef 11.12.0.alpha.1 → 11.12.0.rc.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (121) hide show
  1. checksums.yaml +4 -4
  2. data/lib/chef/api_client/registration.rb +46 -9
  3. data/lib/chef/application.rb +1 -0
  4. data/lib/chef/application/client.rb +25 -24
  5. data/lib/chef/client.rb +34 -0
  6. data/lib/chef/config.rb +11 -0
  7. data/lib/chef/cookbook/chefignore.rb +10 -2
  8. data/lib/chef/cookbook/metadata.rb +31 -3
  9. data/lib/chef/cookbook/synchronizer.rb +2 -2
  10. data/lib/chef/cookbook/syntax_check.rb +4 -4
  11. data/lib/chef/encrypted_data_bag_item.rb +37 -1
  12. data/lib/chef/exceptions.rb +1 -0
  13. data/lib/chef/guard_interpreter/default_guard_interpreter.rb +42 -0
  14. data/lib/chef/guard_interpreter/resource_guard_interpreter.rb +122 -0
  15. data/lib/chef/http.rb +0 -1
  16. data/lib/chef/http/decompressor.rb +7 -4
  17. data/lib/chef/http/simple.rb +5 -0
  18. data/lib/chef/http/validate_content_length.rb +28 -12
  19. data/lib/chef/knife.rb +1 -0
  20. data/lib/chef/knife/client_bulk_delete.rb +48 -9
  21. data/lib/chef/knife/client_delete.rb +4 -4
  22. data/lib/chef/knife/cookbook_bulk_delete.rb +1 -1
  23. data/lib/chef/knife/cookbook_upload.rb +17 -7
  24. data/lib/chef/knife/core/bootstrap_context.rb +1 -1
  25. data/lib/chef/knife/core/ui.rb +42 -5
  26. data/lib/chef/knife/node_run_list_add.rb +31 -2
  27. data/lib/chef/knife/ssh.rb +44 -31
  28. data/lib/chef/knife/ssl_check.rb +213 -0
  29. data/lib/chef/knife/ssl_fetch.rb +145 -0
  30. data/lib/chef/mixin/deep_merge.rb +13 -5
  31. data/lib/chef/mixin/shell_out.rb +9 -3
  32. data/lib/chef/node.rb +23 -4
  33. data/lib/chef/node/immutable_collections.rb +32 -0
  34. data/lib/chef/platform/provider_mapping.rb +21 -18
  35. data/lib/chef/platform/query_helpers.rb +10 -2
  36. data/lib/chef/policy_builder/expand_node_object.rb +3 -6
  37. data/lib/chef/provider/cron.rb +25 -3
  38. data/lib/chef/provider/mount/mount.rb +1 -1
  39. data/lib/chef/provider/package/dpkg.rb +2 -1
  40. data/lib/chef/provider/package/windows.rb +80 -0
  41. data/lib/chef/provider/package/windows/msi.rb +69 -0
  42. data/lib/chef/provider/powershell_script.rb +19 -6
  43. data/lib/chef/provider/service/solaris.rb +11 -7
  44. data/lib/chef/resource.rb +18 -5
  45. data/lib/chef/resource/conditional.rb +20 -7
  46. data/lib/chef/resource/cron.rb +18 -2
  47. data/lib/chef/resource/execute.rb +0 -2
  48. data/lib/chef/resource/powershell_script.rb +23 -1
  49. data/lib/chef/resource/script.rb +25 -0
  50. data/lib/chef/resource/subversion.rb +4 -0
  51. data/lib/chef/resource/windows_package.rb +79 -0
  52. data/lib/chef/resource/windows_script.rb +0 -5
  53. data/lib/chef/resources.rb +1 -0
  54. data/lib/chef/rest.rb +6 -1
  55. data/lib/chef/run_context.rb +22 -2
  56. data/lib/chef/run_context/cookbook_compiler.rb +12 -0
  57. data/lib/chef/util/editor.rb +92 -0
  58. data/lib/chef/util/file_edit.rb +22 -54
  59. data/lib/chef/version.rb +2 -2
  60. data/lib/chef/win32/api/installer.rb +166 -0
  61. data/lib/chef/win32/version.rb +8 -0
  62. data/spec/data/standalone_cookbook/Gemfile +1 -0
  63. data/spec/data/standalone_cookbook/chefignore +9 -0
  64. data/spec/data/standalone_cookbook/recipes/default.rb +3 -0
  65. data/spec/data/standalone_cookbook/vendor/bundle/ruby/2.0.0/gems/multi_json-1.9.0/lib/multi_json.rb +1 -0
  66. data/spec/functional/resource/powershell_spec.rb +262 -1
  67. data/spec/functional/win32/versions_spec.rb +3 -3
  68. data/spec/integration/knife/chefignore_spec.rb +1 -2
  69. data/spec/integration/knife/raw_spec.rb +8 -13
  70. data/spec/integration/knife/redirection_spec.rb +6 -14
  71. data/spec/integration/solo/solo_spec.rb +19 -0
  72. data/spec/support/shared/functional/windows_script.rb +1 -1
  73. data/spec/support/shared/integration/app_server_support.rb +42 -0
  74. data/spec/support/shared/integration/integration_helper.rb +1 -0
  75. data/spec/support/shared/unit/script_resource.rb +38 -0
  76. data/spec/unit/api_client/registration_spec.rb +109 -38
  77. data/spec/unit/application/client_spec.rb +48 -1
  78. data/spec/unit/cookbook/chefignore_spec.rb +10 -0
  79. data/spec/unit/cookbook/metadata_spec.rb +45 -1
  80. data/spec/unit/cookbook/syntax_check_spec.rb +28 -0
  81. data/spec/unit/cookbook_spec.rb +0 -10
  82. data/spec/unit/guard_interpreter/resource_guard_interpreter_spec.rb +56 -0
  83. data/spec/unit/http/simple_spec.rb +32 -0
  84. data/spec/unit/http/validate_content_length_spec.rb +187 -0
  85. data/spec/unit/knife/bootstrap_spec.rb +13 -4
  86. data/spec/unit/knife/client_bulk_delete_spec.rb +123 -38
  87. data/spec/unit/knife/client_delete_spec.rb +4 -4
  88. data/spec/unit/knife/cookbook_upload_spec.rb +181 -88
  89. data/spec/unit/knife/core/bootstrap_context_spec.rb +11 -1
  90. data/spec/unit/knife/core/ui_spec.rb +109 -38
  91. data/spec/unit/knife/node_run_list_add_spec.rb +24 -1
  92. data/spec/unit/knife/ssh_spec.rb +17 -6
  93. data/spec/unit/knife/ssl_check_spec.rb +187 -0
  94. data/spec/unit/knife/ssl_fetch_spec.rb +151 -0
  95. data/spec/unit/mixin/deep_merge_spec.rb +17 -0
  96. data/spec/unit/node/immutable_collections_spec.rb +55 -0
  97. data/spec/unit/node_spec.rb +9 -0
  98. data/spec/unit/platform/query_helpers_spec.rb +32 -0
  99. data/spec/unit/platform_spec.rb +193 -175
  100. data/spec/unit/policy_builder/expand_node_object_spec.rb +1 -1
  101. data/spec/unit/provider/cron_spec.rb +175 -1
  102. data/spec/unit/provider/mount/mount_spec.rb +33 -3
  103. data/spec/unit/provider/package/dpkg_spec.rb +4 -0
  104. data/spec/unit/provider/package/windows/msi_spec.rb +60 -0
  105. data/spec/unit/provider/package/windows_spec.rb +80 -0
  106. data/spec/unit/provider/service/macosx_spec.rb +3 -3
  107. data/spec/unit/provider/service/solaris_smf_service_spec.rb +35 -10
  108. data/spec/unit/pure_application_spec.rb +32 -0
  109. data/spec/unit/recipe_spec.rb +4 -0
  110. data/spec/unit/resource/conditional_spec.rb +13 -12
  111. data/spec/unit/resource/cron_spec.rb +7 -2
  112. data/spec/unit/resource/powershell_spec.rb +85 -2
  113. data/spec/unit/resource/subversion_spec.rb +5 -0
  114. data/spec/unit/resource/windows_package_spec.rb +74 -0
  115. data/spec/unit/resource_spec.rb +23 -1
  116. data/spec/unit/rest_spec.rb +15 -0
  117. data/spec/unit/run_context/cookbook_compiler_spec.rb +12 -0
  118. data/spec/unit/run_context_spec.rb +7 -0
  119. data/spec/unit/util/editor_spec.rb +152 -0
  120. data/spec/unit/util/file_edit_spec.rb +37 -1
  121. metadata +41 -30
@@ -344,7 +344,7 @@ describe Chef::Resource do
344
344
  expected_keys = [ :allowed_actions, :params, :provider, :updated,
345
345
  :updated_by_last_action, :before, :supports,
346
346
  :noop, :ignore_failure, :name, :source_line,
347
- :action, :retries, :retry_delay, :elapsed_time]
347
+ :action, :retries, :retry_delay, :elapsed_time, :guard_interpreter]
348
348
  (hash.keys - expected_keys).should == []
349
349
  (expected_keys - hash.keys).should == []
350
350
  hash[:name].should eql("funk")
@@ -526,6 +526,28 @@ describe Chef::Resource do
526
526
  snitch_var2.should be_false
527
527
  end
528
528
 
529
+ describe "guard_interpreter attribute" do
530
+ let(:resource) { @resource }
531
+
532
+ it "should be set to :default by default" do
533
+ resource.guard_interpreter.should == :default
534
+ end
535
+
536
+ it "if set to :default should return :default when read" do
537
+ resource.guard_interpreter(:default)
538
+ resource.guard_interpreter.should == :default
539
+ end
540
+
541
+ it "should raise Chef::Exceptions::ValidationFailed on an attempt to set the guard_interpreter attribute to something other than a Symbol" do
542
+ expect { resource.guard_interpreter('command_dot_com') }.to raise_error(Chef::Exceptions::ValidationFailed)
543
+ end
544
+
545
+ it "should not raise an exception when setting the guard interpreter attribute to a Symbol" do
546
+ Chef::GuardInterpreter::ResourceGuardInterpreter.stub(:new).and_return(nil)
547
+ expect { resource.guard_interpreter(:command_dot_com) }.not_to raise_error
548
+ end
549
+ end
550
+
529
551
  end
530
552
 
531
553
  describe "should_skip?" do
@@ -76,6 +76,21 @@ describe Chef::REST do
76
76
  Chef::Log.init(log_stringio)
77
77
  end
78
78
 
79
+ it "should have content length validation middleware after compressor middleware" do
80
+ middlewares = rest.instance_variable_get(:@middlewares)
81
+ content_length = middlewares.find_index { |e| e.is_a? Chef::HTTP::ValidateContentLength }
82
+ decompressor = middlewares.find_index { |e| e.is_a? Chef::HTTP::Decompressor }
83
+
84
+ content_length.should_not be_nil
85
+ decompressor.should_not be_nil
86
+ (decompressor < content_length).should be_true
87
+ end
88
+
89
+ it "should allow the options hash to be frozen" do
90
+ options = {}.freeze
91
+ # should not raise any exception
92
+ Chef::REST.new(base_url, nil, nil, options)
93
+ end
79
94
 
80
95
  describe "calling an HTTP verb on a path or absolute URL" do
81
96
  it "adds a relative URL to the base url it was initialized with" do
@@ -170,5 +170,17 @@ describe Chef::RunContext::CookbookCompiler do
170
170
  :"circular-dep1",
171
171
  :"test-with-circular-deps"]
172
172
  end
173
+
174
+ it "determines if a cookbook is in the list of cookbooks reachable by dependency" do
175
+ node.run_list("test-with-deps::default", "test-with-deps::server")
176
+ compiler.cookbook_order.should == [:dependency1, :dependency2, :"test-with-deps"]
177
+ compiler.unreachable_cookbook?(:dependency1).should be_false
178
+ compiler.unreachable_cookbook?(:dependency2).should be_false
179
+ compiler.unreachable_cookbook?(:'test-with-deps').should be_false
180
+ compiler.unreachable_cookbook?(:'circular-dep1').should be_true
181
+ compiler.unreachable_cookbook?(:'circular-dep2').should be_true
182
+ end
183
+
184
+
173
185
  end
174
186
  end
@@ -79,6 +79,13 @@ describe Chef::RunContext do
79
79
  @node.include_attribute("test::george")
80
80
  end
81
81
 
82
+ it "raises an error when attempting to include_recipe from a cookbook not reachable by run list or dependencies" do
83
+ @node.should_receive(:loaded_recipe).with(:ancient, "aliens")
84
+ lambda do
85
+ @run_context.include_recipe("ancient::aliens")
86
+ # In CHEF-5120, this becomes a Chef::Exceptions::MissingCookbookDependency error:
87
+ end.should raise_error(Chef::Exceptions::CookbookNotFound)
88
+ end
82
89
 
83
90
  end
84
91
 
@@ -0,0 +1,152 @@
1
+ require 'spec_helper'
2
+ require 'chef/util/editor'
3
+
4
+ describe Chef::Util::Editor do
5
+ describe '#initialize' do
6
+ it 'takes an Enumerable of lines' do
7
+ editor = described_class.new(File.open(__FILE__))
8
+ expect(editor.lines).to be == IO.readlines(__FILE__)
9
+ end
10
+
11
+ it 'makes a copy of an Array' do
12
+ array = Array.new
13
+ editor = described_class.new(array)
14
+ expect(editor.lines).to_not be(array)
15
+ end
16
+ end
17
+
18
+ subject(:editor) { described_class.new(input_lines) }
19
+ let(:input_lines) { ['one', 'two', 'two', 'three'] }
20
+
21
+ describe '#append_line_after' do
22
+ context 'when there is no match' do
23
+ subject(:execute) { editor.append_line_after('missing', 'new') }
24
+
25
+ it('returns the number of added lines') { should be == 0 }
26
+ it 'does not add any lines' do
27
+ expect { execute }.to_not change { editor.lines }
28
+ end
29
+ end
30
+
31
+ context 'when there is a match' do
32
+ subject(:execute) { editor.append_line_after('two', 'new') }
33
+
34
+ it('returns the number of added lines') { should be == 2 }
35
+ it 'adds a line after each match' do
36
+ execute
37
+ expect(editor.lines).to be == ['one', 'two', 'new', 'two', 'new', 'three']
38
+ end
39
+ end
40
+
41
+ it 'matches a Regexp' do
42
+ expect(editor.append_line_after(/^ee/, 'new')).to be == 0
43
+ expect(editor.append_line_after(/ee$/, 'new')).to be == 1
44
+ end
45
+ end
46
+
47
+ describe '#append_line_if_missing' do
48
+ context 'when there is no match' do
49
+ subject(:execute) { editor.append_line_if_missing('missing', 'new') }
50
+
51
+ it('returns the number of added lines') { should be == 1 }
52
+ it 'adds a line to the end' do
53
+ execute
54
+ expect(editor.lines).to be == ['one', 'two', 'two', 'three', 'new']
55
+ end
56
+ end
57
+
58
+ context 'when there is a match' do
59
+ subject(:execute) { editor.append_line_if_missing('one', 'new') }
60
+
61
+ it('returns the number of added lines') { should be == 0 }
62
+ it 'does not add any lines' do
63
+ expect { execute }.to_not change { editor.lines }
64
+ end
65
+ end
66
+
67
+ it 'matches a Regexp' do
68
+ expect(editor.append_line_if_missing(/ee$/, 'new')).to be == 0
69
+ expect(editor.append_line_if_missing(/^ee/, 'new')).to be == 1
70
+ end
71
+ end
72
+
73
+ describe '#remove_lines' do
74
+ context 'when there is no match' do
75
+ subject(:execute) { editor.remove_lines('missing') }
76
+
77
+ it('returns the number of removed lines') { should be == 0 }
78
+ it 'does not remove any lines' do
79
+ expect { execute }.to_not change { editor.lines }
80
+ end
81
+ end
82
+
83
+ context 'when there is a match' do
84
+ subject(:execute) { editor.remove_lines('two') }
85
+
86
+ it('returns the number of removed lines') { should be == 2 }
87
+ it 'removes the matching lines' do
88
+ execute
89
+ expect(editor.lines).to be == ['one', 'three']
90
+ end
91
+ end
92
+
93
+ it 'matches a Regexp' do
94
+ expect(editor.remove_lines(/^ee/)).to be == 0
95
+ expect(editor.remove_lines(/ee$/)).to be == 1
96
+ end
97
+ end
98
+
99
+ describe '#replace' do
100
+ context 'when there is no match' do
101
+ subject(:execute) { editor.replace('missing', 'new') }
102
+
103
+ it('returns the number of changed lines') { should be == 0 }
104
+ it 'does not change any lines' do
105
+ expect { execute }.to_not change { editor.lines }
106
+ end
107
+ end
108
+
109
+ context 'when there is a match' do
110
+ subject(:execute) { editor.replace('two', 'new') }
111
+
112
+ it('returns the number of changed lines') { should be == 2 }
113
+ it 'replaces the matching portions' do
114
+ execute
115
+ expect(editor.lines).to be == ['one', 'new', 'new', 'three']
116
+ end
117
+ end
118
+
119
+ it 'matches a Regexp' do
120
+ expect(editor.replace(/^ee/, 'new')).to be == 0
121
+ expect(editor.replace(/ee$/, 'new')).to be == 1
122
+ expect(editor.lines).to be == ['one', 'two', 'two', 'thrnew']
123
+ end
124
+ end
125
+
126
+ describe '#replace_lines' do
127
+ context 'when there is no match' do
128
+ subject(:execute) { editor.replace_lines('missing', 'new') }
129
+
130
+ it('returns the number of changed lines') { should be == 0 }
131
+ it 'does not change any lines' do
132
+ expect { execute }.to_not change { editor.lines }
133
+ end
134
+ end
135
+
136
+ context 'when there is a match' do
137
+ subject(:execute) { editor.replace_lines('two', 'new') }
138
+
139
+ it('returns the number of replaced lines') { should be == 2 }
140
+ it 'replaces the matching line' do
141
+ execute
142
+ expect(editor.lines).to be == ['one', 'new', 'new', 'three']
143
+ end
144
+ end
145
+
146
+ it 'matches a Regexp' do
147
+ expect(editor.replace_lines(/^ee/, 'new')).to be == 0
148
+ expect(editor.replace_lines(/ee$/, 'new')).to be == 1
149
+ expect(editor.lines).to be == ['one', 'two', 'two', 'new']
150
+ end
151
+ end
152
+ end
@@ -17,6 +17,7 @@
17
17
  #
18
18
 
19
19
  require 'spec_helper'
20
+ require 'tempfile'
20
21
 
21
22
  describe Chef::Util::FileEdit do
22
23
 
@@ -80,6 +81,17 @@ new line inserted
80
81
  EOF
81
82
  end
82
83
 
84
+ let(:append_twice) do
85
+ <<-EOF
86
+ 127.0.0.1 localhost
87
+ 255.255.255.255 broadcasthost
88
+ ::1 localhost
89
+ fe80::1%lo0 localhost
90
+ once
91
+ twice
92
+ EOF
93
+ end
94
+
83
95
  let(:target_file) do
84
96
  f = Tempfile.open('file_edit_spec')
85
97
  f.write(starting_content)
@@ -104,7 +116,7 @@ new line inserted
104
116
 
105
117
  # CHEF-5018: people have monkey patched this and it has accidentally been broken
106
118
  it "should read the contents into memory as an array" do
107
- expect(fedit.send(:contents)).to be_instance_of(Array)
119
+ expect(fedit.send(:editor).lines).to be_instance_of(Array)
108
120
  end
109
121
  end
110
122
 
@@ -123,18 +135,21 @@ new line inserted
123
135
  describe "search_file_replace" do
124
136
  it "should accept regex passed in as a string (not Regexp object) and replace the match if there is one" do
125
137
  fedit.search_file_replace("localhost", "replacement")
138
+ fedit.unwritten_changes?.should be_true
126
139
  fedit.write_file
127
140
  expect(edited_file_contents).to eq(localhost_replaced)
128
141
  end
129
142
 
130
143
  it "should accept regex passed in as a Regexp object and replace the match if there is one" do
131
144
  fedit.search_file_replace(/localhost/, "replacement")
145
+ fedit.unwritten_changes?.should be_true
132
146
  fedit.write_file
133
147
  expect(edited_file_contents).to eq(localhost_replaced)
134
148
  end
135
149
 
136
150
  it "should do nothing if there isn't a match" do
137
151
  fedit.search_file_replace(/pattern/, "replacement")
152
+ fedit.unwritten_changes?.should be_false
138
153
  fedit.write_file
139
154
  expect(edited_file_contents).to eq(starting_content)
140
155
  end
@@ -143,6 +158,7 @@ new line inserted
143
158
  describe "search_file_replace_line" do
144
159
  it "should search for match and replace the whole line" do
145
160
  fedit.search_file_replace_line(/localhost/, "replacement line")
161
+ fedit.unwritten_changes?.should be_true
146
162
  fedit.write_file
147
163
  expect(edited_file_contents).to eq(localhost_line_replaced)
148
164
  end
@@ -151,6 +167,7 @@ new line inserted
151
167
  describe "search_file_delete" do
152
168
  it "should search for match and delete the match" do
153
169
  fedit.search_file_delete(/localhost/)
170
+ fedit.unwritten_changes?.should be_true
154
171
  fedit.write_file
155
172
  expect(edited_file_contents).to eq(localhost_deleted)
156
173
  end
@@ -159,6 +176,7 @@ new line inserted
159
176
  describe "search_file_delete_line" do
160
177
  it "should search for match and delete the matching line" do
161
178
  fedit.search_file_delete_line(/localhost/)
179
+ fedit.unwritten_changes?.should be_true
162
180
  fedit.write_file
163
181
  expect(edited_file_contents).to eq(localhost_line_deleted)
164
182
  end
@@ -167,6 +185,7 @@ new line inserted
167
185
  describe "insert_line_after_match" do
168
186
  it "should search for match and insert the given line after the matching line" do
169
187
  fedit.insert_line_after_match(/localhost/, "new line inserted")
188
+ fedit.unwritten_changes?.should be_true
170
189
  fedit.write_file
171
190
  expect(edited_file_contents).to eq(append_after_all_localhost)
172
191
  end
@@ -175,14 +194,31 @@ new line inserted
175
194
  describe "insert_line_if_no_match" do
176
195
  it "should search for match and insert the given line if no line match" do
177
196
  fedit.insert_line_if_no_match(/pattern/, "new line inserted")
197
+ fedit.unwritten_changes?.should be_true
178
198
  fedit.write_file
179
199
  expect(edited_file_contents).to eq(append_after_content)
180
200
  end
181
201
 
182
202
  it "should do nothing if there is a match" do
183
203
  fedit.insert_line_if_no_match(/localhost/, "replacement")
204
+ fedit.unwritten_changes?.should be_false
184
205
  fedit.write_file
185
206
  expect(edited_file_contents).to eq(starting_content)
186
207
  end
208
+
209
+ it "should work more than once" do
210
+ fedit.insert_line_if_no_match(/missing/, "once")
211
+ fedit.insert_line_if_no_match(/missing/, "twice")
212
+ fedit.write_file
213
+ expect(edited_file_contents).to eq(append_twice)
214
+ end
215
+ end
216
+
217
+ describe "file_edited" do
218
+ it "should return true if a file got edited" do
219
+ fedit.insert_line_if_no_match(/pattern/, "new line inserted")
220
+ fedit.write_file
221
+ expect(fedit.file_edited?).to be_true
222
+ end
187
223
  end
188
224
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chef
3
3
  version: !ruby/object:Gem::Version
4
- version: 11.12.0.alpha.1
4
+ version: 11.12.0.rc.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Jacob
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-18 00:00:00.000000000 Z
11
+ date: 2014-03-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mixlib-config
@@ -70,30 +70,30 @@ dependencies:
70
70
  name: mixlib-shellout
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - '='
74
74
  - !ruby/object:Gem::Version
75
- version: '1.3'
75
+ version: 1.4.0.rc.1
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - "~>"
80
+ - - '='
81
81
  - !ruby/object:Gem::Version
82
- version: '1.3'
82
+ version: 1.4.0.rc.1
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: ohai
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - '='
88
88
  - !ruby/object:Gem::Version
89
- version: 7.0.0.rc.0
89
+ version: 7.0.0.rc.2
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - '='
95
95
  - !ruby/object:Gem::Version
96
- version: 7.0.0.rc.0
96
+ version: 7.0.0.rc.2
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rest-client
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -250,34 +250,20 @@ dependencies:
250
250
  requirements:
251
251
  - - "~>"
252
252
  - !ruby/object:Gem::Version
253
- version: '1.7'
253
+ version: '2.0'
254
254
  - - ">="
255
255
  - !ruby/object:Gem::Version
256
- version: 1.7.2
256
+ version: 2.0.2
257
257
  type: :runtime
258
258
  prerelease: false
259
259
  version_requirements: !ruby/object:Gem::Requirement
260
260
  requirements:
261
261
  - - "~>"
262
262
  - !ruby/object:Gem::Version
263
- version: '1.7'
263
+ version: '2.0'
264
264
  - - ">="
265
265
  - !ruby/object:Gem::Version
266
- version: 1.7.2
267
- - !ruby/object:Gem::Dependency
268
- name: puma
269
- requirement: !ruby/object:Gem::Requirement
270
- requirements:
271
- - - "~>"
272
- - !ruby/object:Gem::Version
273
- version: '1.6'
274
- type: :runtime
275
- prerelease: false
276
- version_requirements: !ruby/object:Gem::Requirement
277
- requirements:
278
- - - "~>"
279
- - !ruby/object:Gem::Version
280
- version: '1.6'
266
+ version: 2.0.2
281
267
  - !ruby/object:Gem::Dependency
282
268
  name: pry
283
269
  requirement: !ruby/object:Gem::Requirement
@@ -296,16 +282,16 @@ dependencies:
296
282
  name: rake
297
283
  requirement: !ruby/object:Gem::Requirement
298
284
  requirements:
299
- - - ">="
285
+ - - "~>"
300
286
  - !ruby/object:Gem::Version
301
- version: '0'
287
+ version: 10.1.0
302
288
  type: :development
303
289
  prerelease: false
304
290
  version_requirements: !ruby/object:Gem::Requirement
305
291
  requirements:
306
- - - ">="
292
+ - - "~>"
307
293
  - !ruby/object:Gem::Version
308
- version: '0'
294
+ version: 10.1.0
309
295
  - !ruby/object:Gem::Dependency
310
296
  name: rack
311
297
  requirement: !ruby/object:Gem::Requirement
@@ -743,6 +729,8 @@ files:
743
729
  - lib/chef/formatters/error_inspectors/run_list_expansion_error_inspector.rb
744
730
  - lib/chef/formatters/error_mapper.rb
745
731
  - lib/chef/formatters/minimal.rb
732
+ - lib/chef/guard_interpreter/default_guard_interpreter.rb
733
+ - lib/chef/guard_interpreter/resource_guard_interpreter.rb
746
734
  - lib/chef/handler.rb
747
735
  - lib/chef/handler/error_report.rb
748
736
  - lib/chef/handler/json_file.rb
@@ -853,6 +841,8 @@ files:
853
841
  - lib/chef/knife/search.rb
854
842
  - lib/chef/knife/show.rb
855
843
  - lib/chef/knife/ssh.rb
844
+ - lib/chef/knife/ssl_check.rb
845
+ - lib/chef/knife/ssl_fetch.rb
856
846
  - lib/chef/knife/status.rb
857
847
  - lib/chef/knife/tag_create.rb
858
848
  - lib/chef/knife/tag_delete.rb
@@ -973,6 +963,8 @@ files:
973
963
  - lib/chef/provider/package/rubygems.rb
974
964
  - lib/chef/provider/package/smartos.rb
975
965
  - lib/chef/provider/package/solaris.rb
966
+ - lib/chef/provider/package/windows.rb
967
+ - lib/chef/provider/package/windows/msi.rb
976
968
  - lib/chef/provider/package/yum-dump.py
977
969
  - lib/chef/provider/package/yum.rb
978
970
  - lib/chef/provider/package/zypper.rb
@@ -1079,6 +1071,7 @@ files:
1079
1071
  - lib/chef/resource/timestamped_deploy.rb
1080
1072
  - lib/chef/resource/user.rb
1081
1073
  - lib/chef/resource/whyrun_safe_ruby_block.rb
1074
+ - lib/chef/resource/windows_package.rb
1082
1075
  - lib/chef/resource/windows_script.rb
1083
1076
  - lib/chef/resource/yum_package.rb
1084
1077
  - lib/chef/resource_collection.rb
@@ -1115,6 +1108,7 @@ files:
1115
1108
  - lib/chef/user.rb
1116
1109
  - lib/chef/util/backup.rb
1117
1110
  - lib/chef/util/diff.rb
1111
+ - lib/chef/util/editor.rb
1118
1112
  - lib/chef/util/file_edit.rb
1119
1113
  - lib/chef/util/selinux.rb
1120
1114
  - lib/chef/util/windows.rb
@@ -1130,6 +1124,7 @@ files:
1130
1124
  - lib/chef/win32/api.rb
1131
1125
  - lib/chef/win32/api/error.rb
1132
1126
  - lib/chef/win32/api/file.rb
1127
+ - lib/chef/win32/api/installer.rb
1133
1128
  - lib/chef/win32/api/memory.rb
1134
1129
  - lib/chef/win32/api/process.rb
1135
1130
  - lib/chef/win32/api/psapi.rb
@@ -1389,6 +1384,10 @@ files:
1389
1384
  - spec/data/ssl/key.pem
1390
1385
  - spec/data/ssl/private_key.pem
1391
1386
  - spec/data/ssl/private_key_with_whitespace.pem
1387
+ - spec/data/standalone_cookbook/Gemfile
1388
+ - spec/data/standalone_cookbook/chefignore
1389
+ - spec/data/standalone_cookbook/recipes/default.rb
1390
+ - spec/data/standalone_cookbook/vendor/bundle/ruby/2.0.0/gems/multi_json-1.9.0/lib/multi_json.rb
1392
1391
  - spec/data/templates/seattle.txt
1393
1392
  - spec/data/trusted_certs/example.crt
1394
1393
  - spec/data/trusted_certs/intermediate.pem
@@ -1484,6 +1483,7 @@ files:
1484
1483
  - spec/support/shared/functional/securable_resource.rb
1485
1484
  - spec/support/shared/functional/securable_resource_with_reporting.rb
1486
1485
  - spec/support/shared/functional/windows_script.rb
1486
+ - spec/support/shared/integration/app_server_support.rb
1487
1487
  - spec/support/shared/integration/integration_helper.rb
1488
1488
  - spec/support/shared/integration/knife_support.rb
1489
1489
  - spec/support/shared/unit/api_error_inspector.rb
@@ -1547,9 +1547,12 @@ files:
1547
1547
  - spec/unit/formatters/error_inspectors/registration_error_inspector_spec.rb
1548
1548
  - spec/unit/formatters/error_inspectors/resource_failure_inspector_spec.rb
1549
1549
  - spec/unit/formatters/error_inspectors/run_list_expansion_error_inspector_spec.rb
1550
+ - spec/unit/guard_interpreter/resource_guard_interpreter_spec.rb
1550
1551
  - spec/unit/handler/json_file_spec.rb
1551
1552
  - spec/unit/handler_spec.rb
1553
+ - spec/unit/http/simple_spec.rb
1552
1554
  - spec/unit/http/ssl_policies_spec.rb
1555
+ - spec/unit/http/validate_content_length_spec.rb
1553
1556
  - spec/unit/http_spec.rb
1554
1557
  - spec/unit/json_compat_spec.rb
1555
1558
  - spec/unit/knife/bootstrap_spec.rb
@@ -1611,6 +1614,8 @@ files:
1611
1614
  - spec/unit/knife/role_from_file_spec.rb
1612
1615
  - spec/unit/knife/role_list_spec.rb
1613
1616
  - spec/unit/knife/ssh_spec.rb
1617
+ - spec/unit/knife/ssl_check_spec.rb
1618
+ - spec/unit/knife/ssl_fetch_spec.rb
1614
1619
  - spec/unit/knife/status_spec.rb
1615
1620
  - spec/unit/knife/tag_create_spec.rb
1616
1621
  - spec/unit/knife/tag_delete_spec.rb
@@ -1644,6 +1649,7 @@ files:
1644
1649
  - spec/unit/node/attribute_spec.rb
1645
1650
  - spec/unit/node/immutable_collections_spec.rb
1646
1651
  - spec/unit/node_spec.rb
1652
+ - spec/unit/platform/query_helpers_spec.rb
1647
1653
  - spec/unit/platform_spec.rb
1648
1654
  - spec/unit/policy_builder/expand_node_object_spec.rb
1649
1655
  - spec/unit/policy_builder/policyfile_spec.rb
@@ -1697,6 +1703,8 @@ files:
1697
1703
  - spec/unit/provider/package/rubygems_spec.rb
1698
1704
  - spec/unit/provider/package/smartos_spec.rb
1699
1705
  - spec/unit/provider/package/solaris_spec.rb
1706
+ - spec/unit/provider/package/windows/msi_spec.rb
1707
+ - spec/unit/provider/package/windows_spec.rb
1700
1708
  - spec/unit/provider/package/yum_spec.rb
1701
1709
  - spec/unit/provider/package/zypper_spec.rb
1702
1710
  - spec/unit/provider/package_spec.rb
@@ -1739,6 +1747,7 @@ files:
1739
1747
  - spec/unit/provider/user_spec.rb
1740
1748
  - spec/unit/provider/whyrun_safe_ruby_block_spec.rb
1741
1749
  - spec/unit/provider_spec.rb
1750
+ - spec/unit/pure_application_spec.rb
1742
1751
  - spec/unit/recipe_spec.rb
1743
1752
  - spec/unit/registry_helper_spec.rb
1744
1753
  - spec/unit/resource/apt_package_spec.rb
@@ -1795,6 +1804,7 @@ files:
1795
1804
  - spec/unit/resource/template_spec.rb
1796
1805
  - spec/unit/resource/timestamped_deploy_spec.rb
1797
1806
  - spec/unit/resource/user_spec.rb
1807
+ - spec/unit/resource/windows_package_spec.rb
1798
1808
  - spec/unit/resource/yum_package_spec.rb
1799
1809
  - spec/unit/resource_collection/stepable_iterator_spec.rb
1800
1810
  - spec/unit/resource_collection_spec.rb
@@ -1824,6 +1834,7 @@ files:
1824
1834
  - spec/unit/user_spec.rb
1825
1835
  - spec/unit/util/backup_spec.rb
1826
1836
  - spec/unit/util/diff_spec.rb
1837
+ - spec/unit/util/editor_spec.rb
1827
1838
  - spec/unit/util/file_edit_spec.rb
1828
1839
  - spec/unit/util/selinux_spec.rb
1829
1840
  - spec/unit/version/platform_spec.rb