puppet 6.0.10-universal-darwin → 6.1.0-universal-darwin

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
  require 'puppet/file_serving/content'
@@ -24,7 +25,7 @@ describe Puppet::FileServing::Content do
24
25
  it "should not retrieve and store its contents when its attributes are collected" do
25
26
  content = Puppet::FileServing::Content.new(path)
26
27
 
27
- expect(File).not_to receive(:read).with(path)
28
+ File.expects(:read).with(path).never
28
29
  content.collect
29
30
 
30
31
  expect(content.instance_variable_get("@content")).to be_nil
@@ -46,10 +47,10 @@ describe Puppet::FileServing::Content do
46
47
  end
47
48
 
48
49
  it "should create an instance with a fake file name and correct content when converting from binary" do
49
- instance = double('instance')
50
- expect(Puppet::FileServing::Content).to receive(:new).with("/this/is/a/fake/path").and_return(instance)
50
+ instance = mock 'instance'
51
+ Puppet::FileServing::Content.expects(:new).with("/this/is/a/fake/path").returns instance
51
52
 
52
- expect(instance).to receive(:content=).with("foo/bar")
53
+ instance.expects(:content=).with "foo/bar"
53
54
 
54
55
  expect(Puppet::FileServing::Content.from_binary("foo/bar")).to equal(instance)
55
56
  end
@@ -57,7 +58,7 @@ describe Puppet::FileServing::Content do
57
58
  it "should return an opened File when converted to binary" do
58
59
  content = Puppet::FileServing::Content.new(path)
59
60
 
60
- expect(File).to receive(:new).with(path, "rb").and_return(:file)
61
+ File.expects(:new).with(path, "rb").returns :file
61
62
 
62
63
  expect(content.to_binary).to eq(:file)
63
64
  end
@@ -69,7 +70,7 @@ describe Puppet::FileServing::Content, "when returning the contents" do
69
70
 
70
71
  it "should fail if the file is a symlink and links are set to :manage" do
71
72
  content.links = :manage
72
- expect(Puppet::FileSystem).to receive(:lstat).with(path).and_return(double("stat", :ftype => "symlink"))
73
+ Puppet::FileSystem.expects(:lstat).with(path).returns stub("stat", :ftype => "symlink")
73
74
  expect { content.content }.to raise_error(ArgumentError)
74
75
  end
75
76
 
@@ -83,14 +84,14 @@ describe Puppet::FileServing::Content, "when returning the contents" do
83
84
  end
84
85
 
85
86
  it "should return the contents of the path if the file exists" do
86
- expect(Puppet::FileSystem).to receive(:stat).with(path).and_return(double('stat', :ftype => 'file'))
87
- expect(Puppet::FileSystem).to receive(:binread).with(path).and_return(:mycontent)
87
+ Puppet::FileSystem.expects(:stat).with(path).returns(stub('stat', :ftype => 'file'))
88
+ Puppet::FileSystem.expects(:binread).with(path).returns(:mycontent)
88
89
  expect(content.content).to eq(:mycontent)
89
90
  end
90
91
 
91
92
  it "should cache the returned contents" do
92
- expect(Puppet::FileSystem).to receive(:stat).with(path).and_return(double('stat', :ftype => 'file'))
93
- expect(Puppet::FileSystem).to receive(:binread).with(path).and_return(:mycontent)
93
+ Puppet::FileSystem.expects(:stat).with(path).returns(stub('stat', :ftype => 'file'))
94
+ Puppet::FileSystem.expects(:binread).with(path).returns(:mycontent)
94
95
  content.content
95
96
  # The second run would throw a failure if the content weren't being cached.
96
97
  content.content
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  require 'puppet/file_serving/fileset'
@@ -17,49 +18,49 @@ describe Puppet::FileServing::Fileset do
17
18
 
18
19
  it "removes a trailing file path separator" do
19
20
  path_with_separator = "#{somefile}#{File::SEPARATOR}"
20
- expect(Puppet::FileSystem).to receive(:lstat).with(somefile).and_return(double('stat'))
21
+ Puppet::FileSystem.expects(:lstat).with(somefile).returns stub('stat')
21
22
  fileset = Puppet::FileServing::Fileset.new(path_with_separator)
22
23
  expect(fileset.path).to eq(somefile)
23
24
  end
24
25
 
25
26
  it "can be created from the root directory" do
26
27
  path = File.expand_path(File::SEPARATOR)
