puppet 6.0.10-x86-mingw32 → 6.1.0-x86-mingw32

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
  require 'puppet/face'
3
4
 
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  require 'pathname'
@@ -15,12 +16,7 @@ shared_examples_for "a restorable file" do
15
16
  it "should restore the file" do
16
17
  request = nil
17
18
 
18
- # With the *_any_instance_of form of using a block on receive, the
19
- # first argument to the block is which instance is currently being
20
- # dealt with, and the remaining arguments are the arguments to the
21
- # method, instead of the block only getting the arguments to the
22
- # method.
23
- expect_any_instance_of(klass).to receive(:find) { |_,r| request = r }.and_return(Puppet::FileBucket::File.new(plaintext))
19
+ klass.any_instance.expects(:find).with { |r| request = r }.returns(Puppet::FileBucket::File.new(plaintext))
24
20
 
25
21
  expect(dipper.restore(dest, checksum)).to eq(checksum)
26
22
  expect(digest(Puppet::FileSystem.binread(dest))).to eq(checksum)
@@ -33,12 +29,12 @@ shared_examples_for "a restorable file" do
33
29
  it "should skip restoring if existing file has the same checksum" do
34
30
  File.open(dest, 'wb') {|f| f.print(plaintext) }
35
31
 
36
- expect(dipper).not_to receive(:getfile)
32
+ dipper.expects(:getfile).never
37
33
  expect(dipper.restore(dest, checksum)).to be_nil
38
34
  end
39
35
 
40
36
  it "should overwrite existing file if it has different checksum" do
41
- expect_any_instance_of(klass).to receive(:find).and_return(Puppet::FileBucket::File.new(plaintext))
37
+ klass.any_instance.expects(:find).returns(Puppet::FileBucket::File.new(plaintext))
42
38
 
43
39
  File.open(dest, 'wb') {|f| f.print('other contents') }
44
40
 
@@ -61,7 +57,7 @@ describe Puppet::FileBucket::Dipper, :uses_checksums => true do
61
57
  @dipper = Puppet::FileBucket::Dipper.new(:Path => make_absolute("/my/bucket"))
62
58
 
63
59
  file = make_tmp_file('contents')
64
- expect(Puppet::FileBucket::File.indirection).to receive(:head).and_raise(ArgumentError)
60
+ Puppet::FileBucket::File.indirection.expects(:head).raises ArgumentError
65
61
 
66
62
  expect { @dipper.backup(file) }.to raise_error(Puppet::Error)
67
63
  end
@@ -70,8 +66,8 @@ describe Puppet::FileBucket::Dipper, :uses_checksums => true do
70
66
  @dipper = Puppet::FileBucket::Dipper.new(:Path => make_absolute("/my/bucket"))
71
67
 
72
68
  file = make_tmp_file('contents')
73
- expect(Puppet::FileBucket::File.indirection).to receive(:head).and_return(false)
74
- expect(Puppet::FileBucket::File.indirection).to receive(:save).and_raise(ArgumentError)
69
+ Puppet::FileBucket::File.indirection.expects(:head).returns false
70
+ Puppet::FileBucket::File.indirection.expects(:save).raises ArgumentError
75
71
 
76
72
  expect { @dipper.backup(file) }.to raise_error(Puppet::Error)
77
73
  end
@@ -122,9 +118,9 @@ describe Puppet::FileBucket::Dipper, :uses_checksums => true do
122
118
  expect(@dipper.diff(checksum2, nil, nil, file1)).to include(diff21)
123
119
  expect(@dipper.diff(nil, checksum1, file2, nil)).to include(diff21)
124
120
  expect(@dipper.diff(nil, nil, file2, file1)).to include(diff21)
121
+
125
122
  end
126
123
  end
127
-
128
124
  describe "in windows environment", :if => Puppet::Util::Platform.windows? do
129
125
  it "should fail in an informative way when trying to diff" do
130
126
  @dipper = Puppet::FileBucket::Dipper.new(:Path => tmpdir("bucket"))
@@ -139,10 +135,9 @@ describe Puppet::FileBucket::Dipper, :uses_checksums => true do
139
135
  end
140
136
  end
141
137
  end
142
-
143
138
  it "should fail in an informative way when there are failures listing files on the server" do
144
139
  @dipper = Puppet::FileBucket::Dipper.new(:Path => "/unexistent/bucket")
145
- expect(Puppet::FileBucket::File.indirection).to receive(:find).and_return(nil)
140
+ Puppet::FileBucket::File.indirection.expects(:find).returns nil
146
141
 
147
142
  expect { @dipper.list(nil, nil) }.to raise_error(Puppet::Error)
