chef-cli 3.0.7 → 3.0.16

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.
Files changed (31) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +2 -2
  3. data/chef-cli.gemspec +1 -2
  4. data/lib/chef-cli/cli.rb +13 -32
  5. data/lib/chef-cli/command/generator_commands/chef_exts/generator_desc_resource.rb +1 -0
  6. data/lib/chef-cli/command/update.rb +1 -1
  7. data/lib/chef-cli/cookbook_profiler/git.rb +1 -1
  8. data/lib/chef-cli/dist.rb +5 -0
  9. data/lib/chef-cli/policyfile/chef_server_lock_fetcher.rb +1 -1
  10. data/lib/chef-cli/policyfile/cookbook_locks.rb +2 -2
  11. data/lib/chef-cli/policyfile/delivery_supermarket_source.rb +1 -1
  12. data/lib/chef-cli/policyfile/local_lock_fetcher.rb +1 -1
  13. data/lib/chef-cli/policyfile/policyfile_location_specification.rb +1 -1
  14. data/lib/chef-cli/policyfile/read_cookbook_for_compat_mode_upload.rb +2 -2
  15. data/lib/chef-cli/policyfile_compiler.rb +1 -1
  16. data/lib/chef-cli/policyfile_lock.rb +1 -2
  17. data/lib/chef-cli/skeletons/code_generator/files/default/chefignore +13 -7
  18. data/lib/chef-cli/skeletons/code_generator/templates/default/inspec_default_test.rb.erb +1 -1
  19. data/lib/chef-cli/version.rb +1 -1
  20. data/lib/kitchen/provisioner/chef_zero_capture.rb +3 -4
  21. data/lib/kitchen/provisioner/policyfile_zero.rb +1 -2
  22. data/spec/unit/cli_spec.rb +15 -54
  23. data/spec/unit/command/clean_policy_cookbooks_spec.rb +2 -2
  24. data/spec/unit/command/env_spec.rb +1 -1
  25. data/spec/unit/command/exec_spec.rb +1 -1
  26. data/spec/unit/commands_map_spec.rb +4 -4
  27. data/spec/unit/kitchen/provisioner/chef_zero_capture_spec.rb +0 -1
  28. data/spec/unit/policyfile_includes_spec.rb +0 -1
  29. data/spec/unit/policyfile_install_with_includes_spec.rb +0 -1
  30. data/spec/unit/policyfile_lock_build_spec.rb +0 -1
  31. metadata +10 -18
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7d07ce0da0eedc96abe9c8da94a615469600944454d7e672b342d3859da961eb
4
- data.tar.gz: 89e29f5a328cf54579f89ef02e4b8ae64f6bf518865c20805d3960ab825e108d
3
+ metadata.gz: 3ba95803ebaddd3034b21130fda13e0a001c5ef02b304897d7808c0286268d9b
4
+ data.tar.gz: 7c64aed7f98666dc5677f11036cbbb7671cc9d8d09f410f25222332c1fd10ac6
5
5
  SHA512:
6
- metadata.gz: 0250f998e2c76d89f40b64008d81a73015a4445067ea1f7d95bbe769ae25f92e4b5a9a8530ffb964fda7f35e6c2ea4d9ae33403c20c6368b4c4be2a90994b020
7
- data.tar.gz: 3a9ea45e8af34c74d011e5a3519cbecd6388a8df7e5cc95c72ddd8750cfcecc9b1597ac0ef7997897938b05f882294a884863a6de11a845a1be76875682e8bce
6
+ metadata.gz: a42c1780fe0865c527c8787bd1122abcb06867b0f3e01e142684ac2cda519215c9801d031c6266ac94c7965d890dd5c6e0af8eebb195aecdfd0fa36f0691422c
7
+ data.tar.gz: 3133b68e4e51bd548e180bdbf3d8bae0735834118e0c9b81a781b0e869196a4108ea72ea38904cc1662a3d1863af4dcdf92a5508073efcd53408e7704f792c9e
data/Gemfile CHANGED
@@ -13,8 +13,8 @@ group :test do
13
13
  gem "rspec", "~> 3.8"
