berkshelf 1.4.6 → 2.0.0.beta

Sign up to get free protection for your applications and to get access to all the features.
Files changed (96) hide show
  1. data/.gitignore +1 -0
  2. data/CHANGELOG.md +1 -5
  3. data/CONTRIBUTING.md +3 -1
  4. data/Gemfile +11 -1
  5. data/README.md +16 -0
  6. data/Thorfile +3 -1
  7. data/berkshelf.gemspec +26 -38
  8. data/features/apply_command.feature +32 -0
  9. data/features/configure_command.feature +31 -0
  10. data/features/contingent_command.feature +5 -5
  11. data/features/default_locations.feature +2 -2
  12. data/features/groups_install.feature +19 -20
  13. data/features/info_command.feature +13 -13
  14. data/features/install_command.feature +86 -83
  15. data/features/json_formatter.feature +60 -23
  16. data/features/list_command.feature +5 -11
  17. data/features/lockfile.feature +286 -6
  18. data/features/open_command.feature +8 -4
  19. data/features/outdated_command.feature +8 -15
  20. data/features/package_command.feature +39 -0
  21. data/features/show_command.feature +8 -9
  22. data/features/step_definitions/chef_server_steps.rb +20 -2
  23. data/features/step_definitions/cli_steps.rb +10 -2
  24. data/features/step_definitions/configure_cli_steps.rb +7 -0
  25. data/features/step_definitions/filesystem_steps.rb +19 -14
  26. data/features/step_definitions/json_steps.rb +22 -5
  27. data/features/step_definitions/utility_steps.rb +13 -1
  28. data/features/support/env.rb +10 -23
  29. data/features/update_command.feature +105 -24
  30. data/features/upload_command.feature +0 -14
  31. data/features/vendor_install.feature +3 -3
  32. data/generator_files/Vagrantfile.erb +11 -11
  33. data/lib/berkshelf.rb +6 -5
  34. data/lib/berkshelf/berksfile.rb +267 -99
  35. data/lib/berkshelf/cli.rb +70 -34
  36. data/lib/berkshelf/cli_commands/test_command.rb +11 -0
  37. data/lib/berkshelf/community_rest.rb +1 -1
  38. data/lib/berkshelf/config.rb +19 -2
  39. data/lib/berkshelf/cookbook_source.rb +41 -12
  40. data/lib/berkshelf/cookbook_store.rb +8 -4
  41. data/lib/berkshelf/errors.rb +61 -29
  42. data/lib/berkshelf/formatters.rb +13 -19
  43. data/lib/berkshelf/formatters/human_readable.rb +8 -0
  44. data/lib/berkshelf/formatters/json.rb +12 -1
  45. data/lib/berkshelf/formatters/null.rb +23 -0
  46. data/lib/berkshelf/init_generator.rb +22 -11
  47. data/lib/berkshelf/location.rb +8 -10
  48. data/lib/berkshelf/locations/chef_api_location.rb +4 -5
  49. data/lib/berkshelf/locations/git_location.rb +14 -12
  50. data/lib/berkshelf/locations/path_location.rb +16 -1
  51. data/lib/berkshelf/locations/site_location.rb +1 -3
  52. data/lib/berkshelf/lockfile.rb +230 -33
  53. data/lib/berkshelf/resolver.rb +2 -1
  54. data/lib/berkshelf/ui.rb +4 -8
  55. data/lib/berkshelf/version.rb +1 -1
  56. data/lib/thor/monkies/shell.rb +2 -5
  57. data/spec/fixtures/cassettes/Berkshelf_Resolver/{ClassMethods/_initialize → _initialize}/adds_the_dependencies_of_the_source_as_sources.yml +0 -0
  58. data/spec/fixtures/cookbooks/example_cookbook/.gitignore +2 -0
  59. data/spec/fixtures/cookbooks/example_cookbook/.kitchen.yml +26 -0
  60. data/spec/fixtures/cookbooks/example_cookbook/Berksfile.lock +5 -0
  61. data/spec/fixtures/lockfiles/default.lock +11 -0
  62. data/spec/{config/knife.rb → knife.rb.sample} +2 -2
  63. data/spec/spec_helper.rb +15 -3
  64. data/spec/support/chef_api.rb +19 -5
  65. data/spec/support/chef_server.rb +4 -3
  66. data/spec/support/knife.rb +18 -0
  67. data/spec/unit/berkshelf/berksfile_spec.rb +332 -235
  68. data/spec/unit/berkshelf/cached_cookbook_spec.rb +40 -42
  69. data/spec/unit/berkshelf/chef/cookbook/chefignore_spec.rb +11 -15
  70. data/spec/unit/berkshelf/community_rest_spec.rb +16 -14
  71. data/spec/unit/berkshelf/config_spec.rb +36 -20
  72. data/spec/unit/berkshelf/cookbook_generator_spec.rb +6 -10
  73. data/spec/unit/berkshelf/cookbook_source_spec.rb +244 -183
  74. data/spec/unit/berkshelf/cookbook_store_spec.rb +72 -76
  75. data/spec/unit/berkshelf/core_ext/file_utils_spec.rb +2 -2
  76. data/spec/unit/berkshelf/downloader_spec.rb +137 -157
  77. data/spec/unit/berkshelf/errors_spec.rb +1 -1
  78. data/spec/unit/berkshelf/formatters/null_spec.rb +17 -0
  79. data/spec/unit/berkshelf/formatters_spec.rb +83 -90
  80. data/spec/unit/berkshelf/git_spec.rb +219 -207
  81. data/spec/unit/berkshelf/init_generator_spec.rb +73 -73
  82. data/spec/unit/berkshelf/location_spec.rb +143 -162
  83. data/spec/unit/berkshelf/locations/chef_api_location_spec.rb +94 -89
  84. data/spec/unit/berkshelf/locations/git_location_spec.rb +75 -59
  85. data/spec/unit/berkshelf/locations/path_location_spec.rb +46 -30
  86. data/spec/unit/berkshelf/locations/site_location_spec.rb +4 -4
  87. data/spec/unit/berkshelf/lockfile_spec.rb +185 -1
  88. data/spec/unit/berkshelf/logger_spec.rb +6 -24
  89. data/spec/unit/berkshelf/mixin/logging_spec.rb +6 -8
  90. data/spec/unit/berkshelf/resolver_spec.rb +36 -38
  91. data/spec/unit/berkshelf/ui_spec.rb +9 -10
  92. data/spec/unit/berkshelf_spec.rb +41 -40
  93. data/spec/unit/chef/config_spec.rb +9 -11
  94. metadata +55 -203
  95. data/spec/config/berkshelf.pem +0 -27
  96. data/spec/config/validator.pem +0 -27