27
- expect(Puppet::FileSystem).to receive(:lstat).with(path).and_return(double('stat'))
28
+ Puppet::FileSystem.expects(:lstat).with(path).returns stub('stat')
28
29
  fileset = Puppet::FileServing::Fileset.new(path)
29
30
  expect(fileset.path).to eq(path)
30
31
  end
31
32
 
32
33
  it "fails if its path does not exist" do
33
- expect(Puppet::FileSystem).to receive(:lstat).with(somefile).and_raise(Errno::ENOENT)
34
+ Puppet::FileSystem.expects(:lstat).with(somefile).raises(Errno::ENOENT)
34
35
  expect { Puppet::FileServing::Fileset.new(somefile) }.to raise_error(ArgumentError, "Fileset paths must exist")
35
36
  end
36
37
 
37
38
  it "accepts a 'recurse' option" do
38
- expect(Puppet::FileSystem).to receive(:lstat).with(somefile).and_return(double('stat'))
39
+ Puppet::FileSystem.expects(:lstat).with(somefile).returns stub('stat')
39
40
  set = Puppet::FileServing::Fileset.new(somefile, :recurse => true)
40
41
  expect(set.recurse).to be_truthy
41
42
  end
42
43
 
43
44
  it "accepts a 'recurselimit' option" do
44
- expect(Puppet::FileSystem).to receive(:lstat).with(somefile).and_return(double('stat'))
45
+ Puppet::FileSystem.expects(:lstat).with(somefile).returns stub('stat')
45
46
  set = Puppet::FileServing::Fileset.new(somefile, :recurselimit => 3)
46
47
  expect(set.recurselimit).to eq(3)
47
48
  end
48
49
 
49
50
  it "accepts an 'ignore' option" do
50
- expect(Puppet::FileSystem).to receive(:lstat).with(somefile).and_return(double('stat'))
51
+ Puppet::FileSystem.expects(:lstat).with(somefile).returns stub('stat')
51
52
  set = Puppet::FileServing::Fileset.new(somefile, :ignore => ".svn")
52
53
  expect(set.ignore).to eq([".svn"])
53
54
  end
54
55
 
55
56
  it "accepts a 'links' option" do
56
- expect(Puppet::FileSystem).to receive(:lstat).with(somefile).and_return(double('stat'))
57
+ Puppet::FileSystem.expects(:lstat).with(somefile).returns stub('stat')
57
58
  set = Puppet::FileServing::Fileset.new(somefile, :links => :manage)
58
59
  expect(set.links).to eq(:manage)
59
60
  end
60
61
 
61
62
  it "accepts a 'checksum_type' option" do
62
- expect(Puppet::FileSystem).to receive(:lstat).with(somefile).and_return(double('stat'))
63
+ Puppet::FileSystem.expects(:lstat).with(somefile).returns stub('stat')
63
64
  set = Puppet::FileServing::Fileset.new(somefile, :checksum_type => :test)
64
65
  expect(set.checksum_type).to eq(:test)
65
66
  end
@@ -69,22 +70,22 @@ describe Puppet::FileServing::Fileset do
69
70
  end
70
71
 
71
72
  it "defaults to 'false' for recurse" do
72
- expect(Puppet::FileSystem).to receive(:lstat).with(somefile).and_return(double('stat'))
73
+ Puppet::FileSystem.expects(:lstat).with(somefile).returns stub('stat')
73
74
  expect(Puppet::FileServing::Fileset.new(somefile).recurse).to eq(false)
74
75
  end
75
76
 
76
77
  it "defaults to :infinite for recurselimit" do
77
- expect(Puppet::FileSystem).to receive(:lstat).with(somefile).and_return(double('stat'))
78
+ Puppet::FileSystem.expects(:lstat).with(somefile).returns stub('stat')
78
79
  expect(Puppet::FileServing::Fileset.new(somefile).recurselimit).to eq(:infinite)
79
80
  end
80
81
 
81
82
  it "defaults to an empty ignore list" do
82
- expect(Puppet::FileSystem).to receive(:lstat).with(somefile).and_return(double('stat'))
83
+ Puppet::FileSystem.expects(:lstat).with(somefile).returns stub('stat')
83
84
  expect(Puppet::FileServing::Fileset.new(somefile).ignore).to eq([])
84
85
  end
85
86
 
86
87
  it "defaults to :manage for links" do
87
- expect(Puppet::FileSystem).to receive(:lstat).with(somefile).and_return(double('stat'))
88
+ Puppet::FileSystem.expects(:lstat).with(somefile).returns stub('stat')
88
89
  expect(Puppet::FileServing::Fileset.new(somefile).links).to eq(:manage)