14
14
  gem "rspec-expectations", "~> 3.8"
15
15
  gem "rspec-mocks", "~> 3.8"
16
- gem "cookstyle"
17
- gem "chefstyle"
16
+ gem "cookstyle", "6.13.3" # this forces dependabot PRs to open which triggers cookstyle CI on the chef generate command
17
+ gem "chefstyle", "1.2.0"
18
18
  gem "test-kitchen", "> 2.5"
19
19
  if Gem::Version.new(RUBY_VERSION) < Gem::Version.new("2.6")
20
20
  gem "chef-zero", "~> 14"
@@ -47,8 +47,7 @@ Gem::Specification.new do |gem|
47
47
  gem.add_dependency "solve", "< 5.0", "> 2.0"
48
48
  gem.add_dependency "addressable", ">= 2.3.5", "< 2.8"
49
49
  gem.add_dependency "cookbook-omnifetch", "~> 0.5"
50
- gem.add_dependency "diff-lcs", "~> 1.0"
50
+ gem.add_dependency "diff-lcs", ">= 1.0", "< 1.4" # 1.4 changes the output
51
51
  gem.add_dependency "paint", ">= 1", "< 3"
52
52
  gem.add_dependency "license-acceptance", "~> 1.0", ">= 1.0.11"
53
- gem.add_dependency "ffi", "< 1.13"
54
53
  end
@@ -99,42 +99,21 @@ module ChefCLI
99
99
  if omnibus_install?
100
100
  show_version_via_version_manifest
101
101
  else
102
- show_version_via_shell_out
102
+ msg("#{ChefCLI::Dist::CLI_PRODUCT} version: #{ChefCLI::VERSION}")
103
103
  end
104
104
  end
105
105
 
106
106
  def show_version_via_version_manifest
107
- msg("#{ChefCLI::Dist::PRODUCT} version: #{manifest_field("build_version")}")
108
- { "#{ChefCLI::Dist::INFRA_CLIENT_PRODUCT}": "#{ChefCLI::Dist::INFRA_CLIENT_GEM}",
109
- "#{ChefCLI::Dist::INSPEC_PRODUCT}": "#{ChefCLI::Dist::INSPEC_CLI}",
110
- "#{ChefCLI::Dist::CLI_PRODUCT}": "#{ChefCLI::Dist::CLI_GEM}",
107
+ msg("#{ChefCLI::Dist::PRODUCT} version: #{component_version("build_version")}")
108
+
109
+ { "#{ChefCLI::Dist::INFRA_CLIENT_PRODUCT}": ChefCLI::Dist::INFRA_CLIENT_GEM,
110
+ "#{ChefCLI::Dist::INSPEC_PRODUCT}": ChefCLI::Dist::INSPEC_CLI,
111
+ "#{ChefCLI::Dist::CLI_PRODUCT}": ChefCLI::Dist::CLI_GEM,
112
+ "#{ChefCLI::Dist::HAB_PRODUCT}": ChefCLI::Dist::HAB_SOFTWARE_NAME,
111
113
  "Test Kitchen": "test-kitchen",
112
114
  "Cookstyle": "cookstyle",
113
- }.each do |name, gem|
114
- msg("#{name} version: #{gem_version(gem)}")
115
- end
116
- end
117
-
118
- def show_version_via_shell_out
119
- msg("#{ChefCLI::Dist::PRODUCT} version: #{ChefCLI::VERSION}")
120
- { "#{ChefCLI::Dist::INFRA_CLIENT_PRODUCT}": "#{ChefCLI::Dist::INFRA_CLIENT_CLI}",
121
- "#{ChefCLI::Dist::INSPEC_PRODUCT}": "#{ChefCLI::Dist::INSPEC_CLI}",
122
- "Test Kitchen": "kitchen",
123
- "Cookstyle": "cookstyle",
124
- }.each do |name, cli|
125
- # @todo when Ruby 2.5/2.6 support goes away this if statement can go away
126
- if Gem::Version.new(Bundler::VERSION) >= Gem::Version.new("2")
127
- result = Bundler.with_unbundled_env { shell_out("#{cli} --version") }
128
- else
129
- result = Bundler.with_clean_env { shell_out("#{cli} --version") }
130
- end
131
-
132
- if result.exitstatus != 0
133
- msg("#{name} version: ERROR")
134
- else
135
- version = result.stdout.lines.first.scan(/(?:master\s)?[\d+\.\(\)]+\S+/).join("\s")
136
- msg("#{name} version: #{version}")
137
- end
115
+ }.each do |prod_name, component|
116
+ msg("#{prod_name} version: #{component_version(component)}")
138
117
  end