@@ -1,62 +1,63 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Berkshelf do
4
- context "ClassMethods" do
5
- subject { Berkshelf }
4
+ describe '.find_metadata' do
5
+ let(:metadata_path) { fixtures_path.join('cookbooks', 'example_cookbook', 'metadata.rb') }
6
6
 
7
- describe "::find_metadata" do
8
- let(:metadata_path) { fixtures_path.join("cookbooks", "example_cookbook", "metadata.rb") }
9
-
10
- context "given a path containing a metadata.rb file" do
11
- it "returns the path to the metadata.rb file" do
12
- subject.find_metadata(fixtures_path.join("cookbooks", "example_cookbook")).should eql(metadata_path)
13
- end
7
+ context 'given a path containing a metadata.rb file' do
8
+ it 'returns the path to the metadata.rb file' do
9
+ metadata = Berkshelf.find_metadata(fixtures_path.join('cookbooks', 'example_cookbook'))
10
+ expect(metadata).to eq(metadata_path)
14
11
  end
12
+ end
15
13
 
16
- context "given a path where a parent path contains a metadata.rb file" do
17
- it "returns the path to the metadata.rb file" do
18
- subject.find_metadata(fixtures_path.join("cookbooks", "example_cookbook", "recipes")).should eql(metadata_path)
19
- end
14
+ context 'given a path where a parent path contains a metadata.rb file' do
15
+ it 'returns the path to the metadata.rb file' do
16
+ metadata = Berkshelf.find_metadata(fixtures_path.join('cookbooks', 'example_cookbook', 'recipes'))
17
+ expect(metadata).to eq(metadata_path)
20
18
  end
19
+ end
21
20
 
22
- context "given a path that does not contain a metadata.rb file or a parent path that does" do
23
- it "returns nil" do
24
- subject.find_metadata(tmp_path).should be_nil
25
- end
21
+ context 'given a path that does not contain a metadata.rb file or a parent path that does' do
22
+ it 'returns nil' do
23
+ metadata = Berkshelf.find_metadata(tmp_path)
24
+ expect(metadata).to be_nil
26
25
  end
27
26
  end
27
+ end
28
+
29
+ describe '.formatter' do
30
+ context 'with default formatter' do
31
+ before { Berkshelf.instance_variable_set(:@formatter, nil) }
28
32
 
