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
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  def safely_load_service_type
@@ -6,7 +7,7 @@ def safely_load_service_type
6
7
  # on jruby. Thus, we stub it out here since we don't care to do any assertions on it.
7
8
  # This is only an issue if you're running these unit tests on a platform where upstart
8
9
  # is a default provider, like Ubuntu trusty.
9
- allow(Puppet::Util::Execution).to receive(:execute)
10
+ Puppet::Util::Execution.stubs(:execute)
10
11
  Puppet::Type.type(:service)
11
12
  end
12
13
  end
@@ -28,7 +29,7 @@ end
28
29
  describe test_title, "when validating attributes" do
29
30
  safely_load_service_type
30
31
 
31
- [:name, :binary, :hasstatus, :path, :pattern, :start, :restart, :stop, :status, :hasrestart, :control].each do |param|
32
+ [:name, :binary, :hasstatus, :path, :pattern, :start, :restart, :stop, :status, :hasrestart, :control, :timeout].each do |param|
32
33
  it "should have a #{param} parameter" do
33
34
  expect(Puppet::Type.type(:service).attrtype(param)).to eq(:param)
34
35
  end
@@ -45,8 +46,8 @@ describe test_title, "when validating attribute values" do
45
46
  safely_load_service_type
46
47
 
47
48
  before do
48
- @provider = double('provider', :class => Puppet::Type.type(:service).defaultprovider, :clear => nil, :controllable? => false)
49
- allow(Puppet::Type.type(:service).defaultprovider).to receive(:new).and_return(@provider)
49
+ @provider = stub 'provider', :class => Puppet::Type.type(:service).defaultprovider, :clear => nil, :controllable? => false
50
+ Puppet::Type.type(:service).defaultprovider.stubs(:new).returns(@provider)
50
51
  end
51
52
 
52
53
  it "should support :running as a value to :ensure" do
@@ -69,9 +70,8 @@ describe test_title, "when validating attribute values" do
69
70
 
70
71
  describe "the enable property" do
71
72
  before :each do
72
- allow(@provider.class).to receive(:supports_parameter?).and_return(true)
73
+ @provider.class.stubs(:supports_parameter?).returns true
73
74
  end
74
-
75
75
  it "should support :true as a value" do
76
76
  srv = Puppet::Type.type(:service).new(:name => "yay", :enable => :true)
77
77
  expect(srv.should(:enable)).to eq(:true)
@@ -88,13 +88,13 @@ describe test_title, "when validating attribute values" do
88
88
  end
89
89
 
90
90
  it "should support :manual as a value on Windows" do
91
- allow(Puppet::Util::Platform).to receive(:windows?).and_return(true)
91
+ Puppet::Util::Platform.stubs(:windows?).returns true
92
92
  srv = Puppet::Type.type(:service).new(:name => "yay", :enable => :manual)
93
93
  expect(srv.should(:enable)).to eq(:manual)
94
94
  end
95
95
 
96
96
  it "should not support :manual as a value when not on Windows" do
97
- allow(Puppet::Util::Platform).to receive(:windows?).and_return(false)
97
+ Puppet::Util::Platform.stubs(:windows?).returns false
98
98
 
