puppet 6.0.10 → 6.1.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of puppet might be problematic. Click here for more details.

Files changed (748) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -0
  3. data/Gemfile.lock +31 -27
  4. data/Guardfile.example +76 -0
  5. data/LICENSE +189 -4
  6. data/MAINTAINERS +47 -0
  7. data/README.md +3 -3
  8. data/lib/hiera/scope.rb +0 -7
  9. data/lib/puppet.rb +6 -5
  10. data/lib/puppet/application.rb +3 -3
  11. data/lib/puppet/application/cert.rb +2 -2
  12. data/lib/puppet/application/device.rb +83 -109
  13. data/lib/puppet/application/filebucket.rb +1 -10
  14. data/lib/puppet/application/ssl.rb +0 -2
  15. data/lib/puppet/configurer.rb +9 -10
  16. data/lib/puppet/confine/false.rb +1 -7
  17. data/lib/puppet/confine/true.rb +1 -7
  18. data/lib/puppet/defaults.rb +39 -51
  19. data/lib/puppet/forge.rb +1 -4
  20. data/lib/puppet/functions/abs.rb +1 -1
  21. data/lib/puppet/functions/call.rb +1 -2
  22. data/lib/puppet/functions/new.rb +1 -1
  23. data/lib/puppet/indirector/request.rb +15 -26
  24. data/lib/puppet/network/http/connection.rb +12 -32
  25. data/lib/puppet/network/http/factory.rb +0 -5
  26. data/lib/puppet/pal/catalog_compiler.rb +96 -0
  27. data/lib/puppet/pal/compiler.rb +221 -0
  28. data/lib/puppet/pal/function_signature.rb +52 -0
  29. data/lib/puppet/pal/json_catalog_encoder.rb +67 -0
  30. data/lib/puppet/pal/pal_api.rb +15 -0
  31. data/lib/puppet/pal/pal_impl.rb +523 -0
  32. data/lib/puppet/pal/plan_signature.rb +71 -0
  33. data/lib/puppet/pal/script_compiler.rb +71 -0
  34. data/lib/puppet/pal/task_signature.rb +58 -0
  35. data/lib/puppet/parser/functions/generate.rb +7 -6
  36. data/lib/puppet/plugins/configuration.rb +5 -1
  37. data/lib/puppet/pops/evaluator/evaluator_impl.rb +5 -1
  38. data/lib/puppet/pops/evaluator/external_syntax_support.rb +3 -3
  39. data/lib/puppet/pops/issues.rb +0 -4
  40. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +4 -60
  41. data/lib/puppet/pops/model/factory.rb +4 -38
  42. data/lib/puppet/pops/model/pn_transformer.rb +0 -5
  43. data/lib/puppet/pops/parser/egrammar.ra +2 -2
  44. data/lib/puppet/pops/parser/heredoc_support.rb +7 -17
  45. data/lib/puppet/pops/parser/lexer2.rb +1 -6
  46. data/lib/puppet/pops/parser/locator.rb +86 -106
  47. data/lib/puppet/pops/parser/parser_support.rb +2 -11
  48. data/lib/puppet/pops/types/string_converter.rb +7 -2
  49. data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -1
  50. data/lib/puppet/pops/types/types.rb +3 -5
  51. data/lib/puppet/pops/validation/checker4_0.rb +13 -0
  52. data/lib/puppet/provider.rb +2 -1
  53. data/lib/puppet/provider/exec.rb +6 -1
  54. data/lib/puppet/provider/file/windows.rb +1 -49
  55. data/lib/puppet/provider/group/windows_adsi.rb +1 -4
  56. data/lib/puppet/provider/package.rb +0 -2
  57. data/lib/puppet/provider/package/dpkg.rb +2 -15
  58. data/lib/puppet/provider/package/gem.rb +42 -102
  59. data/lib/puppet/provider/package/pip.rb +111 -135
  60. data/lib/puppet/provider/package/pip3.rb +1 -1
  61. data/lib/puppet/provider/package/pkgng.rb +37 -21
  62. data/lib/puppet/provider/package/puppet_gem.rb +1 -1
  63. data/lib/puppet/provider/package/rpm.rb +16 -27
  64. data/lib/puppet/provider/package/windows.rb +1 -5
  65. data/lib/puppet/provider/package/yum.rb +1 -2
  66. data/lib/puppet/provider/service/systemd.rb +17 -0
  67. data/lib/puppet/provider/service/upstart.rb +5 -17
  68. data/lib/puppet/provider/service/windows.rb +8 -3
  69. data/lib/puppet/provider/user/directoryservice.rb +4 -16
  70. data/lib/puppet/provider/user/useradd.rb +13 -16
  71. data/lib/puppet/resource.rb +3 -1
  72. data/lib/puppet/rest/client.rb +83 -0
  73. data/lib/puppet/rest/route.rb +1 -1
  74. data/lib/puppet/settings.rb +5 -10
  75. data/lib/puppet/settings/server_list_setting.rb +0 -9
  76. data/lib/puppet/ssl/host.rb +11 -0
  77. data/lib/puppet/ssl/validator/default_validator.rb +0 -31
  78. data/lib/puppet/syntax_checkers/epp.rb +34 -0
  79. data/lib/puppet/syntax_checkers/pp.rb +34 -0
  80. data/lib/puppet/transaction.rb +7 -12
  81. data/lib/puppet/transaction/event_manager.rb +5 -1
  82. data/lib/puppet/transaction/resource_harness.rb +0 -1
  83. data/lib/puppet/type.rb +6 -0
  84. data/lib/puppet/type/exec.rb +5 -27
  85. data/lib/puppet/type/file/mode.rb +1 -6
  86. data/lib/puppet/type/file/source.rb +1 -0
  87. data/lib/puppet/type/filebucket.rb +8 -12
  88. data/lib/puppet/type/package.rb +11 -44
  89. data/lib/puppet/type/schedule.rb +0 -4
  90. data/lib/puppet/type/service.rb +12 -0
  91. data/lib/puppet/type/user.rb +1 -1
  92. data/lib/puppet/util/command_line.rb +1 -5
  93. data/lib/puppet/util/connection.rb +6 -15
  94. data/lib/puppet/util/http_proxy.rb +2 -3
  95. data/lib/puppet/util/log.rb +2 -7
  96. data/lib/puppet/util/pidlock.rb +1 -15
  97. data/lib/puppet/util/windows/process.rb +5 -73
  98. data/lib/puppet/util/windows/registry.rb +1 -7
  99. data/lib/puppet/util/windows/security.rb +8 -29
  100. data/lib/puppet/util/windows/service.rb +33 -27
  101. data/lib/puppet/util/windows/user.rb +4 -14
  102. data/lib/puppet/version.rb +1 -1
  103. data/lib/puppet_pal.rb +5 -1132
  104. data/locales/ja/puppet.po +297 -363
  105. data/locales/puppet.pot +445 -517
  106. data/man/man5/puppet.conf.5 +12 -20
  107. data/man/man8/puppet-agent.8 +1 -1
  108. data/man/man8/puppet-apply.8 +1 -1
  109. data/man/man8/puppet-catalog.8 +1 -1
  110. data/man/man8/puppet-config.8 +1 -1
  111. data/man/man8/puppet-describe.8 +1 -1
  112. data/man/man8/puppet-device.8 +1 -1
  113. data/man/man8/puppet-doc.8 +1 -1
  114. data/man/man8/puppet-epp.8 +1 -1
  115. data/man/man8/puppet-facts.8 +1 -1
  116. data/man/man8/puppet-filebucket.8 +2 -6
  117. data/man/man8/puppet-generate.8 +1 -1
  118. data/man/man8/puppet-help.8 +1 -1
  119. data/man/man8/puppet-key.8 +1 -1
  120. data/man/man8/puppet-lookup.8 +1 -1
  121. data/man/man8/puppet-man.8 +1 -1
  122. data/man/man8/puppet-module.8 +1 -1
  123. data/man/man8/puppet-node.8 +1 -1
  124. data/man/man8/puppet-parser.8 +1 -1
  125. data/man/man8/puppet-plugin.8 +1 -1
  126. data/man/man8/puppet-report.8 +1 -1
  127. data/man/man8/puppet-resource.8 +1 -1
  128. data/man/man8/puppet-script.8 +1 -1
  129. data/man/man8/puppet-ssl.8 +1 -1
  130. data/man/man8/puppet-status.8 +1 -1
  131. data/man/man8/puppet.8 +2 -2
  132. data/spec/fixtures/unit/provider/package/pkgng/pkg.query +7 -1
  133. data/spec/fixtures/unit/provider/package/pkgng/pkg.query.zsh +1 -0
  134. data/spec/integration/agent/logging_spec.rb +7 -5
  135. data/spec/integration/application/apply_spec.rb +16 -18
  136. data/spec/integration/application/doc_spec.rb +2 -1
  137. data/spec/integration/application/lookup_spec.rb +5 -5
  138. data/spec/integration/configurer_spec.rb +6 -5
  139. data/spec/integration/defaults_spec.rb +6 -5
  140. data/spec/integration/directory_environments_spec.rb +1 -1
  141. data/spec/integration/faces/config_spec.rb +4 -3
  142. data/spec/integration/faces/documentation_spec.rb +1 -0
  143. data/spec/integration/faces/plugin_spec.rb +1 -1
  144. data/spec/integration/file_bucket/file_spec.rb +4 -2
  145. data/spec/integration/file_serving/content_spec.rb +1 -0
  146. data/spec/integration/file_serving/fileset_spec.rb +1 -0
  147. data/spec/integration/file_serving/metadata_spec.rb +1 -0
  148. data/spec/integration/file_serving/terminus_helper_spec.rb +1 -0
  149. data/spec/integration/indirector/catalog/compiler_spec.rb +11 -10
  150. data/spec/integration/indirector/direct_file_server_spec.rb +1 -1
  151. data/spec/integration/indirector/facts/facter_spec.rb +5 -4
  152. data/spec/integration/indirector/file_content/file_server_spec.rb +8 -7
  153. data/spec/integration/indirector/file_metadata/file_server_spec.rb +8 -7
  154. data/spec/integration/network/authconfig_spec.rb +24 -23
  155. data/spec/integration/network/formats_spec.rb +1 -0
  156. data/spec/integration/node/environment_spec.rb +1 -0
  157. data/spec/integration/node/facts_spec.rb +10 -9
  158. data/spec/integration/node_spec.rb +7 -6
  159. data/spec/integration/parser/catalog_spec.rb +5 -1
  160. data/spec/integration/parser/collection_spec.rb +2 -1
  161. data/spec/integration/parser/compiler_spec.rb +6 -6
  162. data/spec/integration/parser/scope_spec.rb +1 -1
  163. data/spec/integration/parser/undef_param_spec.rb +1 -1
  164. data/spec/integration/provider/service/init_spec.rb +5 -4
  165. data/spec/integration/provider/service/systemd_spec.rb +2 -0
  166. data/spec/integration/provider/service/windows_spec.rb +2 -1
  167. data/spec/integration/reference/providers_spec.rb +2 -1
  168. data/spec/integration/reports_spec.rb +2 -1
  169. data/spec/integration/resource/catalog_spec.rb +17 -14
  170. data/spec/integration/resource/type_collection_spec.rb +5 -4
  171. data/spec/integration/ssl/certificate_request_spec.rb +1 -0
  172. data/spec/integration/ssl/host_spec.rb +2 -1
  173. data/spec/integration/ssl/key_spec.rb +1 -0
  174. data/spec/integration/test/test_helper_spec.rb +1 -0
  175. data/spec/integration/transaction/report_spec.rb +11 -6
  176. data/spec/integration/transaction_spec.rb +19 -18
  177. data/spec/integration/type/exec_spec.rb +1 -0
  178. data/spec/integration/type/file_spec.rb +33 -13
  179. data/spec/integration/type/package_spec.rb +24 -20
  180. data/spec/integration/type/tidy_spec.rb +2 -1
  181. data/spec/integration/type_spec.rb +1 -0
  182. data/spec/integration/util/autoload_spec.rb +2 -1
  183. data/spec/integration/util/rdoc/parser_spec.rb +1 -0
  184. data/spec/integration/util/settings_spec.rb +1 -0
  185. data/spec/integration/util/windows/adsi_spec.rb +5 -3
  186. data/spec/integration/util/windows/principal_spec.rb +1 -0
  187. data/spec/integration/util/windows/process_spec.rb +6 -4
  188. data/spec/integration/util/windows/registry_spec.rb +51 -93
  189. data/spec/integration/util/windows/security_spec.rb +4 -2
  190. data/spec/integration/util/windows/user_spec.rb +20 -37
  191. data/spec/integration/util_spec.rb +7 -4
  192. data/spec/lib/puppet_spec/compiler.rb +1 -1
  193. data/spec/lib/puppet_spec/files.rb +1 -0
  194. data/spec/lib/puppet_spec/module_tool/shared_functions.rb +1 -1
  195. data/spec/lib/puppet_spec/scope.rb +2 -1
  196. data/spec/shared_behaviours/all_parsedfile_providers.rb +1 -1
  197. data/spec/shared_behaviours/file_server_terminus.rb +9 -8
  198. data/spec/shared_behaviours/file_serving.rb +8 -6
  199. data/spec/shared_behaviours/file_serving_model.rb +5 -3
  200. data/spec/shared_behaviours/hiera_indirections.rb +4 -3
  201. data/spec/shared_behaviours/iterative_functions.rb +1 -0
  202. data/spec/shared_behaviours/memory_terminus.rb +2 -2
  203. data/spec/shared_examples/rhel_package_provider.rb +70 -112
  204. data/spec/spec_helper.rb +2 -11
  205. data/spec/unit/agent/disabler_spec.rb +5 -4
  206. data/spec/unit/agent/locker_spec.rb +13 -12
  207. data/spec/unit/agent_spec.rb +85 -80
  208. data/spec/unit/application/agent_spec.rb +93 -88
  209. data/spec/unit/application/apply_spec.rb +83 -82
  210. data/spec/unit/application/config_spec.rb +1 -0
  211. data/spec/unit/application/describe_spec.rb +7 -6
  212. data/spec/unit/application/device_spec.rb +419 -395
  213. data/spec/unit/application/doc_spec.rb +46 -44
  214. data/spec/unit/application/face_base_spec.rb +62 -61
  215. data/spec/unit/application/facts_spec.rb +4 -3
  216. data/spec/unit/application/filebucket_spec.rb +74 -66
  217. data/spec/unit/application/indirection_base_spec.rb +6 -8
  218. data/spec/unit/application/lookup_spec.rb +26 -26
  219. data/spec/unit/application/resource_spec.rb +48 -42
  220. data/spec/unit/application/ssl_spec.rb +3 -8
  221. data/spec/unit/application_spec.rb +98 -86
  222. data/spec/unit/capability_spec.rb +6 -6
  223. data/spec/unit/certificate_factory_spec.rb +5 -3
  224. data/spec/unit/configurer/downloader_spec.rb +21 -20
  225. data/spec/unit/configurer/fact_handler_spec.rb +3 -2
  226. data/spec/unit/configurer/plugin_handler_spec.rb +8 -41
  227. data/spec/unit/configurer_spec.rb +198 -194
  228. data/spec/unit/confine/exists_spec.rb +15 -17
  229. data/spec/unit/confine/false_spec.rb +6 -32
  230. data/spec/unit/confine/feature_spec.rb +5 -7
  231. data/spec/unit/confine/true_spec.rb +6 -32
  232. data/spec/unit/confine/variable_spec.rb +15 -14
  233. data/spec/unit/confine_collection_spec.rb +29 -28
  234. data/spec/unit/confine_spec.rb +14 -13
  235. data/spec/unit/confiner_spec.rb +11 -10
  236. data/spec/unit/context/trusted_information_spec.rb +1 -1
  237. data/spec/unit/daemon_spec.rb +36 -35
  238. data/spec/unit/data_providers/function_data_provider_spec.rb +1 -0
  239. data/spec/unit/data_providers/hiera_data_provider_spec.rb +1 -0
  240. data/spec/unit/datatypes_spec.rb +4 -3
  241. data/spec/unit/defaults_spec.rb +27 -18
  242. data/spec/unit/environments_spec.rb +7 -7
  243. data/spec/unit/etc_spec.rb +32 -30
  244. data/spec/unit/external/pson_spec.rb +1 -0
  245. data/spec/unit/face/catalog_spec.rb +1 -0
  246. data/spec/unit/face/config_spec.rb +35 -31
  247. data/spec/unit/face/epp_face_spec.rb +4 -3
  248. data/spec/unit/face/facts_spec.rb +6 -5
  249. data/spec/unit/face/generate_spec.rb +5 -4
  250. data/spec/unit/face/help_spec.rb +8 -7
  251. data/spec/unit/face/key_spec.rb +1 -0
  252. data/spec/unit/face/man_spec.rb +2 -1
  253. data/spec/unit/face/module/install_spec.rb +5 -3
  254. data/spec/unit/face/module/list_spec.rb +12 -2
  255. data/spec/unit/face/module/search_spec.rb +9 -11
  256. data/spec/unit/face/module/uninstall_spec.rb +8 -4
  257. data/spec/unit/face/node_spec.rb +24 -23
  258. data/spec/unit/face/parser_spec.rb +18 -3
  259. data/spec/unit/face/plugin_spec.rb +9 -36
  260. data/spec/unit/face/status_spec.rb +1 -0
  261. data/spec/unit/file_bucket/dipper_spec.rb +20 -24
  262. data/spec/unit/file_bucket/file_spec.rb +2 -0
  263. data/spec/unit/file_serving/base_spec.rb +15 -14
  264. data/spec/unit/file_serving/configuration/parser_spec.rb +28 -27
  265. data/spec/unit/file_serving/configuration_spec.rb +66 -63
  266. data/spec/unit/file_serving/content_spec.rb +11 -10
  267. data/spec/unit/file_serving/fileset_spec.rb +58 -63
  268. data/spec/unit/file_serving/http_metadata_spec.rb +7 -8
  269. data/spec/unit/file_serving/metadata_spec.rb +36 -36
  270. data/spec/unit/file_serving/mount/file_spec.rb +32 -31
  271. data/spec/unit/file_serving/mount/locales_spec.rb +24 -23
  272. data/spec/unit/file_serving/mount/modules_spec.rb +15 -14
  273. data/spec/unit/file_serving/mount/pluginfacts_spec.rb +24 -23
  274. data/spec/unit/file_serving/mount/plugins_spec.rb +24 -23
  275. data/spec/unit/file_serving/mount/tasks_spec.rb +15 -14
  276. data/spec/unit/file_serving/mount_spec.rb +1 -0
  277. data/spec/unit/file_serving/terminus_helper_spec.rb +42 -37
  278. data/spec/unit/file_serving/terminus_selector_spec.rb +13 -12
  279. data/spec/unit/file_system/uniquefile_spec.rb +4 -4
  280. data/spec/unit/file_system_spec.rb +2 -2
  281. data/spec/unit/forge/errors_spec.rb +1 -1
  282. data/spec/unit/forge/forge_spec.rb +16 -17
  283. data/spec/unit/forge/module_release_spec.rb +18 -18
  284. data/spec/unit/forge/repository_spec.rb +30 -29
  285. data/spec/unit/forge_spec.rb +11 -15
  286. data/spec/unit/functions/binary_file_spec.rb +3 -3
  287. data/spec/unit/functions/contain_spec.rb +2 -0
  288. data/spec/unit/functions/defined_spec.rb +1 -0
  289. data/spec/unit/functions/epp_spec.rb +2 -2
  290. data/spec/unit/functions/find_file_spec.rb +7 -7
  291. data/spec/unit/functions/include_spec.rb +4 -0
  292. data/spec/unit/functions/lookup_fixture_spec.rb +1 -0
  293. data/spec/unit/functions/lookup_spec.rb +2 -1
  294. data/spec/unit/functions/module_directory_spec.rb +12 -12
  295. data/spec/unit/functions/new_spec.rb +0 -15
  296. data/spec/unit/functions/require_spec.rb +3 -0
  297. data/spec/unit/functions/shared.rb +8 -5
  298. data/spec/unit/functions/versioncmp_spec.rb +2 -1
  299. data/spec/unit/functions4_spec.rb +10 -9
  300. data/spec/unit/gettext/config_spec.rb +4 -4
  301. data/spec/unit/gettext/module_loading_spec.rb +7 -7
  302. data/spec/unit/graph/rb_tree_map_spec.rb +2 -0
  303. data/spec/unit/graph/relationship_graph_spec.rb +2 -1
  304. data/spec/unit/graph/simple_graph_spec.rb +10 -9
  305. data/spec/unit/hiera/scope_spec.rb +0 -7
  306. data/spec/unit/hiera_puppet_spec.rb +20 -20
  307. data/spec/unit/indirector/catalog/compiler_spec.rb +149 -147
  308. data/spec/unit/indirector/catalog/json_spec.rb +2 -1
  309. data/spec/unit/indirector/catalog/msgpack_spec.rb +1 -0
  310. data/spec/unit/indirector/catalog/rest_spec.rb +1 -0
  311. data/spec/unit/indirector/catalog/store_configs_spec.rb +1 -0
  312. data/spec/unit/indirector/catalog/yaml_spec.rb +1 -0
  313. data/spec/unit/indirector/certificate/file_spec.rb +1 -0
  314. data/spec/unit/indirector/certificate/rest_spec.rb +10 -8
  315. data/spec/unit/indirector/certificate_request/file_spec.rb +1 -0
  316. data/spec/unit/indirector/certificate_request/rest_spec.rb +1 -0
  317. data/spec/unit/indirector/direct_file_server_spec.rb +18 -17
  318. data/spec/unit/indirector/envelope_spec.rb +2 -1
  319. data/spec/unit/indirector/exec_spec.rb +5 -4
  320. data/spec/unit/indirector/face_spec.rb +9 -9
  321. data/spec/unit/indirector/facts/facter_spec.rb +43 -37
  322. data/spec/unit/indirector/facts/network_device_spec.rb +9 -8
  323. data/spec/unit/indirector/facts/rest_spec.rb +8 -7
  324. data/spec/unit/indirector/facts/store_configs_spec.rb +1 -0
  325. data/spec/unit/indirector/facts/yaml_spec.rb +1 -0
  326. data/spec/unit/indirector/file_bucket_file/file_spec.rb +4 -3
  327. data/spec/unit/indirector/file_bucket_file/rest_spec.rb +1 -0
  328. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +5 -4
  329. data/spec/unit/indirector/file_content/file_server_spec.rb +1 -0
  330. data/spec/unit/indirector/file_content/file_spec.rb +1 -0
  331. data/spec/unit/indirector/file_content/rest_spec.rb +1 -0
  332. data/spec/unit/indirector/file_content/selector_spec.rb +1 -0
  333. data/spec/unit/indirector/file_metadata/file_server_spec.rb +1 -0
  334. data/spec/unit/indirector/file_metadata/file_spec.rb +13 -12
  335. data/spec/unit/indirector/file_metadata/rest_spec.rb +1 -0
  336. data/spec/unit/indirector/file_metadata/selector_spec.rb +1 -0
  337. data/spec/unit/indirector/file_server_spec.rb +87 -87
  338. data/spec/unit/indirector/indirection_spec.rb +226 -242
  339. data/spec/unit/indirector/json_spec.rb +9 -7
  340. data/spec/unit/indirector/key/file_spec.rb +22 -21
  341. data/spec/unit/indirector/memory_spec.rb +7 -6
  342. data/spec/unit/indirector/msgpack_spec.rb +9 -7
  343. data/spec/unit/indirector/node/exec_spec.rb +3 -2
  344. data/spec/unit/indirector/node/memory_spec.rb +4 -2
  345. data/spec/unit/indirector/node/msgpack_spec.rb +1 -0
  346. data/spec/unit/indirector/node/plain_spec.rb +4 -2
  347. data/spec/unit/indirector/node/rest_spec.rb +1 -0
  348. data/spec/unit/indirector/node/store_configs_spec.rb +1 -0
  349. data/spec/unit/indirector/node/yaml_spec.rb +1 -0
  350. data/spec/unit/indirector/none_spec.rb +5 -5
  351. data/spec/unit/indirector/plain_spec.rb +8 -7
  352. data/spec/unit/indirector/report/msgpack_spec.rb +1 -0
  353. data/spec/unit/indirector/report/processor_spec.rb +22 -21
  354. data/spec/unit/indirector/report/rest_spec.rb +12 -11
  355. data/spec/unit/indirector/report/yaml_spec.rb +1 -0
  356. data/spec/unit/indirector/request_spec.rb +12 -11
  357. data/spec/unit/indirector/resource/ral_spec.rb +54 -47
  358. data/spec/unit/indirector/resource/store_configs_spec.rb +1 -0
  359. data/spec/unit/indirector/rest_spec.rb +110 -113
  360. data/spec/unit/indirector/ssl_file_spec.rb +65 -64
  361. data/spec/unit/indirector/status/local_spec.rb +1 -0
  362. data/spec/unit/indirector/status/rest_spec.rb +1 -0
  363. data/spec/unit/indirector/store_configs_spec.rb +1 -0
  364. data/spec/unit/indirector/terminus_spec.rb +27 -27
  365. data/spec/unit/indirector/yaml_spec.rb +6 -5
  366. data/spec/unit/indirector_spec.rb +2 -1
  367. data/spec/unit/info_service_spec.rb +1 -1
  368. data/spec/unit/interface/action_builder_spec.rb +1 -0
  369. data/spec/unit/interface/action_manager_spec.rb +1 -0
  370. data/spec/unit/interface/action_spec.rb +3 -2
  371. data/spec/unit/interface/documentation_spec.rb +1 -0
  372. data/spec/unit/interface/face_collection_spec.rb +12 -19
  373. data/spec/unit/interface_spec.rb +3 -3
  374. data/spec/unit/man_spec.rb +4 -3
  375. data/spec/unit/module_spec.rb +51 -46
  376. data/spec/unit/module_tool/applications/installer_spec.rb +11 -10
  377. data/spec/unit/module_tool/applications/searcher_spec.rb +3 -3
  378. data/spec/unit/module_tool/applications/uninstaller_spec.rb +2 -1
  379. data/spec/unit/module_tool/applications/unpacker_spec.rb +13 -13
  380. data/spec/unit/module_tool/applications/upgrader_spec.rb +5 -5
  381. data/spec/unit/module_tool/install_directory_spec.rb +8 -8
  382. data/spec/unit/module_tool/installed_modules_spec.rb +3 -3
  383. data/spec/unit/module_tool/tar/gnu_spec.rb +6 -6
  384. data/spec/unit/module_tool/tar/mini_spec.rb +12 -12
  385. data/spec/unit/module_tool/tar_spec.rb +13 -12
  386. data/spec/unit/module_tool_spec.rb +12 -7
  387. data/spec/unit/network/auth_config_parser_spec.rb +13 -11
  388. data/spec/unit/network/authconfig_spec.rb +18 -17
  389. data/spec/unit/network/authorization_spec.rb +5 -4
  390. data/spec/unit/network/authstore_spec.rb +1 -0
  391. data/spec/unit/network/format_handler_spec.rb +1 -0
  392. data/spec/unit/network/format_spec.rb +10 -9
  393. data/spec/unit/network/format_support_spec.rb +29 -28
  394. data/spec/unit/network/formats_spec.rb +5 -4
  395. data/spec/unit/network/http/api/indirected_routes_spec.rb +29 -24
  396. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +2 -2
  397. data/spec/unit/network/http/api/master/v3/environment_spec.rb +1 -1
  398. data/spec/unit/network/http/api/master/v3/environments_spec.rb +7 -6
  399. data/spec/unit/network/http/api_spec.rb +2 -0
  400. data/spec/unit/network/http/compression_spec.rb +22 -21
  401. data/spec/unit/network/http/connection_spec.rb +121 -30
  402. data/spec/unit/network/http/factory_spec.rb +6 -11
  403. data/spec/unit/network/http/handler_spec.rb +18 -9
  404. data/spec/unit/network/http/nocache_pool_spec.rb +7 -6
  405. data/spec/unit/network/http/pool_spec.rb +29 -28
  406. data/spec/unit/network/http/request_spec.rb +2 -0
  407. data/spec/unit/network/http/response_spec.rb +13 -11
  408. data/spec/unit/network/http/route_spec.rb +1 -0
  409. data/spec/unit/network/http/session_spec.rb +2 -1
  410. data/spec/unit/network/http/site_spec.rb +1 -0
  411. data/spec/unit/network/http_pool_spec.rb +9 -18
  412. data/spec/unit/network/http_spec.rb +1 -0
  413. data/spec/unit/network/resolver_spec.rb +26 -25
  414. data/spec/unit/network/rights_spec.rb +53 -52
  415. data/spec/unit/node/environment_spec.rb +15 -14
  416. data/spec/unit/node/facts_spec.rb +7 -5
  417. data/spec/unit/node_spec.rb +10 -4
  418. data/spec/unit/other/selinux_spec.rb +1 -0
  419. data/spec/unit/parameter/boolean_spec.rb +2 -1
  420. data/spec/unit/parameter/package_options_spec.rb +2 -1
  421. data/spec/unit/parameter/path_spec.rb +1 -0
  422. data/spec/unit/parameter/value_collection_spec.rb +1 -0
  423. data/spec/unit/parameter/value_spec.rb +1 -0
  424. data/spec/unit/parameter_spec.rb +9 -9
  425. data/spec/unit/parser/ast/block_expression_spec.rb +8 -6
  426. data/spec/unit/parser/ast/leaf_spec.rb +21 -20
  427. data/spec/unit/parser/compiler_spec.rb +96 -84
  428. data/spec/unit/parser/environment_compiler_spec.rb +8 -7
  429. data/spec/unit/parser/files_spec.rb +1 -0
  430. data/spec/unit/parser/functions/create_resources_spec.rb +1 -1
  431. data/spec/unit/parser/functions/digest_spec.rb +1 -0
  432. data/spec/unit/parser/functions/fail_spec.rb +2 -1
  433. data/spec/unit/parser/functions/file_spec.rb +14 -13
  434. data/spec/unit/parser/functions/fqdn_rand_spec.rb +6 -5
  435. data/spec/unit/parser/functions/generate_spec.rb +8 -7
  436. data/spec/unit/parser/functions/inline_template_spec.rb +1 -0
  437. data/spec/unit/parser/functions/regsubst_spec.rb +1 -0
  438. data/spec/unit/parser/functions/scanf_spec.rb +1 -0
  439. data/spec/unit/parser/functions/shellquote_spec.rb +1 -0
  440. data/spec/unit/parser/functions/split_spec.rb +1 -0
  441. data/spec/unit/parser/functions/sprintf_spec.rb +1 -0
  442. data/spec/unit/parser/functions/tag_spec.rb +2 -1
  443. data/spec/unit/parser/functions/tagged_spec.rb +3 -2
  444. data/spec/unit/parser/functions/template_spec.rb +13 -13
  445. data/spec/unit/parser/functions/versioncmp_spec.rb +2 -1
  446. data/spec/unit/parser/functions_spec.rb +7 -6
  447. data/spec/unit/parser/relationship_spec.rb +1 -0
  448. data/spec/unit/parser/resource_spec.rb +42 -42
  449. data/spec/unit/parser/scope_spec.rb +35 -39
  450. data/spec/unit/parser/templatewrapper_spec.rb +12 -11
  451. data/spec/unit/parser/type_loader_spec.rb +19 -17
  452. data/spec/unit/pops/adaptable_spec.rb +1 -0
  453. data/spec/unit/pops/benchmark_spec.rb +1 -0
  454. data/spec/unit/pops/evaluator/access_ops_spec.rb +1 -0
  455. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +1 -0
  456. data/spec/unit/pops/evaluator/basic_expressions_spec.rb +1 -0
  457. data/spec/unit/pops/evaluator/collections_ops_spec.rb +1 -0
  458. data/spec/unit/pops/evaluator/comparison_ops_spec.rb +1 -0
  459. data/spec/unit/pops/evaluator/conditionals_spec.rb +1 -0
  460. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +47 -10
  461. data/spec/unit/pops/evaluator/logical_ops_spec.rb +1 -0
  462. data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +1 -0
  463. data/spec/unit/pops/evaluator/string_interpolation_spec.rb +1 -0
  464. data/spec/unit/pops/evaluator/variables_spec.rb +1 -0
  465. data/spec/unit/pops/factory_spec.rb +4 -3
  466. data/spec/unit/pops/issues_spec.rb +20 -19
  467. data/spec/unit/pops/loaders/loader_spec.rb +4 -8
  468. data/spec/unit/pops/loaders/loaders_spec.rb +31 -101
  469. data/spec/unit/pops/lookup/context_spec.rb +1 -0
  470. data/spec/unit/pops/lookup/interpolation_spec.rb +3 -2
  471. data/spec/unit/pops/merge_strategy_spec.rb +1 -0
  472. data/spec/unit/pops/migration_spec.rb +5 -3
  473. data/spec/unit/pops/model/model_spec.rb +1 -0
  474. data/spec/unit/pops/model/pn_transformer_spec.rb +1 -4
  475. data/spec/unit/pops/parser/locator_spec.rb +6 -48
  476. data/spec/unit/pops/parser/parse_application_spec.rb +1 -0
  477. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +1 -0
  478. data/spec/unit/pops/parser/parse_calls_spec.rb +1 -0
  479. data/spec/unit/pops/parser/parse_capabilities_spec.rb +1 -0
  480. data/spec/unit/pops/parser/parse_conditionals_spec.rb +1 -0
  481. data/spec/unit/pops/parser/parse_containers_spec.rb +1 -0
  482. data/spec/unit/pops/parser/parse_heredoc_spec.rb +15 -111
  483. data/spec/unit/pops/parser/parse_plan_spec.rb +1 -0
  484. data/spec/unit/pops/parser/parse_resource_spec.rb +1 -0
  485. data/spec/unit/pops/parser/parse_site_spec.rb +1 -0
  486. data/spec/unit/pops/parser/pn_parser_spec.rb +1 -0
  487. data/spec/unit/pops/pn_spec.rb +1 -0
  488. data/spec/unit/pops/resource/resource_type_impl_spec.rb +1 -0
  489. data/spec/unit/pops/serialization/serialization_spec.rb +1 -1
  490. data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
  491. data/spec/unit/pops/types/recursion_guard_spec.rb +10 -10
  492. data/spec/unit/pops/types/ruby_generator_spec.rb +2 -2
  493. data/spec/unit/pops/types/string_converter_spec.rb +5 -1
  494. data/spec/unit/pops/types/type_asserter_spec.rb +2 -2
  495. data/spec/unit/pops/types/type_calculator_spec.rb +30 -30
  496. data/spec/unit/pops/types/type_mismatch_describer_spec.rb +0 -9
  497. data/spec/unit/pops/types/type_parser_spec.rb +13 -13
  498. data/spec/unit/pops/validator/validator_spec.rb +2 -1
  499. data/spec/unit/pops/visitor_spec.rb +1 -0
  500. data/spec/unit/property/boolean_spec.rb +1 -1
  501. data/spec/unit/property/ensure_spec.rb +1 -0
  502. data/spec/unit/property/keyvalue_spec.rb +34 -32
  503. data/spec/unit/property/list_spec.rb +27 -26
  504. data/spec/unit/property/ordered_list_spec.rb +14 -10
  505. data/spec/unit/property_spec.rb +43 -42
  506. data/spec/unit/provider/aix_object_spec.rb +45 -47
  507. data/spec/unit/provider/command_spec.rb +9 -9
  508. data/spec/unit/provider/exec/posix_spec.rb +31 -6
  509. data/spec/unit/provider/exec/shell_spec.rb +1 -0
  510. data/spec/unit/provider/exec/windows_spec.rb +4 -2
  511. data/spec/unit/provider/exec_spec.rb +1 -0
  512. data/spec/unit/provider/file/posix_spec.rb +24 -22
  513. data/spec/unit/provider/file/windows_spec.rb +17 -15
  514. data/spec/unit/provider/group/aix_spec.rb +2 -3
  515. data/spec/unit/provider/group/groupadd_spec.rb +26 -30
  516. data/spec/unit/provider/group/ldap_spec.rb +18 -18
  517. data/spec/unit/provider/group/pw_spec.rb +11 -11
  518. data/spec/unit/provider/group/windows_adsi_spec.rb +53 -59
  519. data/spec/unit/provider/ldap_spec.rb +62 -61
  520. data/spec/unit/provider/nameservice/directoryservice_spec.rb +36 -35
  521. data/spec/unit/provider/nameservice_spec.rb +40 -38
  522. data/spec/unit/provider/package/aix_spec.rb +15 -15
  523. data/spec/unit/provider/package/appdmg_spec.rb +13 -13
  524. data/spec/unit/provider/package/apt_spec.rb +27 -44
  525. data/spec/unit/provider/package/aptitude_spec.rb +7 -6
  526. data/spec/unit/provider/package/aptrpm_spec.rb +12 -7
  527. data/spec/unit/provider/package/base_spec.rb +4 -4
  528. data/spec/unit/provider/package/dnf_spec.rb +20 -18
  529. data/spec/unit/provider/package/dpkg_spec.rb +53 -70
  530. data/spec/unit/provider/package/freebsd_spec.rb +11 -11
  531. data/spec/unit/provider/package/gem_spec.rb +55 -132
  532. data/spec/unit/provider/package/hpux_spec.rb +8 -8
  533. data/spec/unit/provider/package/macports_spec.rb +42 -46
  534. data/spec/unit/provider/package/nim_spec.rb +39 -30
  535. data/spec/unit/provider/package/openbsd_spec.rb +39 -36
  536. data/spec/unit/provider/package/opkg_spec.rb +26 -23
  537. data/spec/unit/provider/package/pacman_spec.rb +118 -97
  538. data/spec/unit/provider/package/pip3_spec.rb +0 -17
  539. data/spec/unit/provider/package/pip_spec.rb +106 -95
  540. data/spec/unit/provider/package/pkg_spec.rb +109 -109
  541. data/spec/unit/provider/package/pkgdmg_spec.rb +63 -65
  542. data/spec/unit/provider/package/pkgin_spec.rb +8 -10
  543. data/spec/unit/provider/package/pkgng_spec.rb +31 -22
  544. data/spec/unit/provider/package/pkgutil_spec.rb +49 -45
  545. data/spec/unit/provider/package/portage_spec.rb +74 -70
  546. data/spec/unit/provider/package/puppet_gem_spec.rb +13 -37
  547. data/spec/unit/provider/package/rpm_spec.rb +76 -154
  548. data/spec/unit/provider/package/sun_spec.rb +18 -16
  549. data/spec/unit/provider/package/tdnf_spec.rb +2 -2
  550. data/spec/unit/provider/package/up2date_spec.rb +4 -2
  551. data/spec/unit/provider/package/urpmi_spec.rb +17 -15
  552. data/spec/unit/provider/package/windows/exe_package_spec.rb +15 -12
  553. data/spec/unit/provider/package/windows/msi_package_spec.rb +22 -19
  554. data/spec/unit/provider/package/windows/package_spec.rb +42 -37
  555. data/spec/unit/provider/package/windows_spec.rb +32 -47
  556. data/spec/unit/provider/package/yum_spec.rb +7 -7
  557. data/spec/unit/provider/package/zypper_spec.rb +87 -87
  558. data/spec/unit/provider/parsedfile_spec.rb +45 -44
  559. data/spec/unit/provider/service/base_spec.rb +5 -4
  560. data/spec/unit/provider/service/bsd_spec.rb +29 -27
  561. data/spec/unit/provider/service/daemontools_spec.rb +35 -35
  562. data/spec/unit/provider/service/debian_spec.rb +38 -38
  563. data/spec/unit/provider/service/freebsd_spec.rb +18 -18
  564. data/spec/unit/provider/service/gentoo_spec.rb +55 -50
  565. data/spec/unit/provider/service/init_spec.rb +52 -53
  566. data/spec/unit/provider/service/launchd_spec.rb +116 -138
  567. data/spec/unit/provider/service/openbsd_spec.rb +50 -50
  568. data/spec/unit/provider/service/openrc_spec.rb +45 -43
  569. data/spec/unit/provider/service/openwrt_spec.rb +31 -26
  570. data/spec/unit/provider/service/rcng_spec.rb +14 -14
  571. data/spec/unit/provider/service/redhat_spec.rb +43 -45
  572. data/spec/unit/provider/service/runit_spec.rb +27 -29
  573. data/spec/unit/provider/service/smf_spec.rb +66 -74
  574. data/spec/unit/provider/service/src_spec.rb +47 -46
  575. data/spec/unit/provider/service/systemd_spec.rb +136 -109
  576. data/spec/unit/provider/service/upstart_spec.rb +93 -77
  577. data/spec/unit/provider/service/windows_spec.rb +41 -33
  578. data/spec/unit/provider/user/aix_spec.rb +31 -31
  579. data/spec/unit/provider/user/directoryservice_spec.rb +114 -146
  580. data/spec/unit/provider/user/hpux_spec.rb +16 -16
  581. data/spec/unit/provider/user/ldap_spec.rb +57 -57
  582. data/spec/unit/provider/user/openbsd_spec.rb +12 -10
  583. data/spec/unit/provider/user/pw_spec.rb +35 -37
  584. data/spec/unit/provider/user/user_role_add_spec.rb +93 -93
  585. data/spec/unit/provider/user/useradd_spec.rb +92 -93
  586. data/spec/unit/provider/user/windows_adsi_spec.rb +60 -59
  587. data/spec/unit/provider_spec.rb +35 -35
  588. data/spec/unit/puppet_pal_2pec.rb +5 -4
  589. data/spec/unit/puppet_pal_spec.rb +1 -0
  590. data/spec/unit/puppet_spec.rb +7 -6
  591. data/spec/unit/relationship_spec.rb +1 -0
  592. data/spec/unit/reports/http_spec.rb +23 -21
  593. data/spec/unit/reports/store_spec.rb +4 -3
  594. data/spec/unit/reports_spec.rb +14 -12
  595. data/spec/unit/resource/capability_finder_spec.rb +17 -15
  596. data/spec/unit/resource/catalog_spec.rb +68 -72
  597. data/spec/unit/resource/status_spec.rb +8 -6
  598. data/spec/unit/resource/type_collection_spec.rb +18 -17
  599. data/spec/unit/resource/type_spec.rb +35 -34
  600. data/spec/unit/resource_spec.rb +63 -36
  601. data/spec/unit/rest/client_spec.rb +135 -0
  602. data/spec/unit/rest/route_spec.rb +6 -6
  603. data/spec/unit/scheduler/job_spec.rb +1 -0
  604. data/spec/unit/scheduler/scheduler_spec.rb +1 -0
  605. data/spec/unit/scheduler/splay_job_spec.rb +2 -1
  606. data/spec/unit/settings/array_setting_spec.rb +1 -1
  607. data/spec/unit/settings/autosign_setting_spec.rb +9 -9
  608. data/spec/unit/settings/certificate_revocation_setting_spec.rb +1 -1
  609. data/spec/unit/settings/config_file_spec.rb +1 -0
  610. data/spec/unit/settings/directory_setting_spec.rb +7 -2
  611. data/spec/unit/settings/duration_setting_spec.rb +2 -1
  612. data/spec/unit/settings/enum_setting_spec.rb +1 -1
  613. data/spec/unit/settings/environment_conf_spec.rb +6 -4
  614. data/spec/unit/settings/file_setting_spec.rb +46 -44
  615. data/spec/unit/settings/path_setting_spec.rb +2 -1
  616. data/spec/unit/settings/priority_setting_spec.rb +2 -1
  617. data/spec/unit/settings/string_setting_spec.rb +15 -14
  618. data/spec/unit/settings/terminus_setting_spec.rb +2 -1
  619. data/spec/unit/settings/value_translator_spec.rb +1 -0
  620. data/spec/unit/settings_spec.rb +224 -253
  621. data/spec/unit/ssl/base_spec.rb +15 -14
  622. data/spec/unit/ssl/certificate_request_spec.rb +58 -62
  623. data/spec/unit/ssl/certificate_spec.rb +25 -23
  624. data/spec/unit/ssl/digest_spec.rb +1 -0
  625. data/spec/unit/ssl/host_spec.rb +149 -166
  626. data/spec/unit/ssl/key_spec.rb +31 -30
  627. data/spec/unit/ssl/validator_spec.rb +39 -40
  628. data/spec/unit/task_spec.rb +45 -44
  629. data/spec/unit/transaction/additional_resource_generator_spec.rb +5 -3
  630. data/spec/unit/transaction/event_manager_spec.rb +88 -87
  631. data/spec/unit/transaction/event_spec.rb +15 -16
  632. data/spec/unit/transaction/persistence_spec.rb +17 -16
  633. data/spec/unit/transaction/report_spec.rb +12 -11
  634. data/spec/unit/transaction/resource_harness_spec.rb +31 -52
  635. data/spec/unit/transaction_spec.rb +87 -140
  636. data/spec/unit/type/component_spec.rb +1 -0
  637. data/spec/unit/type/exec_spec.rb +50 -101
  638. data/spec/unit/type/file/checksum_spec.rb +10 -9
  639. data/spec/unit/type/file/checksum_value_spec.rb +32 -31
  640. data/spec/unit/type/file/content_spec.rb +61 -58
  641. data/spec/unit/type/file/ctime_spec.rb +1 -0
  642. data/spec/unit/type/file/ensure_spec.rb +13 -12
  643. data/spec/unit/type/file/group_spec.rb +7 -5
  644. data/spec/unit/type/file/mode_spec.rb +6 -4
  645. data/spec/unit/type/file/mtime_spec.rb +1 -0
  646. data/spec/unit/type/file/owner_spec.rb +8 -6
  647. data/spec/unit/type/file/selinux_spec.rb +19 -17
  648. data/spec/unit/type/file/source_spec.rb +101 -104
  649. data/spec/unit/type/file/type_spec.rb +1 -0
  650. data/spec/unit/type/file_spec.rb +185 -195
  651. data/spec/unit/type/filebucket_spec.rb +10 -11
  652. data/spec/unit/type/group_spec.rb +8 -6
  653. data/spec/unit/type/noop_metaparam_spec.rb +2 -1
  654. data/spec/unit/type/package/package_settings_spec.rb +23 -44
  655. data/spec/unit/type/package_spec.rb +57 -56
  656. data/spec/unit/type/resources_spec.rb +74 -72
  657. data/spec/unit/type/schedule_spec.rb +26 -24
  658. data/spec/unit/type/service_spec.rb +75 -49
  659. data/spec/unit/type/stage_spec.rb +1 -0
  660. data/spec/unit/type/tidy_spec.rb +62 -61
  661. data/spec/unit/type/user_spec.rb +25 -24
  662. data/spec/unit/type/whit_spec.rb +1 -0
  663. data/spec/unit/type_spec.rb +54 -55
  664. data/spec/unit/util/at_fork_spec.rb +19 -18
  665. data/spec/unit/util/autoload_spec.rb +56 -55
  666. data/spec/unit/util/backups_spec.rb +35 -34
  667. data/spec/unit/util/character_encoding_spec.rb +5 -5
  668. data/spec/unit/util/checksums_spec.rb +39 -38
  669. data/spec/unit/util/colors_spec.rb +2 -1
  670. data/spec/unit/util/command_line_spec.rb +20 -40
  671. data/spec/unit/util/constant_inflector_spec.rb +1 -0
  672. data/spec/unit/util/diff_spec.rb +8 -7
  673. data/spec/unit/util/errors_spec.rb +1 -0
  674. data/spec/unit/util/execution_spec.rb +163 -187
  675. data/spec/unit/util/execution_stub_spec.rb +1 -0
  676. data/spec/unit/util/feature_spec.rb +14 -21
  677. data/spec/unit/util/filetype_spec.rb +49 -49
  678. data/spec/unit/util/http_proxy_spec.rb +12 -12
  679. data/spec/unit/util/inifile_spec.rb +31 -26
  680. data/spec/unit/util/json_lockfile_spec.rb +5 -3
  681. data/spec/unit/util/ldap/connection_spec.rb +25 -26
  682. data/spec/unit/util/ldap/generator_spec.rb +1 -0
  683. data/spec/unit/util/ldap/manager_spec.rb +101 -102
  684. data/spec/unit/util/lockfile_spec.rb +1 -0
  685. data/spec/unit/util/log/destinations_spec.rb +33 -30
  686. data/spec/unit/util/log_spec.rb +34 -48
  687. data/spec/unit/util/logging_spec.rb +72 -58
  688. data/spec/unit/util/metric_spec.rb +1 -0
  689. data/spec/unit/util/monkey_patches_spec.rb +9 -7
  690. data/spec/unit/util/multi_match_spec.rb +1 -0
  691. data/spec/unit/util/network_device/config_spec.rb +1 -0
  692. data/spec/unit/util/network_device/transport/base_spec.rb +6 -5
  693. data/spec/unit/util/network_device_spec.rb +9 -7
  694. data/spec/unit/util/package_spec.rb +1 -0
  695. data/spec/unit/util/pidlock_spec.rb +15 -60
  696. data/spec/unit/util/plist_spec.rb +33 -40
  697. data/spec/unit/util/posix_spec.rb +51 -54
  698. data/spec/unit/util/rdoc_spec.rb +10 -9
  699. data/spec/unit/util/reference_spec.rb +1 -0
  700. data/spec/unit/util/resource_template_spec.rb +20 -20
  701. data/spec/unit/util/retry_action_spec.rb +8 -7
  702. data/spec/unit/util/rubygems_spec.rb +8 -7
  703. data/spec/unit/util/run_mode_spec.rb +4 -3
  704. data/spec/unit/util/selinux_spec.rb +72 -79
  705. data/spec/unit/util/splayer_spec.rb +9 -8
  706. data/spec/unit/util/ssl_spec.rb +1 -0
  707. data/spec/unit/util/storage_spec.rb +23 -22
  708. data/spec/unit/util/suidmanager_spec.rb +54 -45
  709. data/spec/unit/util/symbolic_file_mode_spec.rb +1 -0
  710. data/spec/unit/util/tag_set_spec.rb +1 -0
  711. data/spec/unit/util/tagging_spec.rb +1 -0
  712. data/spec/unit/util/terminal_spec.rb +10 -9
  713. data/spec/unit/util/user_attr_spec.rb +2 -1
  714. data/spec/unit/util/warnings_spec.rb +4 -3
  715. data/spec/unit/util/watcher/periodic_watcher_spec.rb +2 -2
  716. data/spec/unit/util/watcher_spec.rb +21 -51
  717. data/spec/unit/util/windows/access_control_entry_spec.rb +1 -0
  718. data/spec/unit/util/windows/access_control_list_spec.rb +1 -0
  719. data/spec/unit/util/windows/adsi_spec.rb +138 -136
  720. data/spec/unit/util/windows/api_types_spec.rb +1 -0
  721. data/spec/unit/util/windows/eventlog_spec.rb +12 -9
  722. data/spec/unit/util/windows/file_spec.rb +1 -0
  723. data/spec/unit/util/windows/root_certs_spec.rb +1 -0
  724. data/spec/unit/util/windows/security_descriptor_spec.rb +2 -0
  725. data/spec/unit/util/windows/service_spec.rb +103 -100
  726. data/spec/unit/util/windows/sid_spec.rb +13 -11
  727. data/spec/unit/util/windows/string_spec.rb +1 -0
  728. data/spec/unit/util_spec.rb +57 -55
  729. data/spec/unit/version_spec.rb +6 -6
  730. metadata +20 -32
  731. data/CODEOWNERS +0 -30
  732. data/ext/autotest/Rakefile +0 -8
  733. data/ext/autotest/config +0 -43
  734. data/ext/autotest/readme.rst +0 -16
  735. data/lib/puppet/confine/boolean.rb +0 -45
  736. data/lib/puppet/provider/package_targetable.rb +0 -68
  737. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load2.rb +0 -11
  738. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load3.rb +0 -11
  739. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load4.rb +0 -11
  740. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load5.rb +0 -12
  741. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/good_func_load.rb +0 -9
  742. data/spec/fixtures/unit/provider/package/pkgng/pkg.info +0 -7
  743. data/spec/fixtures/unit/provider/package/pkgng/pkg.query_absent +0 -1
  744. data/spec/integration/network/http_pool_spec.rb +0 -120
  745. data/spec/integration/provider/file/windows_spec.rb +0 -162
  746. data/spec/lib/puppet_spec/https.rb +0 -166
  747. data/spec/unit/settings/server_list_setting_spec.rb +0 -21
  748. data/spec/watchr.rb +0 -137