29
- describe "::formatter" do
30
- context "with default formatter" do
31
- it "should be human readable" do
32
- Berkshelf.formatter.should be_an_instance_of(Berkshelf::Formatters::HumanReadable)
33
- end
33
+ it 'should be human readable' do
34
+ expect(Berkshelf.formatter).to be_an_instance_of(Berkshelf::Formatters::HumanReadable)
34
35
  end
36
+ end
35
37
 
36
- context "with a custom formatter" do
37
- before(:all) do
38
- Berkshelf.instance_eval { @formatter = nil }
39
- end
38
+ context 'with a custom formatter' do
39
+ before(:all) do
40
+ Berkshelf.instance_eval { @formatter = nil }
41
+ end
40
42
 
41
- class CustomFormatter
42
- include Berkshelf::Formatters::AbstractFormatter
43
- register_formatter :custom
44
- end
43
+ class CustomFormatter
44
+ include Berkshelf::Formatters::AbstractFormatter
45
+ register_formatter :custom
46
+ end
45
47
 
46
- before do
47
- Berkshelf.set_format :custom
48
- end
48
+ before do
49
+ Berkshelf.set_format :custom
50
+ end
49
51
 
50
- it "should be the custom class" do
51
- Berkshelf.formatter.should be_an_instance_of(CustomFormatter)
52
- end
52
+ it 'is custom class' do
53
+ expect(Berkshelf.formatter).to be_an_instance_of(CustomFormatter)
53
54
  end
54
55
  end
56
+ end
55
57
 
56
- describe "::log" do
57
- it "returns Berkshelf::Logger" do
58
- subject.log.should eql(Berkshelf::Logger)
59
- end
58
+ describe '.log' do
59
+ it 'returns Berkshelf::Logger' do
60
+ expect(Berkshelf.log).to eq(Berkshelf::Logger)
60
61
  end
61
62
  end
62
63
  end
@@ -1,9 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Berkshelf::Chef::Config do
4
- subject { described_class }
5
-
6
- describe '::path' do
4
+ describe '.path' do
7
5
  let(:path) { '/fake/path/for/.chef' }
8
6
  let(:config) { File.join(path, 'knife.rb') }
9
7
 
@@ -13,22 +11,22 @@ describe Berkshelf::Chef::Config do
13
11
  File.stub(:exists?).with(any_args()).and_return(false)
14
12
  File.stub(:exists?).with(config).and_return(true)
15
13
 
16
- subject.instance_variable_set(:@path, nil)
14
+ Berkshelf::Chef::Config.instance_variable_set(:@path, nil)
17
15
  end
18
16
 
19
17
  it 'uses $BERKSHELF_CHEF_CONFIG' do
20
18
  ENV.stub(:[]).with('BERKSHELF_CHEF_CONFIG').and_return(config)
21
- expect(subject.path).to eq(config)
19
+ expect(Berkshelf::Chef::Config.path).to eq(config)
22
20
  end
23
21
 
24
22
  it 'uses $KNIFE_HOME' do
25
23
  ENV.stub(:[]).with('KNIFE_HOME').and_return(path)
26
- expect(subject.path).to eq(config)
24
+ expect(Berkshelf::Chef::Config.path).to eq(config)
27
25
  end
28
26
 
29
27
  it 'uses ::working_dir' do
30
28
  Berkshelf::Chef::Config.stub(:working_dir).and_return(path)
31
- expect(subject.path).to eq(config)
29
+ expect(Berkshelf::Chef::Config.path).to eq(config)
32
30
  end
33
31
 
34
32
  context 'an ascending search' do
@@ -43,7 +41,7 @@ describe Berkshelf::Chef::Config do
43
41
  end
44
42
 
45
43
  it 'chooses the closest path' do
46
- expect(subject.path).to eq('/fake/.chef/path/with/multiple/.chef/knife.rb')
44
+ expect(Berkshelf::Chef::Config.path).to eq('/fake/.chef/path/with/multiple/.chef/knife.rb')
47
45
  end
48
46
  end
49
47
 
@@ -57,7 +55,7 @@ describe Berkshelf::Chef::Config do
57
55
  end
58
56
 
59
57
  it 'uses the current directory' do
60
- expect(subject.path).to eq('/fake/.chef/knife.rb')
58
+ expect(Berkshelf::Chef::Config.path).to eq('/fake/.chef/knife.rb')
61
59
  end
62
60
  end
63
61
 
@@ -71,14 +69,14 @@ describe Berkshelf::Chef::Config do
71
69
  end
72
70
 
73
71
  it 'uses the top-level directory' do
74
- expect(subject.path).to eq('/.chef/knife.rb')
72
+ expect(Berkshelf::Chef::Config.path).to eq('/.chef/knife.rb')
75
73
  end
