chef-dk 1.2.22 → 1.3.40

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 (232) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +8 -12
  3. data/Gemfile.lock +120 -116
  4. data/README.md +4 -3
  5. data/Rakefile +54 -0
  6. data/acceptance/Gemfile.lock +36 -47
  7. data/bin/chef +1 -1
  8. data/chef-dk.gemspec +9 -9
  9. data/lib/chef-dk/authenticated_http.rb +6 -7
  10. data/lib/chef-dk/builtin_commands.rb +3 -4
  11. data/lib/chef-dk/chef_runner.rb +7 -8
  12. data/lib/chef-dk/cli.rb +11 -11
  13. data/lib/chef-dk/command/base.rb +4 -4
  14. data/lib/chef-dk/command/clean_policy_cookbooks.rb +4 -5
  15. data/lib/chef-dk/command/clean_policy_revisions.rb +4 -6
  16. data/lib/chef-dk/command/delete_policy.rb +4 -6
  17. data/lib/chef-dk/command/delete_policy_group.rb +6 -8
  18. data/lib/chef-dk/command/diff.rb +9 -10
  19. data/lib/chef-dk/command/env.rb +26 -27
  20. data/lib/chef-dk/command/exec.rb +5 -6
  21. data/lib/chef-dk/command/export.rb +8 -10
  22. data/lib/chef-dk/command/gem.rb +5 -5
  23. data/lib/chef-dk/command/generate.rb +19 -19
  24. data/lib/chef-dk/command/generator_commands.rb +8 -8
  25. data/lib/chef-dk/command/generator_commands/app.rb +2 -3
  26. data/lib/chef-dk/command/generator_commands/attribute.rb +2 -3
  27. data/lib/chef-dk/command/generator_commands/base.rb +13 -13
  28. data/lib/chef-dk/command/generator_commands/build_cookbook.rb +2 -2
  29. data/lib/chef-dk/command/generator_commands/chef_exts/generator_desc_resource.rb +2 -2
  30. data/lib/chef-dk/command/generator_commands/chef_exts/quieter_doc_formatter.rb +1 -2
  31. data/lib/chef-dk/command/generator_commands/chef_exts/recipe_dsl_ext.rb +1 -2
  32. data/lib/chef-dk/command/generator_commands/cookbook.rb +2 -2
  33. data/lib/chef-dk/command/generator_commands/cookbook_code_file.rb +3 -3
  34. data/lib/chef-dk/command/generator_commands/cookbook_file.rb +2 -2
  35. data/lib/chef-dk/command/generator_commands/generator_generator.rb +4 -7
  36. data/lib/chef-dk/command/generator_commands/lwrp.rb +2 -2
  37. data/lib/chef-dk/command/generator_commands/policyfile.rb +2 -3
  38. data/lib/chef-dk/command/generator_commands/recipe.rb +2 -2
  39. data/lib/chef-dk/command/generator_commands/repo.rb +1 -3
  40. data/lib/chef-dk/command/generator_commands/template.rb +2 -2
  41. data/lib/chef-dk/command/install.rb +4 -5
  42. data/lib/chef-dk/command/provision.rb +12 -14
  43. data/lib/chef-dk/command/push.rb +5 -6
  44. data/lib/chef-dk/command/push_archive.rb +4 -5
  45. data/lib/chef-dk/command/shell_init.rb +15 -16
  46. data/lib/chef-dk/command/show_policy.rb +5 -7
  47. data/lib/chef-dk/command/undelete.rb +6 -7
  48. data/lib/chef-dk/command/update.rb +5 -6
  49. data/lib/chef-dk/command/verify.rb +30 -31
  50. data/lib/chef-dk/commands_map.rb +1 -3
  51. data/lib/chef-dk/component_test.rb +13 -13
  52. data/lib/chef-dk/configurable.rb +2 -2
  53. data/lib/chef-dk/cookbook_metadata.rb +2 -2
  54. data/lib/chef-dk/cookbook_omnifetch.rb +7 -8
  55. data/lib/chef-dk/cookbook_profiler/git.rb +8 -8
  56. data/lib/chef-dk/cookbook_profiler/identifiers.rb +7 -7
  57. data/lib/chef-dk/cookbook_profiler/null_scm.rb +0 -1
  58. data/lib/chef-dk/exceptions.rb +1 -1
  59. data/lib/chef-dk/generator.rb +9 -7
  60. data/lib/chef-dk/helpers.rb +15 -15
  61. data/lib/chef-dk/pager.rb +2 -3
  62. data/lib/chef-dk/policyfile/chef_repo_cookbook_source.rb +4 -4
  63. data/lib/chef-dk/policyfile/chef_server_cookbook_source.rb +6 -6
  64. data/lib/chef-dk/policyfile/community_cookbook_source.rb +4 -5
  65. data/lib/chef-dk/policyfile/comparison_base.rb +3 -4
  66. data/lib/chef-dk/policyfile/cookbook_location_specification.rb +6 -6
  67. data/lib/chef-dk/policyfile/cookbook_locks.rb +11 -11
  68. data/lib/chef-dk/policyfile/cookbook_sources.rb +5 -5
  69. data/lib/chef-dk/policyfile/delivery_supermarket_source.rb +8 -9
  70. data/lib/chef-dk/policyfile/differ.rb +7 -10
  71. data/lib/chef-dk/policyfile/dsl.rb +10 -11
  72. data/lib/chef-dk/policyfile/lister.rb +3 -6
  73. data/lib/chef-dk/policyfile/null_cookbook_source.rb +3 -3
  74. data/lib/chef-dk/policyfile/read_cookbook_for_compat_mode_upload.rb +3 -3
  75. data/lib/chef-dk/policyfile/reports/install.rb +3 -4
  76. data/lib/chef-dk/policyfile/reports/table_printer.rb +0 -1
  77. data/lib/chef-dk/policyfile/reports/upload.rb +4 -4
  78. data/lib/chef-dk/policyfile/solution_dependencies.rb +22 -22
  79. data/lib/chef-dk/policyfile/source_uri.rb +2 -2
  80. data/lib/chef-dk/policyfile/storage_config.rb +4 -5
  81. data/lib/chef-dk/policyfile/undo_record.rb +6 -9
  82. data/lib/chef-dk/policyfile/undo_stack.rb +5 -7
  83. data/lib/chef-dk/policyfile/uploader.rb +8 -8
  84. data/lib/chef-dk/policyfile_compiler.rb +16 -20
  85. data/lib/chef-dk/policyfile_lock.rb +10 -11
  86. data/lib/chef-dk/policyfile_services/clean_policies.rb +3 -3
  87. data/lib/chef-dk/policyfile_services/clean_policy_cookbooks.rb +3 -5
  88. data/lib/chef-dk/policyfile_services/export_repo.rb +13 -14
  89. data/lib/chef-dk/policyfile_services/install.rb +6 -6
  90. data/lib/chef-dk/policyfile_services/push.rb +6 -8
  91. data/lib/chef-dk/policyfile_services/push_archive.rb +6 -10
  92. data/lib/chef-dk/policyfile_services/rm_policy.rb +4 -5
  93. data/lib/chef-dk/policyfile_services/rm_policy_group.rb +4 -5
  94. data/lib/chef-dk/policyfile_services/show_policy.rb +5 -6
  95. data/lib/chef-dk/policyfile_services/undelete.rb +3 -3
  96. data/lib/chef-dk/policyfile_services/update_attributes.rb +4 -6
  97. data/lib/chef-dk/service_exception_inspectors.rb +2 -3
  98. data/lib/chef-dk/service_exception_inspectors/base.rb +0 -1
  99. data/lib/chef-dk/service_exception_inspectors/http.rb +1 -3
  100. data/lib/chef-dk/service_exceptions.rb +1 -2
  101. data/lib/chef-dk/shell_out.rb +1 -1
  102. data/lib/chef-dk/skeletons/code_generator/files/default/build_cookbook/.kitchen.yml +2 -2
  103. data/lib/chef-dk/skeletons/code_generator/files/default/build_cookbook/README.md +2 -2
  104. data/lib/chef-dk/skeletons/code_generator/files/default/build_cookbook/test-fixture-recipe.rb +1 -0
  105. data/lib/chef-dk/skeletons/code_generator/files/default/repo/cookbooks/example/attributes/default.rb +1 -1
  106. data/lib/chef-dk/skeletons/code_generator/files/default/repo/cookbooks/example/recipes/default.rb +1 -1
  107. data/lib/chef-dk/skeletons/code_generator/metadata.rb +0 -1
  108. data/lib/chef-dk/skeletons/code_generator/recipes/app.rb +6 -6
  109. data/lib/chef-dk/skeletons/code_generator/recipes/attribute.rb +3 -3
  110. data/lib/chef-dk/skeletons/code_generator/recipes/build_cookbook.rb +43 -39
  111. data/lib/chef-dk/skeletons/code_generator/recipes/cookbook.rb +31 -22
  112. data/lib/chef-dk/skeletons/code_generator/recipes/cookbook_file.rb +5 -5
  113. data/lib/chef-dk/skeletons/code_generator/recipes/lwrp.rb +4 -4
  114. data/lib/chef-dk/skeletons/code_generator/recipes/policyfile.rb +1 -1
  115. data/lib/chef-dk/skeletons/code_generator/recipes/recipe.rb +8 -8
  116. data/lib/chef-dk/skeletons/code_generator/recipes/repo.rb +15 -15
  117. data/lib/chef-dk/skeletons/code_generator/recipes/template.rb +6 -6
  118. data/lib/chef-dk/skeletons/code_generator/templates/default/build_cookbook/Berksfile.erb +0 -2
  119. data/lib/chef-dk/skeletons/code_generator/templates/default/build_cookbook/metadata.rb.erb +1 -0
  120. data/lib/chef-dk/skeletons/code_generator/templates/default/inspec_default_test.rb.erb +4 -4
  121. data/lib/chef-dk/skeletons/code_generator/templates/default/kitchen.yml.erb +1 -1
  122. data/lib/chef-dk/skeletons/code_generator/templates/default/kitchen_policyfile.yml.erb +1 -1
  123. data/lib/chef-dk/skeletons/code_generator/templates/default/metadata.rb.erb +4 -3
  124. data/lib/chef-dk/skeletons/code_generator/templates/default/recipe_spec.rb.erb +4 -2
  125. data/lib/chef-dk/ui.rb +0 -1
  126. data/lib/chef-dk/version.rb +1 -1
  127. data/lib/kitchen/provisioner/policyfile_zero.rb +7 -7
  128. data/omnibus_overrides.rb +3 -3
  129. data/spec/shared/a_file_generator.rb +3 -3
  130. data/spec/shared/custom_generator_cookbook.rb +6 -6
  131. data/spec/shared/fixture_cookbook_checksums.rb +2 -3
  132. data/spec/shared/setup_git_committer_config.rb +1 -1
  133. data/spec/shared/setup_git_cookbooks.rb +2 -2
  134. data/spec/spec_helper.rb +5 -5
  135. data/spec/test_helpers.rb +2 -2
  136. data/spec/unit/chef_runner_spec.rb +5 -7
  137. data/spec/unit/cli_spec.rb +36 -37
  138. data/spec/unit/command/base_spec.rb +4 -5
  139. data/spec/unit/command/clean_policy_cookbooks_spec.rb +8 -9
  140. data/spec/unit/command/clean_policy_revisions_spec.rb +8 -9
  141. data/spec/unit/command/delete_policy_group_spec.rb +11 -12
  142. data/spec/unit/command/delete_policy_spec.rb +11 -12
  143. data/spec/unit/command/diff_spec.rb +5 -6
  144. data/spec/unit/command/env_spec.rb +5 -5
  145. data/spec/unit/command/exec_spec.rb +18 -19
  146. data/spec/unit/command/export_spec.rb +5 -6
  147. data/spec/unit/command/generate_spec.rb +10 -10
  148. data/spec/unit/command/generator_commands/app_spec.rb +6 -6
  149. data/spec/unit/command/generator_commands/attribute_spec.rb +3 -4
  150. data/spec/unit/command/generator_commands/base_spec.rb +46 -46
  151. data/spec/unit/command/generator_commands/build_cookbook_spec.rb +50 -16
  152. data/spec/unit/command/generator_commands/chef_exts/generator_desc_resource_spec.rb +9 -9
  153. data/spec/unit/command/generator_commands/chef_exts/recipe_dsl_ext_spec.rb +16 -16
  154. data/spec/unit/command/generator_commands/cookbook_file_spec.rb +3 -4
  155. data/spec/unit/command/generator_commands/cookbook_spec.rb +23 -26
  156. data/spec/unit/command/generator_commands/generator_generator_spec.rb +4 -6
  157. data/spec/unit/command/generator_commands/lwrp_spec.rb +3 -4
  158. data/spec/unit/command/generator_commands/policyfile_spec.rb +3 -5
  159. data/spec/unit/command/generator_commands/recipe_spec.rb +4 -4
  160. data/spec/unit/command/generator_commands/repo_spec.rb +11 -11
  161. data/spec/unit/command/generator_commands/template_spec.rb +3 -4
  162. data/spec/unit/command/install_spec.rb +6 -6
  163. data/spec/unit/command/provision_spec.rb +27 -30
  164. data/spec/unit/command/push_archive_spec.rb +3 -3
  165. data/spec/unit/command/push_spec.rb +5 -6
  166. data/spec/unit/command/shell_init_spec.rb +17 -19
  167. data/spec/unit/command/show_policy_spec.rb +11 -12
  168. data/spec/unit/command/undelete_spec.rb +12 -14
  169. data/spec/unit/command/update_spec.rb +8 -8
  170. data/spec/unit/command/verify_spec.rb +10 -10
  171. data/spec/unit/commands_map_spec.rb +4 -4
  172. data/spec/unit/component_test_spec.rb +3 -3
  173. data/spec/unit/configurable_spec.rb +7 -7
  174. data/spec/unit/cookbook_metadata_spec.rb +5 -7
  175. data/spec/unit/cookbook_profiler/git_spec.rb +6 -7
  176. data/spec/unit/cookbook_profiler/identifiers_spec.rb +5 -7
  177. data/spec/unit/fixtures/command/cli_test_command.rb +2 -2
  178. data/spec/unit/fixtures/configurable/test_configurable.rb +1 -1
  179. data/spec/unit/fixtures/cookbooks_api/update_fixtures.rb +13 -16
  180. data/spec/unit/fixtures/eg_omnibus_dir/valid/embedded/apps/berkshelf/verify_me +1 -1
  181. data/spec/unit/gemfile_util_spec.rb +4 -4
  182. data/spec/unit/generator_spec.rb +10 -10
  183. data/spec/unit/helpers_spec.rb +31 -31
  184. data/spec/unit/pager_spec.rb +5 -7
  185. data/spec/unit/policyfile/chef_repo_cookbook_source_spec.rb +11 -11
  186. data/spec/unit/policyfile/chef_server_cookbook_source_spec.rb +13 -13
  187. data/spec/unit/policyfile/community_cookbook_source_spec.rb +3 -4
  188. data/spec/unit/policyfile/comparison_base_spec.rb +3 -6
  189. data/spec/unit/policyfile/cookbook_location_specification_spec.rb +3 -3
  190. data/spec/unit/policyfile/cookbook_locks_spec.rb +7 -9
  191. data/spec/unit/policyfile/delivery_supermarket_source_spec.rb +16 -17
  192. data/spec/unit/policyfile/differ_spec.rb +4 -5
  193. data/spec/unit/policyfile/lister_spec.rb +31 -35
  194. data/spec/unit/policyfile/null_cookbook_source_spec.rb +2 -3
  195. data/spec/unit/policyfile/read_cookbook_for_compat_mode_upload_spec.rb +3 -3
  196. data/spec/unit/policyfile/reports/install_spec.rb +4 -5
  197. data/spec/unit/policyfile/reports/upload_spec.rb +4 -6
  198. data/spec/unit/policyfile/solution_dependencies_spec.rb +13 -13
  199. data/spec/unit/policyfile/source_uri_spec.rb +5 -5
  200. data/spec/unit/policyfile/storage_config_spec.rb +3 -7
  201. data/spec/unit/policyfile/undo_record_spec.rb +21 -23
  202. data/spec/unit/policyfile/undo_stack_spec.rb +5 -6
  203. data/spec/unit/policyfile/uploader_spec.rb +73 -75
  204. data/spec/unit/policyfile_demands_spec.rb +93 -99
  205. data/spec/unit/policyfile_evaluation_spec.rb +14 -14
  206. data/spec/unit/policyfile_lock_build_spec.rb +64 -65
  207. data/spec/unit/policyfile_lock_install_spec.rb +5 -6
  208. data/spec/unit/policyfile_lock_serialization_spec.rb +14 -15
  209. data/spec/unit/policyfile_lock_validation_spec.rb +17 -20
  210. data/spec/unit/policyfile_services/clean_policies_spec.rb +16 -16
  211. data/spec/unit/policyfile_services/clean_policy_cookbooks_spec.rb +26 -29
  212. data/spec/unit/policyfile_services/export_repo_spec.rb +3 -6
  213. data/spec/unit/policyfile_services/install_spec.rb +5 -7
  214. data/spec/unit/policyfile_services/push_archive_spec.rb +4 -8
  215. data/spec/unit/policyfile_services/push_spec.rb +3 -3
  216. data/spec/unit/policyfile_services/rm_policy_group_spec.rb +16 -20
  217. data/spec/unit/policyfile_services/rm_policy_spec.rb +14 -17
  218. data/spec/unit/policyfile_services/show_policy_spec.rb +78 -80
  219. data/spec/unit/policyfile_services/undelete_spec.rb +5 -7
  220. data/spec/unit/policyfile_services/update_attributes_spec.rb +34 -35
  221. data/spec/unit/service_exception_inspectors/base_spec.rb +2 -4
  222. data/spec/unit/service_exception_inspectors/http_spec.rb +9 -11
  223. data/spec/unit/shell_out_spec.rb +2 -2
  224. data/spec/unit/tasks/helpers_spec.rb +2 -2
  225. data/tasks/bin/bundle-platform +1 -1
  226. data/tasks/bundle_util.rb +1 -1
  227. data/tasks/dependencies.rb +21 -7
  228. data/tasks/gemfile_util.rb +1 -1
  229. data/tasks/helpers.rb +2 -2
  230. data/tasks/version.rb +26 -1
  231. data/version_policy.rb +6 -6
  232. metadata +3 -3