148
143
  end
@@ -261,7 +256,7 @@ describe Puppet::FileBucket::Dipper, :uses_checksums => true do
261
256
  @dipper = Puppet::FileBucket::Dipper.new(:Server => "puppetmaster", :Port => "31337")
262
257
  wrong_checksum = "DEADBEEF"
263
258
 
264
- expect_any_instance_of(Puppet::FileBucketFile::Rest).to receive(:find).and_return(nil)
259
+ Puppet::FileBucketFile::Rest.any_instance.expects(:find).returns(nil)
265
260
  expect { @dipper.diff(wrong_checksum, "WEIRDCKSM", nil, nil) }.to raise_error(Puppet::Error, "Failed to diff files")
266
261
 
267
262
  end
@@ -269,7 +264,7 @@ describe Puppet::FileBucket::Dipper, :uses_checksums => true do
269
264
  it "should properly diff files on the filebucket" do
270
265
  @dipper = Puppet::FileBucket::Dipper.new(:Server => "puppetmaster", :Port => "31337")
271
266
 
272
- expect_any_instance_of(Puppet::FileBucketFile::Rest).to receive(:find).and_return("Probably valid diff")
267
+ Puppet::FileBucketFile::Rest.any_instance.expects(:find).returns("Probably valid diff")
273
268
 
274
269
  expect(@dipper.diff("checksum1", "checksum2", nil, nil)).to eq("Probably valid diff")
275
270
  end
@@ -321,10 +316,10 @@ describe Puppet::FileBucket::Dipper, :uses_checksums => true do
321
316
 
322
317
  file = make_tmp_file(plaintext)
323
318
 