76
74
  end
77
75
  end
78
76
 
79
77
  it 'uses $HOME' do
80
78
  ENV.stub(:[]).with('HOME').and_return(File.join(path, '..'))
81
- expect(subject.path).to eq(config)
79
+ expect(Berkshelf::Chef::Config.path).to eq(config)
82
80
  end
83
81
  end
84
82
  end
metadata CHANGED
@@ -1,8 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: berkshelf
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.6
5
- prerelease:
4
+ version: 2.0.0.beta
5
+ prerelease: 6
6
6
  platform: ruby
7
7
  authors:
8
8
  - Jamie Winsor
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2013-06-11 00:00:00.000000000 Z
15
+ date: 2013-05-15 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: celluloid
@@ -31,13 +31,13 @@ dependencies:
31
31
  - !ruby/object:Gem::Version
32
32
  version: 0.14.0
33
33
  - !ruby/object:Gem::Dependency
34
- name: yajl-ruby
34
+ name: test-kitchen
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  none: false
37
37
  requirements:
38
38
  - - ! '>='
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: 1.0.0.alpha6
41
41
  type: :runtime
42
42
  prerelease: false
43
43
  version_requirements: !ruby/object:Gem::Requirement
@@ -45,7 +45,7 @@ dependencies:
45
45
  requirements:
46
46
  - - ! '>='
47
47
  - !ruby/object:Gem::Version
48
- version: '0'
48
+ version: 1.0.0.alpha6
49
49
  - !ruby/object:Gem::Dependency
50
50
  name: activesupport
51
51
  requirement: !ruby/object:Gem::Requirement
@@ -117,7 +117,7 @@ dependencies:
117
117
  requirements:
118
118
  - - ~>
119
119
  - !ruby/object:Gem::Version
120
- version: 0.12.4
120
+ version: 0.12.1
121
121
  type: :runtime
122
122
  prerelease: false
123
123
  version_requirements: !ruby/object:Gem::Requirement
@@ -125,7 +125,7 @@ dependencies:
125
125
  requirements:
126
126
  - - ~>
127
127
  - !ruby/object:Gem::Version
128
- version: 0.12.4
128
+ version: 0.12.1
129
129
  - !ruby/object:Gem::Dependency
130
130
  name: chozo
131
131
  requirement: !ruby/object:Gem::Requirement
@@ -174,38 +174,6 @@ dependencies:
174
174
  - - ! '>='
175
175
  - !ruby/object:Gem::Version
176
176
  version: '0'
177
- - !ruby/object:Gem::Dependency
178
- name: json
179
- requirement: !ruby/object:Gem::Requirement
180
- none: false
181
- requirements:
182
- - - ! '>='
183
- - !ruby/object:Gem::Version
184
- version: 1.5.0
185
- type: :runtime
186
- prerelease: false
187
- version_requirements: !ruby/object:Gem::Requirement
188
- none: false
189
- requirements:
190
- - - ! '>='
191
- - !ruby/object:Gem::Version
192
- version: 1.5.0
193
- - !ruby/object:Gem::Dependency
194
- name: multi_json
195
- requirement: !ruby/object:Gem::Requirement
196
- none: false
197
- requirements:
198
- - - ~>
199
- - !ruby/object:Gem::Version
200
- version: '1.5'
201
- type: :runtime
202
- prerelease: false
203
- version_requirements: !ruby/object:Gem::Requirement
204
- none: false
205
- requirements:
206
- - - ~>
207
- - !ruby/object:Gem::Version
208
- version: '1.5'
209
177
  - !ruby/object:Gem::Dependency
210
178
  name: solve
211
179
  requirement: !ruby/object:Gem::Requirement
@@ -213,7 +181,7 @@ dependencies:
213
181
  requirements:
214
182
  - - ! '>='
215
183
  - !ruby/object:Gem::Version
216
- version: 0.4.2
184
+ version: 0.4.4
217
185
  type: :runtime
218
186
  prerelease: false
219
187
  version_requirements: !ruby/object:Gem::Requirement
@@ -221,7 +189,7 @@ dependencies:
221
189
  requirements:
222
190
  - - ! '>='
223
191
  - !ruby/object:Gem::Version
224
- version: 0.4.2
192
+ version: 0.4.4
225
193
  - !ruby/object:Gem::Dependency
226
194
  name: thor
227
195
  requirement: !ruby/object:Gem::Requirement
@@ -275,195 +243,67 @@ dependencies:
275
243
  requirement: !ruby/object:Gem::Requirement
276
244
  none: false
277
245
  requirements:
278
- - - ~>
246
+ - - ! '>='
279
247
  - !ruby/object:Gem::Version
280
- version: '0.5'
248
+ version: '0'
281
249
  type: :development
282
250
  prerelease: false
283
251
  version_requirements: !ruby/object:Gem::Requirement
284
252
  none: false
285
253
  requirements:
286
- - - ~>
254
+ - - ! '>='
287
255
  - !ruby/object:Gem::Version
288
- version: '0.5'
256
+ version: '0'
289
257
  - !ruby/object:Gem::Dependency
290
258
  name: cane
291
259
  requirement: !ruby/object:Gem::Requirement
292
260
  none: false
293
261
  requirements:
294
- - - ~>
295
- - !ruby/object:Gem::Version
296
- version: '2.5'
297
- type: :development
298
- prerelease: false
299
- version_requirements: !ruby/object:Gem::Requirement
300
- none: false
301
- requirements:
302
- - - ~>
303
- - !ruby/object:Gem::Version
304
- version: '2.5'
305
- - !ruby/object:Gem::Dependency
306
- name: chef-zero
307
- requirement: !ruby/object:Gem::Requirement
308
- none: false
309
- requirements:
310
- - - ~>
311
- - !ruby/object:Gem::Version
312
- version: '1.0'
313
- type: :development
314
- prerelease: false
315
- version_requirements: !ruby/object:Gem::Requirement
316
- none: false
317
- requirements:
318
- - - ~>
319
- - !ruby/object:Gem::Version
320
- version: '1.0'
321
- - !ruby/object:Gem::Dependency
322
- name: fuubar
323
- requirement: !ruby/object:Gem::Requirement
324
- none: false
325
- requirements:
326
- - - ~>
327
- - !ruby/object:Gem::Version
328
- version: '1.1'
329
- type: :development
330
- prerelease: false
331
- version_requirements: !ruby/object:Gem::Requirement
332
- none: false
333
- requirements:
334
- - - ~>
335
- - !ruby/object:Gem::Version
336
- version: '1.1'
337
- - !ruby/object:Gem::Dependency
338
- name: json_spec
339
- requirement: !ruby/object:Gem::Requirement
340
- none: false
341
- requirements:
342
- - - ~>
262
+ - - ! '>='
343
263
  - !ruby/object:Gem::Version
344
- version: '1.1'
264
+ version: '0'
345
265
  type: :development
346
266
  prerelease: false
347
267
  version_requirements: !ruby/object:Gem::Requirement
348
268
  none: false
349
269
  requirements:
350
- - - ~>
270
+ - - ! '>='
351
271
  - !ruby/object:Gem::Version
352
- version: '1.1'
272
+ version: '0'
353
273
  - !ruby/object:Gem::Dependency
354
274
  name: rake
355
275
  requirement: !ruby/object:Gem::Requirement
356
276
  none: false
357
277
  requirements:
358
- - - ~>
278
+ - - ! '>='
359
279
  - !ruby/object:Gem::Version
360
- version: '0.9'
280
+ version: 0.9.2.2
361
281
  type: :development
362
282
  prerelease: false
363
283
  version_requirements: !ruby/object:Gem::Requirement
364
284
  none: false
365
285
  requirements:
366
- - - ~>
286
+ - - ! '>='
367
287
  - !ruby/object:Gem::Version
368
- version: '0.9'
288
+ version: 0.9.2.2
369
289
  - !ruby/object:Gem::Dependency
370
290
  name: rspec
371
291
  requirement: !ruby/object:Gem::Requirement
372
292
  none: false
373
293
  requirements:
374
- - - ~>
375
- - !ruby/object:Gem::Version
376
- version: '2.13'
377
- type: :development
378
- prerelease: false
379
- version_requirements: !ruby/object:Gem::Requirement
380
- none: false
381
- requirements:
382
- - - ~>
383
- - !ruby/object:Gem::Version
384
- version: '2.13'
385
- - !ruby/object:Gem::Dependency
386
- name: spork
387
- requirement: !ruby/object:Gem::Requirement
388
- none: false
389
- requirements:
390
- - - ~>
391
- - !ruby/object:Gem::Version
392
- version: '0.9'
393
- type: :development
394
- prerelease: false
395
- version_requirements: !ruby/object:Gem::Requirement
396
- none: false
397
- requirements:
398
- - - ~>
399
- - !ruby/object:Gem::Version
400
- version: '0.9'
401
- - !ruby/object:Gem::Dependency
402
- name: vcr
403
- requirement: !ruby/object:Gem::Requirement
404
- none: false
405
- requirements:
406
- - - ~>
407
- - !ruby/object:Gem::Version
408
- version: '2.4'
409
- type: :development
410
- prerelease: false
411
- version_requirements: !ruby/object:Gem::Requirement
412
- none: false
413
- requirements:
414
- - - ~>
415
- - !ruby/object:Gem::Version
416
- version: '2.4'
417
- - !ruby/object:Gem::Dependency
418
- name: webmock
419
- requirement: !ruby/object:Gem::Requirement
420
- none: false
421
- requirements:
422
- - - ~>
423
- - !ruby/object:Gem::Version
424
- version: '1.11'
425
- type: :development
426
- prerelease: false
427
- version_requirements: !ruby/object:Gem::Requirement
428
- none: false
429
- requirements:
430
- - - ~>
431
- - !ruby/object:Gem::Version
432
- version: '1.11'
433
- - !ruby/object:Gem::Dependency
434
- name: yard
435
- requirement: !ruby/object:Gem::Requirement
436
- none: false
437
- requirements:
438
- - - ~>
439
- - !ruby/object:Gem::Version
440
- version: '0.8'
441
- type: :development
442
- prerelease: false
443
- version_requirements: !ruby/object:Gem::Requirement
444
- none: false
445
- requirements:
446
- - - ~>
447
- - !ruby/object:Gem::Version
448
- version: '0.8'
449
- - !ruby/object:Gem::Dependency
450
- name: guard
451
- requirement: !ruby/object:Gem::Requirement
452
- none: false
453
- requirements:
454
- - - ~>
294
+ - - ! '>='
455
295
  - !ruby/object:Gem::Version
456
- version: '1.8'
296
+ version: '0'
457
297
  type: :development
458
298
  prerelease: false
459
299
  version_requirements: !ruby/object:Gem::Requirement
460
300
  none: false
461
301
  requirements:
462
- - - ~>
302
+ - - ! '>='
463
303
  - !ruby/object:Gem::Version
464
- version: '1.8'
304
+ version: '0'
465
305
  - !ruby/object:Gem::Dependency
466
- name: guard-cane
306
+ name: simplecov
467
307
  requirement: !ruby/object:Gem::Requirement
468
308
  none: false
469
309
  requirements:
@@ -479,7 +319,7 @@ dependencies:
479
319
  - !ruby/object:Gem::Version
480
320
  version: '0'
481
321
  - !ruby/object:Gem::Dependency
482
- name: guard-cucumber
322
+ name: spork
483
323
  requirement: !ruby/object:Gem::Requirement
484
324
  none: false
485
325
  requirements:
@@ -495,7 +335,7 @@ dependencies:
495
335
  - !ruby/object:Gem::Version
496
336
  version: '0'
497
337
  - !ruby/object:Gem::Dependency
498
- name: guard-rspec
338
+ name: thor
499
339
  requirement: !ruby/object:Gem::Requirement
500
340
  none: false
501
341
  requirements:
@@ -511,7 +351,7 @@ dependencies:
511
351
  - !ruby/object:Gem::Version
512
352
  version: '0'
513
353
  - !ruby/object:Gem::Dependency
514
- name: guard-spork
354
+ name: webmock
515
355
  requirement: !ruby/object:Gem::Requirement
516
356
  none: false
517
357
  requirements:
@@ -527,21 +367,21 @@ dependencies:
527
367
  - !ruby/object:Gem::Version
528
368
  version: '0'
529
369
  - !ruby/object:Gem::Dependency
530
- name: guard-yard
370
+ name: vcr
531
371
  requirement: !ruby/object:Gem::Requirement
532
372
  none: false
533
373
  requirements:
534
- - - ! '>='
374
+ - - ~>
535
375
  - !ruby/object:Gem::Version
536
- version: '0'
376
+ version: 2.4.0
537
377
  type: :development
538
378
  prerelease: false
539
379
  version_requirements: !ruby/object:Gem::Requirement
540
380
  none: false
541
381
  requirements:
542
- - - ! '>='
382
+ - - ~>
543
383
  - !ruby/object:Gem::Version
544
- version: '0'
384
+ version: 2.4.0
545
385
  description: Manages a Cookbook's, or an Application's, Cookbook dependencies
546
386
  email:
547
387
  - reset@riotgames.com
@@ -568,6 +408,7 @@ files:
568
408
  - berkshelf-complete.sh
569
409
  - berkshelf.gemspec
570
410
  - bin/berks
411
+ - features/apply_command.feature
571
412
  - features/config.feature
572
413
  - features/configure_command.feature
573
414
  - features/contingent_command.feature
@@ -583,6 +424,7 @@ files:
583
424
  - features/lockfile.feature