@@ -21,21 +21,22 @@ describe Puppet::ModuleTool::Applications::Installer, :unless => RUBY_PLATFORM =
21
21
  let(:remote_source) { PuppetSpec::ModuleTool::StubSource.new }
22
22
 
23
23
  let(:install_dir) do
24
- dir = double("Puppet::ModuleTool::InstallDirectory")
25
- allow(dir).to receive(:prepare)
26
- allow(dir).to receive(:target).and_return(primary_dir)
27
- dir
24
+ mock("Puppet::ModuleTool::InstallDirectory").tap do |dir|
25
+ dir.stubs(:prepare)
26
+ dir.stubs(:target).returns(primary_dir)
27
+ end
28
28
  end
29
29
 
30
30
  before do
31
31
  SemanticPuppet::Dependency.clear_sources
32
- allow_any_instance_of(Puppet::ModuleTool::Applications::Installer).to receive(:module_repository).and_return(remote_source)
32
+ installer = Puppet::ModuleTool::Applications::Installer.any_instance
33
+ installer.stubs(:module_repository).returns(remote_source)
33
34
  end
34
35
 
35
36
  if Puppet::Util::Platform.windows?
36
37
  before :each do
37
- allow(Puppet.settings).to receive(:[])
38
- allow(Puppet.settings).to receive(:[]).with(:module_working_dir).and_return(Dir.mktmpdir('installertmp'))
38
+ Puppet.settings.stubs(:[])
39
+ Puppet.settings.stubs(:[]).with(:module_working_dir).returns(Dir.mktmpdir('installertmp'))
39
40
  end
