chef-dk 1.6.11 → 2.0.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +25 -38
- data/Gemfile.lock +199 -199
- data/README.md +4 -2
- data/Rakefile +1 -2
- data/acceptance/Gemfile +1 -1
- data/acceptance/Gemfile.lock +23 -21
- data/chef-dk.gemspec +4 -6
- data/lib/chef-dk/builtin_commands.rb +1 -1
- data/lib/chef-dk/chef_runner.rb +1 -1
- data/lib/chef-dk/cli.rb +1 -0
- data/lib/chef-dk/command/generate.rb +5 -2
- data/lib/chef-dk/command/generator_commands/helpers.rb +36 -0
- data/lib/chef-dk/command/generator_commands/{lwrp.rb → resource.rb} +4 -4
- data/lib/chef-dk/command/update.rb +11 -18
- data/lib/chef-dk/command/verify.rb +1 -16
- data/lib/chef-dk/commands_map.rb +3 -3
- data/lib/chef-dk/policyfile/artifactory_cookbook_source.rb +102 -0
- data/lib/chef-dk/policyfile/cookbook_location_specification.rb +2 -2
- data/lib/chef-dk/policyfile/cookbook_sources.rb +1 -0
- data/lib/chef-dk/policyfile/dsl.rb +10 -0
- data/lib/chef-dk/policyfile/solution_dependencies.rb +15 -1
- data/lib/chef-dk/policyfile_lock.rb +1 -1
- data/lib/chef-dk/policyfile_services/install.rb +30 -2
- data/lib/chef-dk/skeletons/code_generator/files/default/Berksfile +1 -0
- data/lib/chef-dk/skeletons/code_generator/files/default/build_cookbook/test-fixture-recipe.rb +1 -0
- data/lib/chef-dk/skeletons/code_generator/files/default/cookbook_readmes/README.md +2 -2
- data/lib/chef-dk/skeletons/code_generator/files/default/delivery-config.json +3 -0
- data/lib/chef-dk/skeletons/code_generator/files/default/delivery-project.toml +1 -1
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/cookbooks/example/attributes/default.rb +1 -0
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/cookbooks/example/metadata.rb +2 -1
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/cookbooks/example/recipes/default.rb +1 -0
- data/lib/chef-dk/skeletons/code_generator/files/default/spec_helper.rb +1 -0
- data/lib/chef-dk/skeletons/code_generator/files/default/spec_helper_policyfile.rb +1 -0
- data/lib/chef-dk/skeletons/code_generator/metadata.rb +3 -2
- data/lib/chef-dk/skeletons/code_generator/recipes/app.rb +1 -1
- data/lib/chef-dk/skeletons/code_generator/recipes/attribute.rb +1 -0
- data/lib/chef-dk/skeletons/code_generator/recipes/build_cookbook.rb +7 -12
- data/lib/chef-dk/skeletons/code_generator/recipes/cookbook.rb +1 -0
- data/lib/chef-dk/skeletons/code_generator/recipes/cookbook_file.rb +1 -0
- data/lib/chef-dk/skeletons/code_generator/recipes/helpers.rb +21 -0
- data/lib/chef-dk/skeletons/code_generator/recipes/policyfile.rb +1 -0
- data/lib/chef-dk/skeletons/code_generator/recipes/recipe.rb +1 -0
- data/lib/chef-dk/skeletons/code_generator/recipes/repo.rb +1 -0
- data/lib/chef-dk/skeletons/code_generator/recipes/{lwrp.rb → resource.rb} +1 -11
- data/lib/chef-dk/skeletons/code_generator/recipes/template.rb +3 -3
- data/lib/chef-dk/skeletons/code_generator/templates/default/helpers.rb.erb +39 -0
- data/lib/chef-dk/skeletons/code_generator/templates/default/metadata.rb.erb +1 -1
- data/lib/chef-dk/skeletons/code_generator/templates/default/resource.rb.erb +1 -0
- data/lib/chef-dk/version.rb +2 -2
- data/omnibus_overrides.rb +14 -12
- data/spec/unit/command/generator_commands/cookbook_spec.rb +7 -1
- data/spec/unit/command/generator_commands/helpers_spec.rb +31 -0
- data/spec/unit/command/generator_commands/{lwrp_spec.rb → resource_spec.rb} +5 -5
- data/spec/unit/command/install_spec.rb +2 -2
- data/spec/unit/command/update_spec.rb +11 -3
- data/spec/unit/command/verify_spec.rb +2 -1
- data/spec/unit/policyfile/artifactory_cookbook_source_spec.rb +59 -0
- data/spec/unit/policyfile/read_cookbook_for_compat_mode_upload_spec.rb +1 -1
- data/spec/unit/policyfile/solution_dependencies_spec.rb +25 -0
- data/spec/unit/policyfile_demands_spec.rb +2 -1
- data/spec/unit/policyfile_lock_build_spec.rb +23 -21
- data/spec/unit/policyfile_lock_install_spec.rb +2 -2
- data/spec/unit/policyfile_lock_validation_spec.rb +3 -3
- data/spec/unit/policyfile_services/export_repo_spec.rb +6 -6
- data/spec/unit/policyfile_services/install_spec.rb +1 -1
- data/spec/unit/policyfile_services/update_spec.rb +143 -0
- data/tasks/announce.rb +3 -2
- data/tasks/dependencies.rb +35 -111
- data/tasks/github_changelog_generator.rb +0 -3
- data/tasks/templates/prerelease.md.erb +1 -1
- data/tasks/templates/release.md.erb +1 -1
- metadata +20 -38
- data/lib/chef-dk/skeletons/code_generator/templates/default/provider.rb.erb +0 -0
- data/spec/unit/gemfile_util_spec.rb +0 -41
- data/spec/unit/helpers_spec.rb +0 -120
- data/spec/unit/tasks/helpers_spec.rb +0 -75
- data/tasks/bin/bundle-platform +0 -19
- data/tasks/bin/create-override-gemfile +0 -110
- data/tasks/bundle.rb +0 -96
- data/tasks/bundle_util.rb +0 -110
- data/tasks/gemfile_util.rb +0 -435
- data/tasks/helpers.rb +0 -47
- data/version_policy.rb +0 -142
|
@@ -38,9 +38,6 @@ begin
|
|
|
38
38
|
config.between_tags = ["v#{latest_stable_version}", "v#{ChefDK::VERSION}"]
|
|
39
39
|
config.max_issues = 0
|
|
40
40
|
config.add_issues_wo_labels = false
|
|
41
|
-
config.enhancement_labels = "enhancement,Enhancement,New Feature,Feature".split(",")
|
|
42
|
-
config.bug_labels = "bug,Bug,Improvement,Upstream Bug".split(",")
|
|
43
|
-
config.exclude_labels = "duplicate,question,invalid,wontfix,no_changelog,Exclude From Changelog,Question,Discussion".split(",")
|
|
44
41
|
config.header = "This changelog reflects the current state of chef-dk's master branch on github and may not reflect the current released version of chef-dk, which is [](https://badge.fury.io/rb/chef-dk)."
|
|
45
42
|
end
|
|
46
43
|
end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Ohai Chefs!
|
|
2
2
|
|
|
3
|
-
We have selected <%= @version %> as our ChefDK v<%= @
|
|
3
|
+
We have selected <%= @version %> as our ChefDK v<%= @maj_minor %> release candidate which is scheduled for release on <%= @date.strftime('%A %B %-d, %Y') %>.
|
|
4
4
|
|
|
5
5
|
# Release Highlights
|
|
6
6
|
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: chef-dk
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 2.0.26
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Daniel DeLeo
|
|
@@ -10,7 +10,7 @@ authors:
|
|
|
10
10
|
autorequire:
|
|
11
11
|
bindir: bin
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date: 2017-
|
|
13
|
+
date: 2017-07-05 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: mixlib-cli
|
|
@@ -80,14 +80,14 @@ dependencies:
|
|
|
80
80
|
requirements:
|
|
81
81
|
- - "~>"
|
|
82
82
|
- !ruby/object:Gem::Version
|
|
83
|
-
version: '
|
|
83
|
+
version: '13.0'
|
|
84
84
|
type: :runtime
|
|
85
85
|
prerelease: false
|
|
86
86
|
version_requirements: !ruby/object:Gem::Requirement
|
|
87
87
|
requirements:
|
|
88
88
|
- - "~>"
|
|
89
89
|
- !ruby/object:Gem::Version
|
|
90
|
-
version: '
|
|
90
|
+
version: '13.0'
|
|
91
91
|
- !ruby/object:Gem::Dependency
|
|
92
92
|
name: solve
|
|
93
93
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -184,20 +184,6 @@ dependencies:
|
|
|
184
184
|
- - "~>"
|
|
185
185
|
- !ruby/object:Gem::Version
|
|
186
186
|
version: '2.0'
|
|
187
|
-
- !ruby/object:Gem::Dependency
|
|
188
|
-
name: rake
|
|
189
|
-
requirement: !ruby/object:Gem::Requirement
|
|
190
|
-
requirements:
|
|
191
|
-
- - ">="
|
|
192
|
-
- !ruby/object:Gem::Version
|
|
193
|
-
version: '0'
|
|
194
|
-
type: :development
|
|
195
|
-
prerelease: false
|
|
196
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
197
|
-
requirements:
|
|
198
|
-
- - ">="
|
|
199
|
-
- !ruby/object:Gem::Version
|
|
200
|
-
version: '0'
|
|
201
187
|
- !ruby/object:Gem::Dependency
|
|
202
188
|
name: rspec-core
|
|
203
189
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -300,10 +286,11 @@ files:
|
|
|
300
286
|
- lib/chef-dk/command/generator_commands/cookbook_code_file.rb
|
|
301
287
|
- lib/chef-dk/command/generator_commands/cookbook_file.rb
|
|
302
288
|
- lib/chef-dk/command/generator_commands/generator_generator.rb
|
|
303
|
-
- lib/chef-dk/command/generator_commands/
|
|
289
|
+
- lib/chef-dk/command/generator_commands/helpers.rb
|
|
304
290
|
- lib/chef-dk/command/generator_commands/policyfile.rb
|
|
305
291
|
- lib/chef-dk/command/generator_commands/recipe.rb
|
|
306
292
|
- lib/chef-dk/command/generator_commands/repo.rb
|
|
293
|
+
- lib/chef-dk/command/generator_commands/resource.rb
|
|
307
294
|
- lib/chef-dk/command/generator_commands/template.rb
|
|
308
295
|
- lib/chef-dk/command/install.rb
|
|
309
296
|
- lib/chef-dk/command/provision.rb
|
|
@@ -329,6 +316,7 @@ files:
|
|
|
329
316
|
- lib/chef-dk/generator.rb
|
|
330
317
|
- lib/chef-dk/helpers.rb
|
|
331
318
|
- lib/chef-dk/pager.rb
|
|
319
|
+
- lib/chef-dk/policyfile/artifactory_cookbook_source.rb
|
|
332
320
|
- lib/chef-dk/policyfile/chef_repo_cookbook_source.rb
|
|
333
321
|
- lib/chef-dk/policyfile/chef_server_cookbook_source.rb
|
|
334
322
|
- lib/chef-dk/policyfile/community_cookbook_source.rb
|
|
@@ -400,10 +388,11 @@ files:
|
|
|
400
388
|
- lib/chef-dk/skeletons/code_generator/recipes/build_cookbook.rb
|
|
401
389
|
- lib/chef-dk/skeletons/code_generator/recipes/cookbook.rb
|
|
402
390
|
- lib/chef-dk/skeletons/code_generator/recipes/cookbook_file.rb
|
|
403
|
-
- lib/chef-dk/skeletons/code_generator/recipes/
|
|
391
|
+
- lib/chef-dk/skeletons/code_generator/recipes/helpers.rb
|
|
404
392
|
- lib/chef-dk/skeletons/code_generator/recipes/policyfile.rb
|
|
405
393
|
- lib/chef-dk/skeletons/code_generator/recipes/recipe.rb
|
|
406
394
|
- lib/chef-dk/skeletons/code_generator/recipes/repo.rb
|
|
395
|
+
- lib/chef-dk/skeletons/code_generator/recipes/resource.rb
|
|
407
396
|
- lib/chef-dk/skeletons/code_generator/recipes/template.rb
|
|
408
397
|
- lib/chef-dk/skeletons/code_generator/templates/default/LICENSE.all_rights.erb
|
|
409
398
|
- lib/chef-dk/skeletons/code_generator/templates/default/LICENSE.apachev2.erb
|
|
@@ -417,11 +406,11 @@ files:
|
|
|
417
406
|
- lib/chef-dk/skeletons/code_generator/templates/default/build_cookbook/metadata.rb.erb
|
|
418
407
|
- lib/chef-dk/skeletons/code_generator/templates/default/build_cookbook/recipe.rb.erb
|
|
419
408
|
- lib/chef-dk/skeletons/code_generator/templates/default/cookbook_file.erb
|
|
409
|
+
- lib/chef-dk/skeletons/code_generator/templates/default/helpers.rb.erb
|
|
420
410
|
- lib/chef-dk/skeletons/code_generator/templates/default/inspec_default_test.rb.erb
|
|
421
411
|
- lib/chef-dk/skeletons/code_generator/templates/default/kitchen.yml.erb
|
|
422
412
|
- lib/chef-dk/skeletons/code_generator/templates/default/kitchen_policyfile.yml.erb
|
|
423
413
|
- lib/chef-dk/skeletons/code_generator/templates/default/metadata.rb.erb
|
|
424
|
-
- lib/chef-dk/skeletons/code_generator/templates/default/provider.rb.erb
|
|
425
414
|
- lib/chef-dk/skeletons/code_generator/templates/default/recipe.rb.erb
|
|
426
415
|
- lib/chef-dk/skeletons/code_generator/templates/default/recipe_spec.rb.erb
|
|
427
416
|
- lib/chef-dk/skeletons/code_generator/templates/default/repo/gitignore.erb
|
|
@@ -461,10 +450,11 @@ files:
|
|
|
461
450
|
- spec/unit/command/generator_commands/cookbook_file_spec.rb
|
|
462
451
|
- spec/unit/command/generator_commands/cookbook_spec.rb
|
|
463
452
|
- spec/unit/command/generator_commands/generator_generator_spec.rb
|
|
464
|
-
- spec/unit/command/generator_commands/
|
|
453
|
+
- spec/unit/command/generator_commands/helpers_spec.rb
|
|
465
454
|
- spec/unit/command/generator_commands/policyfile_spec.rb
|
|
466
455
|
- spec/unit/command/generator_commands/recipe_spec.rb
|
|
467
456
|
- spec/unit/command/generator_commands/repo_spec.rb
|
|
457
|
+
- spec/unit/command/generator_commands/resource_spec.rb
|
|
468
458
|
- spec/unit/command/generator_commands/template_spec.rb
|
|
469
459
|
- spec/unit/command/install_spec.rb
|
|
470
460
|
- spec/unit/command/provision_spec.rb
|
|
@@ -569,10 +559,9 @@ files:
|
|
|
569
559
|
- spec/unit/fixtures/local_path_cookbooks/noignore-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/README.md
|
|
570
560
|
- spec/unit/fixtures/local_path_cookbooks/noignore-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/metadata.rb
|
|
571
561
|
- spec/unit/fixtures/local_path_cookbooks/noignore-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/recipes/default.rb
|
|
572
|
-
- spec/unit/gemfile_util_spec.rb
|
|
573
562
|
- spec/unit/generator_spec.rb
|
|
574
|
-
- spec/unit/helpers_spec.rb
|
|
575
563
|
- spec/unit/pager_spec.rb
|
|
564
|
+
- spec/unit/policyfile/artifactory_cookbook_source_spec.rb
|
|
576
565
|
- spec/unit/policyfile/chef_repo_cookbook_source_spec.rb
|
|
577
566
|
- spec/unit/policyfile/chef_server_cookbook_source_spec.rb
|
|
578
567
|
- spec/unit/policyfile/community_cookbook_source_spec.rb
|
|
@@ -609,24 +598,17 @@ files:
|
|
|
609
598
|
- spec/unit/policyfile_services/show_policy_spec.rb
|
|
610
599
|
- spec/unit/policyfile_services/undelete_spec.rb
|
|
611
600
|
- spec/unit/policyfile_services/update_attributes_spec.rb
|
|
601
|
+
- spec/unit/policyfile_services/update_spec.rb
|
|
612
602
|
- spec/unit/service_exception_inspectors/base_spec.rb
|
|
613
603
|
- spec/unit/service_exception_inspectors/http_spec.rb
|
|
614
604
|
- spec/unit/shell_out_spec.rb
|
|
615
|
-
- spec/unit/tasks/helpers_spec.rb
|
|
616
605
|
- tasks/announce.rb
|
|
617
|
-
- tasks/bin/bundle-platform
|
|
618
606
|
- tasks/bin/bundle-platform.bat
|
|
619
|
-
- tasks/bin/create-override-gemfile
|
|
620
|
-
- tasks/bundle.rb
|
|
621
|
-
- tasks/bundle_util.rb
|
|
622
607
|
- tasks/dependencies.rb
|
|
623
|
-
- tasks/gemfile_util.rb
|
|
624
608
|
- tasks/github_changelog_generator.rb
|
|
625
|
-
- tasks/helpers.rb
|
|
626
609
|
- tasks/templates/prerelease.md.erb
|
|
627
610
|
- tasks/templates/release.md.erb
|
|
628
611
|
- tasks/version.rb
|
|
629
|
-
- version_policy.rb
|
|
630
612
|
- warning.txt
|
|
631
613
|
homepage: https://www.chef.io/
|
|
632
614
|
licenses: []
|
|
@@ -648,7 +630,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
648
630
|
requirements:
|
|
649
631
|
- - ">="
|
|
650
632
|
- !ruby/object:Gem::Version
|
|
651
|
-
version: '2.
|
|
633
|
+
version: '2.3'
|
|
652
634
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
653
635
|
requirements:
|
|
654
636
|
- - ">="
|
|
@@ -656,7 +638,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
656
638
|
version: '0'
|
|
657
639
|
requirements: []
|
|
658
640
|
rubyforge_project:
|
|
659
|
-
rubygems_version: 2.6.
|
|
641
|
+
rubygems_version: 2.6.11
|
|
660
642
|
signing_key:
|
|
661
643
|
specification_version: 4
|
|
662
644
|
summary: A streamlined development and deployment workflow for Chef platform.
|
|
@@ -691,10 +673,11 @@ test_files:
|
|
|
691
673
|
- spec/unit/command/generator_commands/cookbook_file_spec.rb
|
|
692
674
|
- spec/unit/command/generator_commands/cookbook_spec.rb
|
|
693
675
|
- spec/unit/command/generator_commands/generator_generator_spec.rb
|
|
694
|
-
- spec/unit/command/generator_commands/
|
|
676
|
+
- spec/unit/command/generator_commands/helpers_spec.rb
|
|
695
677
|
- spec/unit/command/generator_commands/policyfile_spec.rb
|
|
696
678
|
- spec/unit/command/generator_commands/recipe_spec.rb
|
|
697
679
|
- spec/unit/command/generator_commands/repo_spec.rb
|
|
680
|
+
- spec/unit/command/generator_commands/resource_spec.rb
|
|
698
681
|
- spec/unit/command/generator_commands/template_spec.rb
|
|
699
682
|
- spec/unit/command/install_spec.rb
|
|
700
683
|
- spec/unit/command/provision_spec.rb
|
|
@@ -799,10 +782,9 @@ test_files:
|
|
|
799
782
|
- spec/unit/fixtures/local_path_cookbooks/noignore-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/README.md
|
|
800
783
|
- spec/unit/fixtures/local_path_cookbooks/noignore-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/metadata.rb
|
|
801
784
|
- spec/unit/fixtures/local_path_cookbooks/noignore-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/recipes/default.rb
|
|
802
|
-
- spec/unit/gemfile_util_spec.rb
|
|
803
785
|
- spec/unit/generator_spec.rb
|
|
804
|
-
- spec/unit/helpers_spec.rb
|
|
805
786
|
- spec/unit/pager_spec.rb
|
|
787
|
+
- spec/unit/policyfile/artifactory_cookbook_source_spec.rb
|
|
806
788
|
- spec/unit/policyfile/chef_repo_cookbook_source_spec.rb
|
|
807
789
|
- spec/unit/policyfile/chef_server_cookbook_source_spec.rb
|
|
808
790
|
- spec/unit/policyfile/community_cookbook_source_spec.rb
|
|
@@ -839,7 +821,7 @@ test_files:
|
|
|
839
821
|
- spec/unit/policyfile_services/show_policy_spec.rb
|
|
840
822
|
- spec/unit/policyfile_services/undelete_spec.rb
|
|
841
823
|
- spec/unit/policyfile_services/update_attributes_spec.rb
|
|
824
|
+
- spec/unit/policyfile_services/update_spec.rb
|
|
842
825
|
- spec/unit/service_exception_inspectors/base_spec.rb
|
|
843
826
|
- spec/unit/service_exception_inspectors/http_spec.rb
|
|
844
827
|
- spec/unit/shell_out_spec.rb
|
|
845
|
-
- spec/unit/tasks/helpers_spec.rb
|
|
File without changes
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
require "spec_helper"
|
|
2
|
-
require_relative "../../tasks/gemfile_util"
|
|
3
|
-
|
|
4
|
-
class GemfileSuper
|
|
5
|
-
def gem(*args)
|
|
6
|
-
:superclass
|
|
7
|
-
end
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
class GemfileUtilUser < GemfileSuper
|
|
11
|
-
include GemfileUtil
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
describe GemfileUtil do
|
|
15
|
-
let (:gem_name) { "uncle_bobs_json_parser" }
|
|
16
|
-
let (:gemfile_util) { GemfileUtilUser.new }
|
|
17
|
-
|
|
18
|
-
context "#gem", :skip do
|
|
19
|
-
it "calls the superclass method by default" do
|
|
20
|
-
expect(gemfile_util).to receive(:gem).and_return(:superclass)
|
|
21
|
-
gemfile_util.gem(gem_name)
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
# :path and :override follow the same code path, but for clarity get unrefactored specs.
|
|
25
|
-
it "overrides gems with :path" do
|
|
26
|
-
expect(gemfile_util).to receive(:warn_if_replacing)
|
|
27
|
-
expect(gemfile_util.gem(gem_name, path: true)).to be_nil
|
|
28
|
-
expect(gemfile_util.overridden_gems).to eq({ gem_name => [{ path: true }] })
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
it "overrides gems with :override" do
|
|
32
|
-
expect(gemfile_util).to receive(:warn_if_replacing)
|
|
33
|
-
expect(gemfile_util.gem(gem_name, override: true)).to be_nil
|
|
34
|
-
expect(gemfile_util.overridden_gems).to eq({ gem_name => [{}] })
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
it "does not override gems with :overrideable" do
|
|
38
|
-
expect(gemfile_util.gem(gem_name, override: true)).to be_nil
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
end
|
data/spec/unit/helpers_spec.rb
DELETED
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# Copyright:: Copyright (c) 2014 Chef Software Inc.
|
|
3
|
-
# License:: Apache License, Version 2.0
|
|
4
|
-
#
|
|
5
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
-
# you may not use this file except in compliance with the License.
|
|
7
|
-
# You may obtain a copy of the License at
|
|
8
|
-
#
|
|
9
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
#
|
|
11
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
# See the License for the specific language governing permissions and
|
|
15
|
-
# limitations under the License.
|
|
16
|
-
#
|
|
17
|
-
|
|
18
|
-
require "spec_helper"
|
|
19
|
-
require "chef-dk/helpers"
|
|
20
|
-
|
|
21
|
-
describe ChefDK::Helpers do
|
|
22
|
-
|
|
23
|
-
let (:helpers) do
|
|
24
|
-
ChefDK::Helpers.send(:reset!)
|
|
25
|
-
ChefDK::Helpers
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
let(:env) { {} }
|
|
29
|
-
|
|
30
|
-
describe "chefdk_home" do
|
|
31
|
-
before do
|
|
32
|
-
allow(ENV).to receive(:[]) do |k|
|
|
33
|
-
env[k]
|
|
34
|
-
end
|
|
35
|
-
allow(Chef::Platform).to receive(:windows?).and_return(false)
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
context "when CHEFDK_HOME is set" do
|
|
39
|
-
let(:env) { { "CHEFDK_HOME" => "foo" } }
|
|
40
|
-
it "returns CHEFDK_HOME" do
|
|
41
|
-
expect(helpers.chefdk_home).to eq(env["CHEFDK_HOME"])
|
|
42
|
-
end
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
context "when CHEFDK_HOME is not set" do
|
|
46
|
-
context "on windows" do
|
|
47
|
-
before do
|
|
48
|
-
allow(Chef::Platform).to receive(:windows?).and_return(true)
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
let(:env) { { "LOCALAPPDATA" => 'C:\\foo' } }
|
|
52
|
-
|
|
53
|
-
it "uses LOCALAPPDATA" do
|
|
54
|
-
expect(File).to receive(:join).with(env["LOCALAPPDATA"], "chefdk").and_return("chefdkdefaulthome")
|
|
55
|
-
expect(helpers.chefdk_home).to eq("chefdkdefaulthome")
|
|
56
|
-
end
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
context "on *nix" do
|
|
60
|
-
it "uses LOCALAPPDATA" do
|
|
61
|
-
expect(File).to receive(:expand_path).with("~/.chefdk").and_return("chefdkdefaulthome")
|
|
62
|
-
expect(helpers.chefdk_home).to eq("chefdkdefaulthome")
|
|
63
|
-
end
|
|
64
|
-
end
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
context "using usr_bin_prefix" do
|
|
68
|
-
before do
|
|
69
|
-
stub_const("RUBY_PLATFORM", ruby_platform_string)
|
|
70
|
-
end
|
|
71
|
-
|
|
72
|
-
context "on Mac" do
|
|
73
|
-
let(:ruby_platform_string) { "x86_64-darwin12.0" }
|
|
74
|
-
|
|
75
|
-
it "uses /usr/local/bin" do
|
|
76
|
-
expect(helpers.usr_bin_prefix).to eq("/usr/local/bin")
|
|
77
|
-
expect(helpers.usr_bin_path("berks")).to eq("/usr/local/bin/berks")
|
|
78
|
-
end
|
|
79
|
-
end
|
|
80
|
-
|
|
81
|
-
context "on other systems" do
|
|
82
|
-
let(:ruby_platform_string) { "x86_64-linux" }
|
|
83
|
-
|
|
84
|
-
it "uses /usr/bin" do
|
|
85
|
-
expect(helpers.usr_bin_prefix).to eq("/usr/bin")
|
|
86
|
-
expect(helpers.usr_bin_path("berks")).to eq("/usr/bin/berks")
|
|
87
|
-
end
|
|
88
|
-
end
|
|
89
|
-
end
|
|
90
|
-
|
|
91
|
-
end
|
|
92
|
-
|
|
93
|
-
describe "omnibus_env" do
|
|
94
|
-
let(:git_tools_path) { File.join("embedded", "git", "usr", "bin") }
|
|
95
|
-
let(:custom_gitbin_path) { File.join("gitbin") }
|
|
96
|
-
before do
|
|
97
|
-
allow(helpers).to receive(:omnibus_expand_path) { |*paths| File.expand_path(File.join(paths)) }
|
|
98
|
-
allow(Dir).to receive(:exists?).with(/#{custom_gitbin_path}/).and_return false
|
|
99
|
-
allow(Dir).to receive(:exists?).with(/#{git_tools_path}/).and_return false
|
|
100
|
-
end
|
|
101
|
-
|
|
102
|
-
it "does not include the git tools in the path" do
|
|
103
|
-
expect(helpers.omnibus_env["PATH"]).to_not match(/#{git_tools_path}/)
|
|
104
|
-
end
|
|
105
|
-
|
|
106
|
-
context "when the custom gitbin directory exists" do
|
|
107
|
-
it "includes them in the path" do
|
|
108
|
-
expect(Dir).to receive(:exists?).with(/#{custom_gitbin_path}/).and_return true
|
|
109
|
-
expect(helpers.omnibus_env["PATH"]).to match(/#{custom_gitbin_path}$/)
|
|
110
|
-
end
|
|
111
|
-
end
|
|
112
|
-
|
|
113
|
-
context "when the git tools directory exists" do
|
|
114
|
-
it "includes them in the path" do
|
|
115
|
-
expect(Dir).to receive(:exists?).with(/#{git_tools_path}/).and_return true
|
|
116
|
-
expect(helpers.omnibus_env["PATH"]).to match(/#{git_tools_path}$/)
|
|
117
|
-
end
|
|
118
|
-
end
|
|
119
|
-
end
|
|
120
|
-
end
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# Copyright:: Copyright (c) 2014 Chef Software Inc.
|
|
3
|
-
# License:: Apache License, Version 2.0
|
|
4
|
-
#
|
|
5
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
-
# you may not use this file except in compliance with the License.
|
|
7
|
-
# You may obtain a copy of the License at
|
|
8
|
-
#
|
|
9
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
#
|
|
11
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
# See the License for the specific language governing permissions and
|
|
15
|
-
# limitations under the License.
|
|
16
|
-
#
|
|
17
|
-
|
|
18
|
-
require "spec_helper"
|
|
19
|
-
require_relative "../../../tasks/helpers"
|
|
20
|
-
|
|
21
|
-
class RakeMock
|
|
22
|
-
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
describe "Rake 'dependencies' task" do
|
|
26
|
-
let(:rake_mock) { Class.new { include RakeDependenciesTaskHelpers }.new }
|
|
27
|
-
let(:product_name) { "chef" }
|
|
28
|
-
let(:gemfile_name) { "chef" }
|
|
29
|
-
let(:gemfile) { 'gem "chef", github: "chef/chef", branch: "0.0.0"' }
|
|
30
|
-
let(:expected_version) { "0.0.1" }
|
|
31
|
-
|
|
32
|
-
before do
|
|
33
|
-
allow(rake_mock).to receive(:puts)
|
|
34
|
-
allow(rake_mock).to receive(:get_latest_version_for).with(product_name).and_return(expected_version)
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
describe "update_gemfile_from_stable" do
|
|
38
|
-
context "when gemfile does not contain the expected string" do
|
|
39
|
-
let(:gemfile) { "These are not the droids you are looking for." }
|
|
40
|
-
|
|
41
|
-
it "raises an error" do
|
|
42
|
-
expect { rake_mock.update_gemfile_from_stable(gemfile, product_name, gemfile_name) }.to raise_error(/Gemfile does not have a line of the form/)
|
|
43
|
-
end
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
context "when gemfile does contain the expected string" do
|
|
47
|
-
let(:prefix) { "" }
|
|
48
|
-
let(:expected_output) { "gem \"chef\", github: \"chef/chef\", branch: \"#{prefix}#{expected_version}\"" }
|
|
49
|
-
|
|
50
|
-
context "and the version string does not have a prefix" do
|
|
51
|
-
it "updates the gemfile entry to the newer version" do
|
|
52
|
-
expect(rake_mock.update_gemfile_from_stable(gemfile, product_name, gemfile_name))
|
|
53
|
-
.to eq(expected_output)
|
|
54
|
-
end
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
context "and the version is the same" do
|
|
58
|
-
let(:expected_version) { "0.0.0" }
|
|
59
|
-
it "warns the user that the version is not being updated" do
|
|
60
|
-
expect(rake_mock).to receive(:puts).with(/version in Gemfile already at latest stable/)
|
|
61
|
-
expect(rake_mock.update_gemfile_from_stable(gemfile, product_name, gemfile_name))
|
|
62
|
-
.to eq(expected_output)
|
|
63
|
-
end
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
context "and a prefix is specified" do
|
|
67
|
-
let(:prefix) { "v" }
|
|
68
|
-
it "updates the gemfile entry to the newer version" do
|
|
69
|
-
expect(rake_mock.update_gemfile_from_stable(gemfile, product_name, gemfile_name, prefix))
|
|
70
|
-
.to eq(expected_output)
|
|
71
|
-
end
|
|
72
|
-
end
|
|
73
|
-
end
|
|
74
|
-
end
|
|
75
|
-
end
|