139
118
  end
140
119
 
@@ -188,11 +167,13 @@ module ChefCLI
188
167
  end
189
168
  end
190
169
 
191
- def gem_version(name)
170
+ def component_version(name)
192
171
  if gem_manifest_hash[name].is_a?(Array)
193
172
  gem_manifest_hash[name].first
173
+ elsif manifest_hash.key? name
174
+ manifest_field(name)
194
175
  else
195
- "unknown"
176
+ manifest_hash.dig("software", name, "locked_version") || "unknown"
196
177
  end
197
178
  end
198
179
 
@@ -28,6 +28,7 @@ module ChefCLI
28
28
  # takes to create a cookbook.
29
29
  class GeneratorDesc < Chef::Resource
30
30
  resource_name :generator_desc
31
+ provides :generator_desc
31
32
 
32
33
  property :message, String, name_property: true
33
34
 
@@ -70,7 +70,7 @@ module ChefCLI
70
70
 
71
71
  option :exclude_deps,
72
72
  long: "--exclude-deps",
73
- description: "Only update cookbooks explicitely mentioned on the command line",
73
+ description: "Only update cookbooks explicitly mentioned on the command line",
74
74
  boolean: true,
75
75
  default: false
76
76
 
@@ -31,7 +31,7 @@ module ChefCLI
31
31
  @unborn_branch_ref = nil
32
32
  end
33
33
 
34
- # @return [Hash] Hashed used for pinning cookbook versions within a Policfile.lock
34
+ # @return [Hash] Hashed used for pinning cookbook versions within a Policyfile.lock
35
35
  def profile_data