584
425
  - features/open_command.feature
585
426
  - features/outdated_command.feature
427
+ - features/package_command.feature
586
428
  - features/show_command.feature
587
429
  - features/step_definitions/berksfile_steps.rb
588
430
  - features/step_definitions/chef_server_steps.rb
@@ -621,6 +463,7 @@ files:
621
463
  - lib/berkshelf/chef/cookbook.rb
622
464
  - lib/berkshelf/chef/cookbook/chefignore.rb
623
465
  - lib/berkshelf/cli.rb
466
+ - lib/berkshelf/cli_commands/test_command.rb
624
467
  - lib/berkshelf/command.rb
625
468
  - lib/berkshelf/community_rest.rb
626
469
  - lib/berkshelf/config.rb
@@ -637,6 +480,7 @@ files:
637
480
  - lib/berkshelf/formatters.rb
638
481
  - lib/berkshelf/formatters/human_readable.rb
639
482
  - lib/berkshelf/formatters/json.rb
483
+ - lib/berkshelf/formatters/null.rb
640
484
  - lib/berkshelf/git.rb
641
485
  - lib/berkshelf/init_generator.rb
642
486
  - lib/berkshelf/location.rb
@@ -658,9 +502,6 @@ files:
658
502
  - lib/thor/monkies.rb
659
503
  - lib/thor/monkies/hash_with_indifferent_access.rb
660
504
  - lib/thor/monkies/shell.rb
661
- - spec/config/berkshelf.pem
662
- - spec/config/knife.rb
663
- - spec/config/validator.pem
664
505
  - spec/fixtures/Berksfile
665
506
  - spec/fixtures/cassettes/Berkshelf_CommunityREST/_download/unpacks_the_archive.json
666
507
  - spec/fixtures/cassettes/Berkshelf_CommunityREST/_find/raises_a_CommunitySiteError_error_on_any_non_200_or_404_response.json
@@ -674,10 +515,12 @@ files:
674
515
  - spec/fixtures/cassettes/Berkshelf_CommunityREST/_versions/raises_a_CommunitySiteError_error_on_any_non_200_or_404_response.json
675
516
  - spec/fixtures/cassettes/Berkshelf_CommunityREST/_versions/raises_a_CookbookNotFound_error_on_a_404_response.json
676
517
  - spec/fixtures/cassettes/Berkshelf_CommunityREST/_versions/returns_an_array_containing_an_item_for_each_version.json
677
- - spec/fixtures/cassettes/Berkshelf_Resolver/ClassMethods/_initialize/adds_the_dependencies_of_the_source_as_sources.yml
518
+ - spec/fixtures/cassettes/Berkshelf_Resolver/_initialize/adds_the_dependencies_of_the_source_as_sources.yml
678
519
  - spec/fixtures/cookbooks/example_cookbook-0.5.0/README.md
679
520
  - spec/fixtures/cookbooks/example_cookbook-0.5.0/metadata.rb
680
521
  - spec/fixtures/cookbooks/example_cookbook-0.5.0/recipes/default.rb
522
+ - spec/fixtures/cookbooks/example_cookbook/.gitignore
523
+ - spec/fixtures/cookbooks/example_cookbook/.kitchen.yml
681
524
  - spec/fixtures/cookbooks/example_cookbook/Berksfile.lock
682
525
  - spec/fixtures/cookbooks/example_cookbook/README.md
683
526
  - spec/fixtures/cookbooks/example_cookbook/metadata.rb
@@ -699,10 +542,13 @@ files:
699
542
  - spec/fixtures/cookbooks/nginx-0.100.5/templates/default/plugins/nginx.rb.erb
700
543
  - spec/fixtures/lockfile_spec/with_lock/Berksfile
701
544
  - spec/fixtures/lockfile_spec/without_lock/.gitkeep
545
+ - spec/fixtures/lockfiles/default.lock
702
546
  - spec/fixtures/reset.pem
547
+ - spec/knife.rb.sample
703
548
  - spec/spec_helper.rb
704
549
  - spec/support/chef_api.rb
705
550
  - spec/support/chef_server.rb
551
+ - spec/support/knife.rb
706
552
  - spec/support/matchers/file_system_matchers.rb
707
553
  - spec/support/matchers/filepath_matchers.rb
708
554
  - spec/support/test_generators.rb
@@ -717,6 +563,7 @@ files:
717
563
  - spec/unit/berkshelf/core_ext/file_utils_spec.rb
718
564
  - spec/unit/berkshelf/downloader_spec.rb
719
565
  - spec/unit/berkshelf/errors_spec.rb