89
90
  end
90
91
 
@@ -92,7 +93,7 @@ describe Puppet::FileServing::Fileset do
92
93
  let(:values) { { :links => :manage, :ignore => %w{a b}, :recurse => true, :recurselimit => 1234 } }
93
94
 
94
95
  before :each do
95
- expect(Puppet::FileSystem).to receive(:lstat).with(somefile).and_return(double('stat'))
96
+ Puppet::FileSystem.expects(:lstat).with(somefile).returns stub('stat')
96
97
  end
97
98
 
98
99
  [:recurse, :recurselimit, :ignore, :links].each do |option|
@@ -129,16 +130,16 @@ describe Puppet::FileServing::Fileset do
129
130
  context "when recursing" do
130
131
  before do
131
132
  @path = make_absolute("/my/path")
132
- allow(Puppet::FileSystem).to receive(:lstat).with(@path).and_return(double('stat', :directory? => true))
133
+ Puppet::FileSystem.stubs(:lstat).with(@path).returns stub('stat', :directory? => true)
133
134
 
134
135
  @fileset = Puppet::FileServing::Fileset.new(@path)
135
136
 
136
- @dirstat = double('dirstat', :directory? => true)
137
- @filestat = double('filestat', :directory? => false)
137
+ @dirstat = stub 'dirstat', :directory? => true
138
+ @filestat = stub 'filestat', :directory? => false
138
139
  end
139
140
 
140
141
  def mock_dir_structure(path, stat_method = :lstat)
141
- allow(Puppet::FileSystem).to receive(stat_method).with(path).and_return(@dirstat)
142
+ Puppet::FileSystem.stubs(stat_method).with(path).returns @dirstat
142
143
 
143
144
  # Keep track of the files we're stubbing.
144
145
  @files = %w{.}
@@ -146,59 +147,53 @@ describe Puppet::FileServing::Fileset do
146
147
  top_names = %w{one two .svn CVS}
147
148
  sub_names = %w{file1 file2 .svn CVS 0 false}
148
149
 
149
- allow(Dir).to receive(:entries).with(path, encoding: Encoding::UTF_8).and_return(top_names)
150
+ Dir.stubs(:entries).with(path, encoding: Encoding::UTF_8).returns(top_names)
150
151
  top_names.each do |subdir|
151
152
  @files << subdir # relative path
152
153
  subpath = File.join(path, subdir)
153
- allow(Puppet::FileSystem).to receive(stat_method).with(subpath).and_return(@dirstat)
154
- allow(Dir).to receive(:entries).with(subpath, encoding: Encoding::UTF_8).and_return(sub_names)
154
+ Puppet::FileSystem.stubs(stat_method).with(subpath).returns @dirstat
155
+ Dir.stubs(:entries).with(subpath, encoding: Encoding::UTF_8).returns(sub_names)
155
156
  sub_names.each do |file|
156
157
  @files << File.join(subdir, file) # relative path
157
158
  subfile_path = File.join(subpath, file)
158
- allow(Puppet::FileSystem).to receive(stat_method).with(subfile_path).and_return(@filestat)
159
+ Puppet::FileSystem.stubs(stat_method).with(subfile_path).returns(@filestat)
159
160
  end
160
161
  end
161
162
  end
162
163
 
163
- def setup_mocks_for_dir(mock_dir, base_path)
164
- path = File.join(base_path, mock_dir.name)
165
- allow(Puppet::FileSystem).to receive(:lstat).with(path).and_return(MockStat.new(path, true))
166
- allow(Dir).to receive(:entries).with(path, encoding: Encoding::UTF_8).and_return(['.', '..'] + mock_dir.entries.map(&:name))
167
- mock_dir.entries.each do |entry|
168
- setup_mocks_for_entry(entry, path)
164
+ MockStat = Struct.new(:path, :directory) do
165
+ # struct doesn't support thing ending in ?
166
+ def directory?
167
+ directory
169
168
  end
170
169
  end
171
170
 