324
- expect(Puppet::FileBucket::File.indirection).to receive(:head).with(
325
- %r{#{digest_algorithm}/#{checksum}}, :bucket_path => "/my/bucket"
326
- ).and_return(true)
327
- expect(Puppet::FileBucket::File.indirection).not_to receive(:save)
319
+ Puppet::FileBucket::File.indirection.expects(:head).with(
320
+ regexp_matches(%r{#{digest_algorithm}/#{checksum}}), :bucket_path => "/my/bucket"
321
+ ).returns true
322
+ Puppet::FileBucket::File.indirection.expects(:save).never
328
323
  expect(@dipper.backup(file)).to eq(checksum)
329
324
  end
330
325
 
@@ -333,7 +328,7 @@ describe Puppet::FileBucket::Dipper, :uses_checksums => true do
333
328
 
334
329
  request = nil
335
330
 
336
- expect_any_instance_of(Puppet::FileBucketFile::File).to receive(:find) { |_,r| request = r }.once.and_return(Puppet::FileBucket::File.new(plaintext))
331
+ Puppet::FileBucketFile::File.any_instance.expects(:find).with{ |r| request = r }.once.returns(Puppet::FileBucket::File.new(plaintext))
337
332
 
338
333
  expect(@dipper.getfile(checksum)).to eq(plaintext)
339
334
 
@@ -354,8 +349,8 @@ describe Puppet::FileBucket::Dipper, :uses_checksums => true do
354
349
  request1 = nil
355
350
  request2 = nil
356
351
 
357
- expect_any_instance_of(Puppet::FileBucketFile::Rest).to receive(:head) { |_,r| request1 = r }.once.and_return(nil)
358
- expect_any_instance_of(Puppet::FileBucketFile::Rest).to receive(:save) { |_,r| request2 = r }.once
352
+ Puppet::FileBucketFile::Rest.any_instance.expects(:head).with { |r| request1 = r }.once.returns(nil)
353
+ Puppet::FileBucketFile::Rest.any_instance.expects(:save).with { |r| request2 = r }.once
359
354
 
360
355
  expect(@dipper.backup(file)).to eq(checksum)
361
356
  [request1, request2].each do |r|
@@ -370,7 +365,7 @@ describe Puppet::FileBucket::Dipper, :uses_checksums => true do
370
365
 
371
366
  request = nil
372
367
 
373
- expect_any_instance_of(Puppet::FileBucketFile::Rest).to receive(:find) { |_,r| request = r }.and_return(Puppet::FileBucket::File.new(plaintext))
368
+ Puppet::FileBucketFile::Rest.any_instance.expects(:find).with { |r| request = r }.returns(Puppet::FileBucket::File.new(plaintext))
374
369
 
375
370
  expect(@dipper.getfile(checksum)).to eq(plaintext)
376
371
 
@@ -382,6 +377,7 @@ describe Puppet::FileBucket::Dipper, :uses_checksums => true do
382
377
  end
383
378
 
384
379
  describe "#restore" do
380
+
385
381
  describe "when restoring from a remote server" do
386
382
  let(:klass) { Puppet::FileBucketFile::Rest }
387
383
  let(:server) { "puppetmaster" }
@@ -1,6 +1,8 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
  require 'puppet/file_bucket/file'
3
4
 
5
+
4
6
  describe Puppet::FileBucket::File, :uses_checksums => true do
5
7
  include PuppetSpec::Files
6
8
 
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  require 'puppet/file_serving/base'
@@ -41,7 +42,7 @@ describe Puppet::FileServing::Base do
41
42
  end
42
43
 
43
44
  it "should allow specification of a relative path" do
44
- allow(Puppet::FileSystem).to receive(:exist?).and_return(true)
45
+ Puppet::FileSystem.stubs(:exist?).returns(true)
45
46
  expect(Puppet::FileServing::Base.new(path, :relative_path => "my/file").relative_path).to eq("my/file")
46
47
  end
47
48
 
@@ -50,19 +51,19 @@ describe Puppet::FileServing::Base do
50
51
  end
51
52
 
52
53
  it "should correctly indicate if the file is present" do
53
- expect(Puppet::FileSystem).to receive(:lstat).with(file).and_return(double('stat'))
54
+ Puppet::FileSystem.expects(:lstat).with(file).returns stub('stat')
54
55
  expect(Puppet::FileServing::Base.new(file).exist?).to be_truthy
55
56
  end
56
57
 
57
58
  it "should correctly indicate if the file is absent" do
58
- expect(Puppet::FileSystem).to receive(:lstat).with(file).and_raise(RuntimeError)
59
+ Puppet::FileSystem.expects(:lstat).with(file).raises RuntimeError
59
60
  expect(Puppet::FileServing::Base.new(file).exist?).to be_falsey
60
61
  end
61
62
 
62
63
  describe "when setting the relative path" do
63
64
  it "should require that the relative path be unqualified" do
64
65
  @file = Puppet::FileServing::Base.new(path)
65
- allow(Puppet::FileSystem).to receive(:exist?).and_return(true)
66
+ Puppet::FileSystem.stubs(:exist?).returns(true)
66
67
  expect { @file.relative_path = File.expand_path("/qualified/file") }.to raise_error(ArgumentError)
67
68
  end
68
69
  end
@@ -101,7 +102,7 @@ describe Puppet::FileServing::Base do
101
102
  let(:file) { Puppet::FileServing::Base.new(path) }
102
103
 
103
104
  before :each do
104
- allow(Puppet::Util::Platform).to receive(:windows?).and_return(true)
105
+ Puppet::Util::Platform.stubs(:windows?).returns true
105
106
  end
106
107
 
107
108
  it "should preserve double slashes at the beginning of the path" do
@@ -118,26 +119,26 @@ describe Puppet::FileServing::Base do
118
119
  describe "when stat'ing files" do
119
120
  let(:path) { File.expand_path('/this/file') }
120
121
  let(:file) { Puppet::FileServing::Base.new(path) }
121
- let(:stat) { double('stat', :ftype => 'file' ) }
122
- let(:stubbed_file) { double(path, :stat => stat, :lstat => stat)}
122
+ let(:stat) { stub('stat', :ftype => 'file' ) }
123
+ let(:stubbed_file) { stub(path, :stat => stat, :lstat => stat)}
123
124
 
124
125
  it "should stat the file's full path" do
125
- expect(Puppet::FileSystem).to receive(:lstat).with(path).and_return(stat)
126
+ Puppet::FileSystem.expects(:lstat).with(path).returns stat
126
127
  file.stat
127
128
  end
128
129
 
129
130
  it "should fail if the file does not exist" do
130
- expect(Puppet::FileSystem).to receive(:lstat).with(path).and_raise(Errno::ENOENT)
131
+ Puppet::FileSystem.expects(:lstat).with(path).raises(Errno::ENOENT)
131
132
  expect { file.stat }.to raise_error(Errno::ENOENT)
132
133
  end
133
134
 
134
135
  it "should use :lstat if :links is set to :manage" do
135
- expect(Puppet::FileSystem).to receive(:lstat).with(path).and_return(stubbed_file)
136
+ Puppet::FileSystem.expects(:lstat).with(path).returns stubbed_file
136
137
  file.stat
137
138
  end
138
139
 
139
140
  it "should use :stat if :links is set to :follow" do
140
- expect(Puppet::FileSystem).to receive(:stat).with(path).and_return(stubbed_file)
141
+ Puppet::FileSystem.expects(:stat).with(path).returns stubbed_file
141
142
  file.links = :follow
142
143
  file.stat
143
144
  end
@@ -149,14 +150,14 @@ describe Puppet::FileServing::Base do
149
150
  end
150
151
 
151
152
  it "should accept Windows paths on Windows" do
152
- allow(Puppet::Util::Platform).to receive(:windows?).and_return(true)
153
- allow(Puppet.features).to receive(:posix?).and_return(false)
153
+ Puppet::Util::Platform.stubs(:windows?).returns true
154
+ Puppet.features.stubs(:posix?).returns(false)
154
155
 
155
156
  expect(Puppet::FileServing::Base).to be_absolute('c:/foo')
156
157
  end
157
158
 
158
159
  it "should reject Windows paths on POSIX" do
159
- allow(Puppet::Util::Platform).to receive(:windows?).and_return(false)
160
+ Puppet::Util::Platform.stubs(:windows?).returns false
160
161
 
161
162
  expect(Puppet::FileServing::Base).not_to be_absolute('c:/foo')
162
163
  end
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  require 'puppet/file_serving/configuration/parser'
@@ -33,10 +34,10 @@ describe Puppet::FileServing::Configuration::Parser do
33
34
  end
34
35
 
35
36
  it "should return a hash of the created mounts" do
36
- mount1 = double('one', :validate => true)
37
- mount2 = double('two', :validate => true)
38
- expect(Puppet::FileServing::Mount::File).to receive(:new).with("one").and_return(mount1)
39
- expect(Puppet::FileServing::Mount::File).to receive(:new).with("two").and_return(mount2)
37
+ mount1 = mock 'one', :validate => true
38
+ mount2 = mock 'two', :validate => true
39
+ Puppet::FileServing::Mount::File.expects(:new).with("one").returns(mount1)
40
+ Puppet::FileServing::Mount::File.expects(:new).with("two").returns(mount2)
40
41
  write_config_file "[one]\n[two]\n"
41
42
 
42
43
  result = @parser.parse
@@ -55,21 +56,21 @@ describe Puppet::FileServing::Configuration::Parser do
55
56
  end
56
57
 
57
58
  it "should validate each created mount" do
58
- mount1 = double('one')
59
- expect(Puppet::FileServing::Mount::File).to receive(:new).with("one").and_return(mount1)
59
+ mount1 = mock 'one'
60
+ Puppet::FileServing::Mount::File.expects(:new).with("one").returns(mount1)
60
61
  write_config_file "[one]\n"
61
62
 
62
- expect(mount1).to receive(:validate)
63
+ mount1.expects(:validate)
63
64
 
64
65
  @parser.parse
65
66
  end
66
67
 
67
68
  it "should fail if any mount does not pass validation" do
68
- mount1 = double('one')
69
- expect(Puppet::FileServing::Mount::File).to receive(:new).with("one").and_return(mount1)
69
+ mount1 = mock 'one'
70
+ Puppet::FileServing::Mount::File.expects(:new).with("one").returns(mount1)
70
71
  write_config_file "[one]\n"
71
72
 
72
- expect(mount1).to receive(:validate).and_raise(RuntimeError)
73
+ mount1.expects(:validate).raises RuntimeError
73
74
 
74
75
  expect { @parser.parse }.to raise_error(RuntimeError)
75
76
  end
@@ -85,15 +86,15 @@ describe Puppet::FileServing::Configuration::Parser do
85
86
  include FSConfigurationParserTesting
86
87
 
87
88
  before do
88
- @mount = double('testmount', :name => "one", :validate => true)
89
- expect(Puppet::FileServing::Mount::File).to receive(:new).with("one").and_return(@mount)
90
- allow(@parser).to receive(:add_modules_mount)
89
+ @mount = stub 'testmount', :name => "one", :validate => true
90
+ Puppet::FileServing::Mount::File.expects(:new).with("one").returns(@mount)
91
+ @parser.stubs(:add_modules_mount)
91
92
  end
92
93
 
93
94
  it "should set the mount path to the path attribute from that section" do
94
95
  write_config_file "[one]\npath /some/path\n"
95
96
 
96
- expect(@mount).to receive(:path=).with("/some/path")
97
+ @mount.expects(:path=).with("/some/path")
97
98
  @parser.parse
98
99
  end
99
100
 
@@ -101,16 +102,16 @@ describe Puppet::FileServing::Configuration::Parser do
101
102
  it "should support inline comments in #{acl_type}" do
102
103
  write_config_file "[one]\n#{acl_type} something \# will it work?\n"
103
104
 
104
- expect(@mount).to receive(:info)
105
- expect(@mount).to receive(acl_type).with("something")
105
+ @mount.expects(:info)
106
+ @mount.expects(acl_type).with("something")
106
107
  @parser.parse
107
108
  end
108
109
 
109
110
  it "should tell the mount to #{acl_type} from ACLs with varying spacing around commas" do
110
111
  write_config_file "[one]\n#{acl_type} someone,sometwo, somethree , somefour ,somefive\n"
111
112
 
112
- expect(@mount).to receive(:info).exactly(5).times
113
- expect(@mount).to receive(acl_type).exactly(5).times.with(eq('someone').or eq('sometwo').or eq('somethree').or eq('somefour').or eq('somefive'))
113
+ @mount.expects(:info).times(5)
114
+ @mount.expects(acl_type).times(5).with(any_of('someone','sometwo','somethree','somefour','somefive'))
114
115
  @parser.parse
115
116
  end
116
117
 
@@ -119,8 +120,8 @@ describe Puppet::FileServing::Configuration::Parser do
119
120
  it "should tell the mount to #{acl_type} from ACLs with glob at #{ip_pattern}" do
120
121
  write_config_file "[one]\n#{acl_type} #{ip_pattern}\n"
121
122
 
122
- expect(@mount).to receive(:info)
123
- expect(@mount).to receive(acl_type).with(ip_pattern)
123
+ @mount.expects(:info)
124
+ @mount.expects(acl_type).with(ip_pattern)
124
125
  @parser.parse
125
126
  end
126
127
  }
@@ -137,21 +138,21 @@ describe Puppet::FileServing::Configuration::Parser do
137
138
  include FSConfigurationParserTesting
138
139
 
139
140
  before do
140
- @mount = double('modulesmount', :name => "modules", :validate => true)
141
+ @mount = stub 'modulesmount', :name => "modules", :validate => true
141
142
  end
142
143
 
143
144
  it "should create an instance of the Modules Mount class" do
144
145
  write_config_file "[modules]\n"
145
146
 
146
- expect(Puppet::FileServing::Mount::Modules).to receive(:new).with("modules").and_return(@mount)
147
+ Puppet::FileServing::Mount::Modules.expects(:new).with("modules").returns @mount
147
148
  @parser.parse
148
149
  end
149
150
 
150
151
  it "should warn if a path is set" do
151
152
  write_config_file "[modules]\npath /some/path\n"
152
- expect(Puppet::FileServing::Mount::Modules).to receive(:new).with("modules").and_return(@mount)
153
+ Puppet::FileServing::Mount::Modules.expects(:new).with("modules").returns(@mount)
153
154
 
154
- expect(Puppet).to receive(:warning)
155
+ Puppet.expects(:warning)
155
156
  @parser.parse
156
157
  end
157
158
  end
@@ -160,20 +161,20 @@ describe Puppet::FileServing::Configuration::Parser do
160
161
  include FSConfigurationParserTesting
161
162
 
162
163
  before do
163
- @mount = double('pluginsmount', :name => "plugins", :validate => true)
164
+ @mount = stub 'pluginsmount', :name => "plugins", :validate => true
164
165
  end
165
166
 
166
167
  it "should create an instance of the Plugins Mount class" do
167
168
  write_config_file "[plugins]\n"
168
169
 
169
- expect(Puppet::FileServing::Mount::Plugins).to receive(:new).with("plugins").and_return(@mount)
170
+ Puppet::FileServing::Mount::Plugins.expects(:new).with("plugins").returns @mount
170
171
  @parser.parse
171
172
  end
172
173
 
173
174
  it "should warn if a path is set" do
174
175
  write_config_file "[plugins]\npath /some/path\n"
175
176
 
176
- expect(Puppet).to receive(:warning)
177
+ Puppet.expects(:warning)
177
178
  @parser.parse
178
179
  end
179
180
  end
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  require 'puppet/file_serving/configuration'
@@ -24,16 +25,17 @@ describe Puppet::FileServing::Configuration do
24
25
  end
25
26
 
26
27
  describe "when initializing" do
28
+
27
29
  it "should work without a configuration file" do
28
- allow(Puppet::FileSystem).to receive(:exist?).with(@path).and_return(false)
30
+ Puppet::FileSystem.stubs(:exist?).with(@path).returns(false)
29
31
  expect { Puppet::FileServing::Configuration.configuration }.to_not raise_error
30
32
  end
31
33
 
32
34
  it "should parse the configuration file if present" do
33
- allow(Puppet::FileSystem).to receive(:exist?).with(@path).and_return(true)
34
- @parser = double('parser')
35
- expect(@parser).to receive(:parse).and_return({})
36
- allow(Puppet::FileServing::Configuration::Parser).to receive(:new).and_return(@parser)
35
+ Puppet::FileSystem.stubs(:exist?).with(@path).returns(true)
36
+ @parser = mock 'parser'
37
+ @parser.expects(:parse).returns({})
38
+ Puppet::FileServing::Configuration::Parser.stubs(:new).returns(@parser)
37
39
  Puppet::FileServing::Configuration.configuration
38
40
  end
39
41
 
@@ -43,37 +45,38 @@ describe Puppet::FileServing::Configuration do
43
45
  end
44
46
 
45
47
  describe "when parsing the configuration file" do
48
+
46
49
  before do
47
- allow(Puppet::FileSystem).to receive(:exist?).with(@path).and_return(true)
48
- @parser = double('parser')
49
- allow(Puppet::FileServing::Configuration::Parser).to receive(:new).and_return(@parser)
50
+ Puppet::FileSystem.stubs(:exist?).with(@path).returns(true)
51
+ @parser = mock 'parser'
52
+ Puppet::FileServing::Configuration::Parser.stubs(:new).returns(@parser)
50
53
  end
51
54
 
52
55
  it "should set the mount list to the results of parsing" do
53
- expect(@parser).to receive(:parse).and_return("one" => double("mount"))
56
+ @parser.expects(:parse).returns("one" => mock("mount"))
54
57
  config = Puppet::FileServing::Configuration.configuration
55
58
  expect(config.mounted?("one")).to be_truthy
56
59
  end
57
60
 
58
61
  it "should not raise exceptions" do
59
- expect(@parser).to receive(:parse).and_raise(ArgumentError)
62
+ @parser.expects(:parse).raises(ArgumentError)
60
63
  expect { Puppet::FileServing::Configuration.configuration }.to_not raise_error
61
64
  end
62
65
 
63
66
  it "should replace the existing mount list with the results of reparsing" do
64
- expect(@parser).to receive(:parse).and_return("one" => double("mount"))
67
+ @parser.expects(:parse).returns("one" => mock("mount"))
65
68
  config = Puppet::FileServing::Configuration.configuration
66
69
  expect(config.mounted?("one")).to be_truthy
67
70
  # Now parse again
68
- expect(@parser).to receive(:parse).and_return("two" => double('other'))
71
+ @parser.expects(:parse).returns("two" => mock('other'))
69
72
  config.send(:readconfig, false)
70
73
  expect(config.mounted?("one")).to be_falsey
71
74
  expect(config.mounted?("two")).to be_truthy
72
75
  end
73
76
 
74
77
  it "should not replace the mount list until the file is entirely parsed successfully" do
75
- expect(@parser).to receive(:parse).and_return("one" => double("mount"))
76
- expect(@parser).to receive(:parse).and_raise(ArgumentError)
78
+ @parser.expects(:parse).returns("one" => mock("mount"))
79
+ @parser.expects(:parse).raises(ArgumentError)
77
80
  config = Puppet::FileServing::Configuration.configuration
78
81
  # Now parse again, so the exception gets thrown
79
82
  config.send(:readconfig, false)
@@ -81,7 +84,7 @@ describe Puppet::FileServing::Configuration do
81
84
  end
82
85
 
83
86
  it "should add modules, plugins, and tasks mounts even if the file does not exist" do
84
- expect(Puppet::FileSystem).to receive(:exist?).and_return(false) # the file doesn't exist
87
+ Puppet::FileSystem.expects(:exist?).returns false # the file doesn't exist
85
88
  config = Puppet::FileServing::Configuration.configuration
86
89
  expect(config.mounted?("modules")).to be_truthy
87
90
  expect(config.mounted?("plugins")).to be_truthy
@@ -89,43 +92,43 @@ describe Puppet::FileServing::Configuration do
89
92
  end
90
93
 
91
94
  it "should allow all access to modules, plugins, and tasks if no fileserver.conf exists" do
92
- expect(Puppet::FileSystem).to receive(:exist?).and_return(false) # the file doesn't exist
93
- modules = double('modules', :empty? => true)
94
- allow(Puppet::FileServing::Mount::Modules).to receive(:new).and_return(modules)
95
- expect(modules).to receive(:allow).with('*')
95
+ Puppet::FileSystem.expects(:exist?).returns false # the file doesn't exist
96
+ modules = stub 'modules', :empty? => true
97
+ Puppet::FileServing::Mount::Modules.stubs(:new).returns(modules)
98
+ modules.expects(:allow).with('*')
96
99
 
97
- plugins = double('plugins', :empty? => true)
98
- allow(Puppet::FileServing::Mount::Plugins).to receive(:new).and_return(plugins)
99
- expect(plugins).to receive(:allow).with('*')
100
+ plugins = stub 'plugins', :empty? => true
101
+ Puppet::FileServing::Mount::Plugins.stubs(:new).returns(plugins)
102
+ plugins.expects(:allow).with('*')
100
103
 
101
- tasks = double('tasks', :empty? => true)
102
- allow(Puppet::FileServing::Mount::Tasks).to receive(:new).and_return(tasks)
103
- expect(tasks).to receive(:allow).with('*')
104
+ tasks = stub 'tasks', :empty? => true
105
+ Puppet::FileServing::Mount::Tasks.stubs(:new).returns(tasks)
106
+ tasks.expects(:allow).with('*')
104
107
 
105
108
  Puppet::FileServing::Configuration.configuration
106
109
  end
107
110
 
108
111
  it "should not allow access from all to modules, plugins, and tasks if the fileserver.conf provided some rules" do
109
- expect(Puppet::FileSystem).to receive(:exist?).and_return(false) # the file doesn't exist
112
+ Puppet::FileSystem.expects(:exist?).returns false # the file doesn't exist
110
113
 
111
- modules = double('modules', :empty? => false)
112
- allow(Puppet::FileServing::Mount::Modules).to receive(:new).and_return(modules)
113
- expect(modules).not_to receive(:allow).with('*')
114
+ modules = stub 'modules', :empty? => false
115
+ Puppet::FileServing::Mount::Modules.stubs(:new).returns(modules)
116
+ modules.expects(:allow).with('*').never
114
117
 
115
- plugins = double('plugins', :empty? => false)
116
- allow(Puppet::FileServing::Mount::Plugins).to receive(:new).and_return(plugins)
117
- expect(plugins).not_to receive(:allow).with('*')
118
+ plugins = stub 'plugins', :empty? => false
119
+ Puppet::FileServing::Mount::Plugins.stubs(:new).returns(plugins)
120
+ plugins.expects(:allow).with('*').never
118
121
 
119
- tasks = double('tasks', :empty? => false)
120
- allow(Puppet::FileServing::Mount::Tasks).to receive(:new).and_return(tasks)
121
- expect(tasks).not_to receive(:allow).with('*')
122
+ tasks = stub 'tasks', :empty? => false
123
+ Puppet::FileServing::Mount::Tasks.stubs(:new).returns(tasks)
124
+ tasks.expects(:allow).with('*').never
122
125
 
123
126
  Puppet::FileServing::Configuration.configuration
124
127
  end
125
128
 
126
129
  it "should add modules, plugins, and tasks mounts even if they are not returned by the parser" do
127
- expect(@parser).to receive(:parse).and_return("one" => double("mount"))
128
- expect(Puppet::FileSystem).to receive(:exist?).and_return(true) # the file doesn't exist
130
+ @parser.expects(:parse).returns("one" => mock("mount"))
131
+ Puppet::FileSystem.expects(:exist?).returns true # the file doesn't exist
129
132
  config = Puppet::FileServing::Configuration.configuration
130
133
  expect(config.mounted?("modules")).to be_truthy
131
134
  expect(config.mounted?("plugins")).to be_truthy
@@ -136,16 +139,16 @@ describe Puppet::FileServing::Configuration do
136
139
  describe "when finding the specified mount" do
137
140
  it "should choose the named mount if one exists" do
138
141
  config = Puppet::FileServing::Configuration.configuration
139
- expect(config).to receive(:mounts).and_return("one" => "foo")
140
- expect(config.find_mount("one", double('env'))).to eq("foo")
142
+ config.expects(:mounts).returns("one" => "foo")
143
+ expect(config.find_mount("one", mock('env'))).to eq("foo")
141
144
  end
142
145
 
143
146
  it "should return nil if there is no such named mount" do
144
147
  config = Puppet::FileServing::Configuration.configuration
145
148
 
146
- env = double('environment')
147
- mount = double('mount')
148
- allow(config).to receive(:mounts).and_return("modules" => mount)
149
+ env = mock 'environment'
150
+ mount = mock 'mount'
151
+ config.stubs(:mounts).returns("modules" => mount)
149
152
 
150
153
  expect(config.find_mount("foo", env)).to be_nil
151
154
  end
@@ -153,66 +156,66 @@ describe Puppet::FileServing::Configuration do
153
156
 
154
157
  describe "#split_path" do
155
158
  let(:config) { Puppet::FileServing::Configuration.configuration }
156
- let(:request) { double('request', :key => "foo/bar/baz", :options => {}, :node => nil, :environment => double("env")) }
159
+ let(:request) { stub 'request', :key => "foo/bar/baz", :options => {}, :node => nil, :environment => mock("env") }
157
160
 
158
161
  before do
159
- allow(config).to receive(:find_mount)
162
+ config.stubs(:find_mount)
160
163
  end
161
164
 
162
165
  it "should reread the configuration" do
163
- expect(config).to receive(:readconfig)
166
+ config.expects(:readconfig)
164
167
 
165
168
  config.split_path(request)
166
169
  end
167
170
 
168
171
  it "should treat the first field of the URI path as the mount name" do
169
- expect(config).to receive(:find_mount).with("foo", anything)
172
+ config.expects(:find_mount).with { |name, node| name == "foo" }
170
173
 
171
174
  config.split_path(request)
172
175
  end
173
176
 
174
177
  it "should fail if the mount name is not alpha-numeric" do
175
- expect(request).to receive(:key).and_return("foo&bar/asdf")
178
+ request.expects(:key).returns "foo&bar/asdf"
176
179
 
177
180
  expect { config.split_path(request) }.to raise_error(ArgumentError)
178
181
  end
179
182
 
180
183
  it "should support dashes in the mount name" do
181
- expect(request).to receive(:key).and_return("foo-bar/asdf")
184
+ request.expects(:key).returns "foo-bar/asdf"
182
185
 
183
186
  expect { config.split_path(request) }.to_not raise_error
184
187
  end
185
188
 
186
189
  it "should use the mount name and environment to find the mount" do
187
- expect(config).to receive(:find_mount).with("foo", request.environment)
188
- allow(request).to receive(:node).and_return("mynode")
190
+ config.expects(:find_mount).with { |name, env| name == "foo" and env == request.environment }
191
+ request.stubs(:node).returns("mynode")
189
192
 
190
193
  config.split_path(request)
191
194
  end
192
195
 
193
196
  it "should return nil if the mount cannot be found" do
194
- expect(config).to receive(:find_mount).and_return(nil)
197
+ config.expects(:find_mount).returns nil
195
198
 
196
199
  expect(config.split_path(request)).to be_nil
197
200
  end
198
201
 
199
202
  it "should return the mount and the relative path if the mount is found" do
200
- mount = double('mount', :name => "foo")
201
- expect(config).to receive(:find_mount).and_return(mount)
203
+ mount = stub 'mount', :name => "foo"
204
+ config.expects(:find_mount).returns mount
202
205
 
203
206
  expect(config.split_path(request)).to eq([mount, "bar/baz"])
204
207
  end
205
208
 
206
209
  it "should remove any double slashes" do
207
- allow(request).to receive(:key).and_return("foo/bar//baz")
208
- mount = double('mount', :name => "foo")
209
- expect(config).to receive(:find_mount).and_return(mount)
210
+ request.stubs(:key).returns "foo/bar//baz"
211
+ mount = stub 'mount', :name => "foo"
212
+ config.expects(:find_mount).returns mount
210
213
 
211
214
  expect(config.split_path(request)).to eq([mount, "bar/baz"])
212
215
  end
213
216
 
214
217
  it "should fail if the path contains .." do
215
- allow(request).to receive(:key).and_return('module/foo/../../bar')
218
+ request.stubs(:key).returns 'module/foo/../../bar'
216
219
 
217
220
  expect do
218
221
  config.split_path(request)
@@ -220,17 +223,17 @@ describe Puppet::FileServing::Configuration do
220
223
  end
221
224
 
222
225
  it "should return the relative path as nil if it is an empty string" do
223
- expect(request).to receive(:key).and_return("foo")
224
- mount = double('mount', :name => "foo")
225
- expect(config).to receive(:find_mount).and_return(mount)
226
+ request.expects(:key).returns "foo"
227
+ mount = stub 'mount', :name => "foo"
228
+ config.expects(:find_mount).returns mount
226
229
 
227
230
  expect(config.split_path(request)).to eq([mount, nil])
228
231
  end
229
232
 
230
233
  it "should add 'modules/' to the relative path if the modules mount is used but not specified, for backward compatibility" do
231
- expect(request).to receive(:key).and_return("foo/bar")
232
- mount = double('mount', :name => "modules")
233
- expect(config).to receive(:find_mount).and_return(mount)
234
+ request.expects(:key).returns "foo/bar"
235
+ mount = stub 'mount', :name => "modules"
236
+ config.expects(:find_mount).returns mount
234
237
 
235
238
  expect(config.split_path(request)).to eq([mount, "foo/bar"])
236
239
  end