566
+ - spec/unit/berkshelf/formatters/null_spec.rb
720
567
  - spec/unit/berkshelf/formatters_spec.rb
721
568
  - spec/unit/berkshelf/git_spec.rb
722
569
  - spec/unit/berkshelf/init_generator_spec.rb
@@ -758,6 +605,7 @@ signing_key:
758
605
  specification_version: 3
759
606
  summary: Manages a Cookbook's, or an Application's, Cookbook dependencies
760
607
  test_files:
608
+ - features/apply_command.feature
761
609
  - features/config.feature
762
610
  - features/configure_command.feature
763
611
  - features/contingent_command.feature
@@ -773,6 +621,7 @@ test_files:
773
621
  - features/lockfile.feature
774
622
  - features/open_command.feature
775
623
  - features/outdated_command.feature
624
+ - features/package_command.feature
776
625
  - features/show_command.feature
777
626
  - features/step_definitions/berksfile_steps.rb
778
627
  - features/step_definitions/chef_server_steps.rb
@@ -786,9 +635,6 @@ test_files:
786
635
  - features/update_command.feature
787
636
  - features/upload_command.feature
788
637
  - features/vendor_install.feature
789
- - spec/config/berkshelf.pem
790
- - spec/config/knife.rb
791
- - spec/config/validator.pem
792
638
  - spec/fixtures/Berksfile
793
639
  - spec/fixtures/cassettes/Berkshelf_CommunityREST/_download/unpacks_the_archive.json
794
640
  - spec/fixtures/cassettes/Berkshelf_CommunityREST/_find/raises_a_CommunitySiteError_error_on_any_non_200_or_404_response.json
@@ -802,10 +648,12 @@ test_files:
802
648
  - spec/fixtures/cassettes/Berkshelf_CommunityREST/_versions/raises_a_CommunitySiteError_error_on_any_non_200_or_404_response.json
803
649
  - spec/fixtures/cassettes/Berkshelf_CommunityREST/_versions/raises_a_CookbookNotFound_error_on_a_404_response.json
804
650
  - spec/fixtures/cassettes/Berkshelf_CommunityREST/_versions/returns_an_array_containing_an_item_for_each_version.json
805
- - spec/fixtures/cassettes/Berkshelf_Resolver/ClassMethods/_initialize/adds_the_dependencies_of_the_source_as_sources.yml
651
+ - spec/fixtures/cassettes/Berkshelf_Resolver/_initialize/adds_the_dependencies_of_the_source_as_sources.yml
806
652
  - spec/fixtures/cookbooks/example_cookbook-0.5.0/README.md
807
653
  - spec/fixtures/cookbooks/example_cookbook-0.5.0/metadata.rb
808
654
  - spec/fixtures/cookbooks/example_cookbook-0.5.0/recipes/default.rb
655
+ - spec/fixtures/cookbooks/example_cookbook/.gitignore
656
+ - spec/fixtures/cookbooks/example_cookbook/.kitchen.yml
809
657
  - spec/fixtures/cookbooks/example_cookbook/Berksfile.lock
810
658
  - spec/fixtures/cookbooks/example_cookbook/README.md
811
659
  - spec/fixtures/cookbooks/example_cookbook/metadata.rb
@@ -827,10 +675,13 @@ test_files:
827
675
  - spec/fixtures/cookbooks/nginx-0.100.5/templates/default/plugins/nginx.rb.erb
828
676
  - spec/fixtures/lockfile_spec/with_lock/Berksfile
829
677
  - spec/fixtures/lockfile_spec/without_lock/.gitkeep
678
+ - spec/fixtures/lockfiles/default.lock
830
679
  - spec/fixtures/reset.pem
680
+ - spec/knife.rb.sample
831
681
  - spec/spec_helper.rb
832
682
  - spec/support/chef_api.rb
833
683
  - spec/support/chef_server.rb
684
+ - spec/support/knife.rb
834
685
  - spec/support/matchers/file_system_matchers.rb
835
686
  - spec/support/matchers/filepath_matchers.rb
836
687
  - spec/support/test_generators.rb
@@ -845,6 +696,7 @@ test_files:
845
696
  - spec/unit/berkshelf/core_ext/file_utils_spec.rb
846
697
  - spec/unit/berkshelf/downloader_spec.rb
847
698
  - spec/unit/berkshelf/errors_spec.rb
699
+ - spec/unit/berkshelf/formatters/null_spec.rb
848
700
  - spec/unit/berkshelf/formatters_spec.rb
849
701
  - spec/unit/berkshelf/git_spec.rb
850
702
  - spec/unit/berkshelf/init_generator_spec.rb