@@ -15,10 +15,10 @@
15
15
  # limitations under the License.
16
16
  #
17
17
 
18
- require 'chef-dk/command/base'
19
- require 'chef-dk/ui'
20
- require 'chef-dk/policyfile_services/push_archive'
21
- require 'chef-dk/configurable'
18
+ require "chef-dk/command/base"
19
+ require "chef-dk/ui"
20
+ require "chef-dk/policyfile_services/push_archive"
21
+ require "chef-dk/configurable"
22
22
 
23
23
  module ChefDK
24
24
  module Command
@@ -123,4 +123,3 @@ E
123
123
  end
124
124
  end
125
125
  end
126
-
@@ -15,12 +15,12 @@
15
15
  # limitations under the License.
16
16
  #
17
17
 
18
- require 'erb'
18
+ require "erb"
19
19
 
20
- require 'chef-dk/commands_map'
21
- require 'chef-dk/builtin_commands'
22
- require 'chef-dk/command/base'
23
- require 'mixlib/shellout'
20
+ require "chef-dk/commands_map"
21
+ require "chef-dk/builtin_commands"
22
+ require "chef-dk/command/base"
23
+ require "mixlib/shellout"
24
24
 
25
25
  module ChefDK
26
26
 
@@ -41,7 +41,7 @@ module ChefDK
41
41
  module Command