40
41
  end
41
42
 
@@ -80,7 +81,7 @@ describe Puppet::ModuleTool::Applications::Installer, :unless => RUBY_PLATFORM =
80
81
  end
81
82
 
82
83
  it 'installs the specified tarball' do
83
- expect(remote_source).not_to receive(:fetch)
84
+ remote_source.expects(:fetch).never
84
85
  expect(subject).to include :result => :success
85
86
  graph_should_include 'puppetlabs-stdlib', nil => v('3.2.0')
86
87
  end
@@ -101,7 +102,7 @@ describe Puppet::ModuleTool::Applications::Installer, :unless => RUBY_PLATFORM =
101
102
  end
102
103
 
103
104
  it 'installs the specified tarball without dependencies' do
104
- expect(remote_source).not_to receive(:fetch)
105
+ remote_source.expects(:fetch).never
105
106
  expect(subject).to include :result => :success
106
107
  graph_should_include 'puppetlabs-java', nil => v('1.0.0')
107
108
  graph_should_include 'puppetlabs-stdlib', nil
@@ -368,7 +369,7 @@ describe Puppet::ModuleTool::Applications::Installer, :unless => RUBY_PLATFORM =
368
369
 
369
370
  context 'when in FIPS mode...' do
370
371
  it 'module installer refuses to run' do