172
- def setup_mocks_for_file(mock_file, base_path)
173
- path = File.join(base_path, mock_file.name)
174
- allow(Puppet::FileSystem).to receive(:lstat).with(path).and_return(MockStat.new(path, false))
175
- end
176
-
177
- def setup_mocks_for_entry(entry, base_path)
178
- case entry
179
- when MockDirectory
180
- setup_mocks_for_dir(entry, base_path)
181
- when MockFile
182
- setup_mocks_for_file(entry, base_path)
171
+ MockDirectory = Struct.new(:name, :entries) do
172
+ def mock(base_path)
173
+ extend Mocha::API
174
+ path = File.join(base_path, name)
175
+ Puppet::FileSystem.stubs(:lstat).with(path).returns MockStat.new(path, true)
176
+ Dir.stubs(:entries).with(path, encoding: Encoding::UTF_8).returns(['.', '..'] + entries.map(&:name))
177
+ entries.each do |entry|
178
+ entry.mock(path)
179
+ end
183
180
  end
184
181
  end
185
182
 
186
- MockStat = Struct.new(:path, :directory) do
187
- # struct doesn't support thing ending in ?
188
- def directory?
189
- directory
183
+ MockFile = Struct.new(:name) do
184
+ def mock(base_path)
185
+ extend Mocha::API
186
+ path = File.join(base_path, name)
187
+ Puppet::FileSystem.stubs(:lstat).with(path).returns MockStat.new(path, false)
190
188
  end
191
189
  end
192
190
 
193
- MockDirectory = Struct.new(:name, :entries)
194
- MockFile = Struct.new(:name)
195
-
196
191
  it "doesn't ignore pending directories when the last entry at the top level is a file" do
197
192
  structure = MockDirectory.new('path',
198
193
  [MockDirectory.new('dir1',
199
194
  [MockDirectory.new('a', [MockFile.new('f')])]),
200
195
  MockFile.new('file')])
201
- setup_mocks_for_dir(structure, make_absolute('/your'))
196
+ structure.mock(make_absolute('/your'))
202
197
  fileset = Puppet::FileServing::Fileset.new(make_absolute('/your/path'))
203
198
  fileset.recurse = true
204
199
  fileset.links = :manage
@@ -281,8 +276,8 @@ describe Puppet::FileServing::Fileset do
281
276
 
282
277
  it "works when paths have regexp significant characters" do
283
278
  @path = make_absolute("/my/path/rV1x2DafFr0R6tGG+1bbk++++TM")
284
- stat = double('dir_stat', :directory? => true)
285
- expect(Puppet::FileSystem).to receive(:lstat).with(@path).and_return(double(@path, :stat => stat, :lstat => stat))
279
+ stat = stub('dir_stat', :directory? => true)
280
+ Puppet::FileSystem.expects(:lstat).with(@path).returns stub(@path, :stat => stat, :lstat => stat)
286
281
  @fileset = Puppet::FileServing::Fileset.new(@path)
287
282
  mock_dir_structure(@path)
288
283
  @fileset.recurse = true
@@ -292,15 +287,15 @@ describe Puppet::FileServing::Fileset do
292
287
 
293
288
  it "manages the links to missing files" do
294
289
  path = make_absolute("/my/path")
295
- stat = double('stat', :directory? => true)
290
+ stat = stub 'stat', :directory? => true
296
291
 
297
- expect(Puppet::FileSystem).to receive(:stat).with(path).and_return(stat)
298
- expect(Puppet::FileSystem).to receive(:lstat).with(path).and_return(stat)
292
+ Puppet::FileSystem.expects(:stat).with(path).returns stat
293
+ Puppet::FileSystem.expects(:lstat).with(path).returns stat
299
294
 
300
295
  link_path = File.join(path, "mylink")
301
- expect(Puppet::FileSystem).to receive(:stat).with(link_path).and_raise(Errno::ENOENT)
296
+ Puppet::FileSystem.expects(:stat).with(link_path).raises(Errno::ENOENT)
302
297
 
303
- allow(Dir).to receive(:entries).with(path, encoding: Encoding::UTF_8).and_return(["mylink"])
298
+ Dir.stubs(:entries).with(path, encoding: Encoding::UTF_8).returns(["mylink"])
304
299
 
305
300
  fileset = Puppet::FileServing::Fileset.new(path)
306
301
 
@@ -313,20 +308,20 @@ describe Puppet::FileServing::Fileset do
313
308
  context "when merging other filesets" do
314
309
  before do
315
310
  @paths = [make_absolute("/first/path"), make_absolute("/second/path"), make_absolute("/third/path")]
316
- allow(Puppet::FileSystem).to receive(:lstat).and_return(double('stat', :directory? => false))
311
+ Puppet::FileSystem.stubs(:lstat).returns stub('stat', :directory? => false)
317
312
 
318
313
  @filesets = @paths.collect do |path|