42
42
  class ShellInit < ChefDK::Command::Base
43
43
 
44
- SUPPORTED_SHELLS = %w[ bash fish zsh sh powershell posh].map(&:freeze).freeze
44
+ SUPPORTED_SHELLS = %w{ bash fish zsh sh powershell posh}.map(&:freeze).freeze
45
45
 
46
46
  banner(<<-HELP)
47
47
  Usage: chef shell-init
@@ -117,7 +117,7 @@ HELP
117
117
  def completion_for(shell)
118
118
  return "" unless (completion_template_basename = completion_template_for(shell))
119
119
  completion_template_path = expand_completion_template_path(completion_template_basename)
120
- erb = ERB.new(File.read(completion_template_path), nil, '-')
120
+ erb = ERB.new(File.read(completion_template_path), nil, "-")
121
121
  context_binding = shell_completion_template_context.get_binding
122
122
  erb.result(context_binding)
123
123
  end
@@ -134,7 +134,6 @@ HELP
134
134
  # Pull requests accepted!
135
135
  nil
136
136
  end
137
-
138
137
  end
139
138
 
140
139
  def expand_completion_template_path(basename)
@@ -147,17 +146,17 @@ HELP
147
146
 
148
147
  def export(shell, var, val)
149
148
  case shell
150
- when 'sh', 'bash', 'zsh'
149
+ when "sh", "bash", "zsh"
151
150
  posix_shell_export(var, val)