371
- allow(Facter).to receive(:value).with(:fips_enabled).and_return(true)
372
+ Facter.stubs(:value).with(:fips_enabled).returns(true)
372
373
  expect {application.run}.to raise_error(/Module install is prohibited in FIPS mode./)
373
374
  end
374
375
  end
@@ -6,14 +6,14 @@ describe Puppet::ModuleTool::Applications::Searcher do
6
6
  include PuppetSpec::Files
7
7
 
8
8
  describe "when searching" do
9
- let(:forge) { double('forge', :host => 'http://nowhe.re') }
9
+ let(:forge) { mock 'forge', :host => 'http://nowhe.re' }
10
10
  let(:searcher) do
11
11
  described_class.new('search_term', forge)
12
12
  end
13
13
 
14
14
  it "should return results from a forge query when successful" do
15
15
  results = 'mock results'
16
- expect(forge).to receive(:search).with('search_term').and_return(results)
16
+ forge.expects(:search).with('search_term').returns(results)
17
17
 
18
18
  search_result = searcher.run
19
19
  expect(search_result).to eq({
@@ -23,7 +23,7 @@ describe Puppet::ModuleTool::Applications::Searcher do
23
23
  end
24
24
 
25
25
  it "should return an error when the forge query throws an exception" do
26
- expect(forge).to receive(:search).with('search_term').and_raise(Puppet::Forge::Errors::ForgeError.new("something went wrong"))
26
+ forge.expects(:search).with('search_term').raises Puppet::Forge::Errors::ForgeError.new("something went wrong")
27
27
 
28
28
  search_result = searcher.run
29
29
  expect(search_result).to eq({
@@ -165,8 +165,9 @@ describe Puppet::ModuleTool::Applications::Uninstaller do
165
165
 
166
166
  context 'when in FIPS mode...' do
167
167
  it 'module uninstaller refuses to run' do
168
- allow(Facter).to receive(:value).with(:fips_enabled).and_return(true)
168
+ Facter.stubs(:value).with(:fips_enabled).returns(true)
169
169
  expect {application.run}.to raise_error(/Module uninstall is prohibited in FIPS mode/)
170
170
  end
171
171
  end
172
+
172
173
  end
@@ -14,13 +14,13 @@ describe Puppet::ModuleTool::Applications::Unpacker do
14
14
  let(:working_dir) { tmpdir("working_dir") }
15
15
 
16
16
  before :each do
17
- allow(Puppet.settings).to receive(:[])
18
- allow(Puppet.settings).to receive(:[]).with(:module_working_dir).and_return(working_dir)
17
+ Puppet.settings.stubs(:[])
18
+ Puppet.settings.stubs(:[]).with(:module_working_dir).returns(working_dir)
19
19
  end
20
20
 
21
21
  it "should attempt to untar file to temporary location" do
22
- untar = double('Tar')
23
- expect(untar).to receive(:unpack).with(filename, anything, anything) do |src, dest, _|
22
+ untar = mock('Tar')
23
+ untar.expects(:unpack).with(filename, anything()) do |src, dest, _|
24
24
  FileUtils.mkdir(File.join(dest, 'extractedmodule'))
25
25
  File.open(File.join(dest, 'extractedmodule', 'metadata.json'), 'w+') do |file|
26
26
  file.puts Puppet::Util::Json.dump('name' => module_name, 'version' => '1.0.0')
@@ -28,15 +28,15 @@ describe Puppet::ModuleTool::Applications::Unpacker do
28
28
  true
29
29
  end
30
30
 
31
- expect(Puppet::ModuleTool::Tar).to receive(:instance).and_return(untar)
31
+ Puppet::ModuleTool::Tar.expects(:instance).returns(untar)
32
32
 
33
33
  Puppet::ModuleTool::Applications::Unpacker.run(filename, :target_dir => target)
34
34
  expect(File).to be_directory(File.join(target, 'mytarball'))
35
35
  end
36
36
 
37
37
  it "should warn about symlinks", :if => Puppet.features.manages_symlinks? do
38
- untar = double('Tar')
39
- expect(untar).to receive(:unpack).with(filename, anything, anything) do |src, dest, _|
38
+ untar = mock('Tar')
39
+ untar.expects(:unpack).with(filename, anything()) do |src, dest, _|
40
40
  FileUtils.mkdir(File.join(dest, 'extractedmodule'))
41
41
  File.open(File.join(dest, 'extractedmodule', 'metadata.json'), 'w+') do |file|
42
42
  file.puts Puppet::Util::Json.dump('name' => module_name, 'version' => '1.0.0')
@@ -46,16 +46,16 @@ describe Puppet::ModuleTool::Applications::Unpacker do
46
46
  true
47
47
  end
48
48
 
49
- expect(Puppet::ModuleTool::Tar).to receive(:instance).and_return(untar)
50
- expect(Puppet).to receive(:warning).with(/symlinks/i)
49
+ Puppet::ModuleTool::Tar.expects(:instance).returns(untar)
50
+ Puppet.expects(:warning).with(regexp_matches(/symlinks/i))
51
51
 
52
52
  Puppet::ModuleTool::Applications::Unpacker.run(filename, :target_dir => target)
53
53
  expect(File).to be_directory(File.join(target, 'mytarball'))
54
54
  end
55
55
 
56
56
  it "should warn about symlinks in subdirectories", :if => Puppet.features.manages_symlinks? do
57
- untar = double('Tar')
58
- expect(untar).to receive(:unpack).with(filename, anything, anything) do |src, dest, _|
57
+ untar = mock('Tar')
58
+ untar.expects(:unpack).with(filename, anything()) do |src, dest, _|
59
59
  FileUtils.mkdir(File.join(dest, 'extractedmodule'))
60
60
  File.open(File.join(dest, 'extractedmodule', 'metadata.json'), 'w+') do |file|
61
61
  file.puts Puppet::Util::Json.dump('name' => module_name, 'version' => '1.0.0')
@@ -66,8 +66,8 @@ describe Puppet::ModuleTool::Applications::Unpacker do
66
66
  true
67
67
  end
68
68
 
69
- expect(Puppet::ModuleTool::Tar).to receive(:instance).and_return(untar)
70
- expect(Puppet).to receive(:warning).with(/symlinks/i)
69
+ Puppet::ModuleTool::Tar.expects(:instance).returns(untar)
70
+ Puppet.expects(:warning).with(regexp_matches(/symlinks/i))
71
71
 
72
72
  Puppet::ModuleTool::Applications::Unpacker.run(filename, :target_dir => target)
73
73
  expect(File).to be_directory(File.join(target, 'mytarball'))
@@ -27,13 +27,14 @@ describe Puppet::ModuleTool::Applications::Upgrader do
27
27
 
28
28
  before do
29
29
  SemanticPuppet::Dependency.clear_sources
30
- allow_any_instance_of(Puppet::ModuleTool::Applications::Upgrader).to receive(:module_repository).and_return(remote_source)
30
+ installer = Puppet::ModuleTool::Applications::Upgrader.any_instance
31
+ installer.stubs(:module_repository).returns(remote_source)
31
32
  end
32
33
 
33
34
  if Puppet::Util::Platform.windows?
34
35
  before :each do
35
- allow(Puppet.settings).to receive(:[])
36
- allow(Puppet.settings).to receive(:[]).with(:module_working_dir).and_return(Dir.mktmpdir('upgradertmp'))
36
+ Puppet.settings.stubs(:[])
37
+ Puppet.settings.stubs(:[]).with(:module_working_dir).returns(Dir.mktmpdir('upgradertmp'))
37
38
  end
38
39
  end
39
40
 
@@ -326,10 +327,9 @@ describe Puppet::ModuleTool::Applications::Upgrader do
326
327
  end
327
328
  end
328
329
  end
329
-
330
330
  context 'when in FIPS mode...' do
331
331
  it 'module unpgrader refuses to run' do
332
- allow(Facter).to receive(:value).with(:fips_enabled).and_return(true)
332
+ Facter.stubs(:value).with(:fips_enabled).returns(true)
333
333
  expect { application.run }.to raise_error(/Module upgrade is prohibited in FIPS mode/)
334
334
  end
335
335
  end
@@ -12,7 +12,7 @@ describe Puppet::ModuleTool::InstallDirectory do
12
12
 
13
13
  it "(#15202) creates the install directory" do
14
14
  target_dir = the_directory('foo', :directory? => false, :exist? => false)
15
- expect(target_dir).to receive(:mkpath)
15
+ target_dir.expects(:mkpath)
16
16
 
17
17
  install = Puppet::ModuleTool::InstallDirectory.new(target_dir)
18
18
 
@@ -21,7 +21,7 @@ describe Puppet::ModuleTool::InstallDirectory do
21
21
 
22
22
  it "(#15202) errors when the directory is not accessible" do
23
23
  target_dir = the_directory('foo', :directory? => false, :exist? => false)
24
- expect(target_dir).to receive(:mkpath).and_raise(Errno::EACCES)
24
+ target_dir.expects(:mkpath).raises(Errno::EACCES)
25
25
 
26
26
  install = Puppet::ModuleTool::InstallDirectory.new(target_dir)
27
27
 
@@ -34,7 +34,7 @@ describe Puppet::ModuleTool::InstallDirectory do
34
34
 
35
35
  it "(#15202) errors when an entry along the path is not a directory" do
36
36
  target_dir = the_directory("foo/bar", :exist? => false, :directory? => false)
37
- expect(target_dir).to receive(:mkpath).and_raise(Errno::EEXIST)
37
+ target_dir.expects(:mkpath).raises(Errno::EEXIST)
38
38
 
39
39
  install = Puppet::ModuleTool::InstallDirectory.new(target_dir)
40
40
 
@@ -45,7 +45,7 @@ describe Puppet::ModuleTool::InstallDirectory do
45
45
 
46
46
  it "(#15202) simply re-raises an unknown error" do
47
47
  target_dir = the_directory("foo/bar", :exist? => false, :directory? => false)
48
- expect(target_dir).to receive(:mkpath).and_raise("unknown error")
48
+ target_dir.expects(:mkpath).raises("unknown error")
49
49
 
50
50
  install = Puppet::ModuleTool::InstallDirectory.new(target_dir)
51
51
 
@@ -54,7 +54,7 @@ describe Puppet::ModuleTool::InstallDirectory do
54
54
 
55
55
  it "(#15202) simply re-raises an unknown system call error" do
56
56
  target_dir = the_directory("foo/bar", :exist? => false, :directory? => false)
57
- expect(target_dir).to receive(:mkpath).and_raise(SystemCallError, "unknown")
57
+ target_dir.expects(:mkpath).raises(SystemCallError, "unknown")
58
58
 
59
59
  install = Puppet::ModuleTool::InstallDirectory.new(target_dir)
60
60
 
@@ -62,9 +62,9 @@ describe Puppet::ModuleTool::InstallDirectory do
62
62
  end
63
63
 
64
64
  def the_directory(name, options)
65
- dir = double("Pathname<#{name}>")
66
- allow(dir).to receive(:exist?).and_return(options.fetch(:exist?, true))
67
- allow(dir).to receive(:directory?).and_return(options.fetch(:directory?, true))
65
+ dir = mock("Pathname<#{name}>")
66
+ dir.stubs(:exist?).returns(options.fetch(:exist?, true))
67
+ dir.stubs(:directory?).returns(options.fetch(:directory?, true))
68
68
  dir
69
69
  end
70
70
  end
@@ -24,14 +24,14 @@ describe Puppet::ModuleTool::InstalledModules do
24
24
 
25
25
  it 'defaults when not given a semantic version' do
26
26
  mod = PuppetSpec::Modules.create('badsemver', @modpath, :metadata => {:version => 'banana'})
27
- expect(Puppet).to receive(:warning).with(/Semantic Version/)
27
+ Puppet.expects(:warning).with(regexp_matches(/Semantic Version/))
28
28
  installed = described_class.new(@env)
29
29
  expect(installed.modules["puppetlabs-#{mod.name}"].version).to eq(SemanticPuppet::Version.parse('0.0.0'))
30
30
  end
31
31
 
32
32
  it 'defaults when not given a full semantic version' do
33
33
  mod = PuppetSpec::Modules.create('badsemver', @modpath, :metadata => {:version => '1.2'})
34
- expect(Puppet).to receive(:warning).with(/Semantic Version/)
34
+ Puppet.expects(:warning).with(regexp_matches(/Semantic Version/))
35
35
  installed = described_class.new(@env)
36
36
  expect(installed.modules["puppetlabs-#{mod.name}"].version).to eq(SemanticPuppet::Version.parse('0.0.0'))
37
37
  end
@@ -40,7 +40,7 @@ describe Puppet::ModuleTool::InstalledModules do
40
40
  mod1 = PuppetSpec::Modules.create('badsemver', @modpath, :metadata => {:version => 'banana'})
41
41
  mod2 = PuppetSpec::Modules.create('goodsemver', @modpath, :metadata => {:version => '1.2.3'})
42
42
  mod3 = PuppetSpec::Modules.create('notquitesemver', @modpath, :metadata => {:version => '1.2'})
43
- expect(Puppet).to receive(:warning).with(/Semantic Version/).twice
43
+ Puppet.expects(:warning).with(regexp_matches(/Semantic Version/)).twice
44
44
  installed = described_class.new(@env)
45
45
  expect(installed.modules["puppetlabs-#{mod1.name}"].version).to eq(SemanticPuppet::Version.parse('0.0.0'))
46
46
  expect(installed.modules["puppetlabs-#{mod2.name}"].version).to eq(SemanticPuppet::Version.parse('1.2.3'))
@@ -8,16 +8,16 @@ describe Puppet::ModuleTool::Tar::Gnu do
8
8
  let(:destfile) { '/space path/the/dest/file.tar.gz' }
9
9
 
10
10
  it "unpacks a tar file" do
11
- expect(Dir).to receive(:chdir).with(File.expand_path(destdir)).and_yield
12
- expect(Puppet::Util::Execution).to receive(:execute).with("gzip -dc #{Shellwords.shellescape(File.expand_path(sourcefile))} | tar xof -")
13
- expect(Puppet::Util::Execution).to receive(:execute).with("find . -type d -exec chmod 755 {} +")
14
- expect(Puppet::Util::Execution).to receive(:execute).with("find . -type f -exec chmod u+rw,g+r,a-st {} +")
15
- expect(Puppet::Util::Execution).to receive(:execute).with("chown -R <owner:group> .")
11
+ Dir.expects(:chdir).with(File.expand_path(destdir)).yields(mock)
12
+ Puppet::Util::Execution.expects(:execute).with("gzip -dc #{Shellwords.shellescape(File.expand_path(sourcefile))} | tar xof -")
13
+ Puppet::Util::Execution.expects(:execute).with("find . -type d -exec chmod 755 {} +")
14
+ Puppet::Util::Execution.expects(:execute).with("find . -type f -exec chmod u+rw,g+r,a-st {} +")
15
+ Puppet::Util::Execution.expects(:execute).with("chown -R <owner:group> .")
16
16
  subject.unpack(sourcefile, destdir, '<owner:group>')
17
17
  end
18
18
 
19
19
  it "packs a tar file" do
20
- expect(Puppet::Util::Execution).to receive(:execute).with("tar cf - #{sourcedir} | gzip -c > #{File.basename(destfile)}")
20
+ Puppet::Util::Execution.expects(:execute).with("tar cf - #{sourcedir} | gzip -c > #{File.basename(destfile)}")
21
21
  subject.pack(sourcedir, destfile)
22
22
  end
23
23
  end
@@ -57,33 +57,33 @@ describe Puppet::ModuleTool::Tar::Mini, :if => (Puppet.features.minitar? and Pup
57
57
  end
58
58
 
59
59
  it "packs a tar file" do
60
- writer = double('GzipWriter')
60
+ writer = stub('GzipWriter')
61
61
 
62
- expect(Zlib::GzipWriter).to receive(:open).with(destfile).and_yield(writer)
62
+ Zlib::GzipWriter.expects(:open).with(destfile).yields(writer)
63
63
  stats = {:mode => 0222}
64
- expect(Archive::Tar::Minitar).to receive(:pack).with(sourcedir, writer).and_yield(:file_start, 'abc', stats)
64
+ Archive::Tar::Minitar.expects(:pack).with(sourcedir, writer).yields(:file_start, 'abc', stats)
65
65
 
66
66
  minitar.pack(sourcedir, destfile)
67
67
  end
68
68
 
69
69
  it "packs a tar file on Windows" do
70
- writer = double('GzipWriter')
70
+ writer = stub('GzipWriter')
71
71
 
72
- expect(Zlib::GzipWriter).to receive(:open).with(destfile).and_yield(writer)
73
- expect(Archive::Tar::Minitar).to receive(:pack).with(sourcedir, writer).
74
- and_yield(:file_start, 'abc', {:entry => MockFileStatEntry.new(nil)})
72
+ Zlib::GzipWriter.expects(:open).with(destfile).yields(writer)
73
+ Archive::Tar::Minitar.expects(:pack).with(sourcedir, writer).
74
+ yields(:file_start, 'abc', {:entry => MockFileStatEntry.new(nil)})
75
75
 
76
76
  minitar.pack(sourcedir, destfile)
77
77
  end
78
78
 
79
79
  def unpacks_the_entry(type, name, mode = 0100)
80
- reader = double('GzipReader')
80
+ reader = stub('GzipReader')
81
81
 
82
- expect(Zlib::GzipReader).to receive(:open).with(sourcefile).and_yield(reader)
83
- expect(minitar).to receive(:find_valid_files).with(reader).and_return([name])
82
+ Zlib::GzipReader.expects(:open).with(sourcefile).yields(reader)
83
+ minitar.expects(:find_valid_files).with(reader).returns([name])
84
84
  entry = MockFileStatEntry.new(mode)
85
- expect(Archive::Tar::Minitar).to receive(:unpack).with(reader, destdir, [name]).
86
- and_yield(type, name, {:entry => entry})
85
+ Archive::Tar::Minitar.expects(:unpack).with(reader, destdir, [name]).
86
+ yields(type, name, {:entry => entry})
87
87
  entry
88
88
  end
89
89
  end
@@ -2,34 +2,35 @@ require 'spec_helper'
2
2
  require 'puppet/module_tool/tar'
3
3
 
4
4
  describe Puppet::ModuleTool::Tar do
5
+
5
6
  [
6
7
  { :name => 'ObscureLinuxDistro', :win => false },
7
8
  { :name => 'Windows', :win => true }
8
9
  ].each do |os|
9
10
  it "always prefers minitar if it and zlib are present, even with tar available" do
10
- allow(Facter).to receive(:value).with('osfamily').and_return(os[:name])
11
- allow(Puppet::Util).to receive(:which).with('tar').and_return('/usr/bin/tar')
12
- allow(Puppet::Util::Platform).to receive(:windows?).and_return(os[:win])
13
- allow(Puppet).to receive(:features).and_return(double(:minitar? => true, :zlib? => true))
11
+ Facter.stubs(:value).with('osfamily').returns os[:name]
12
+ Puppet::Util.stubs(:which).with('tar').returns '/usr/bin/tar'
13
+ Puppet::Util::Platform.stubs(:windows?).returns os[:win]
14
+ Puppet.stubs(:features).returns(stub(:minitar? => true, :zlib? => true))
14
15
 
15
16
  expect(described_class.instance).to be_a_kind_of Puppet::ModuleTool::Tar::Mini
16
17
  end
17
18
  end
18
19
 
19
20
  it "falls back to tar when minitar not present and not on Windows" do
20
- allow(Facter).to receive(:value).with('osfamily').and_return('ObscureLinuxDistro')
21
- allow(Puppet::Util).to receive(:which).with('tar').and_return('/usr/bin/tar')
22
- allow(Puppet::Util::Platform).to receive(:windows?).and_return(false)
23
- allow(Puppet).to receive(:features).and_return(double(:minitar? => false))
21
+ Facter.stubs(:value).with('osfamily').returns 'ObscureLinuxDistro'
22
+ Puppet::Util.stubs(:which).with('tar').returns '/usr/bin/tar'
23
+ Puppet::Util::Platform.stubs(:windows?).returns false
24
+ Puppet.stubs(:features).returns(stub(:minitar? => false))
24
25
 
25
26
  expect(described_class.instance).to be_a_kind_of Puppet::ModuleTool::Tar::Gnu
26
27
  end
27
28
 
28
29
  it "fails when there is no possible implementation" do
29
- allow(Facter).to receive(:value).with('osfamily').and_return('Windows')
30
- allow(Puppet::Util).to receive(:which).with('tar')
31
- allow(Puppet::Util::Platform).to receive(:windows?).and_return(true)
32
- allow(Puppet).to receive(:features).and_return(double(:minitar? => false, :zlib? => false))
30
+ Facter.stubs(:value).with('osfamily').returns 'Windows'
31
+ Puppet::Util.stubs(:which).with('tar')
32
+ Puppet::Util::Platform.stubs(:windows?).returns true
33
+ Puppet.stubs(:features).returns(stub(:minitar? => false, :zlib? => false))
33
34
 
34
35
  expect { described_class.instance }.to raise_error RuntimeError, /No suitable tar/
35
36
  end
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  # encoding: UTF-8
2
3
 
3
4
  require 'spec_helper'
@@ -6,13 +7,15 @@ require 'puppet/module_tool'
6
7
  describe Puppet::ModuleTool do
7
8
  describe '.is_module_root?' do
8
9
  it 'should return true if directory has a metadata.json file' do
9
- expect(FileTest).to receive(:file?).with(have_attributes(to_s: '/a/b/c/metadata.json')).and_return(true)
10
+ FileTest.expects(:file?).with(responds_with(:to_s, '/a/b/c/metadata.json')).
11
+ returns(true)
10
12
 
11
13
  expect(subject.is_module_root?(Pathname.new('/a/b/c'))).to be_truthy
12
14
  end
13
15
 
14
16
  it 'should return false if directory does not have a metadata.json file' do
15
- expect(FileTest).to receive(:file?).with(have_attributes(to_s: '/a/b/c/metadata.json')).and_return(false)
17
+ FileTest.expects(:file?).with(responds_with(:to_s, '/a/b/c/metadata.json')).
18
+ returns(false)
16
19
 
17
20
  expect(subject.is_module_root?(Pathname.new('/a/b/c'))).to be_falsey
18
21
  end
@@ -22,21 +25,23 @@ describe Puppet::ModuleTool do
22
25
  let(:sample_path) { Pathname.new('/a/b/c').expand_path }
23
26
 
24
27
  it 'should return the first path as a pathname when it contains a module file' do
25
- expect(Puppet::ModuleTool).to receive(:is_module_root?).with(sample_path).
26
- and_return(true)
28
+ Puppet::ModuleTool.expects(:is_module_root?).with(sample_path).
29
+ returns(true)
27
30
 
28
31
  expect(subject.find_module_root(sample_path)).to eq(sample_path)
29
32
  end
30
33
 
31
34
  it 'should return a parent path as a pathname when it contains a module file' do
32
- expect(Puppet::ModuleTool).to receive(:is_module_root?).with(have_attributes(to_s: File.expand_path('/a/b/c'))).and_return(false)
33
- expect(Puppet::ModuleTool).to receive(:is_module_root?).with(have_attributes(to_s: File.expand_path('/a/b'))).and_return(true)
35
+ Puppet::ModuleTool.expects(:is_module_root?).
36
+ with(responds_with(:to_s, File.expand_path('/a/b/c'))).returns(false)
37
+ Puppet::ModuleTool.expects(:is_module_root?).
38
+ with(responds_with(:to_s, File.expand_path('/a/b'))).returns(true)
34
39
 
35
40
  expect(subject.find_module_root(sample_path)).to eq(Pathname.new('/a/b').expand_path)
36
41
  end
37
42
 
38
43
  it 'should return nil when no module root can be found' do
39
- expect(Puppet::ModuleTool).to receive(:is_module_root?).at_least(:once).and_return(false)
44
+ Puppet::ModuleTool.expects(:is_module_root?).at_least_once.returns(false)
40
45
  expect(subject.find_module_root(sample_path)).to be_nil
41
46
  end
42
47
  end
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
  require 'puppet/network/auth_config_parser'
3
4
  require 'puppet/network/authconfig'
@@ -47,52 +48,53 @@ describe Puppet::Network::AuthConfigParser do
47
48
  end
48
49
 
49
50
  it "should strip whitespace around ACE" do
50
- expect_any_instance_of(Puppet::Network::Rights::Right).to receive(:allow).with('127.0.0.1')
51
- expect_any_instance_of(Puppet::Network::Rights::Right).to receive(:allow).with('172.16.10.0')
51
+ Puppet::Network::Rights::Right.any_instance.expects(:allow).with('127.0.0.1')
52
+ Puppet::Network::Rights::Right.any_instance.expects(:allow).with('172.16.10.0')
52
53
 
53
54
  described_class.new("path /\n allow 127.0.0.1 , 172.16.10.0 ").parse_rights
54
55
  end
55
56
 
56
57
  it "should allow ACE inline comments" do
57
- expect_any_instance_of(Puppet::Network::Rights::Right).to receive(:allow).with('127.0.0.1')
58
+
59
+ Puppet::Network::Rights::Right.any_instance.expects(:allow).with('127.0.0.1')
58
60
 
59
61
  described_class.new("path /\n allow 127.0.0.1 # will it work?").parse_rights
60
62
  end
61
63
 
62
64
  it "should create an allow ACE on each subsequent allow" do
63
- expect_any_instance_of(Puppet::Network::Rights::Right).to receive(:allow).with('127.0.0.1')
65
+ Puppet::Network::Rights::Right.any_instance.expects(:allow).with('127.0.0.1')
64
66
 
65
67
  described_class.new("path /\nallow 127.0.0.1").parse_rights
66
68
  end
67
69
 
68
70
  it "should create a deny ACE on each subsequent deny" do
69
- expect_any_instance_of(Puppet::Network::Rights::Right).to receive(:deny).with('127.0.0.1')
71
+ Puppet::Network::Rights::Right.any_instance.expects(:deny).with('127.0.0.1')
70
72
 
71
73
  described_class.new("path /\ndeny 127.0.0.1").parse_rights
72
74
  end
73
75
 
74
76
  it "should inform the current ACL if we get the 'method' directive" do
75
- expect_any_instance_of(Puppet::Network::Rights::Right).to receive(:restrict_method).with('search')
76
- expect_any_instance_of(Puppet::Network::Rights::Right).to receive(:restrict_method).with('find')
77
+ Puppet::Network::Rights::Right.any_instance.expects(:restrict_method).with('search')
78
+ Puppet::Network::Rights::Right.any_instance.expects(:restrict_method).with('find')
77
79
 
78
80
  described_class.new("path /certificates\nmethod search,find").parse_rights
79
81
  end
80
82
 
81
83
  it "should inform the current ACL if we get the 'environment' directive" do
82
- expect_any_instance_of(Puppet::Network::Rights::Right).to receive(:restrict_environment).with('production')
83
- expect_any_instance_of(Puppet::Network::Rights::Right).to receive(:restrict_environment).with('development')
84
+ Puppet::Network::Rights::Right.any_instance.expects(:restrict_environment).with('production')
85
+ Puppet::Network::Rights::Right.any_instance.expects(:restrict_environment).with('development')
84
86
 
85
87
  described_class.new("path /certificates\nenvironment production,development").parse_rights
86
88
  end
87
89
 
88
90
  it "should inform the current ACL if we get the 'auth' directive" do
89
- expect_any_instance_of(Puppet::Network::Rights::Right).to receive(:restrict_authenticated).with('yes')
91
+ Puppet::Network::Rights::Right.any_instance.expects(:restrict_authenticated).with('yes')
90
92
 
91
93
  described_class.new("path /certificates\nauth yes").parse_rights
92
94
  end
93
95
 
94
96
  it "should also allow the long form 'authenticated' directive" do
95
- expect_any_instance_of(Puppet::Network::Rights::Right).to receive(:restrict_authenticated).with('yes')
97
+ Puppet::Network::Rights::Right.any_instance.expects(:restrict_authenticated).with('yes')
96
98
 
97
99
  described_class.new("path /certificates\nauthenticated yes").parse_rights
98
100
  end