319
- allow(Puppet::FileSystem).to receive(:lstat).with(path).and_return(double('stat', :directory? => true))
314
+ Puppet::FileSystem.stubs(:lstat).with(path).returns stub('stat', :directory? => true)
320
315
  Puppet::FileServing::Fileset.new(path, :recurse => true)
321
316
  end
322
317
 
323
- allow(Dir).to receive(:entries).and_return([])
318
+ Dir.stubs(:entries).returns []
324
319
  end
325
320
 
326
321
  it "returns a hash of all files in each fileset with the value being the base path" do
327
- expect(Dir).to receive(:entries).with(make_absolute("/first/path"), encoding: Encoding::UTF_8).and_return(%w{one uno})
328
- expect(Dir).to receive(:entries).with(make_absolute("/second/path"), encoding: Encoding::UTF_8).and_return(%w{two dos})
329
- expect(Dir).to receive(:entries).with(make_absolute("/third/path"), encoding: Encoding::UTF_8).and_return(%w{three tres})
322
+ Dir.expects(:entries).with(make_absolute("/first/path"), encoding: Encoding::UTF_8).returns(%w{one uno})
323
+ Dir.expects(:entries).with(make_absolute("/second/path"), encoding: Encoding::UTF_8).returns(%w{two dos})
324
+ Dir.expects(:entries).with(make_absolute("/third/path"), encoding: Encoding::UTF_8).returns(%w{three tres})
330
325
 