152
- when 'fish'
151
+ when "fish"
153
152
  fish_shell_export(var, val)
154
- when 'powershell', 'posh'
153
+ when "powershell", "posh"
155
154
  powershell_export(var, val)
156
155
  end
157
156
  end
158
157
 
159
158
  def posix_shell_export(var, val)
160
- emit_shell_cmd(%Q(export #{var}="#{val}"))
159
+ emit_shell_cmd(%Q{export #{var}="#{val}"})
161
160
  end
162
161
 
163
162
  def fish_shell_export(var, val)
@@ -165,15 +164,15 @@ HELP
165
164
  # divided by spaces (instead of colons). We also send STDERR to
166
165
  # /dev/null to avoid Fish's helpful warnings about nonexistent
167
166
  # PATH elements.
168
- if var == 'PATH'
169
- emit_shell_cmd(%Q(set -gx #{var} "#{val.split(':').join('" "')}" 2>/dev/null;))
167
+ if var == "PATH"
168
+ emit_shell_cmd(%Q{set -gx #{var} "#{val.split(':').join('" "')}" 2>/dev/null;})
170
169
  else
171
- emit_shell_cmd(%Q(set -gx #{var} "#{val}";))
170
+ emit_shell_cmd(%Q{set -gx #{var} "#{val}";})
172
171
  end
173
172
  end
174
173
 
175
174
  def powershell_export(var, val)
176
- emit_shell_cmd(%Q($env:#{var}="#{val}"))
175
+ emit_shell_cmd(%Q{$env:#{var}="#{val}"})
177
176
  end
178
177
  end
179
178
  end
@@ -15,16 +15,15 @@
15
15
  # limitations under the License.
16
16
  #
17
17
 
18
- require 'chef-dk/command/base'
19
- require 'chef-dk/ui'
20
- require 'chef-dk/configurable'
21
- require 'chef-dk/policyfile/lister'
22
- require 'chef-dk/policyfile_services/show_policy'
18
+ require "chef-dk/command/base"
19
+ require "chef-dk/ui"
20
+ require "chef-dk/configurable"
21
+ require "chef-dk/policyfile/lister"
22
+ require "chef-dk/policyfile_services/show_policy"
23
23
 
24
24
  module ChefDK
25
25
  module Command
26
26
 
27
-
28
27
  class ShowPolicy < Base
29
28
 
30
29
  banner(<<-BANNER)
@@ -162,4 +161,3 @@ BANNER
162
161
  end
163
162
  end
164
163
  end
165
-
@@ -15,10 +15,10 @@
15
15
  # limitations under the License.
16
16
  #
17
17
 
18
- require 'chef-dk/command/base'
19
- require 'chef-dk/ui'
20
- require 'chef-dk/configurable'
21
- require 'chef-dk/policyfile_services/undelete'
18
+ require "chef-dk/command/base"
19
+ require "chef-dk/ui"
20
+ require "chef-dk/configurable"
21
+ require "chef-dk/policyfile_services/undelete"
22
22
 
23
23
  module ChefDK
24
24
  module Command
@@ -102,8 +102,8 @@ BANNER
102
102
  def undelete_service
103
103
  @undelete_service ||=
104
104
  PolicyfileServices::Undelete.new(config: chef_config,
105
- ui: ui,
106
- undo_record_id: undo_record_id)
105
+ ui: ui,
106
+ undo_record_id: undo_record_id)
107
107
  end
108
108
 
109
109
  def debug?
@@ -152,4 +152,3 @@ BANNER
152
152
  end
153
153
  end
154
154
  end
155
-
@@ -15,11 +15,11 @@
15
15
  # limitations under the License.
16
16
  #
17
17
 
18
- require 'chef-dk/command/base'
19
- require 'chef-dk/ui'
20
- require 'chef-dk/policyfile_services/install'
21
- require 'chef-dk/policyfile_services/update_attributes'
22
- require 'chef-dk/configurable'
18
+ require "chef-dk/command/base"
19
+ require "chef-dk/ui"
20
+ require "chef-dk/policyfile_services/install"
21
+ require "chef-dk/policyfile_services/update_attributes"
22
+ require "chef-dk/configurable"
23
23
 
24
24
  module ChefDK
25
25
  module Command
@@ -145,4 +145,3 @@ BANNER
145
145
  end
146
146
  end
147
147
  end
148
-
@@ -15,9 +15,9 @@
15
15
  # limitations under the License.
16
16
  #
17
17
 
18
- require 'chef-dk/command/base'
19
- require 'chef-dk/exceptions'
20
- require 'chef-dk/component_test'
18
+ require "chef-dk/command/base"
19
+ require "chef-dk/exceptions"
20
+ require "chef-dk/component_test"
21
21
 
22
22
  module ChefDK
23
23
  module Command
@@ -44,7 +44,7 @@ module ChefDK
44
44
  :description => "Display all test output, not just failing tests"
45
45
 
46
46
  class << self
47
- def add_component(name, _delete_me=nil)
47
+ def add_component(name, _delete_me = nil)
48
48
  component = ComponentTest.new(name)
49
49
  yield component if block_given? #delete this conditional
50
50
  component_map[name] = component
@@ -92,7 +92,7 @@ module ChefDK
92
92
 
93
93
  c.smoke_test do
94
94
  tmpdir do |cwd|
95
- FileUtils.touch(File.join(cwd,"Berksfile"))
95
+ FileUtils.touch(File.join(cwd, "Berksfile"))
96
96
  sh("#{bin("berks")} install", cwd: cwd)
97
97
  end
98
98
  end
@@ -215,7 +215,7 @@ KITCHEN_YML
215
215
  def format_gem_failure(name, versions)
216
216
  <<-EOS
217
217
  #{name} has multiple versions installed:
218
- #{versions.sort.map { |gv| " #{gv.to_s}" }.join("\n")}
218
+ #{versions.sort.map { |gv| " #{gv}" }.join("\n")}
219
219
  EOS
220
220
  end
221
221
 
@@ -237,7 +237,7 @@ EOS
237
237
  # ------------
238
238
  # load the core gem and all of the drivers (ignoring versions).
239
239
  require "chef/provisioning"
240
- drivers.map { |d| "#{d.gsub('-', '/')}_driver" }.each do |driver_gem|
240
+ drivers.map { |d| "#{d.tr('-', '/')}_driver" }.each do |driver_gem|
241
241
  begin
242
242
  begin
243
243
  require driver_gem
@@ -258,18 +258,18 @@ EOS
258
258
 
259
259
  # write out the gemfile for this chef-provisioning version, and see if Bundler can make it go.
260
260
  with_file(File.join(cwd, gemfile)) do |f|
261
- f.puts %Q(gem "chef-provisioning", "= #{provisioning_version}")
262
- drivers.each { |d| f.puts %Q(gem "#{d}") }
261
+ f.puts %Q{gem "chef-provisioning", "= #{provisioning_version}"}
262
+ drivers.each { |d| f.puts %Q{gem "#{d}"} }
263
263
  end
264
264
 
265
265
  result = bundle_install_mutex.synchronize do
266
- sh("#{embedded_bin("bundle")} install --local --quiet", cwd: cwd, env: {"BUNDLE_GEMFILE" => gemfile })
266
+ sh("#{embedded_bin("bundle")} install --local --quiet", cwd: cwd, env: { "BUNDLE_GEMFILE" => gemfile })
267
267
  end
268
268
 
269
269
  if result.exitstatus != 0
270
270
  failures << result.stdout
271
271
  end
272
- end # end provisioning versions.
272
+ end # end provisioning versions.
273
273
 
274
274
  failures.each { |fail| puts fail }
275
275
 
@@ -281,7 +281,6 @@ EOS
281
281
  end
282
282
  end
283
283
 
284
-
285
284
  add_component "chefspec" do |c|
286
285
  c.gem_base_dir = "chefspec"
287
286
  c.unit_test do
@@ -329,7 +328,7 @@ require 'spec_helper'
329
328
  c.gem_base_dir = "rubocop"
330
329
  c.smoke_test do
331
330
  tmpdir do |cwd|
332
- with_file(File.join(cwd, 'foo.rb')) do |f|
331
+ with_file(File.join(cwd, "foo.rb")) do |f|
333
332
  f.write <<-EOF
334
333
  def foo
335
334
  puts 'foo'
@@ -348,7 +347,7 @@ end
348
347
 
349
348
  add_component "knife-spork" do |c|
350
349
  c.gem_base_dir = "knife-spork"
351
- c.smoke_test { sh("#{bin("knife")} spork info")}
350
+ c.smoke_test { sh("#{bin("knife")} spork info") }
352
351
  end
353
352
 
354
353
  add_component "kitchen-vagrant" do |c|
@@ -468,34 +467,34 @@ end
468
467
  add_component "git" do |c|
469
468
  c.base_dir = "embedded/bin"
470
469
  c.smoke_test do
471
- tmpdir do |cwd|
470
+ tmpdir do |cwd|
472
471
  sh!("#{embedded_bin("git")} config -l")
473
- sh!("#{embedded_bin("git")} clone https://github.com/chef/chef-provisioning", cwd: cwd)
474
- end
472
+ sh!("#{embedded_bin("git")} clone https://github.com/chef/chef-provisioning", cwd: cwd)
473
+ end
475
474
  end
476
475
  end
477
476
  else
478
477
  add_component "git" do |c|
479
478
  c.base_dir = "gitbin"
480
479
  c.smoke_test do
481
- tmpdir do |cwd|
480
+ tmpdir do |cwd|
482
481
  sh!("#{File.join(omnibus_root, "gitbin", "git")} config -l")
483
- sh!("#{File.join(omnibus_root, "gitbin", "git")} clone https://github.com/chef/chef-provisioning", cwd: cwd)
482
+ sh!("#{File.join(omnibus_root, "gitbin", "git")} clone https://github.com/chef/chef-provisioning", cwd: cwd)
484
483
 
485
- # If /usr/bin/git is a symlink, fail the test.
486
- # Note that this test cannot go last because it does not return a
487
- # Mixlib::Shellout object in the windows case, which will break the tests.
484
+ # If /usr/bin/git is a symlink, fail the test.
485
+ # Note that this test cannot go last because it does not return a
486
+ # Mixlib::Shellout object in the windows case, which will break the tests.
488
487
  failure_str = "#{nix_platform_native_bin_dir}/git contains a symlink which might mean we accidentally overwrote system git via chefdk."
489
488
  result = sh("readlink #{nix_platform_native_bin_dir}/git")
490
489
  # if a symlink was found, test to see if it is in a chefdk install
491
490
  if result.status.exitstatus == 0
492
- raise failure_str if result.stdout =~ /chefdk/
491
+ raise failure_str if result.stdout =~ /chefdk/
493
492
  end
494
493
 
495
- # <chef_dk>/bin/ should not contain a git binary.
496
- failure_str = "`<chef_dk>/bin/git --help` should fail as git should be installed in gitbin"
497
- fail_if_exit_zero("#{bin("git")} --help", failure_str)
498
- end
494
+ # <chef_dk>/bin/ should not contain a git binary.
495
+ failure_str = "`<chef_dk>/bin/git --help` should fail as git should be installed in gitbin"
496
+ fail_if_exit_zero("#{bin("git")} --help", failure_str)
497
+ end
499
498
  end
500
499
  end
501
500
  end
@@ -520,7 +519,7 @@ end
520
519
  c.gem_base_dir = "chef-sugar"
521
520
  c.smoke_test do
522
521
  tmpdir do |cwd|
523
- with_file(File.join(cwd, 'foo.rb')) do |f|
522
+ with_file(File.join(cwd, "foo.rb")) do |f|
524
523
  f.write <<-EOF
525
524
  require 'chef/sugar'
526
525
  log 'something' do
@@ -593,7 +592,7 @@ end
593
592
  results << component.run_integration_test
594
593
  end
595
594
 
596
- if results.any? {|r| r.exitstatus != 0 }
595
+ if results.any? { |r| r.exitstatus != 0 }
597
596
  component_status = 1
598
597
  @verification_status = 1
599
598
  else
@@ -603,7 +602,7 @@ end
603
602
  {
604
603
  :component => component,
605
604
  :results => results,
606
- :component_status => component_status
605
+ :component_status => component_status,
607
606
  }
608
607
  end
609
608
 
@@ -612,7 +611,7 @@ end
612
611
  end
613
612
 
614
613
  def wait_for_tests
615
- while !verification_threads.empty?
614
+ until verification_threads.empty?
616
615
  verification_threads.each do |t|
617
616
  if t.join(1)
618
617
  verification_threads.delete t
@@ -74,7 +74,7 @@ module ChefDK
74
74
 
75
75
  def builtin(name, constant_name, require_path: NULL_ARG, desc: "")
76
76
  if null?(require_path)
77
- snake_case_path = name.gsub("-", "_")
77
+ snake_case_path = name.tr("-", "_")
78
78
  require_path = "chef-dk/command/#{snake_case_path}"
79
79
  end
80
80
  command_specs[name] = CommandSpec.new(name, constant_name, require_path, desc)
@@ -111,5 +111,3 @@ module ChefDK
111
111
  yield commands_map
112
112
  end
113
113
  end
114
-
115
-
@@ -15,8 +15,8 @@
15
15
  # limitations under the License.
16
16
  #
17
17
 
18
- require 'chef-dk/exceptions'
19
- require 'chef-dk/helpers'
18
+ require "chef-dk/exceptions"
19
+ require "chef-dk/helpers"
20
20
 
21
21
  # https://github.com/bundler/bundler/issues/4368
22
22
  # As of rubygems 2.6.2, Rubygems will call Bundler::SpecSet#size, which does
@@ -107,7 +107,7 @@ module ChefDK
107
107
  File.join(omnibus_embedded_bin_dir, binary)
108
108
  end
109
109
 
110
- def sh(command, options={})
110
+ def sh(command, options = {})
111
111
  combined_opts = default_command_options.merge(options)
112
112
 
113
113
  # Env is a hash, so it needs to be merged separately
@@ -132,15 +132,15 @@ module ChefDK
132
132
  # otherwise, if it returns non-zero or doesn't exist,
133
133
  # return a passing command so that the test parser doesn't
134
134
  # crash.
135
- def fail_if_exit_zero(cmd_string, failure_string='')
135
+ def fail_if_exit_zero(cmd_string, failure_string = "")
136
136
  result = sh(cmd_string)
137
137
  if result.status.exitstatus == 0
138
- raise failure_string
138
+ raise failure_string
139
139
  else
140
- sh('true')
140
+ sh("true")
141
141
  end
142
142
  rescue Errno::ENOENT
143
- sh('true')
143
+ sh("true")
144
144
  end
145
145
 
146
146
  def nix_platform_native_bin_dir
@@ -153,7 +153,7 @@ module ChefDK
153
153
  end
154
154
  end
155
155
 
156
- def run_in_tmpdir(command, options={})
156
+ def run_in_tmpdir(command, options = {})
157
157
  tmpdir do |dir|
158
158
  options[:cwd] = dir
159
159
  sh(command, options)
@@ -180,9 +180,9 @@ module ChefDK
180
180
  :env => {
181
181
  # Add the embedded/bin to the PATH so that bundle executable can
182
182
  # be found while running the tests.
183
- path_variable_key => omnibus_path
183
+ path_variable_key => omnibus_path,
184
184
  },
185
- :timeout => 3600
185
+ :timeout => 3600,
186
186
  }
187
187
  end
188
188
 
@@ -203,7 +203,7 @@ module ChefDK
203
203
  # is a prerelease version. ">= 0.a" is how we ask for a prerelease version, because a
204
204
  # prerelease version is defined as "any version with a letter in it."
205
205
  gem = Gem::Specification.find_by_name(@gem_name_for_base_dir)
206
- gem ||= Gem::Specification.find_by_name(@gem_name_for_base_dir, '>= 0.a')
206
+ gem ||= Gem::Specification.find_by_name(@gem_name_for_base_dir, ">= 0.a")
207
207
  gem.gem_dir
208
208
  end
209
209
 
@@ -212,11 +212,11 @@ module ChefDK
212
212
  end
213
213
 
214
214
  def omnibus_root
215
- @omnibus_root or raise "`omnibus_root` must be set before running tests"
215
+ @omnibus_root || raise("`omnibus_root` must be set before running tests")
216
216
  end
217
217
 
218
218
  def omnibus_path
219
- [omnibus_bin_dir, omnibus_embedded_bin_dir, ENV['PATH']].join(File::PATH_SEPARATOR)
219
+ [omnibus_bin_dir, omnibus_embedded_bin_dir, ENV["PATH"]].join(File::PATH_SEPARATOR)
220
220
  end
221
221
 
222
222
  def path_variable_key