99
99
  expect { Puppet::Type.type(:service).new(:name => "yay", :enable => :manual) }.to raise_error(
100
100
  Puppet::Error,
@@ -103,6 +103,32 @@ describe test_title, "when validating attribute values" do
103
103
  end
104
104
  end
105
105
 
106
+ describe "the timeout parameter" do
107
+ before do
108
+ provider_class_with_timeout = Puppet::Type.type(:service).provide(:simple) do
109
+ has_features :configurable_timeout
110
+ end
111
+ Puppet::Type.type(:service).stubs(:defaultprovider).returns provider_class_with_timeout
112
+ end
113
+
114
+ it "should fail when timeout is not an integer" do
115
+ expect { Puppet::Type.type(:service).new(:name => "yay", :timeout => 'foobar') }.to raise_error(Puppet::Error)
116
+ end
117
+
118
+ [-999, -1, 0].each do |int|
119
+ it "should not support #{int} as a value to :timeout" do
120
+ expect { Puppet::Type.type(:service).new(:name => "yay", :timeout => int) }.to raise_error(Puppet::Error)
121
+ end
122
+ end
123
+
124
+ [1, 30, 999].each do |int|
125
+ it "should support #{int} as a value to :timeout" do
126
+ srv = Puppet::Type.type(:service).new(:name => "yay", :timeout => int)
127
+ expect(srv[:timeout]).to eq(int)
128
+ end
129
+ end
130
+ end
131
+
106
132
  it "should support :true as a value to :hasstatus" do
107
133
  srv = Puppet::Type.type(:service).new(:name => "yay", :hasstatus => :true)
108
134
  expect(srv[:hasstatus]).to eq(:true)
@@ -129,29 +155,29 @@ describe test_title, "when validating attribute values" do
129
155
  end
130
156
 
131
157
  it "should allow setting the :enable parameter if the provider has the :enableable feature" do
132
- allow(Puppet::Type.type(:service).defaultprovider).to receive(:supports_parameter?).and_return(true)
133
- expect(Puppet::Type.type(:service).defaultprovider).to receive(:supports_parameter?).with(Puppet::Type.type(:service).attrclass(:enable)).and_return(true)
158
+ Puppet::Type.type(:service).defaultprovider.stubs(:supports_parameter?).returns(true)
159
+ Puppet::Type.type(:service).defaultprovider.expects(:supports_parameter?).with(Puppet::Type.type(:service).attrclass(:enable)).returns(true)
134
160
  svc = Puppet::Type.type(:service).new(:name => "yay", :enable => true)
135
161
  expect(svc.should(:enable)).to eq(:true)
136
162
  end
137
163
 
138
164
  it "should not allow setting the :enable parameter if the provider is missing the :enableable feature" do
139
- allow(Puppet::Type.type(:service).defaultprovider).to receive(:supports_parameter?).and_return(true)
140
- expect(Puppet::Type.type(:service).defaultprovider).to receive(:supports_parameter?).with(Puppet::Type.type(:service).attrclass(:enable)).and_return(false)
165
+ Puppet::Type.type(:service).defaultprovider.stubs(:supports_parameter?).returns(true)
166
+ Puppet::Type.type(:service).defaultprovider.expects(:supports_parameter?).with(Puppet::Type.type(:service).attrclass(:enable)).returns(false)
141
167
  svc = Puppet::Type.type(:service).new(:name => "yay", :enable => true)
142
168
  expect(svc.should(:enable)).to be_nil
143
169
  end
144
170
 
145
171
  it "should split paths on '#{File::PATH_SEPARATOR}'" do
146
- allow(Puppet::FileSystem).to receive(:exist?).and_return(true)
147
- allow(FileTest).to receive(:directory?).and_return(true)
172
+ Puppet::FileSystem.stubs(:exist?).returns(true)
173
+ FileTest.stubs(:directory?).returns(true)
148
174
  svc = Puppet::Type.type(:service).new(:name => "yay", :path => "/one/two#{File::PATH_SEPARATOR}/three/four")
149
175
  expect(svc[:path]).to eq(%w{/one/two /three/four})
150
176
  end
151
177
 
152
178
  it "should accept arrays of paths joined by '#{File::PATH_SEPARATOR}'" do
153
- allow(Puppet::FileSystem).to receive(:exist?).and_return(true)
154
- allow(FileTest).to receive(:directory?).and_return(true)
179
+ Puppet::FileSystem.stubs(:exist?).returns(true)
180
+ FileTest.stubs(:directory?).returns(true)
155
181
  svc = Puppet::Type.type(:service).new(:name => "yay", :path => ["/one#{File::PATH_SEPARATOR}/two", "/three#{File::PATH_SEPARATOR}/four"])
156
182
  expect(svc[:path]).to eq(%w{/one /two /three /four})
157
183
  end
@@ -161,11 +187,11 @@ describe test_title, "when setting default attribute values" do
161
187
  safely_load_service_type
162
188
 
163
189
  it "should default to the provider's default path if one is available" do
164
- allow(FileTest).to receive(:directory?).and_return(true)
165
- allow(Puppet::FileSystem).to receive(:exist?).and_return(true)
190
+ FileTest.stubs(:directory?).returns(true)
191
+ Puppet::FileSystem.stubs(:exist?).returns(true)
166
192
 
167
- allow(Puppet::Type.type(:service).defaultprovider).to receive(:respond_to?).and_return(true)
168
- allow(Puppet::Type.type(:service).defaultprovider).to receive(:defpath).and_return("testing")
193
+ Puppet::Type.type(:service).defaultprovider.stubs(:respond_to?).returns(true)
194
+ Puppet::Type.type(:service).defaultprovider.stubs(:defpath).returns("testing")
169
195
  svc = Puppet::Type.type(:service).new(:name => "other")
170
196
  expect(svc[:path]).to eq(["testing"])
171
197
  end
@@ -181,8 +207,8 @@ describe test_title, "when setting default attribute values" do
181
207
  end
182
208
 
183
209
  it "should default 'control' to the upcased service name with periods replaced by underscores if the provider supports the 'controllable' feature" do
184
- provider = double('provider', :controllable? => true, :class => Puppet::Type.type(:service).defaultprovider, :clear => nil)
185
- allow(Puppet::Type.type(:service).defaultprovider).to receive(:new).and_return(provider)
210
+ provider = stub 'provider', :controllable? => true, :class => Puppet::Type.type(:service).defaultprovider, :clear => nil
211
+ Puppet::Type.type(:service).defaultprovider.stubs(:new).returns(provider)
186
212
  svc = Puppet::Type.type(:service).new(:name => "nfs.client")
187
213
  expect(svc[:control]).to eq("NFS_CLIENT_START")
188
214
  end
@@ -196,14 +222,14 @@ describe test_title, "when retrieving the host's current state" do
196
222
  end
197
223
 
198
224
  it "should use the provider's status to determine whether the service is running" do
199
- expect(@service.provider).to receive(:status).and_return(:yepper)
225
+ @service.provider.expects(:status).returns(:yepper)
200
226
  @service[:ensure] = :running
201
227
  expect(@service.property(:ensure).retrieve).to eq(:yepper)
202
228
  end
203
229
 
204
230
  it "should ask the provider whether it is enabled" do
205
- allow(@service.provider.class).to receive(:supports_parameter?).and_return(true)
206
- expect(@service.provider).to receive(:enabled?).and_return(:yepper)
231
+ @service.provider.class.stubs(:supports_parameter?).returns(true)
232
+ @service.provider.expects(:enabled?).returns(:yepper)
207
233
  @service[:enable] = true
208
234
  expect(@service.property(:enable).retrieve).to eq(:yepper)
209
235
  end
@@ -218,56 +244,56 @@ describe test_title, "when changing the host" do
218
244
 
219
245
  it "should start the service if it is supposed to be running" do
220
246
  @service[:ensure] = :running
221
- expect(@service.provider).to receive(:start)
247
+ @service.provider.expects(:start)
222
248
  @service.property(:ensure).sync
223
249
  end
224
250
 
225
251
  it "should stop the service if it is supposed to be stopped" do
226
252
  @service[:ensure] = :stopped
227
- expect(@service.provider).to receive(:stop)
253
+ @service.provider.expects(:stop)
228
254
  @service.property(:ensure).sync
229
255
  end
230
256
 
231
257
  it "should enable the service if it is supposed to be enabled" do
232
- allow(@service.provider.class).to receive(:supports_parameter?).and_return(true)
258
+ @service.provider.class.stubs(:supports_parameter?).returns(true)
233
259
  @service[:enable] = true
234
- expect(@service.provider).to receive(:enable)
260
+ @service.provider.expects(:enable)
235
261
  @service.property(:enable).sync
236
262
  end
237
263
 
238
264
  it "should disable the service if it is supposed to be disabled" do
239
- allow(@service.provider.class).to receive(:supports_parameter?).and_return(true)
265
+ @service.provider.class.stubs(:supports_parameter?).returns(true)
240
266
  @service[:enable] = false
241
- expect(@service.provider).to receive(:disable)
267
+ @service.provider.expects(:disable)
242
268
  @service.property(:enable).sync
243
269
  end
244
270
 
245
271
  it "should always consider the enable state of a static service to be in sync" do
246
- allow(@service.provider.class).to receive(:supports_parameter?).and_return(true)
247
- expect(@service.provider).to receive(:cached_enabled?).and_return('static')
272
+ @service.provider.class.stubs(:supports_parameter?).returns(true)
273
+ @service.provider.expects(:cached_enabled?).returns('static')
248
274
  @service[:enable] = false
249
- expect(Puppet).to receive(:debug).with("Unable to enable or disable static service yay")
275
+ Puppet.expects(:debug).with("Unable to enable or disable static service yay")
250
276
  expect(@service.property(:enable).insync?(:true)).to eq(true)
251
277
  end
252
278
 
253
279
  it "should determine insyncness normally when the service is not static" do
254
- allow(@service.provider.class).to receive(:supports_parameter?).and_return(true)
255
- expect(@service.provider).to receive(:cached_enabled?).and_return('true')
280
+ @service.provider.class.stubs(:supports_parameter?).returns(true)
281
+ @service.provider.expects(:cached_enabled?).returns('true')
256
282
  @service[:enable] = true
257
- expect(Puppet).not_to receive(:debug)
283
+ Puppet.expects(:debug).never
258
284
  expect(@service.property(:enable).insync?(:true)).to eq(true)
259
285
  end
260
286
 
261
287
  it "should sync the service's enable state when changing the state of :ensure if :enable is being managed" do
262
- allow(@service.provider.class).to receive(:supports_parameter?).and_return(true)
288
+ @service.provider.class.stubs(:supports_parameter?).returns(true)
263
289
  @service[:enable] = false
264
290
  @service[:ensure] = :stopped
265
291
 
266
- expect(@service.property(:enable)).to receive(:retrieve).and_return("whatever")
267
- expect(@service.property(:enable)).to receive(:insync?).and_return(false)
268
- expect(@service.property(:enable)).to receive(:sync)
292
+ @service.property(:enable).expects(:retrieve).returns("whatever")
293
+ @service.property(:enable).expects(:insync?).returns(false)
294
+ @service.property(:enable).expects(:sync)
269
295
 
270
- allow(@service.provider).to receive(:stop)
296
+ @service.provider.stubs(:stop)
271
297
 
272
298
  @service.property(:ensure).sync
273
299
  end
@@ -282,27 +308,27 @@ describe test_title, "when refreshing the service" do
282
308
 
283
309
  it "should restart the service if it is running" do
284
310
  @service[:ensure] = :running
285
- expect(@service.provider).to receive(:status).and_return(:running)
286
- expect(@service.provider).to receive(:restart)
311
+ @service.provider.expects(:status).returns(:running)
312
+ @service.provider.expects(:restart)
287
313
  @service.refresh
288
314
  end
289
315
 
290
316
  it "should restart the service if it is running, even if it is supposed to stopped" do
291
317
  @service[:ensure] = :stopped
292
- expect(@service.provider).to receive(:status).and_return(:running)
293
- expect(@service.provider).to receive(:restart)
318
+ @service.provider.expects(:status).returns(:running)
319
+ @service.provider.expects(:restart)
294
320
  @service.refresh
295
321
  end
296
322
 
297
323
  it "should not restart the service if it is not running" do
298
324
  @service[:ensure] = :running
299
- expect(@service.provider).to receive(:status).and_return(:stopped)
325
+ @service.provider.expects(:status).returns(:stopped)
300
326
  @service.refresh
301
327
  end
302
328
 
303
329
  it "should add :ensure as a property if it is not being managed" do
304
- expect(@service.provider).to receive(:status).and_return(:running)
305
- expect(@service.provider).to receive(:restart)
330
+ @service.provider.expects(:status).returns(:running)
331
+ @service.provider.expects(:restart)
306
332
  @service.refresh
307
333
  end
308
334
  end
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Puppet::Type.type(:stage) do
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
  require 'puppet/file_bucket/dipper'
3
4
 
@@ -8,7 +9,7 @@ describe tidy do
8
9
 
9
10
  before do
10
11
  @basepath = make_absolute("/what/ever")
11
- allow(Puppet.settings).to receive(:use)
12
+ Puppet.settings.stubs(:use)
12
13
  end
13
14
 
14
15
  context "when normalizing 'path' on windows", :if => Puppet::Util::Platform.windows? do
@@ -20,8 +21,8 @@ describe tidy do
20
21
 
21
22
  it "should use :lstat when stating a file" do
22
23
  path = '/foo/bar'
23
- stat = double('stat')
24
- expect(Puppet::FileSystem).to receive(:lstat).with(path).and_return(stat)
24
+ stat = mock 'stat'
25
+ Puppet::FileSystem.expects(:lstat).with(path).returns stat
25
26
 
26
27
  resource = tidy.new :path => path, :age => "1d"
27
28
 
@@ -134,32 +135,32 @@ describe tidy do
134
135
  describe "when tidying" do
135
136
  before do
136
137
  @tidy = Puppet::Type.type(:tidy).new :path => @basepath
137
- @stat = double('stat', :ftype => "directory")
138
+ @stat = stub 'stat', :ftype => "directory"
138
139
  lstat_is(@basepath, @stat)
139
140
  end
140
141
 
141
142
  describe "and generating files" do
142
143
  it "should set the backup on the file if backup is set on the tidy instance" do
143
144
  @tidy[:backup] = "whatever"
144
- expect(Puppet::Type.type(:file)).to receive(:new).with(hash_including(backup: "whatever"))
145
+ Puppet::Type.type(:file).expects(:new).with { |args| args[:backup] == "whatever" }
145
146
 
146
147
  @tidy.mkfile(@basepath)
147
148
  end
148
149
 
149
150
  it "should set the file's path to the tidy's path" do
150
- expect(Puppet::Type.type(:file)).to receive(:new).with(hash_including(path: @basepath))
151
+ Puppet::Type.type(:file).expects(:new).with { |args| args[:path] == @basepath }
151
152
 
152
153
  @tidy.mkfile(@basepath)
153
154
  end
154
155
 
155
156
  it "should configure the file for deletion" do
156
- expect(Puppet::Type.type(:file)).to receive(:new).with(hash_including(ensure: :absent))
157
+ Puppet::Type.type(:file).expects(:new).with { |args| args[:ensure] == :absent }
157
158
 
158
159
  @tidy.mkfile(@basepath)
159
160
  end
160
161
 
161
162
  it "should force deletion on the file" do
162
- expect(Puppet::Type.type(:file)).to receive(:new).with(hash_including(force: true))
163
+ Puppet::Type.type(:file).expects(:new).with { |args| args[:force] == true }
163
164
 
164
165
  @tidy.mkfile(@basepath)
165
166
  end
@@ -173,16 +174,16 @@ describe tidy do
173
174
 
174
175
  describe "and recursion is not used" do
175
176
  it "should generate a file resource if the file should be tidied" do
176
- expect(@tidy).to receive(:tidy?).with(@basepath).and_return(true)
177
+ @tidy.expects(:tidy?).with(@basepath).returns true
177
178
  file = Puppet::Type.type(:file).new(:path => @basepath+"/eh")
178
- expect(@tidy).to receive(:mkfile).with(@basepath).and_return(file)
179
+ @tidy.expects(:mkfile).with(@basepath).returns file
179
180
 
180
181
  expect(@tidy.generate).to eq([file])
181
182
  end
182
183
 
183
184
  it "should do nothing if the file should not be tidied" do
184
- expect(@tidy).to receive(:tidy?).with(@basepath).and_return(false)
185
- expect(@tidy).not_to receive(:mkfile)
185
+ @tidy.expects(:tidy?).with(@basepath).returns false
186
+ @tidy.expects(:mkfile).never
186
187
 
187
188
  expect(@tidy.generate).to eq([])
188
189
  end
@@ -191,38 +192,38 @@ describe tidy do
191
192
  describe "and recursion is used" do
192
193
  before do
193
194
  @tidy[:recurse] = true
194
- allow_any_instance_of(Puppet::FileServing::Fileset).to receive(:stat).and_return(double("stat"))
195
+ Puppet::FileServing::Fileset.any_instance.stubs(:stat).returns mock("stat")
195
196
  @fileset = Puppet::FileServing::Fileset.new(@basepath)
196
- allow(Puppet::FileServing::Fileset).to receive(:new).and_return(@fileset)
197
+ Puppet::FileServing::Fileset.stubs(:new).returns @fileset
197
198
  end
198
199
 
199
200
  it "should use a Fileset for infinite recursion" do
200
- expect(Puppet::FileServing::Fileset).to receive(:new).with(@basepath, :recurse => true).and_return(@fileset)
201
- expect(@fileset).to receive(:files).and_return(%w{. one two})
202
- allow(@tidy).to receive(:tidy?).and_return(false)
201
+ Puppet::FileServing::Fileset.expects(:new).with(@basepath, :recurse => true).returns @fileset
202
+ @fileset.expects(:files).returns %w{. one two}
203
+ @tidy.stubs(:tidy?).returns false
203
204
 
204
205
  @tidy.generate
205
206
  end
206
207
 
207
208
  it "should use a Fileset for limited recursion" do
208
209
  @tidy[:recurse] = 42
209
- expect(Puppet::FileServing::Fileset).to receive(:new).with(@basepath, :recurse => true, :recurselimit => 42).and_return(@fileset)
210
- expect(@fileset).to receive(:files).and_return(%w{. one two})
211
- allow(@tidy).to receive(:tidy?).and_return(false)
210
+ Puppet::FileServing::Fileset.expects(:new).with(@basepath, :recurse => true, :recurselimit => 42).returns @fileset
211
+ @fileset.expects(:files).returns %w{. one two}
212
+ @tidy.stubs(:tidy?).returns false
212
213
 
213
214
  @tidy.generate
214
215
  end
215
216
 
216
217
  it "should generate a file resource for every file that should be tidied but not for files that should not be tidied" do
217
- expect(@fileset).to receive(:files).and_return(%w{. one two})
218
+ @fileset.expects(:files).returns %w{. one two}
218
219
 
219
- expect(@tidy).to receive(:tidy?).with(@basepath).and_return(true)
220
- expect(@tidy).to receive(:tidy?).with(@basepath+"/one").and_return(true)
221
- expect(@tidy).to receive(:tidy?).with(@basepath+"/two").and_return(false)
220
+ @tidy.expects(:tidy?).with(@basepath).returns true
221
+ @tidy.expects(:tidy?).with(@basepath+"/one").returns true
222
+ @tidy.expects(:tidy?).with(@basepath+"/two").returns false
222
223
 
223
224
  file = Puppet::Type.type(:file).new(:path => @basepath+"/eh")
224
- expect(@tidy).to receive(:mkfile).with(@basepath).and_return(file)
225
- expect(@tidy).to receive(:mkfile).with(@basepath+"/one").and_return(file)
225
+ @tidy.expects(:mkfile).with(@basepath).returns file
226
+ @tidy.expects(:mkfile).with(@basepath+"/one").returns file
226
227
 
227
228
  @tidy.generate
228
229
  end
@@ -233,7 +234,7 @@ describe tidy do
233
234
  @tidy = Puppet::Type.type(:tidy).new :path => @basepath, :recurse => 1
234
235
  @tidy[:matches] = %w{*foo* *bar*}
235
236
 
236
- @stat = double('stat')
237
+ @stat = mock 'stat'
237
238
 
238
239
  @matcher = @tidy.parameter(:matches)
239
240
  end
@@ -257,7 +258,7 @@ describe tidy do
257
258
  describe "and determining whether a file is too old" do
258
259
  before do
259
260
  @tidy = Puppet::Type.type(:tidy).new :path => @basepath
260
- @stat = double('stat')
261
+ @stat = stub 'stat'
261
262
 
262
263
  @tidy[:age] = "1s"
263
264
  @tidy[:type] = "mtime"
@@ -266,19 +267,19 @@ describe tidy do
266
267
 
267
268
  it "should use the age type specified" do
268
269
  @tidy[:type] = :ctime
269
- expect(@stat).to receive(:ctime).and_return(Time.now)
270
+ @stat.expects(:ctime).returns(Time.now)
270
271
 
271
272
  @ager.tidy?(@basepath, @stat)
272
273
  end
273
274
 
274
275
  it "should return false if the file is more recent than the specified age" do
275
- expect(@stat).to receive(:mtime).and_return(Time.now)
276
+ @stat.expects(:mtime).returns(Time.now)
276
277
 
277
278
  expect(@ager).not_to be_tidy(@basepath, @stat)
278
279
  end
279
280
 
280
281
  it "should return true if the file is older than the specified age" do
281
- expect(@stat).to receive(:mtime).and_return(Time.now - 10)
282
+ @stat.expects(:mtime).returns(Time.now - 10)
282
283
 
283
284
  expect(@ager).to be_tidy(@basepath, @stat)
284
285
  end
@@ -287,26 +288,26 @@ describe tidy do
287
288
  describe "and determining whether a file is too large" do
288
289
  before do
289
290
  @tidy = Puppet::Type.type(:tidy).new :path => @basepath
290
- @stat = double('stat', :ftype => "file")
291
+ @stat = stub 'stat', :ftype => "file"
291
292
 
292
293
  @tidy[:size] = "1kb"
293
294
  @sizer = @tidy.parameter(:size)
294
295
  end
295
296
 
296
297
  it "should return false if the file is smaller than the specified size" do
297
- expect(@stat).to receive(:size).and_return(4) # smaller than a kilobyte
298
+ @stat.expects(:size).returns(4) # smaller than a kilobyte
298
299
 
299
300
  expect(@sizer).not_to be_tidy(@basepath, @stat)
300
301
  end
301
302
 
302
303
  it "should return true if the file is larger than the specified size" do
303
- expect(@stat).to receive(:size).and_return(1500) # larger than a kilobyte
304
+ @stat.expects(:size).returns(1500) # larger than a kilobyte
304
305
 
305
306
  expect(@sizer).to be_tidy(@basepath, @stat)
306
307
  end
307
308
 
308
309
  it "should return true if the file is equal to the specified size" do
309
- expect(@stat).to receive(:size).and_return(1024)
310
+ @stat.expects(:size).returns(1024)
310
311
 
311
312
  expect(@sizer).to be_tidy(@basepath, @stat)
312
313
  end
@@ -317,7 +318,7 @@ describe tidy do
317
318
  @tidy = Puppet::Type.type(:tidy).new :path => @basepath
318
319
  @catalog = Puppet::Resource::Catalog.new
319
320
  @tidy.catalog = @catalog
320
- @stat = double('stat', :ftype => "file")
321
+ @stat = stub 'stat', :ftype => "file"
321
322
  lstat_is(@basepath, @stat)
322
323
  end
323
324
 
@@ -342,7 +343,7 @@ describe tidy do
342
343
  end
343
344
 
344
345
  it "should not be tidied if it is a directory and rmdirs is set to false" do
345
- stat = double('stat', :ftype => "directory")
346
+ stat = mock 'stat', :ftype => "directory"
346
347
  lstat_is(@basepath, stat)
347
348
 
348
349
  expect(@tidy).not_to be_tidy(@basepath)
@@ -353,7 +354,7 @@ describe tidy do
353
354
  @tidy[:matches] = "globs"
354
355
 
355
356
  matches = @tidy.parameter(:matches)
356
- expect(matches).to receive(:tidy?).with(@basepath, @stat).and_return(false)
357
+ matches.expects(:tidy?).with(@basepath, @stat).returns false
357
358
  expect(@tidy).not_to be_tidy(@basepath)
358
359
  end
359
360
 
@@ -361,7 +362,7 @@ describe tidy do
361
362
  @tidy[:age] = "1d"
362
363
 
363
364
  ager = @tidy.parameter(:age)
364
- expect(ager).to receive(:tidy?).with(@basepath, @stat).and_return(false)
365
+ ager.expects(:tidy?).with(@basepath, @stat).returns false
365
366
  expect(@tidy).not_to be_tidy(@basepath)
366
367
  end
367
368
 
@@ -369,7 +370,7 @@ describe tidy do
369
370
  @tidy[:size] = "1b"
370
371
 
371
372
  sizer = @tidy.parameter(:size)
372
- expect(sizer).to receive(:tidy?).with(@basepath, @stat).and_return(false)
373
+ sizer.expects(:tidy?).with(@basepath, @stat).returns false
373
374
  expect(@tidy).not_to be_tidy(@basepath)
374
375
  end
375
376
 
@@ -377,8 +378,8 @@ describe tidy do
377
378
  @tidy[:size] = "1b"
378
379
  @tidy[:age] = "1d"
379
380
 
380
- allow(@tidy.parameter(:size)).to receive(:tidy?).and_return(true)
381
- allow(@tidy.parameter(:age)).to receive(:tidy?).and_return(false)
381
+ @tidy.parameter(:size).stubs(:tidy?).returns true
382
+ @tidy.parameter(:age).stubs(:tidy?).returns false
382
383
  expect(@tidy).to be_tidy(@basepath)
383
384
  end
384
385
 
@@ -386,8 +387,8 @@ describe tidy do
386
387
  @tidy[:size] = "1b"
387
388
  @tidy[:age] = "1d"
388
389
 
389
- allow(@tidy.parameter(:size)).to receive(:tidy?).and_return(false)
390
- allow(@tidy.parameter(:age)).to receive(:tidy?).and_return(true)
390
+ @tidy.parameter(:size).stubs(:tidy?).returns false
391
+ @tidy.parameter(:age).stubs(:tidy?).returns true
391
392
  expect(@tidy).to be_tidy(@basepath)
392
393
  end
393
394
 
@@ -399,10 +400,10 @@ describe tidy do
399
400
  @tidy[:recurse] = true
400
401
  @tidy[:rmdirs] = true
401
402
  fileset = Puppet::FileServing::Fileset.new(@basepath)
402
- expect(Puppet::FileServing::Fileset).to receive(:new).and_return(fileset)
403
- expect(fileset).to receive(:files).and_return(%w{. one one/two})
403
+ Puppet::FileServing::Fileset.expects(:new).returns fileset
404
+ fileset.expects(:files).returns %w{. one one/two}
404
405
 
405
- allow(@tidy).to receive(:tidy?).and_return(true)
406
+ @tidy.stubs(:tidy?).returns true
406
407
 
407
408
  expect(@tidy.generate.collect { |r| r[:path] }).to eq([@basepath+"/one/two", @basepath+"/one", @basepath])
408
409
  end
@@ -411,10 +412,10 @@ describe tidy do
411
412
  it "should configure directories to require their contained files if rmdirs is enabled, so the files will be deleted first" do
412
413
  @tidy[:recurse] = true
413
414
  @tidy[:rmdirs] = true
414
- fileset = double('fileset')
415
- expect(Puppet::FileServing::Fileset).to receive(:new).with(@basepath, :recurse => true).and_return(fileset)
416
- expect(fileset).to receive(:files).and_return(%w{. one two one/subone two/subtwo one/subone/ssone})
417
- allow(@tidy).to receive(:tidy?).and_return(true)
415
+ fileset = mock 'fileset'
416
+ Puppet::FileServing::Fileset.expects(:new).with(@basepath, :recurse => true).returns fileset
417
+ fileset.expects(:files).returns %w{. one two one/subone two/subtwo one/subone/ssone}
418
+ @tidy.stubs(:tidy?).returns true
418
419
 
419
420
  result = @tidy.generate.inject({}) { |hash, res| hash[res[:path]] = res; hash }
420
421
  {
@@ -433,10 +434,10 @@ describe tidy do
433
434
  it "should configure directories to require their contained files in sorted order" do
434
435
  @tidy[:recurse] = true
435
436
  @tidy[:rmdirs] = true
436
- fileset = double('fileset')
437
- expect(Puppet::FileServing::Fileset).to receive(:new).with(@basepath, :recurse => true).and_return(fileset)
438
- expect(fileset).to receive(:files).and_return(%w{. a a/2 a/1 a/3})
439
- allow(@tidy).to receive(:tidy?).and_return(true)
437
+ fileset = mock 'fileset'
438
+ Puppet::FileServing::Fileset.expects(:new).with(@basepath, :recurse => true).returns fileset
439
+ fileset.expects(:files).returns %w{. a a/2 a/1 a/3}
440
+ @tidy.stubs(:tidy?).returns true
440
441
 
441
442
  result = @tidy.generate.inject({}) { |hash, res| hash[res[:path]] = res; hash }
442
443
  expect(result[@basepath + '/a'][:require].collect{|a| a.name[('File//a/' + @basepath).length..-1]}.join()).to eq('321')
@@ -446,10 +447,10 @@ describe tidy do
446
447
  @tidy[:recurse] = true
447
448
  @tidy[:noop] = true
448
449
 
449
- fileset = double('fileset')
450
- expect(Puppet::FileServing::Fileset).to receive(:new).with(@basepath, :recurse => true).and_return(fileset)
451
- expect(fileset).to receive(:files).and_return(%w{. a a/2 a/1 a/3})
452
- allow(@tidy).to receive(:tidy?).and_return(true)
450
+ fileset = mock 'fileset'
451
+ Puppet::FileServing::Fileset.expects(:new).with(@basepath, :recurse => true).returns fileset
452
+ fileset.expects(:files).returns %w{. a a/2 a/1 a/3}
453
+ @tidy.stubs(:tidy?).returns true
453
454
 
454
455
  result = @tidy.generate.inject({}) { |hash, res| hash[res[:path]] = res; hash }
455
456
 
@@ -458,10 +459,10 @@ describe tidy do
458
459
  end
459
460
 
460
461
  def lstat_is(path, stat)
461
- allow(Puppet::FileSystem).to receive(:lstat).with(path).and_return(stat)
462
+ Puppet::FileSystem.stubs(:lstat).with(path).returns(stat)
462
463
  end
463
464
 
464
465
  def lstat_raises(path, error_class)
465
- expect(Puppet::FileSystem).to receive(:lstat).with(path).and_raise(Errno::ENOENT)
466
+ Puppet::FileSystem.expects(:lstat).with(path).raises Errno::ENOENT
466
467
  end
467
468
  end