331
326
  expect(Puppet::FileServing::Fileset.merge(*@filesets)).to eq({
332
327
  "." => make_absolute("/first/path"),
@@ -340,15 +335,15 @@ describe Puppet::FileServing::Fileset do
340
335
  end
341
336
 
342
337
  it "includes the base directory from the first fileset" do
343
- expect(Dir).to receive(:entries).with(make_absolute("/first/path"), encoding: Encoding::UTF_8).and_return(%w{one})
344
- expect(Dir).to receive(:entries).with(make_absolute("/second/path"), encoding: Encoding::UTF_8).and_return(%w{two})
338
+ Dir.expects(:entries).with(make_absolute("/first/path"), encoding: Encoding::UTF_8).returns(%w{one})
339
+ Dir.expects(:entries).with(make_absolute("/second/path"), encoding: Encoding::UTF_8).returns(%w{two})
345
340
 
346
341
  expect(Puppet::FileServing::Fileset.merge(*@filesets)["."]).to eq(make_absolute("/first/path"))
347
342
  end
348
343
 
349
344
  it "uses the base path of the first found file when relative file paths conflict" do
350
- expect(Dir).to receive(:entries).with(make_absolute("/first/path"), encoding: Encoding::UTF_8).and_return(%w{one})
351
- expect(Dir).to receive(:entries).with(make_absolute("/second/path"), encoding: Encoding::UTF_8).and_return(%w{one})
345
+ Dir.expects(:entries).with(make_absolute("/first/path"), encoding: Encoding::UTF_8).returns(%w{one})
346
+ Dir.expects(:entries).with(make_absolute("/second/path"), encoding: Encoding::UTF_8).returns(%w{one})
352
347
 
353
348
  expect(Puppet::FileServing::Fileset.merge(*@filesets)["one"]).to eq(make_absolute("/first/path"))
354
349
  end
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
  require 'puppet/file_serving/http_metadata'
3
4
  require 'matchers/json'
@@ -31,8 +32,8 @@ describe Puppet::FileServing::HttpMetadata do
31
32
 
32
33
  context "with no Last-Modified or Content-MD5 header from the server" do
33
34
  before do
34
- allow(http_response).to receive(:[]).with('last-modified').and_return(nil)
35
- allow(http_response).to receive(:[]).with('content-md5').and_return(nil)
35
+ http_response.stubs(:[]).with('last-modified').returns nil
36
+ http_response.stubs(:[]).with('content-md5').returns nil
36
37
  end
37
38
 
38
39
  it "should use :mtime as the checksum type, based on current time" do
@@ -50,14 +51,13 @@ describe Puppet::FileServing::HttpMetadata do
50
51
 
51
52
  context "with a Last-Modified header from the server" do
52
53
  let(:time) { Time.now.utc }
53
-
54
54
  before do
55
- allow(http_response).to receive(:[]).with('content-md5').and_return(nil)
55
+ http_response.stubs(:[]).with('content-md5').returns nil
56
56
  end
57
57
 
58
58
  it "should use :mtime as the checksum type, based on Last-Modified" do
59
59
  # HTTP uses "GMT" not "UTC"
60
- allow(http_response).to receive(:[]).with('last-modified').and_return(time.strftime("%a, %d %b %Y %T GMT"))
60
+ http_response.stubs(:[]).with('last-modified').returns(time.strftime("%a, %d %b %Y %T GMT"))
61
61
  metadata = described_class.new(http_response)
62
62
  metadata.collect
63
63
  expect( metadata.checksum_type ).to eq :mtime
@@ -69,10 +69,9 @@ describe Puppet::FileServing::HttpMetadata do
69
69
  let(:input) { Time.now.to_s }
70
70
  let(:base64) { Digest::MD5.new.base64digest input }
71
71
  let(:hex) { Digest::MD5.new.hexdigest input }
72
-
73
72
  before do
74
- allow(http_response).to receive(:[]).with('last-modified').and_return(nil)
75
- allow(http_response).to receive(:[]).with('content-md5').and_return(base64)
73
+ http_response.stubs(:[]).with('last-modified').returns nil
74
+ http_response.stubs(:[]).with('content-md5').returns base64
76
75
  end
77
76
 
78
77
  it "should use the md5 checksum" do
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
  require 'puppet/file_serving/metadata'
3
4
  require 'matchers/json'
@@ -183,14 +184,14 @@ describe Puppet::FileServing::Metadata, :uses_checksums => true do
183
184
 
184
185
  it "should give a mtime checksum when checksum_type is set" do
185
186
  metadata.checksum_type = "mtime"
186
- expect(metadata).to receive(:mtime_file).and_return(time)
187
+ metadata.expects(:mtime_file).returns(time)
187
188
  metadata.collect
188
189
  expect(metadata.checksum).to eq("{mtime}#{time}")
189
190
  end
190
191
 
191
192
  it "should give a ctime checksum when checksum_type is set" do
192
193
  metadata.checksum_type = "ctime"
193
- expect(metadata).to receive(:ctime_file).and_return(time)
194
+ metadata.expects(:ctime_file).returns(time)
194
195
  metadata.collect
195
196
  expect(metadata.checksum).to eq("{ctime}#{time}")
196
197
  end
@@ -217,7 +218,7 @@ describe Puppet::FileServing::Metadata, :uses_checksums => true do
217
218
  let(:time) { Time.now }
218
219
 
219
220
  before :each do
220
- expect(metadata).to receive(:ctime_file).and_return(time)
221
+ metadata.expects(:ctime_file).returns(time)
221
222
  end
222
223
 
223
224
  it "should only use checksums of type 'ctime' for directories" do
@@ -227,7 +228,7 @@ describe Puppet::FileServing::Metadata, :uses_checksums => true do
227
228
 
228
229
  it "should only use checksums of type 'ctime' for directories even if checksum_type set" do
229
230
  metadata.checksum_type = "mtime"
230
- expect(metadata).not_to receive(:mtime_file)
231
+ metadata.expects(:mtime_file).never
231
232
  metadata.collect
232
233
  expect(metadata.checksum).to eq("{ctime}#{time}")
233
234
  end
@@ -248,9 +249,9 @@ describe Puppet::FileServing::Metadata, :uses_checksums => true do
248
249
  path = tmpfile('foo')
249
250
  FileUtils.touch(path)
250
251
 
251
- allow(Puppet::Util::Windows::Security).to receive(:get_owner).with(path).and_raise(invalid_error)
252
- allow(Puppet::Util::Windows::Security).to receive(:get_group).with(path).and_raise(invalid_error)
253
- allow(Puppet::Util::Windows::Security).to receive(:get_mode).with(path).and_raise(invalid_error)
252
+ Puppet::Util::Windows::Security.stubs(:get_owner).with(path).raises(invalid_error)
253
+ Puppet::Util::Windows::Security.stubs(:get_group).with(path).raises(invalid_error)
254
+ Puppet::Util::Windows::Security.stubs(:get_mode).with(path).raises(invalid_error)
254
255
 
255
256
  stat = Puppet::FileSystem.stat(path)
256
257
 
@@ -266,9 +267,9 @@ describe Puppet::FileServing::Metadata, :uses_checksums => true do
266
267
  path = tmpfile('bar')
267
268
  FileUtils.touch(path)
268
269
 
269
- allow(Puppet::Util::Windows::Security).to receive(:get_owner).with(path, :use).and_raise(invalid_error)
270
- allow(Puppet::Util::Windows::Security).to receive(:get_group).with(path, :use).and_raise(invalid_error)
271
- allow(Puppet::Util::Windows::Security).to receive(:get_mode).with(path, :use).and_raise(invalid_error)
270
+ Puppet::Util::Windows::Security.stubs(:get_owner).with(path, :use).raises(invalid_error)
271
+ Puppet::Util::Windows::Security.stubs(:get_group).with(path, :use).raises(invalid_error)
272
+ Puppet::Util::Windows::Security.stubs(:get_mode).with(path, :use).raises(invalid_error)
272
273
 
273
274
  stat = Puppet::FileSystem.stat(path)
274
275
 
@@ -347,8 +348,8 @@ describe Puppet::FileServing::Metadata, :uses_checksums => true do
347
348
  let(:group) {20}
348
349
 
349
350
  before :each do
350
- allow_any_instance_of(File::Stat).to receive(:uid).and_return(owner)
351
- allow_any_instance_of(File::Stat).to receive(:gid).and_return(group)
351
+ File::Stat.any_instance.stubs(:uid).returns owner
352
+ File::Stat.any_instance.stubs(:gid).returns group
352
353
  end
353
354
 
354
355
  describe "when collecting attributes when managing files" do
@@ -393,8 +394,8 @@ describe Puppet::FileServing::Metadata, :uses_checksums => true do
393
394
 
394
395
  before :each do
395
396
  require 'puppet/util/windows/security'
396
- allow(Puppet::Util::Windows::Security).to receive(:get_owner).and_return(owner)
397
- allow(Puppet::Util::Windows::Security).to receive(:get_group).and_return(group)
397
+ Puppet::Util::Windows::Security.stubs(:get_owner).returns owner
398
+ Puppet::Util::Windows::Security.stubs(:get_group).returns group
398
399
  end
399
400
 
400
401
  describe "when collecting attributes when managing files" do
@@ -440,19 +441,19 @@ describe Puppet::FileServing::Metadata, :uses_checksums => true do
440
441
  end
441
442
 
442
443
  it "should default owner" do
443
- allow(Puppet::Util::Windows::Security).to receive(:get_owner).and_return(nil)
444
+ Puppet::Util::Windows::Security.stubs(:get_owner).returns nil
444
445
 
445
446
  expect(metadata.owner).to eq('S-1-5-32-544')
446
447
  end
447
448
 
448
449
  it "should default group" do
449
- allow(Puppet::Util::Windows::Security).to receive(:get_group).and_return(nil)
450
+ Puppet::Util::Windows::Security.stubs(:get_group).returns nil
450
451
 
451
452
  expect(metadata.group).to eq('S-1-0-0')
452
453
  end
453
454
 
454
455
  it "should default mode" do
455
- allow(Puppet::Util::Windows::Security).to receive(:get_mode).and_return(nil)
456
+ Puppet::Util::Windows::Security.stubs(:get_mode).returns nil
456
457
 
457
458
  expect(metadata.mode).to eq(0644)
458
459
  end
@@ -460,23 +461,24 @@ describe Puppet::FileServing::Metadata, :uses_checksums => true do
460
461
  describe "when the path raises an Invalid ACL error" do
461
462
  # these simulate the behavior of a symlink file whose target does not support ACLs
462
463
  it "should default owner" do
463
- allow(Puppet::Util::Windows::Security).to receive(:get_owner).and_raise(invalid_dacl_error)
464
+ Puppet::Util::Windows::Security.stubs(:get_owner).raises(invalid_dacl_error)
464
465
 
465
466
  expect(metadata.owner).to eq('S-1-5-32-544')
466
467
  end
467
468
 
468
469
  it "should default group" do
469
- allow(Puppet::Util::Windows::Security).to receive(:get_group).and_raise(invalid_dacl_error)
470
+ Puppet::Util::Windows::Security.stubs(:get_group).raises(invalid_dacl_error)
470
471
 
471
472
  expect(metadata.group).to eq('S-1-0-0')
472
473
  end
473
474
 
474
475
  it "should default mode" do
475
- allow(Puppet::Util::Windows::Security).to receive(:get_mode).and_raise(invalid_dacl_error)
476
+ Puppet::Util::Windows::Security.stubs(:get_mode).raises(invalid_dacl_error)
476
477
 
477
478
  expect(metadata.mode).to eq(0644)
478
479
  end
479
480
  end
481
+
480
482
  end
481
483
 
482
484
  def set_mode(mode, path)
@@ -485,35 +487,35 @@ describe Puppet::FileServing::Metadata, :uses_checksums => true do
485
487
  end
486
488
  end
487
489
 
490
+
488
491
  describe Puppet::FileServing::Metadata, " when pointing to a link", :if => Puppet.features.manages_symlinks?, :uses_checksums => true do
489
492
  with_digest_algorithms do
490
493
  describe "when links are managed" do
491
494
  before do
492
495
  path = "/base/path/my/file"
493
496
  @file = Puppet::FileServing::Metadata.new(path, :links => :manage)
494
- stat = double("stat", :uid => 1, :gid => 2, :ftype => "link", :mode => 0755)
495
- expect(Puppet::FileSystem).to receive(:lstat).with(path).and_return(stat)
496
- expect(Puppet::FileSystem).to receive(:readlink).with(path).and_return("/some/other/path")
497
- allow(@file).to receive("#{digest_algorithm}_file".intern).and_return(checksum) # Remove these when :managed links are no longer checksumed.
497
+ stat = stub("stat", :uid => 1, :gid => 2, :ftype => "link", :mode => 0755)
498
+ Puppet::FileSystem.expects(:lstat).with(path).at_least_once.returns stat
499
+ Puppet::FileSystem.expects(:readlink).with(path).at_least_once.returns "/some/other/path"
500
+ @file.stubs("#{digest_algorithm}_file".intern).returns(checksum) # Remove these when :managed links are no longer checksumed.
498
501
 
499
502
  if Puppet::Util::Platform.windows?
500
- win_stat = double('win_stat', :owner => 'snarf', :group => 'thundercats',
503
+ win_stat = stub('win_stat', :owner => 'snarf', :group => 'thundercats',
501
504
  :ftype => 'link', :mode => 0755)
502
- allow(Puppet::FileServing::Metadata::WindowsStat).to receive(:new).and_return(win_stat)
505
+ Puppet::FileServing::Metadata::WindowsStat.stubs(:new).returns win_stat
503
506
  end
507
+
504
508
  end
505
509
 
506
510
  it "should store the destination of the link in :destination if links are :manage" do
507
511
  @file.collect
508
512
  expect(@file.destination).to eq("/some/other/path")
509
513
  end
510
-
511
514
  pending "should not collect the checksum if links are :manage" do
512
515
  # We'd like this to be true, but we need to always collect the checksum because in the server/client/server round trip we lose the distintion between manage and follow.
513
516
  @file.collect
514
517
  expect(@file.checksum).to be_nil
515
518
  end
516
-
517
519
  it "should collect the checksum if links are :manage" do # see pending note above
518
520
  @file.collect
519
521
  expect(@file.checksum).to eq("{#{digest_algorithm}}#{checksum}")
@@ -524,24 +526,22 @@ describe Puppet::FileServing::Metadata, " when pointing to a link", :if => Puppe
524
526
  before do
525
527
  path = "/base/path/my/file"
526
528
  @file = Puppet::FileServing::Metadata.new(path, :links => :follow)
527
- stat = double("stat", :uid => 1, :gid => 2, :ftype => "file", :mode => 0755)
528
- expect(Puppet::FileSystem).to receive(:stat).with(path).and_return(stat)
529
- expect(Puppet::FileSystem).not_to receive(:readlink)
529
+ stat = stub("stat", :uid => 1, :gid => 2, :ftype => "file", :mode => 0755)
530
+ Puppet::FileSystem.expects(:stat).with(path).at_least_once.returns stat
531
+ Puppet::FileSystem.expects(:readlink).never
530
532
 
531
533
  if Puppet::Util::Platform.windows?
532
- win_stat = double('win_stat', :owner => 'snarf', :group => 'thundercats',
534
+ win_stat = stub('win_stat', :owner => 'snarf', :group => 'thundercats',
533
535
  :ftype => 'file', :mode => 0755)
534
- allow(Puppet::FileServing::Metadata::WindowsStat).to receive(:new).and_return(win_stat)
536
+ Puppet::FileServing::Metadata::WindowsStat.stubs(:new).returns win_stat
535
537
  end
536
538
 
537
- allow(@file).to receive("#{digest_algorithm}_file".intern).and_return(checksum)
539
+ @file.stubs("#{digest_algorithm}_file".intern).returns(checksum)
538
540
  end
539
-
540
541
  it "should not store the destination of the link in :destination if links are :follow" do
541
542
  @file.collect
542
543
  expect(@file.destination).to be_nil
543
544
  end
544
-
545
545
  it "should collect the checksum if links are :follow" do
546
546
  @file.collect
547
547
  expect(@file.checksum).to eq("{#{digest_algorithm}}#{checksum}")