36
36
  {
37
37
  "scm" => "git",
@@ -35,5 +35,10 @@ module ChefCLI
35
35
 
36
36
  # Chef-Zero's product name
37
37
  ZERO_PRODUCT = "Chef Infra Zero".freeze
38
+
39
+ HAB_PRODUCT = "Chef Habitat".freeze
40
+ HAB_SOFTWARE_NAME = "habitat".freeze
41
+
42
+ HAB_CLI = "hab".freeze
38
43
  end
39
44
  end
@@ -67,7 +67,7 @@ module ChefCLI
67
67
  errors.empty?
68
68
  end
69
69
 
70
- # Check the options provided when craeting this class for errors
70
+ # Check the options provided when creating this class for errors
71
71
  #
72
72
  # @return [Array<String>] A list of errors found
73
73
  def errors
@@ -400,8 +400,8 @@ module ChefCLI
400
400
 
401
401
  dot_git = Pathname.new(".git")
402
402
  Pathname.new(cookbook_path).ascend do |parent_dir|
403
- possbile_git_dir = parent_dir + dot_git
404
- if possbile_git_dir.exist?
403
+ possible_git_dir = parent_dir + dot_git
404
+ if possible_git_dir.exist?
405
405
  @cookbook_in_git_repo = true
406
406
  break
407
407
  end
@@ -39,7 +39,7 @@ module ChefCLI
39
39
  # * Version numbers for cookbooks that pass through the Ci pipeline always
40
40
  # increase over time (so that largest version number == newest)
41
41
  #
42
- # In the future, alternative approaches may be persued to achieve the goal
42
+ # In the future, alternative approaches may be pursued to achieve the goal
43
43
  # of continuously integrating at the cookbook level without imposing those
44
44
  # constraints.
45
45
  #
@@ -48,7 +48,7 @@ module ChefCLI
48
48
  errors.empty?
49
49
  end
50
50
 
51
- # Check the options provided when craeting this class for errors
51
+ # Check the options provided when creating this class for errors
52
52
  #
53
53
  # @return [Array<String>] A list of errors found
54
54
  def errors
@@ -85,7 +85,7 @@ module ChefCLI
85
85
  errors.empty?
86
86
  end
87
87
 
88
- # Check the options provided when craeting this class for errors
88
+ # Check the options provided when creating this class for errors
89
89
  #
90
90
  # @return [Array<String>] A list of errors found
91
91
  def errors
@@ -89,9 +89,9 @@ module ChefCLI
89
89
  @cookbook_version ||=
90
90
  begin
91
91
  cookbook_version = loader.cookbook_version
92
- # TODO: dont do this for non-compat mode
92
+ # TODO: don't do this for non-compat mode
93
93
  cookbook_version.version = version_override
94
- # TODO: dont do this either
94
+ # TODO: don't do this either
95
95
 
96
96
  # Fixup manifest.
97
97
  # What happens is, the 'manifest' representation of cookbook
@@ -274,7 +274,7 @@ module ChefCLI
274
274
  # compared to an unmodified copy upstream. For example, the community site
275
275
  # may have a cookbook "apache2" at version "1.10.4", which the user has
276
276
  # forked on github and modified the dependencies without changing the
277
- # version number. To accomodate this, the local_artifacts_graph should be
277
+ # version number. To accommodate this, the local_artifacts_graph should be
278
278
  # merged over the upstream's artifacts graph.
279
279
  def local_artifacts_graph
280
280
  cookbook_location_specs.inject({}) do |local_artifacts, (cookbook_name, cookbook_location_spec)|
@@ -1,4 +1,3 @@
1
- # -*- coding: UTF-8 -*-
2
1
  #
3
2
  # Copyright:: Copyright (c) 2014-2018 Chef Software Inc.
4
3
  # License:: Apache License, Version 2.0
@@ -362,7 +361,7 @@ module ChefCLI
362
361
  # doubles give 15-17 digits of precision, so we err on the safe side
363
362
  # and only use 15 digits in the string conversion. We use the `g`
364
363
  # format, which is a documented-enough "do what I mean" where floats
365
- # >= 0.1 and < precsion are represented as floating point literals, and
364
+ # >= 0.1 and < precision are represented as floating point literals, and
366
365
  # other numbers use the exponent notation with a lowercase 'e'. Note
367
366
  # that both Ruby and Erlang document what their `g` does but have some
368
367
  # differences both subtle and non-subtle:
@@ -9,10 +9,7 @@ ehthumbs.db
9
9
  Icon?
10
10
  nohup.out
11
11
  Thumbs.db
12
-
13
- # SASS #
14
- ########
15
- .sass-cache
12
+ .envrc
16
13
 
17
14
  # EDITORS #
18
15
  ###########
@@ -26,11 +23,11 @@ Thumbs.db
26
23
  *.tmproj
27
24
  *~
28
25
  \#*
29
- mkmf.log
30
26
  REVISION
31
27
  TAGS*
32
28
  tmtags
33
29
  .vscode
30
+ .editorconfig
34
31
 
35
32
  ## COMPILED ##
36
33
  ##############
@@ -43,22 +40,29 @@ tmtags
43
40
  *.so
44
41
  */rdoc/
45
42
  a.out
43
+ mkmf.log
46
44
 
47
45
  # Testing #
48
46
  ###########
49
47
  .circleci/*
50
48
  .codeclimate.yml
49
+ .delivery/*
51
50
  .foodcritic
52
51
  .kitchen*
52
+ .mdlrc
53
+ .overcommit.yml
53
54
  .rspec
54
55
  .rubocop.yml
55
56
  .travis.yml
56
57
  .watchr
58
+ .yamllint
57
59
  azure-pipelines.yml
60
+ Dangerfile
58
61
  examples/*
59
62
  features/*
60
63
  Guardfile
61
64
  kitchen.yml*
65
+ mlc_config.json
62
66
  Procfile
63
67
  Rakefile
64
68
  spec/*
@@ -71,6 +75,7 @@ test/*
71
75
  .gitconfig
72
76
  .github/*
73
77
  .gitignore
78
+ .gitkeep
74
79
  .gitmodules
75
80
  .svn
76
81
  */.bzr/*
@@ -98,10 +103,11 @@ Policyfile.lock.json
98
103
 
99
104
  # Documentation #
100
105
  #############
101
- CHANGELOG*
106
+ CODE_OF_CONDUCT*
102
107
  CONTRIBUTING*
108
+ documentation/*
103
109
  TESTING*
104
- CODE_OF_CONDUCT*
110
+ UPGRADING*
105
111
 
106
112
  # Vagrant #
107
113
  ###########
@@ -1,7 +1,7 @@
1
1
  # InSpec test for recipe <%= cookbook_name %>::<%= recipe_name %>
2
2
 
3
3
  # The InSpec reference, with examples and extensive documentation, can be
4
- # found at https://www.inspec.io/docs/reference/resources/
4
+ # found at https://docs.chef.io/inspec/resources/
5
5
 
6
6
  unless os.windows?
7
7
  # This is an example test, replace with your own test.
@@ -16,5 +16,5 @@
16
16
  #
17
17
 
18
18
  module ChefCLI
19
- VERSION = "3.0.7".freeze
19
+ VERSION = "3.0.16".freeze
20
20
  end
@@ -1,4 +1,3 @@
1
- # -*- encoding: utf-8 -*-
2
1
  #
3
2
  # Author:: Marc Paradise <marc@chef.io>
4
3
  #
@@ -45,7 +44,7 @@ module Kitchen
45
44
  #
46
45
  # This provisioner does not do any cookbook dependency
47
46
  # resolution and will not pull in external cookbooks. All cookbooks
48
- # or cookbook artificats + policy data as captured from the live node and are
47
+ # or cookbook artifacts + policy data as captured from the live node and are
49
48
  # expected to be available for chef-zero to provide to the client.
50
49
  class ChefZeroCapture < ChefZero
51
50
  # Declaring these ensure that they're available to the sandbox - it's initialized
@@ -55,7 +54,7 @@ module Kitchen
55
54
  default_config :cookbook_artifacts_path, "cookbook_artifacts"
56
55
 
57
56
  # This will load policyfile/berkshelf. We don't want either - the client resolves all
58
- # dependencies from chef-zero, exactly as preppped in the captured repository.
57
+ # dependencies from chef-zero, exactly as prepped in the captured repository.
59
58
  def load_needed_dependencies!; end
60
59
 
61
60
  def create_sandbox
@@ -73,7 +72,7 @@ module Kitchen
73
72
  end
74
73
 
75
74
  # Overriding the private ProviderChefZero#default_config_rb
76
- # so that we can add additional configuratoin required for chef-zeor
75
+ # so that we can add additional configuration required for chef-zero
77
76
  # to be able to locate our policies/, policy groups, and cookbook artifacts
78
77
  # at run-time.
79
78
  def default_config_rb
@@ -1,4 +1,3 @@
1
- # -*- encoding: utf-8 -*-
2
1
  #
3
2
  # Author:: Fletcher Nichol (<fnichol@nichol.ca>)
4
3
  #
@@ -54,7 +53,7 @@ module Kitchen
54
53
  # @author Daniel DeLeo <dan@chef.io>
55
54
  class PolicyfileZero < ChefBase
56
55
 
57
- # This provsioner will forcibly set the following config options:
56
+ # This provisioner will forcibly set the following config options:
58
57
  # * `use_policyfile`: `true`
59
58
  # * `versioned_cookbooks`: `true`
60
59
  # * `deployment_group`: `POLICY_NAME-local`
@@ -53,8 +53,6 @@ describe ChefCLI::CLI do
53
53
  E
54
54
  end
55
55
 
56
- let(:version_message) { "#{ChefCLI::Dist::PRODUCT} version: #{ChefCLI::VERSION}\n" }
57
-
58
56
  def run_cli(expected_exit_code)
59
57
  expect(cli).to receive(:exit).with(expected_exit_code)
60
58
  expect(cli).to receive(:sanity_check!)
@@ -66,16 +64,6 @@ describe ChefCLI::CLI do
66
64
  cli.run
67
65
  end
68
66
 
69
- def run_cli_and_validate_tool_versions
70
- full_version_message = version_message
71
- tools.each do |name, details|
72
- expect(cli).to receive(:shell_out).with("#{details["command"]} --version").and_return(mock_shell_out(0, "#{details["version_output"]}", ""))
73
- full_version_message += "#{name} version: #{details["expected_version"]}\n"
74
- end
75
- run_cli(0)
76
- expect(stdout).to eq(full_version_message)
77
- end
78
-
79
67
  def mock_shell_out(exitstatus, stdout, stderr)
80
68
  shell_out = double("mixlib_shell_out")
81
69
  allow(shell_out).to receive(:exitstatus).and_return(exitstatus)
@@ -121,12 +109,17 @@ describe ChefCLI::CLI do
121
109
  context "given -v" do
122
110
  let(:argv) { %w{-v} }
123
111
 
124
- context "#via_version_manifest" do
112
+ context "when installed via omnibus" do
125
113
  let(:mocked_version_manifest_json) do
126
114
  <<~E
127
115
  {
128
116
  "manifest_format": 2,
129
- "build_version": "d.e.v"
117
+ "build_version": "d.e.v",
118
+ "software": {
119
+ "habitat": {
120
+ "locked_version": "1.2.3"
121
+ }
122
+ }
130
123
  }
131
124
  E
132
125
  end
@@ -160,6 +153,7 @@ describe ChefCLI::CLI do
160
153
  Chef Infra Client version: 0.0.2
161
154
  Chef InSpec version: 0.0.3
162
155
  Chef CLI version: 0.0.1
156
+ Chef Habitat version: 1.2.3
163
157
  Test Kitchen version: 0.0.4
164
158
  Cookstyle version: 0.0.6
165
159
  E
@@ -171,6 +165,7 @@ describe ChefCLI::CLI do
171
165
  Chef Infra Client version: unknown
172
166
  Chef InSpec version: unknown
173
167
  Chef CLI version: unknown
168
+ Chef Habitat version: unknown
174
169
  Test Kitchen version: unknown
175
170
  Cookstyle version: unknown
176
171
  E
@@ -195,49 +190,15 @@ describe ChefCLI::CLI do
195
190
  end
196
191
  end
197
192
 
198
- context "#via_shell_out" do
199
- let(:tools) do
200
- {
201
- "Chef Infra Client" => {
202
- "command" => "chef-client",
203
- "version_output" => "Chef Infra Client: 15.0.300",
204
- "expected_version" => "15.0.300",
205
- },
206
- "Chef InSpec" => {
207
- "command" => "inspec",
208
- "version_output" => "4.6.2\n\nYour version of InSpec is out of date! The latest version is 4.6.4.",
209
- "expected_version" => "4.6.2",
210
- },
211
- "Test Kitchen" => {
212
- "command" => "kitchen",
213
- "version_output" => "Test Kitchen version 2.2.5",
214
- "expected_version" => "2.2.5",
215
- },
216
- "Cookstyle" => {
217
- "command" => "cookstyle",
218
- "version_output" => "Cookstyle 4.0.0\n * RuboCop 0.62.0",
219
- "expected_version" => "4.0.0",
220
- },
221
- }
222
- end
223
-
224
- it "does not print versions of tools with missing or errored tools" do
225
- full_version_message = version_message
226
- tools.each do |name, details|
227
- if name == "inspec"
228
- expect(cli).to receive(:shell_out).with("#{details["command"]} --version").and_return(mock_shell_out(1, "#{details["version_output"]}", ""))
229
- full_version_message += "#{name} version: ERROR\n"
230
- else
231
- expect(cli).to receive(:shell_out).with("#{details["command"]} --version").and_return(mock_shell_out(0, "#{details["version_output"]}", ""))
232
- full_version_message += "#{name} version: #{details["expected_version"]}\n"
233
- end
234
- end
235
- run_cli(0)
236
- expect(stdout).to eq(full_version_message)
193
+ context "when installed as a gem" do
194
+ let(:gem_version_message) { "#{ChefCLI::Dist::CLI_PRODUCT} version: #{ChefCLI::VERSION}\n" }
195
+ before do
196
+ allow(cli).to receive(:omnibus_install?).and_return false
237
197
  end
238
198
 
239
199
  it "prints the version and versions of chef-cli tools" do
240
- run_cli_and_validate_tool_versions
200
+ run_cli(0)
201
+ expect(stdout).to eq(gem_version_message)
241
202
  end
242
203
  end
243
204
  end
@@ -50,9 +50,9 @@ describe ChefCLI::Command::CleanPolicyCookbooks do
50
50
 
51
51
  context "when given a path to the config" do
52
52
 
53
- let(:params) { %w{ -c ~/otherstuff/config.rb } }
53
+ let(:params) { %w{ -c ~/other_stuff/config.rb } }
54
54
 
55
- let(:config_arg) { "~/otherstuff/config.rb" }
55
+ let(:config_arg) { "~/other_stuff/config.rb" }
56
56
 
57
57
  before do
58
58
  expect(chef_config_loader).to receive(:load)
@@ -69,7 +69,7 @@ describe ChefCLI::Command::Env do
69
69
  it "output should be valid yaml" do
70
70
  expect { yaml }.not_to raise_error
71
71
  end
72
- it "Workstation version should indicate that that we're not runnign from a WS install" do
72
+ it "Workstation version should indicate that that we're not running from a WS install" do
73
73
  expect(yaml).to have_key ChefCLI::Dist::PRODUCT
74
74
  expect(yaml[ChefCLI::Dist::PRODUCT]["Version"]).to eql "Not running from within Workstation"
75
75
  end
@@ -59,7 +59,7 @@ describe ChefCLI::Command::Exec do
59
59
  before do
60
60
  allow(Gem).to receive(:ruby).and_return(ruby_path)
61
61
 
62
- # Using a fake path separator to keep to prevent people from accidently
62
+ # Using a fake path separator to keep to prevent people from accidentally
63
63
  # getting things correct on their system. This enforces that, in general,
64
64
  # you should use the path separator ruby is telling you to use.
65
65
  stub_const("File::PATH_SEPARATOR", "<>")
@@ -25,7 +25,7 @@ describe ChefCLI::CommandsMap do
25
25
 
26
26
  before do
27
27
  mapping.builtin("example", :Example)
28
- mapping.builtin("hypenated-example", :HyphenatedExample)
28
+ mapping.builtin("hyphenated-example", :HyphenatedExample)
29
29
  mapping.builtin("explicit-path-example", :ExplicitPathExample, require_path: "unit/fixtures/command/explicit_path_example")
30
30
  mapping.builtin("documented-example", :DocumentedExample, desc: "I have documentation")
31
31
  end
@@ -34,16 +34,16 @@ describe ChefCLI::CommandsMap do
34
34
  expect(mapping.have_command?("example")).to be true
35
35
  end
36
36
 
37
- it "infers a non-hypenated command's require path" do
37
+ it "infers a non-hyphenated command's require path" do
38
38
  expect(mapping.spec_for("example").require_path).to eq("chef-cli/command/example")
39
39
  end
40
40
 
41
41
  it "infers a hyphenated command's require path" do
42
- expect(mapping.spec_for("hypenated-example").require_path).to eq("chef-cli/command/hypenated_example")
42
+ expect(mapping.spec_for("hyphenated-example").require_path).to eq("chef-cli/command/hyphenated_example")
43
43
  end
44
44
 
45
45
  it "lists the available commands" do
46
- expect(mapping.command_names).to match_array(%w{example hypenated-example explicit-path-example documented-example})
46
+ expect(mapping.command_names).to match_array(%w{example hyphenated-example explicit-path-example documented-example})
47
47
  end
48
48
 
49
49
  it "keeps the docstring of a command" do
@@ -1,4 +1,3 @@
1
- # -*- encoding: utf-8 -*-
2
1
  #
3
2
  # Author:: Marc Paradsie <marc.paradise@gmail.com>
4
3
  #
@@ -1,4 +1,3 @@
1
- # -*- coding: UTF-8 -*-
2
1
  #
3
2
  # Copyright:: Copyright (c) 2014-2018, Chef Software Inc.
4
3
  # License:: Apache License, Version 2.0
@@ -1,4 +1,3 @@
1
- # -*- coding: UTF-8 -*-
2
1
  #
3
2
  # Copyright:: Copyright (c) 2017 Chef Software Inc.
4
3
  # License:: Apache License, Version 2.0
@@ -1,4 +1,3 @@
1
- # -*- coding: UTF-8 -*-
2
1
  #
3
2
  # Copyright:: Copyright (c) 2014-2018 Chef Software Inc.
4
3
  # License:: Apache License, Version 2.0
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chef-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.7
4
+ version: 3.0.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chef Software, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-06-04 00:00:00.000000000 Z
11
+ date: 2020-08-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mixlib-cli
@@ -156,16 +156,22 @@ dependencies:
156
156
  name: diff-lcs
157
157
  requirement: !ruby/object:Gem::Requirement
158
158
  requirements:
159
- - - "~>"
159
+ - - ">="
160
160
  - !ruby/object:Gem::Version
161
161
  version: '1.0'
162
+ - - "<"
163
+ - !ruby/object:Gem::Version
164
+ version: '1.4'
162
165
  type: :runtime
163
166
  prerelease: false
164
167
  version_requirements: !ruby/object:Gem::Requirement
165
168
  requirements:
166
- - - "~>"
169
+ - - ">="
167
170
  - !ruby/object:Gem::Version
168
171
  version: '1.0'
172
+ - - "<"
173
+ - !ruby/object:Gem::Version
174
+ version: '1.4'
169
175
  - !ruby/object:Gem::Dependency
170
176
  name: paint
171
177
  requirement: !ruby/object:Gem::Requirement
@@ -206,20 +212,6 @@ dependencies:
206
212
  - - ">="
207
213
  - !ruby/object:Gem::Version
208
214
  version: 1.0.11
209
- - !ruby/object:Gem::Dependency
210
- name: ffi
211
- requirement: !ruby/object:Gem::Requirement
212
- requirements:
213
- - - "<"
214
- - !ruby/object:Gem::Version
215
- version: '1.13'
216
- type: :runtime
217
- prerelease: false
218
- version_requirements: !ruby/object:Gem::Requirement
219
- requirements:
220
- - - "<"
221
- - !ruby/object:Gem::Version
222
- version: '1.13'
223
215
  description: A streamlined development and deployment workflow for Chef platform.
224
216
  email:
225
217
  - info@chef.io