puppet 6.0.10 → 6.1.0

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

Potentially problematic release.


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

Files changed (748) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -0
  3. data/Gemfile.lock +31 -27
  4. data/Guardfile.example +76 -0
  5. data/LICENSE +189 -4
  6. data/MAINTAINERS +47 -0
  7. data/README.md +3 -3
  8. data/lib/hiera/scope.rb +0 -7
  9. data/lib/puppet.rb +6 -5
  10. data/lib/puppet/application.rb +3 -3
  11. data/lib/puppet/application/cert.rb +2 -2
  12. data/lib/puppet/application/device.rb +83 -109
  13. data/lib/puppet/application/filebucket.rb +1 -10
  14. data/lib/puppet/application/ssl.rb +0 -2
  15. data/lib/puppet/configurer.rb +9 -10
  16. data/lib/puppet/confine/false.rb +1 -7
  17. data/lib/puppet/confine/true.rb +1 -7
  18. data/lib/puppet/defaults.rb +39 -51
  19. data/lib/puppet/forge.rb +1 -4
  20. data/lib/puppet/functions/abs.rb +1 -1
  21. data/lib/puppet/functions/call.rb +1 -2
  22. data/lib/puppet/functions/new.rb +1 -1
  23. data/lib/puppet/indirector/request.rb +15 -26
  24. data/lib/puppet/network/http/connection.rb +12 -32
  25. data/lib/puppet/network/http/factory.rb +0 -5
  26. data/lib/puppet/pal/catalog_compiler.rb +96 -0
  27. data/lib/puppet/pal/compiler.rb +221 -0
  28. data/lib/puppet/pal/function_signature.rb +52 -0
  29. data/lib/puppet/pal/json_catalog_encoder.rb +67 -0
  30. data/lib/puppet/pal/pal_api.rb +15 -0
  31. data/lib/puppet/pal/pal_impl.rb +523 -0
  32. data/lib/puppet/pal/plan_signature.rb +71 -0
  33. data/lib/puppet/pal/script_compiler.rb +71 -0
  34. data/lib/puppet/pal/task_signature.rb +58 -0
  35. data/lib/puppet/parser/functions/generate.rb +7 -6
  36. data/lib/puppet/plugins/configuration.rb +5 -1
  37. data/lib/puppet/pops/evaluator/evaluator_impl.rb +5 -1
  38. data/lib/puppet/pops/evaluator/external_syntax_support.rb +3 -3
  39. data/lib/puppet/pops/issues.rb +0 -4
  40. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +4 -60
  41. data/lib/puppet/pops/model/factory.rb +4 -38
  42. data/lib/puppet/pops/model/pn_transformer.rb +0 -5
  43. data/lib/puppet/pops/parser/egrammar.ra +2 -2
  44. data/lib/puppet/pops/parser/heredoc_support.rb +7 -17
  45. data/lib/puppet/pops/parser/lexer2.rb +1 -6
  46. data/lib/puppet/pops/parser/locator.rb +86 -106
  47. data/lib/puppet/pops/parser/parser_support.rb +2 -11
  48. data/lib/puppet/pops/types/string_converter.rb +7 -2
  49. data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -1
  50. data/lib/puppet/pops/types/types.rb +3 -5
  51. data/lib/puppet/pops/validation/checker4_0.rb +13 -0
  52. data/lib/puppet/provider.rb +2 -1
  53. data/lib/puppet/provider/exec.rb +6 -1
  54. data/lib/puppet/provider/file/windows.rb +1 -49
  55. data/lib/puppet/provider/group/windows_adsi.rb +1 -4
  56. data/lib/puppet/provider/package.rb +0 -2
  57. data/lib/puppet/provider/package/dpkg.rb +2 -15
  58. data/lib/puppet/provider/package/gem.rb +42 -102
  59. data/lib/puppet/provider/package/pip.rb +111 -135
  60. data/lib/puppet/provider/package/pip3.rb +1 -1
  61. data/lib/puppet/provider/package/pkgng.rb +37 -21
  62. data/lib/puppet/provider/package/puppet_gem.rb +1 -1
  63. data/lib/puppet/provider/package/rpm.rb +16 -27
  64. data/lib/puppet/provider/package/windows.rb +1 -5
  65. data/lib/puppet/provider/package/yum.rb +1 -2
  66. data/lib/puppet/provider/service/systemd.rb +17 -0
  67. data/lib/puppet/provider/service/upstart.rb +5 -17
  68. data/lib/puppet/provider/service/windows.rb +8 -3
  69. data/lib/puppet/provider/user/directoryservice.rb +4 -16
  70. data/lib/puppet/provider/user/useradd.rb +13 -16
  71. data/lib/puppet/resource.rb +3 -1
  72. data/lib/puppet/rest/client.rb +83 -0
  73. data/lib/puppet/rest/route.rb +1 -1
  74. data/lib/puppet/settings.rb +5 -10
  75. data/lib/puppet/settings/server_list_setting.rb +0 -9
  76. data/lib/puppet/ssl/host.rb +11 -0
  77. data/lib/puppet/ssl/validator/default_validator.rb +0 -31
  78. data/lib/puppet/syntax_checkers/epp.rb +34 -0
  79. data/lib/puppet/syntax_checkers/pp.rb +34 -0
  80. data/lib/puppet/transaction.rb +7 -12
  81. data/lib/puppet/transaction/event_manager.rb +5 -1
  82. data/lib/puppet/transaction/resource_harness.rb +0 -1
  83. data/lib/puppet/type.rb +6 -0
  84. data/lib/puppet/type/exec.rb +5 -27
  85. data/lib/puppet/type/file/mode.rb +1 -6
  86. data/lib/puppet/type/file/source.rb +1 -0
  87. data/lib/puppet/type/filebucket.rb +8 -12
  88. data/lib/puppet/type/package.rb +11 -44
  89. data/lib/puppet/type/schedule.rb +0 -4
  90. data/lib/puppet/type/service.rb +12 -0
  91. data/lib/puppet/type/user.rb +1 -1
  92. data/lib/puppet/util/command_line.rb +1 -5
  93. data/lib/puppet/util/connection.rb +6 -15
  94. data/lib/puppet/util/http_proxy.rb +2 -3
  95. data/lib/puppet/util/log.rb +2 -7
  96. data/lib/puppet/util/pidlock.rb +1 -15
  97. data/lib/puppet/util/windows/process.rb +5 -73
  98. data/lib/puppet/util/windows/registry.rb +1 -7
  99. data/lib/puppet/util/windows/security.rb +8 -29
  100. data/lib/puppet/util/windows/service.rb +33 -27
  101. data/lib/puppet/util/windows/user.rb +4 -14
  102. data/lib/puppet/version.rb +1 -1
  103. data/lib/puppet_pal.rb +5 -1132
  104. data/locales/ja/puppet.po +297 -363
  105. data/locales/puppet.pot +445 -517
  106. data/man/man5/puppet.conf.5 +12 -20
  107. data/man/man8/puppet-agent.8 +1 -1
  108. data/man/man8/puppet-apply.8 +1 -1
  109. data/man/man8/puppet-catalog.8 +1 -1
  110. data/man/man8/puppet-config.8 +1 -1
  111. data/man/man8/puppet-describe.8 +1 -1
  112. data/man/man8/puppet-device.8 +1 -1
  113. data/man/man8/puppet-doc.8 +1 -1
  114. data/man/man8/puppet-epp.8 +1 -1
  115. data/man/man8/puppet-facts.8 +1 -1
  116. data/man/man8/puppet-filebucket.8 +2 -6
  117. data/man/man8/puppet-generate.8 +1 -1
  118. data/man/man8/puppet-help.8 +1 -1
  119. data/man/man8/puppet-key.8 +1 -1
  120. data/man/man8/puppet-lookup.8 +1 -1
  121. data/man/man8/puppet-man.8 +1 -1
  122. data/man/man8/puppet-module.8 +1 -1
  123. data/man/man8/puppet-node.8 +1 -1
  124. data/man/man8/puppet-parser.8 +1 -1
  125. data/man/man8/puppet-plugin.8 +1 -1
  126. data/man/man8/puppet-report.8 +1 -1
  127. data/man/man8/puppet-resource.8 +1 -1
  128. data/man/man8/puppet-script.8 +1 -1
  129. data/man/man8/puppet-ssl.8 +1 -1
  130. data/man/man8/puppet-status.8 +1 -1
  131. data/man/man8/puppet.8 +2 -2
  132. data/spec/fixtures/unit/provider/package/pkgng/pkg.query +7 -1
  133. data/spec/fixtures/unit/provider/package/pkgng/pkg.query.zsh +1 -0
  134. data/spec/integration/agent/logging_spec.rb +7 -5
  135. data/spec/integration/application/apply_spec.rb +16 -18
  136. data/spec/integration/application/doc_spec.rb +2 -1
  137. data/spec/integration/application/lookup_spec.rb +5 -5
  138. data/spec/integration/configurer_spec.rb +6 -5
  139. data/spec/integration/defaults_spec.rb +6 -5
  140. data/spec/integration/directory_environments_spec.rb +1 -1
  141. data/spec/integration/faces/config_spec.rb +4 -3
  142. data/spec/integration/faces/documentation_spec.rb +1 -0
  143. data/spec/integration/faces/plugin_spec.rb +1 -1
  144. data/spec/integration/file_bucket/file_spec.rb +4 -2
  145. data/spec/integration/file_serving/content_spec.rb +1 -0
  146. data/spec/integration/file_serving/fileset_spec.rb +1 -0
  147. data/spec/integration/file_serving/metadata_spec.rb +1 -0
  148. data/spec/integration/file_serving/terminus_helper_spec.rb +1 -0
  149. data/spec/integration/indirector/catalog/compiler_spec.rb +11 -10
  150. data/spec/integration/indirector/direct_file_server_spec.rb +1 -1
  151. data/spec/integration/indirector/facts/facter_spec.rb +5 -4
  152. data/spec/integration/indirector/file_content/file_server_spec.rb +8 -7
  153. data/spec/integration/indirector/file_metadata/file_server_spec.rb +8 -7
  154. data/spec/integration/network/authconfig_spec.rb +24 -23
  155. data/spec/integration/network/formats_spec.rb +1 -0
  156. data/spec/integration/node/environment_spec.rb +1 -0
  157. data/spec/integration/node/facts_spec.rb +10 -9
  158. data/spec/integration/node_spec.rb +7 -6
  159. data/spec/integration/parser/catalog_spec.rb +5 -1
  160. data/spec/integration/parser/collection_spec.rb +2 -1
  161. data/spec/integration/parser/compiler_spec.rb +6 -6
  162. data/spec/integration/parser/scope_spec.rb +1 -1
  163. data/spec/integration/parser/undef_param_spec.rb +1 -1
  164. data/spec/integration/provider/service/init_spec.rb +5 -4
  165. data/spec/integration/provider/service/systemd_spec.rb +2 -0
  166. data/spec/integration/provider/service/windows_spec.rb +2 -1
  167. data/spec/integration/reference/providers_spec.rb +2 -1
  168. data/spec/integration/reports_spec.rb +2 -1
  169. data/spec/integration/resource/catalog_spec.rb +17 -14
  170. data/spec/integration/resource/type_collection_spec.rb +5 -4
  171. data/spec/integration/ssl/certificate_request_spec.rb +1 -0
  172. data/spec/integration/ssl/host_spec.rb +2 -1
  173. data/spec/integration/ssl/key_spec.rb +1 -0
  174. data/spec/integration/test/test_helper_spec.rb +1 -0
  175. data/spec/integration/transaction/report_spec.rb +11 -6
  176. data/spec/integration/transaction_spec.rb +19 -18
  177. data/spec/integration/type/exec_spec.rb +1 -0
  178. data/spec/integration/type/file_spec.rb +33 -13
  179. data/spec/integration/type/package_spec.rb +24 -20
  180. data/spec/integration/type/tidy_spec.rb +2 -1
  181. data/spec/integration/type_spec.rb +1 -0
  182. data/spec/integration/util/autoload_spec.rb +2 -1
  183. data/spec/integration/util/rdoc/parser_spec.rb +1 -0
  184. data/spec/integration/util/settings_spec.rb +1 -0
  185. data/spec/integration/util/windows/adsi_spec.rb +5 -3
  186. data/spec/integration/util/windows/principal_spec.rb +1 -0
  187. data/spec/integration/util/windows/process_spec.rb +6 -4
  188. data/spec/integration/util/windows/registry_spec.rb +51 -93
  189. data/spec/integration/util/windows/security_spec.rb +4 -2
  190. data/spec/integration/util/windows/user_spec.rb +20 -37
  191. data/spec/integration/util_spec.rb +7 -4
  192. data/spec/lib/puppet_spec/compiler.rb +1 -1
  193. data/spec/lib/puppet_spec/files.rb +1 -0
  194. data/spec/lib/puppet_spec/module_tool/shared_functions.rb +1 -1
  195. data/spec/lib/puppet_spec/scope.rb +2 -1
  196. data/spec/shared_behaviours/all_parsedfile_providers.rb +1 -1
  197. data/spec/shared_behaviours/file_server_terminus.rb +9 -8
  198. data/spec/shared_behaviours/file_serving.rb +8 -6
  199. data/spec/shared_behaviours/file_serving_model.rb +5 -3
  200. data/spec/shared_behaviours/hiera_indirections.rb +4 -3
  201. data/spec/shared_behaviours/iterative_functions.rb +1 -0
  202. data/spec/shared_behaviours/memory_terminus.rb +2 -2
  203. data/spec/shared_examples/rhel_package_provider.rb +70 -112
  204. data/spec/spec_helper.rb +2 -11
  205. data/spec/unit/agent/disabler_spec.rb +5 -4
  206. data/spec/unit/agent/locker_spec.rb +13 -12
  207. data/spec/unit/agent_spec.rb +85 -80
  208. data/spec/unit/application/agent_spec.rb +93 -88
  209. data/spec/unit/application/apply_spec.rb +83 -82
  210. data/spec/unit/application/config_spec.rb +1 -0
  211. data/spec/unit/application/describe_spec.rb +7 -6
  212. data/spec/unit/application/device_spec.rb +419 -395
  213. data/spec/unit/application/doc_spec.rb +46 -44
  214. data/spec/unit/application/face_base_spec.rb +62 -61
  215. data/spec/unit/application/facts_spec.rb +4 -3
  216. data/spec/unit/application/filebucket_spec.rb +74 -66
  217. data/spec/unit/application/indirection_base_spec.rb +6 -8
  218. data/spec/unit/application/lookup_spec.rb +26 -26
  219. data/spec/unit/application/resource_spec.rb +48 -42
  220. data/spec/unit/application/ssl_spec.rb +3 -8
  221. data/spec/unit/application_spec.rb +98 -86
  222. data/spec/unit/capability_spec.rb +6 -6
  223. data/spec/unit/certificate_factory_spec.rb +5 -3
  224. data/spec/unit/configurer/downloader_spec.rb +21 -20
  225. data/spec/unit/configurer/fact_handler_spec.rb +3 -2
  226. data/spec/unit/configurer/plugin_handler_spec.rb +8 -41
  227. data/spec/unit/configurer_spec.rb +198 -194
  228. data/spec/unit/confine/exists_spec.rb +15 -17
  229. data/spec/unit/confine/false_spec.rb +6 -32
  230. data/spec/unit/confine/feature_spec.rb +5 -7
  231. data/spec/unit/confine/true_spec.rb +6 -32
  232. data/spec/unit/confine/variable_spec.rb +15 -14
  233. data/spec/unit/confine_collection_spec.rb +29 -28
  234. data/spec/unit/confine_spec.rb +14 -13
  235. data/spec/unit/confiner_spec.rb +11 -10
  236. data/spec/unit/context/trusted_information_spec.rb +1 -1
  237. data/spec/unit/daemon_spec.rb +36 -35
  238. data/spec/unit/data_providers/function_data_provider_spec.rb +1 -0
  239. data/spec/unit/data_providers/hiera_data_provider_spec.rb +1 -0
  240. data/spec/unit/datatypes_spec.rb +4 -3
  241. data/spec/unit/defaults_spec.rb +27 -18
  242. data/spec/unit/environments_spec.rb +7 -7
  243. data/spec/unit/etc_spec.rb +32 -30
  244. data/spec/unit/external/pson_spec.rb +1 -0
  245. data/spec/unit/face/catalog_spec.rb +1 -0
  246. data/spec/unit/face/config_spec.rb +35 -31
  247. data/spec/unit/face/epp_face_spec.rb +4 -3
  248. data/spec/unit/face/facts_spec.rb +6 -5
  249. data/spec/unit/face/generate_spec.rb +5 -4
  250. data/spec/unit/face/help_spec.rb +8 -7
  251. data/spec/unit/face/key_spec.rb +1 -0
  252. data/spec/unit/face/man_spec.rb +2 -1
  253. data/spec/unit/face/module/install_spec.rb +5 -3
  254. data/spec/unit/face/module/list_spec.rb +12 -2
  255. data/spec/unit/face/module/search_spec.rb +9 -11
  256. data/spec/unit/face/module/uninstall_spec.rb +8 -4
  257. data/spec/unit/face/node_spec.rb +24 -23
  258. data/spec/unit/face/parser_spec.rb +18 -3
  259. data/spec/unit/face/plugin_spec.rb +9 -36
  260. data/spec/unit/face/status_spec.rb +1 -0
  261. data/spec/unit/file_bucket/dipper_spec.rb +20 -24
  262. data/spec/unit/file_bucket/file_spec.rb +2 -0
  263. data/spec/unit/file_serving/base_spec.rb +15 -14
  264. data/spec/unit/file_serving/configuration/parser_spec.rb +28 -27
  265. data/spec/unit/file_serving/configuration_spec.rb +66 -63
  266. data/spec/unit/file_serving/content_spec.rb +11 -10
  267. data/spec/unit/file_serving/fileset_spec.rb +58 -63
  268. data/spec/unit/file_serving/http_metadata_spec.rb +7 -8
  269. data/spec/unit/file_serving/metadata_spec.rb +36 -36
  270. data/spec/unit/file_serving/mount/file_spec.rb +32 -31
  271. data/spec/unit/file_serving/mount/locales_spec.rb +24 -23
  272. data/spec/unit/file_serving/mount/modules_spec.rb +15 -14
  273. data/spec/unit/file_serving/mount/pluginfacts_spec.rb +24 -23
  274. data/spec/unit/file_serving/mount/plugins_spec.rb +24 -23
  275. data/spec/unit/file_serving/mount/tasks_spec.rb +15 -14
  276. data/spec/unit/file_serving/mount_spec.rb +1 -0
  277. data/spec/unit/file_serving/terminus_helper_spec.rb +42 -37
  278. data/spec/unit/file_serving/terminus_selector_spec.rb +13 -12
  279. data/spec/unit/file_system/uniquefile_spec.rb +4 -4
  280. data/spec/unit/file_system_spec.rb +2 -2
  281. data/spec/unit/forge/errors_spec.rb +1 -1
  282. data/spec/unit/forge/forge_spec.rb +16 -17
  283. data/spec/unit/forge/module_release_spec.rb +18 -18
  284. data/spec/unit/forge/repository_spec.rb +30 -29
  285. data/spec/unit/forge_spec.rb +11 -15
  286. data/spec/unit/functions/binary_file_spec.rb +3 -3
  287. data/spec/unit/functions/contain_spec.rb +2 -0
  288. data/spec/unit/functions/defined_spec.rb +1 -0
  289. data/spec/unit/functions/epp_spec.rb +2 -2
  290. data/spec/unit/functions/find_file_spec.rb +7 -7
  291. data/spec/unit/functions/include_spec.rb +4 -0
  292. data/spec/unit/functions/lookup_fixture_spec.rb +1 -0
  293. data/spec/unit/functions/lookup_spec.rb +2 -1
  294. data/spec/unit/functions/module_directory_spec.rb +12 -12
  295. data/spec/unit/functions/new_spec.rb +0 -15
  296. data/spec/unit/functions/require_spec.rb +3 -0
  297. data/spec/unit/functions/shared.rb +8 -5
  298. data/spec/unit/functions/versioncmp_spec.rb +2 -1
  299. data/spec/unit/functions4_spec.rb +10 -9
  300. data/spec/unit/gettext/config_spec.rb +4 -4
  301. data/spec/unit/gettext/module_loading_spec.rb +7 -7
  302. data/spec/unit/graph/rb_tree_map_spec.rb +2 -0
  303. data/spec/unit/graph/relationship_graph_spec.rb +2 -1
  304. data/spec/unit/graph/simple_graph_spec.rb +10 -9
  305. data/spec/unit/hiera/scope_spec.rb +0 -7
  306. data/spec/unit/hiera_puppet_spec.rb +20 -20
  307. data/spec/unit/indirector/catalog/compiler_spec.rb +149 -147
  308. data/spec/unit/indirector/catalog/json_spec.rb +2 -1
  309. data/spec/unit/indirector/catalog/msgpack_spec.rb +1 -0
  310. data/spec/unit/indirector/catalog/rest_spec.rb +1 -0
  311. data/spec/unit/indirector/catalog/store_configs_spec.rb +1 -0
  312. data/spec/unit/indirector/catalog/yaml_spec.rb +1 -0
  313. data/spec/unit/indirector/certificate/file_spec.rb +1 -0
  314. data/spec/unit/indirector/certificate/rest_spec.rb +10 -8
  315. data/spec/unit/indirector/certificate_request/file_spec.rb +1 -0
  316. data/spec/unit/indirector/certificate_request/rest_spec.rb +1 -0
  317. data/spec/unit/indirector/direct_file_server_spec.rb +18 -17
  318. data/spec/unit/indirector/envelope_spec.rb +2 -1
  319. data/spec/unit/indirector/exec_spec.rb +5 -4
  320. data/spec/unit/indirector/face_spec.rb +9 -9
  321. data/spec/unit/indirector/facts/facter_spec.rb +43 -37
  322. data/spec/unit/indirector/facts/network_device_spec.rb +9 -8
  323. data/spec/unit/indirector/facts/rest_spec.rb +8 -7
  324. data/spec/unit/indirector/facts/store_configs_spec.rb +1 -0
  325. data/spec/unit/indirector/facts/yaml_spec.rb +1 -0
  326. data/spec/unit/indirector/file_bucket_file/file_spec.rb +4 -3
  327. data/spec/unit/indirector/file_bucket_file/rest_spec.rb +1 -0
  328. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +5 -4
  329. data/spec/unit/indirector/file_content/file_server_spec.rb +1 -0
  330. data/spec/unit/indirector/file_content/file_spec.rb +1 -0
  331. data/spec/unit/indirector/file_content/rest_spec.rb +1 -0
  332. data/spec/unit/indirector/file_content/selector_spec.rb +1 -0
  333. data/spec/unit/indirector/file_metadata/file_server_spec.rb +1 -0
  334. data/spec/unit/indirector/file_metadata/file_spec.rb +13 -12
  335. data/spec/unit/indirector/file_metadata/rest_spec.rb +1 -0
  336. data/spec/unit/indirector/file_metadata/selector_spec.rb +1 -0
  337. data/spec/unit/indirector/file_server_spec.rb +87 -87
  338. data/spec/unit/indirector/indirection_spec.rb +226 -242
  339. data/spec/unit/indirector/json_spec.rb +9 -7
  340. data/spec/unit/indirector/key/file_spec.rb +22 -21
  341. data/spec/unit/indirector/memory_spec.rb +7 -6
  342. data/spec/unit/indirector/msgpack_spec.rb +9 -7
  343. data/spec/unit/indirector/node/exec_spec.rb +3 -2
  344. data/spec/unit/indirector/node/memory_spec.rb +4 -2
  345. data/spec/unit/indirector/node/msgpack_spec.rb +1 -0
  346. data/spec/unit/indirector/node/plain_spec.rb +4 -2
  347. data/spec/unit/indirector/node/rest_spec.rb +1 -0
  348. data/spec/unit/indirector/node/store_configs_spec.rb +1 -0
  349. data/spec/unit/indirector/node/yaml_spec.rb +1 -0
  350. data/spec/unit/indirector/none_spec.rb +5 -5
  351. data/spec/unit/indirector/plain_spec.rb +8 -7
  352. data/spec/unit/indirector/report/msgpack_spec.rb +1 -0
  353. data/spec/unit/indirector/report/processor_spec.rb +22 -21
  354. data/spec/unit/indirector/report/rest_spec.rb +12 -11
  355. data/spec/unit/indirector/report/yaml_spec.rb +1 -0
  356. data/spec/unit/indirector/request_spec.rb +12 -11
  357. data/spec/unit/indirector/resource/ral_spec.rb +54 -47
  358. data/spec/unit/indirector/resource/store_configs_spec.rb +1 -0
  359. data/spec/unit/indirector/rest_spec.rb +110 -113
  360. data/spec/unit/indirector/ssl_file_spec.rb +65 -64
  361. data/spec/unit/indirector/status/local_spec.rb +1 -0
  362. data/spec/unit/indirector/status/rest_spec.rb +1 -0
  363. data/spec/unit/indirector/store_configs_spec.rb +1 -0
  364. data/spec/unit/indirector/terminus_spec.rb +27 -27
  365. data/spec/unit/indirector/yaml_spec.rb +6 -5
  366. data/spec/unit/indirector_spec.rb +2 -1
  367. data/spec/unit/info_service_spec.rb +1 -1
  368. data/spec/unit/interface/action_builder_spec.rb +1 -0
  369. data/spec/unit/interface/action_manager_spec.rb +1 -0
  370. data/spec/unit/interface/action_spec.rb +3 -2
  371. data/spec/unit/interface/documentation_spec.rb +1 -0
  372. data/spec/unit/interface/face_collection_spec.rb +12 -19
  373. data/spec/unit/interface_spec.rb +3 -3
  374. data/spec/unit/man_spec.rb +4 -3
  375. data/spec/unit/module_spec.rb +51 -46
  376. data/spec/unit/module_tool/applications/installer_spec.rb +11 -10
  377. data/spec/unit/module_tool/applications/searcher_spec.rb +3 -3
  378. data/spec/unit/module_tool/applications/uninstaller_spec.rb +2 -1
  379. data/spec/unit/module_tool/applications/unpacker_spec.rb +13 -13
  380. data/spec/unit/module_tool/applications/upgrader_spec.rb +5 -5
  381. data/spec/unit/module_tool/install_directory_spec.rb +8 -8
  382. data/spec/unit/module_tool/installed_modules_spec.rb +3 -3
  383. data/spec/unit/module_tool/tar/gnu_spec.rb +6 -6
  384. data/spec/unit/module_tool/tar/mini_spec.rb +12 -12
  385. data/spec/unit/module_tool/tar_spec.rb +13 -12
  386. data/spec/unit/module_tool_spec.rb +12 -7
  387. data/spec/unit/network/auth_config_parser_spec.rb +13 -11
  388. data/spec/unit/network/authconfig_spec.rb +18 -17
  389. data/spec/unit/network/authorization_spec.rb +5 -4
  390. data/spec/unit/network/authstore_spec.rb +1 -0
  391. data/spec/unit/network/format_handler_spec.rb +1 -0
  392. data/spec/unit/network/format_spec.rb +10 -9
  393. data/spec/unit/network/format_support_spec.rb +29 -28
  394. data/spec/unit/network/formats_spec.rb +5 -4
  395. data/spec/unit/network/http/api/indirected_routes_spec.rb +29 -24
  396. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +2 -2
  397. data/spec/unit/network/http/api/master/v3/environment_spec.rb +1 -1
  398. data/spec/unit/network/http/api/master/v3/environments_spec.rb +7 -6
  399. data/spec/unit/network/http/api_spec.rb +2 -0
  400. data/spec/unit/network/http/compression_spec.rb +22 -21
  401. data/spec/unit/network/http/connection_spec.rb +121 -30
  402. data/spec/unit/network/http/factory_spec.rb +6 -11
  403. data/spec/unit/network/http/handler_spec.rb +18 -9
  404. data/spec/unit/network/http/nocache_pool_spec.rb +7 -6
  405. data/spec/unit/network/http/pool_spec.rb +29 -28
  406. data/spec/unit/network/http/request_spec.rb +2 -0
  407. data/spec/unit/network/http/response_spec.rb +13 -11
  408. data/spec/unit/network/http/route_spec.rb +1 -0
  409. data/spec/unit/network/http/session_spec.rb +2 -1
  410. data/spec/unit/network/http/site_spec.rb +1 -0
  411. data/spec/unit/network/http_pool_spec.rb +9 -18
  412. data/spec/unit/network/http_spec.rb +1 -0
  413. data/spec/unit/network/resolver_spec.rb +26 -25
  414. data/spec/unit/network/rights_spec.rb +53 -52
  415. data/spec/unit/node/environment_spec.rb +15 -14
  416. data/spec/unit/node/facts_spec.rb +7 -5
  417. data/spec/unit/node_spec.rb +10 -4
  418. data/spec/unit/other/selinux_spec.rb +1 -0
  419. data/spec/unit/parameter/boolean_spec.rb +2 -1
  420. data/spec/unit/parameter/package_options_spec.rb +2 -1
  421. data/spec/unit/parameter/path_spec.rb +1 -0
  422. data/spec/unit/parameter/value_collection_spec.rb +1 -0
  423. data/spec/unit/parameter/value_spec.rb +1 -0
  424. data/spec/unit/parameter_spec.rb +9 -9
  425. data/spec/unit/parser/ast/block_expression_spec.rb +8 -6
  426. data/spec/unit/parser/ast/leaf_spec.rb +21 -20
  427. data/spec/unit/parser/compiler_spec.rb +96 -84
  428. data/spec/unit/parser/environment_compiler_spec.rb +8 -7
  429. data/spec/unit/parser/files_spec.rb +1 -0
  430. data/spec/unit/parser/functions/create_resources_spec.rb +1 -1
  431. data/spec/unit/parser/functions/digest_spec.rb +1 -0
  432. data/spec/unit/parser/functions/fail_spec.rb +2 -1
  433. data/spec/unit/parser/functions/file_spec.rb +14 -13
  434. data/spec/unit/parser/functions/fqdn_rand_spec.rb +6 -5
  435. data/spec/unit/parser/functions/generate_spec.rb +8 -7
  436. data/spec/unit/parser/functions/inline_template_spec.rb +1 -0
  437. data/spec/unit/parser/functions/regsubst_spec.rb +1 -0
  438. data/spec/unit/parser/functions/scanf_spec.rb +1 -0
  439. data/spec/unit/parser/functions/shellquote_spec.rb +1 -0
  440. data/spec/unit/parser/functions/split_spec.rb +1 -0
  441. data/spec/unit/parser/functions/sprintf_spec.rb +1 -0
  442. data/spec/unit/parser/functions/tag_spec.rb +2 -1
  443. data/spec/unit/parser/functions/tagged_spec.rb +3 -2
  444. data/spec/unit/parser/functions/template_spec.rb +13 -13
  445. data/spec/unit/parser/functions/versioncmp_spec.rb +2 -1
  446. data/spec/unit/parser/functions_spec.rb +7 -6
  447. data/spec/unit/parser/relationship_spec.rb +1 -0
  448. data/spec/unit/parser/resource_spec.rb +42 -42
  449. data/spec/unit/parser/scope_spec.rb +35 -39
  450. data/spec/unit/parser/templatewrapper_spec.rb +12 -11
  451. data/spec/unit/parser/type_loader_spec.rb +19 -17
  452. data/spec/unit/pops/adaptable_spec.rb +1 -0
  453. data/spec/unit/pops/benchmark_spec.rb +1 -0
  454. data/spec/unit/pops/evaluator/access_ops_spec.rb +1 -0
  455. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +1 -0
  456. data/spec/unit/pops/evaluator/basic_expressions_spec.rb +1 -0
  457. data/spec/unit/pops/evaluator/collections_ops_spec.rb +1 -0
  458. data/spec/unit/pops/evaluator/comparison_ops_spec.rb +1 -0
  459. data/spec/unit/pops/evaluator/conditionals_spec.rb +1 -0
  460. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +47 -10
  461. data/spec/unit/pops/evaluator/logical_ops_spec.rb +1 -0
  462. data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +1 -0
  463. data/spec/unit/pops/evaluator/string_interpolation_spec.rb +1 -0
  464. data/spec/unit/pops/evaluator/variables_spec.rb +1 -0
  465. data/spec/unit/pops/factory_spec.rb +4 -3
  466. data/spec/unit/pops/issues_spec.rb +20 -19
  467. data/spec/unit/pops/loaders/loader_spec.rb +4 -8
  468. data/spec/unit/pops/loaders/loaders_spec.rb +31 -101
  469. data/spec/unit/pops/lookup/context_spec.rb +1 -0
  470. data/spec/unit/pops/lookup/interpolation_spec.rb +3 -2
  471. data/spec/unit/pops/merge_strategy_spec.rb +1 -0
  472. data/spec/unit/pops/migration_spec.rb +5 -3
  473. data/spec/unit/pops/model/model_spec.rb +1 -0
  474. data/spec/unit/pops/model/pn_transformer_spec.rb +1 -4
  475. data/spec/unit/pops/parser/locator_spec.rb +6 -48
  476. data/spec/unit/pops/parser/parse_application_spec.rb +1 -0
  477. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +1 -0
  478. data/spec/unit/pops/parser/parse_calls_spec.rb +1 -0
  479. data/spec/unit/pops/parser/parse_capabilities_spec.rb +1 -0
  480. data/spec/unit/pops/parser/parse_conditionals_spec.rb +1 -0
  481. data/spec/unit/pops/parser/parse_containers_spec.rb +1 -0
  482. data/spec/unit/pops/parser/parse_heredoc_spec.rb +15 -111
  483. data/spec/unit/pops/parser/parse_plan_spec.rb +1 -0
  484. data/spec/unit/pops/parser/parse_resource_spec.rb +1 -0
  485. data/spec/unit/pops/parser/parse_site_spec.rb +1 -0
  486. data/spec/unit/pops/parser/pn_parser_spec.rb +1 -0
  487. data/spec/unit/pops/pn_spec.rb +1 -0
  488. data/spec/unit/pops/resource/resource_type_impl_spec.rb +1 -0
  489. data/spec/unit/pops/serialization/serialization_spec.rb +1 -1
  490. data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
  491. data/spec/unit/pops/types/recursion_guard_spec.rb +10 -10
  492. data/spec/unit/pops/types/ruby_generator_spec.rb +2 -2
  493. data/spec/unit/pops/types/string_converter_spec.rb +5 -1
  494. data/spec/unit/pops/types/type_asserter_spec.rb +2 -2
  495. data/spec/unit/pops/types/type_calculator_spec.rb +30 -30
  496. data/spec/unit/pops/types/type_mismatch_describer_spec.rb +0 -9
  497. data/spec/unit/pops/types/type_parser_spec.rb +13 -13
  498. data/spec/unit/pops/validator/validator_spec.rb +2 -1
  499. data/spec/unit/pops/visitor_spec.rb +1 -0
  500. data/spec/unit/property/boolean_spec.rb +1 -1
  501. data/spec/unit/property/ensure_spec.rb +1 -0
  502. data/spec/unit/property/keyvalue_spec.rb +34 -32
  503. data/spec/unit/property/list_spec.rb +27 -26
  504. data/spec/unit/property/ordered_list_spec.rb +14 -10
  505. data/spec/unit/property_spec.rb +43 -42
  506. data/spec/unit/provider/aix_object_spec.rb +45 -47
  507. data/spec/unit/provider/command_spec.rb +9 -9
  508. data/spec/unit/provider/exec/posix_spec.rb +31 -6
  509. data/spec/unit/provider/exec/shell_spec.rb +1 -0
  510. data/spec/unit/provider/exec/windows_spec.rb +4 -2
  511. data/spec/unit/provider/exec_spec.rb +1 -0
  512. data/spec/unit/provider/file/posix_spec.rb +24 -22
  513. data/spec/unit/provider/file/windows_spec.rb +17 -15
  514. data/spec/unit/provider/group/aix_spec.rb +2 -3
  515. data/spec/unit/provider/group/groupadd_spec.rb +26 -30
  516. data/spec/unit/provider/group/ldap_spec.rb +18 -18
  517. data/spec/unit/provider/group/pw_spec.rb +11 -11
  518. data/spec/unit/provider/group/windows_adsi_spec.rb +53 -59
  519. data/spec/unit/provider/ldap_spec.rb +62 -61
  520. data/spec/unit/provider/nameservice/directoryservice_spec.rb +36 -35
  521. data/spec/unit/provider/nameservice_spec.rb +40 -38
  522. data/spec/unit/provider/package/aix_spec.rb +15 -15
  523. data/spec/unit/provider/package/appdmg_spec.rb +13 -13
  524. data/spec/unit/provider/package/apt_spec.rb +27 -44
  525. data/spec/unit/provider/package/aptitude_spec.rb +7 -6
  526. data/spec/unit/provider/package/aptrpm_spec.rb +12 -7
  527. data/spec/unit/provider/package/base_spec.rb +4 -4
  528. data/spec/unit/provider/package/dnf_spec.rb +20 -18
  529. data/spec/unit/provider/package/dpkg_spec.rb +53 -70
  530. data/spec/unit/provider/package/freebsd_spec.rb +11 -11
  531. data/spec/unit/provider/package/gem_spec.rb +55 -132
  532. data/spec/unit/provider/package/hpux_spec.rb +8 -8
  533. data/spec/unit/provider/package/macports_spec.rb +42 -46
  534. data/spec/unit/provider/package/nim_spec.rb +39 -30
  535. data/spec/unit/provider/package/openbsd_spec.rb +39 -36
  536. data/spec/unit/provider/package/opkg_spec.rb +26 -23
  537. data/spec/unit/provider/package/pacman_spec.rb +118 -97
  538. data/spec/unit/provider/package/pip3_spec.rb +0 -17
  539. data/spec/unit/provider/package/pip_spec.rb +106 -95
  540. data/spec/unit/provider/package/pkg_spec.rb +109 -109
  541. data/spec/unit/provider/package/pkgdmg_spec.rb +63 -65
  542. data/spec/unit/provider/package/pkgin_spec.rb +8 -10
  543. data/spec/unit/provider/package/pkgng_spec.rb +31 -22
  544. data/spec/unit/provider/package/pkgutil_spec.rb +49 -45
  545. data/spec/unit/provider/package/portage_spec.rb +74 -70
  546. data/spec/unit/provider/package/puppet_gem_spec.rb +13 -37
  547. data/spec/unit/provider/package/rpm_spec.rb +76 -154
  548. data/spec/unit/provider/package/sun_spec.rb +18 -16
  549. data/spec/unit/provider/package/tdnf_spec.rb +2 -2
  550. data/spec/unit/provider/package/up2date_spec.rb +4 -2
  551. data/spec/unit/provider/package/urpmi_spec.rb +17 -15
  552. data/spec/unit/provider/package/windows/exe_package_spec.rb +15 -12
  553. data/spec/unit/provider/package/windows/msi_package_spec.rb +22 -19
  554. data/spec/unit/provider/package/windows/package_spec.rb +42 -37
  555. data/spec/unit/provider/package/windows_spec.rb +32 -47
  556. data/spec/unit/provider/package/yum_spec.rb +7 -7
  557. data/spec/unit/provider/package/zypper_spec.rb +87 -87
  558. data/spec/unit/provider/parsedfile_spec.rb +45 -44
  559. data/spec/unit/provider/service/base_spec.rb +5 -4
  560. data/spec/unit/provider/service/bsd_spec.rb +29 -27
  561. data/spec/unit/provider/service/daemontools_spec.rb +35 -35
  562. data/spec/unit/provider/service/debian_spec.rb +38 -38
  563. data/spec/unit/provider/service/freebsd_spec.rb +18 -18
  564. data/spec/unit/provider/service/gentoo_spec.rb +55 -50
  565. data/spec/unit/provider/service/init_spec.rb +52 -53
  566. data/spec/unit/provider/service/launchd_spec.rb +116 -138
  567. data/spec/unit/provider/service/openbsd_spec.rb +50 -50
  568. data/spec/unit/provider/service/openrc_spec.rb +45 -43
  569. data/spec/unit/provider/service/openwrt_spec.rb +31 -26
  570. data/spec/unit/provider/service/rcng_spec.rb +14 -14
  571. data/spec/unit/provider/service/redhat_spec.rb +43 -45
  572. data/spec/unit/provider/service/runit_spec.rb +27 -29
  573. data/spec/unit/provider/service/smf_spec.rb +66 -74
  574. data/spec/unit/provider/service/src_spec.rb +47 -46
  575. data/spec/unit/provider/service/systemd_spec.rb +136 -109
  576. data/spec/unit/provider/service/upstart_spec.rb +93 -77
  577. data/spec/unit/provider/service/windows_spec.rb +41 -33
  578. data/spec/unit/provider/user/aix_spec.rb +31 -31
  579. data/spec/unit/provider/user/directoryservice_spec.rb +114 -146
  580. data/spec/unit/provider/user/hpux_spec.rb +16 -16
  581. data/spec/unit/provider/user/ldap_spec.rb +57 -57
  582. data/spec/unit/provider/user/openbsd_spec.rb +12 -10
  583. data/spec/unit/provider/user/pw_spec.rb +35 -37
  584. data/spec/unit/provider/user/user_role_add_spec.rb +93 -93
  585. data/spec/unit/provider/user/useradd_spec.rb +92 -93
  586. data/spec/unit/provider/user/windows_adsi_spec.rb +60 -59
  587. data/spec/unit/provider_spec.rb +35 -35
  588. data/spec/unit/puppet_pal_2pec.rb +5 -4
  589. data/spec/unit/puppet_pal_spec.rb +1 -0
  590. data/spec/unit/puppet_spec.rb +7 -6
  591. data/spec/unit/relationship_spec.rb +1 -0
  592. data/spec/unit/reports/http_spec.rb +23 -21
  593. data/spec/unit/reports/store_spec.rb +4 -3
  594. data/spec/unit/reports_spec.rb +14 -12
  595. data/spec/unit/resource/capability_finder_spec.rb +17 -15
  596. data/spec/unit/resource/catalog_spec.rb +68 -72
  597. data/spec/unit/resource/status_spec.rb +8 -6
  598. data/spec/unit/resource/type_collection_spec.rb +18 -17
  599. data/spec/unit/resource/type_spec.rb +35 -34
  600. data/spec/unit/resource_spec.rb +63 -36
  601. data/spec/unit/rest/client_spec.rb +135 -0
  602. data/spec/unit/rest/route_spec.rb +6 -6
  603. data/spec/unit/scheduler/job_spec.rb +1 -0
  604. data/spec/unit/scheduler/scheduler_spec.rb +1 -0
  605. data/spec/unit/scheduler/splay_job_spec.rb +2 -1
  606. data/spec/unit/settings/array_setting_spec.rb +1 -1
  607. data/spec/unit/settings/autosign_setting_spec.rb +9 -9
  608. data/spec/unit/settings/certificate_revocation_setting_spec.rb +1 -1
  609. data/spec/unit/settings/config_file_spec.rb +1 -0
  610. data/spec/unit/settings/directory_setting_spec.rb +7 -2
  611. data/spec/unit/settings/duration_setting_spec.rb +2 -1
  612. data/spec/unit/settings/enum_setting_spec.rb +1 -1
  613. data/spec/unit/settings/environment_conf_spec.rb +6 -4
  614. data/spec/unit/settings/file_setting_spec.rb +46 -44
  615. data/spec/unit/settings/path_setting_spec.rb +2 -1
  616. data/spec/unit/settings/priority_setting_spec.rb +2 -1
  617. data/spec/unit/settings/string_setting_spec.rb +15 -14
  618. data/spec/unit/settings/terminus_setting_spec.rb +2 -1
  619. data/spec/unit/settings/value_translator_spec.rb +1 -0
  620. data/spec/unit/settings_spec.rb +224 -253
  621. data/spec/unit/ssl/base_spec.rb +15 -14
  622. data/spec/unit/ssl/certificate_request_spec.rb +58 -62
  623. data/spec/unit/ssl/certificate_spec.rb +25 -23
  624. data/spec/unit/ssl/digest_spec.rb +1 -0
  625. data/spec/unit/ssl/host_spec.rb +149 -166
  626. data/spec/unit/ssl/key_spec.rb +31 -30
  627. data/spec/unit/ssl/validator_spec.rb +39 -40
  628. data/spec/unit/task_spec.rb +45 -44
  629. data/spec/unit/transaction/additional_resource_generator_spec.rb +5 -3
  630. data/spec/unit/transaction/event_manager_spec.rb +88 -87
  631. data/spec/unit/transaction/event_spec.rb +15 -16
  632. data/spec/unit/transaction/persistence_spec.rb +17 -16
  633. data/spec/unit/transaction/report_spec.rb +12 -11
  634. data/spec/unit/transaction/resource_harness_spec.rb +31 -52
  635. data/spec/unit/transaction_spec.rb +87 -140
  636. data/spec/unit/type/component_spec.rb +1 -0
  637. data/spec/unit/type/exec_spec.rb +50 -101
  638. data/spec/unit/type/file/checksum_spec.rb +10 -9
  639. data/spec/unit/type/file/checksum_value_spec.rb +32 -31
  640. data/spec/unit/type/file/content_spec.rb +61 -58
  641. data/spec/unit/type/file/ctime_spec.rb +1 -0
  642. data/spec/unit/type/file/ensure_spec.rb +13 -12
  643. data/spec/unit/type/file/group_spec.rb +7 -5
  644. data/spec/unit/type/file/mode_spec.rb +6 -4
  645. data/spec/unit/type/file/mtime_spec.rb +1 -0
  646. data/spec/unit/type/file/owner_spec.rb +8 -6
  647. data/spec/unit/type/file/selinux_spec.rb +19 -17
  648. data/spec/unit/type/file/source_spec.rb +101 -104
  649. data/spec/unit/type/file/type_spec.rb +1 -0
  650. data/spec/unit/type/file_spec.rb +185 -195
  651. data/spec/unit/type/filebucket_spec.rb +10 -11
  652. data/spec/unit/type/group_spec.rb +8 -6
  653. data/spec/unit/type/noop_metaparam_spec.rb +2 -1
  654. data/spec/unit/type/package/package_settings_spec.rb +23 -44
  655. data/spec/unit/type/package_spec.rb +57 -56
  656. data/spec/unit/type/resources_spec.rb +74 -72
  657. data/spec/unit/type/schedule_spec.rb +26 -24
  658. data/spec/unit/type/service_spec.rb +75 -49
  659. data/spec/unit/type/stage_spec.rb +1 -0
  660. data/spec/unit/type/tidy_spec.rb +62 -61
  661. data/spec/unit/type/user_spec.rb +25 -24
  662. data/spec/unit/type/whit_spec.rb +1 -0
  663. data/spec/unit/type_spec.rb +54 -55
  664. data/spec/unit/util/at_fork_spec.rb +19 -18
  665. data/spec/unit/util/autoload_spec.rb +56 -55
  666. data/spec/unit/util/backups_spec.rb +35 -34
  667. data/spec/unit/util/character_encoding_spec.rb +5 -5
  668. data/spec/unit/util/checksums_spec.rb +39 -38
  669. data/spec/unit/util/colors_spec.rb +2 -1
  670. data/spec/unit/util/command_line_spec.rb +20 -40
  671. data/spec/unit/util/constant_inflector_spec.rb +1 -0
  672. data/spec/unit/util/diff_spec.rb +8 -7
  673. data/spec/unit/util/errors_spec.rb +1 -0
  674. data/spec/unit/util/execution_spec.rb +163 -187
  675. data/spec/unit/util/execution_stub_spec.rb +1 -0
  676. data/spec/unit/util/feature_spec.rb +14 -21
  677. data/spec/unit/util/filetype_spec.rb +49 -49
  678. data/spec/unit/util/http_proxy_spec.rb +12 -12
  679. data/spec/unit/util/inifile_spec.rb +31 -26
  680. data/spec/unit/util/json_lockfile_spec.rb +5 -3
  681. data/spec/unit/util/ldap/connection_spec.rb +25 -26
  682. data/spec/unit/util/ldap/generator_spec.rb +1 -0
  683. data/spec/unit/util/ldap/manager_spec.rb +101 -102
  684. data/spec/unit/util/lockfile_spec.rb +1 -0
  685. data/spec/unit/util/log/destinations_spec.rb +33 -30
  686. data/spec/unit/util/log_spec.rb +34 -48
  687. data/spec/unit/util/logging_spec.rb +72 -58
  688. data/spec/unit/util/metric_spec.rb +1 -0
  689. data/spec/unit/util/monkey_patches_spec.rb +9 -7
  690. data/spec/unit/util/multi_match_spec.rb +1 -0
  691. data/spec/unit/util/network_device/config_spec.rb +1 -0
  692. data/spec/unit/util/network_device/transport/base_spec.rb +6 -5
  693. data/spec/unit/util/network_device_spec.rb +9 -7
  694. data/spec/unit/util/package_spec.rb +1 -0
  695. data/spec/unit/util/pidlock_spec.rb +15 -60
  696. data/spec/unit/util/plist_spec.rb +33 -40
  697. data/spec/unit/util/posix_spec.rb +51 -54
  698. data/spec/unit/util/rdoc_spec.rb +10 -9
  699. data/spec/unit/util/reference_spec.rb +1 -0
  700. data/spec/unit/util/resource_template_spec.rb +20 -20
  701. data/spec/unit/util/retry_action_spec.rb +8 -7
  702. data/spec/unit/util/rubygems_spec.rb +8 -7
  703. data/spec/unit/util/run_mode_spec.rb +4 -3
  704. data/spec/unit/util/selinux_spec.rb +72 -79
  705. data/spec/unit/util/splayer_spec.rb +9 -8
  706. data/spec/unit/util/ssl_spec.rb +1 -0
  707. data/spec/unit/util/storage_spec.rb +23 -22
  708. data/spec/unit/util/suidmanager_spec.rb +54 -45
  709. data/spec/unit/util/symbolic_file_mode_spec.rb +1 -0
  710. data/spec/unit/util/tag_set_spec.rb +1 -0
  711. data/spec/unit/util/tagging_spec.rb +1 -0
  712. data/spec/unit/util/terminal_spec.rb +10 -9
  713. data/spec/unit/util/user_attr_spec.rb +2 -1
  714. data/spec/unit/util/warnings_spec.rb +4 -3
  715. data/spec/unit/util/watcher/periodic_watcher_spec.rb +2 -2
  716. data/spec/unit/util/watcher_spec.rb +21 -51
  717. data/spec/unit/util/windows/access_control_entry_spec.rb +1 -0
  718. data/spec/unit/util/windows/access_control_list_spec.rb +1 -0
  719. data/spec/unit/util/windows/adsi_spec.rb +138 -136
  720. data/spec/unit/util/windows/api_types_spec.rb +1 -0
  721. data/spec/unit/util/windows/eventlog_spec.rb +12 -9
  722. data/spec/unit/util/windows/file_spec.rb +1 -0
  723. data/spec/unit/util/windows/root_certs_spec.rb +1 -0
  724. data/spec/unit/util/windows/security_descriptor_spec.rb +2 -0
  725. data/spec/unit/util/windows/service_spec.rb +103 -100
  726. data/spec/unit/util/windows/sid_spec.rb +13 -11
  727. data/spec/unit/util/windows/string_spec.rb +1 -0
  728. data/spec/unit/util_spec.rb +57 -55
  729. data/spec/unit/version_spec.rb +6 -6
  730. metadata +20 -32
  731. data/CODEOWNERS +0 -30
  732. data/ext/autotest/Rakefile +0 -8
  733. data/ext/autotest/config +0 -43
  734. data/ext/autotest/readme.rst +0 -16
  735. data/lib/puppet/confine/boolean.rb +0 -45
  736. data/lib/puppet/provider/package_targetable.rb +0 -68
  737. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load2.rb +0 -11
  738. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load3.rb +0 -11
  739. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load4.rb +0 -11
  740. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load5.rb +0 -12
  741. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/good_func_load.rb +0 -9
  742. data/spec/fixtures/unit/provider/package/pkgng/pkg.info +0 -7
  743. data/spec/fixtures/unit/provider/package/pkgng/pkg.query_absent +0 -1
  744. data/spec/integration/network/http_pool_spec.rb +0 -120
  745. data/spec/integration/provider/file/windows_spec.rb +0 -162
  746. data/spec/lib/puppet_spec/https.rb +0 -166
  747. data/spec/unit/settings/server_list_setting_spec.rb +0 -21
  748. data/spec/watchr.rb +0 -137
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Puppet::Util::ExecutionStub do
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  require 'puppet/util/feature'
@@ -5,7 +6,7 @@ require 'puppet/util/feature'
5
6
  describe Puppet::Util::Feature do
6
7
  before do
7
8
  @features = Puppet::Util::Feature.new("features")
8
- allow(@features).to receive(:warn)
9
+ @features.stubs(:warn)
9
10
  end
10
11
 
11
12
  it "should not call associated code when adding a feature" do
@@ -76,38 +77,30 @@ describe Puppet::Util::Feature do
76
77
 
77
78
  it "should consider a feature to be present if all of its libraries are present" do
78
79
  @features.add(:myfeature, :libs => %w{foo bar})
79
- expect(@features).to receive(:require).with("foo")
80
- expect(@features).to receive(:require).with("bar")
80
+ @features.expects(:require).with("foo")
81
+ @features.expects(:require).with("bar")
81
82
 
82
83
  expect(@features).to be_myfeature
83
84
  end
84
85
 
85
86
  it "should log and consider a feature to be absent if any of its libraries are absent" do
86
87
  @features.add(:myfeature, :libs => %w{foo bar})
87
- expect(@features).to receive(:require).with("foo").and_raise(LoadError)
88
- allow(@features).to receive(:require).with("bar")
88
+ @features.expects(:require).with("foo").raises(LoadError)
89
+ @features.stubs(:require).with("bar")
89
90
 
90
- expect(Puppet).to receive(:debug)
91
+ Puppet.expects(:debug)
91
92
 
92
93
  expect(@features).not_to be_myfeature
93
94
  end
94
95
 
95
96
  it "should change the feature to be present when its libraries become available" do
96
97
  @features.add(:myfeature, :libs => %w{foo bar})
97
- times_feature_require_called = 0
98
- expect(@features).to receive(:require).twice().with("foo") do
99
- times_feature_require_called += 1
100
- if times_feature_require_called == 1
101
- raise LoadError
102
- else
103
- nil
104
- end
105
- end
106
- allow(@features).to receive(:require).with("bar")
107
- allow(Puppet::Util::RubyGems::Source).to receive(:source).and_return(Puppet::Util::RubyGems::Gems18Source)
108
- expect_any_instance_of(Puppet::Util::RubyGems::Gems18Source).to receive(:clear_paths).exactly(3).times()
109
-
110
- expect(Puppet).to receive(:debug)
98
+ @features.expects(:require).twice().with("foo").raises(LoadError).then.returns(nil)
99
+ @features.stubs(:require).with("bar")
100
+ Puppet::Util::RubyGems::Source.stubs(:source).returns(Puppet::Util::RubyGems::Gems18Source)
101
+ Puppet::Util::RubyGems::Gems18Source.any_instance.expects(:clear_paths).times(3)
102
+
103
+ Puppet.expects(:debug)
111
104
 
112
105
  expect(@features).not_to be_myfeature
113
106
  expect(@features).to be_myfeature
@@ -117,7 +110,7 @@ describe Puppet::Util::Feature do
117
110
  Puppet[:always_retry_plugins] = false
118
111
 
119
112
  @features.add(:myfeature, :libs => %w{foo bar})
120
- expect(@features).to receive(:require).with("foo").and_raise(LoadError)
113
+ @features.expects(:require).with("foo").raises(LoadError)
121
114
 
122
115
  expect(@features).not_to be_myfeature
123
116
  # second call would cause an expectation exception if 'require' was
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  require 'puppet/util/filetype'
@@ -15,15 +16,15 @@ describe Puppet::Util::FileType do
15
16
 
16
17
  describe "when the file already exists" do
17
18
  it "should return the file's contents when asked to read it" do
18
- expect(Puppet::FileSystem).to receive(:exist?).with(path).and_return(true)
19
- expect(Puppet::FileSystem).to receive(:read).with(path, :encoding => Encoding.default_external).and_return("my text")
19
+ Puppet::FileSystem.expects(:exist?).with(path).returns true
20
+ Puppet::FileSystem.expects(:read).with(path, :encoding => Encoding.default_external).returns "my text"
20
21
 
21
22
  expect(file.read).to eq("my text")
22
23
  end
23
24
 
24
25
  it "should unlink the file when asked to remove it" do
25
- expect(Puppet::FileSystem).to receive(:exist?).with(path).and_return(true)
26
- expect(Puppet::FileSystem).to receive(:unlink).with(path)
26
+ Puppet::FileSystem.expects(:exist?).with(path).returns true
27
+ Puppet::FileSystem.expects(:unlink).with(path)
27
28
 
28
29
  file.remove
29
30
  end
@@ -31,58 +32,57 @@ describe Puppet::Util::FileType do
31
32
 
32
33
  describe "when the file does not exist" do
33
34
  it "should return an empty string when asked to read the file" do
34
- expect(Puppet::FileSystem).to receive(:exist?).with(path).and_return(false)
35
+ Puppet::FileSystem.expects(:exist?).with(path).returns false
35
36
 
36
37
  expect(file.read).to eq("")
37
38
  end
38
39
  end
39
40
 
40
41
  describe "when writing the file" do
41
- let(:tempfile) { double('tempfile', :print => nil, :close => nil, :flush => nil, :path => "/other/file") }
42
-
42
+ let(:tempfile) { stub 'tempfile', :print => nil, :close => nil, :flush => nil, :path => "/other/file" }
43
43
  before do
44
- allow(FileUtils).to receive(:cp)
45
- allow(Tempfile).to receive(:new).and_return(tempfile)
44
+ FileUtils.stubs(:cp)
45
+ Tempfile.stubs(:new).returns tempfile
46
46
  end
47
47
 
48
48
  it "should first create a temp file and copy its contents over to the file location" do
49
- expect(Tempfile).to receive(:new).with("puppet", :encoding => Encoding.default_external).and_return(tempfile)
50
- expect(tempfile).to receive(:print).with("my text")
51
- expect(tempfile).to receive(:flush)
52
- expect(tempfile).to receive(:close)
53
- expect(FileUtils).to receive(:cp).with(tempfile.path, path)
49
+ Tempfile.expects(:new).with("puppet", :encoding => Encoding.default_external).returns tempfile
50
+ tempfile.expects(:print).with("my text")
51
+ tempfile.expects(:flush)
52
+ tempfile.expects(:close)
53
+ FileUtils.expects(:cp).with(tempfile.path, path)
54
54
 
55
55
  file.write "my text"
56
56
  end
57
57
 
58
58
  it "should set the selinux default context on the file" do
59
- expect(file).to receive(:set_selinux_default_context).with(path)
59
+ file.expects(:set_selinux_default_context).with(path)
60
60
  file.write "eh"
61
61
  end
62
62
  end
63
63
 
64
64
  describe "when backing up a file" do
65
65
  it "should do nothing if the file does not exist" do
66
- expect(Puppet::FileSystem).to receive(:exist?).with(path).and_return(false)
67
- expect(file).not_to receive(:bucket)
66
+ Puppet::FileSystem.expects(:exist?).with(path).returns false
67
+ file.expects(:bucket).never
68
68
  file.backup
69
69
  end
70
70
 
71
71
  it "should use its filebucket to backup the file if it exists" do
72
- expect(Puppet::FileSystem).to receive(:exist?).with(path).and_return(true)
72
+ Puppet::FileSystem.expects(:exist?).with(path).returns true
73
73
 
74
- bucket = double('bucket')
75
- expect(bucket).to receive(:backup).with(path)
74
+ bucket = mock 'bucket'
75
+ bucket.expects(:backup).with(path)
76
76
 
77
- expect(file).to receive(:bucket).and_return(bucket)
77
+ file.expects(:bucket).returns bucket
78
78
  file.backup
79
79
  end
80
80
 
81
81
  it "should use the default filebucket" do
82
- bucket = double('bucket')
83
- expect(bucket).to receive(:bucket).and_return("mybucket")
82
+ bucket = mock 'bucket'
83
+ bucket.expects(:bucket).returns "mybucket"
84
84
 
85
- expect(Puppet::Type.type(:filebucket)).to receive(:mkdefaultbucket).and_return(bucket)
85
+ Puppet::Type.type(:filebucket).expects(:mkdefaultbucket).returns bucket
86
86
 
87
87
  expect(file.bucket).to eq("mybucket")
88
88
  end
@@ -103,57 +103,57 @@ describe Puppet::Util::FileType do
103
103
  # make Puppet::Util::SUIDManager return something deterministic, not the
104
104
  # uid of the user running the tests, except where overridden below.
105
105
  before :each do
106
- allow(Puppet::Util::SUIDManager).to receive(:uid).and_return(1234)
106
+ Puppet::Util::SUIDManager.stubs(:uid).returns 1234
107
107
  end
108
108
 
109
109
  describe "#read" do
110
110
  before(:each) do
111
- allow(Puppet::Util).to receive(:uid).with(uid).and_return(9000)
111
+ Puppet::Util.stubs(:uid).with(uid).returns 9000
112
112
  end
113
113
 
114
114
  it "should run crontab -l as the target user" do
115
- expect(Puppet::Util::Execution).to receive(:execute)
115
+ Puppet::Util::Execution.expects(:execute)
116
116
  .with(['crontab', '-l'], user_options)
117
- .and_return(Puppet::Util::Execution::ProcessOutput.new(crontab, 0))
117
+ .returns(Puppet::Util::Execution::ProcessOutput.new(crontab, 0))
118
118
  expect(cron.read).to eq(crontab)
119
119
  end
120
120
 
121
121
  it "should not switch user if current user is the target user" do
122
- expect(Puppet::Util).to receive(:uid).with(uid).twice.and_return(9000)
123
- expect(Puppet::Util::SUIDManager).to receive(:uid).and_return(9000)
124
- expect(Puppet::Util::Execution).to receive(:execute)
125
- .with(['crontab', '-l'], options)
126
- .and_return(Puppet::Util::Execution::ProcessOutput.new(crontab, 0))
122
+ Puppet::Util.expects(:uid).with(uid).twice.returns 9000
123
+ Puppet::Util::SUIDManager.expects(:uid).returns 9000
124
+ Puppet::Util::Execution
125
+ .expects(:execute).with(['crontab', '-l'], options)
126
+ .returns(Puppet::Util::Execution::ProcessOutput.new(crontab, 0))
127
127
  expect(cron.read).to eq(crontab)
128
128
  end
129
129
 
130
130
  it "should treat an absent crontab as empty" do
131
- expect(Puppet::Util::Execution).to receive(:execute).with(['crontab', '-l'], user_options).and_raise(Puppet::ExecutionFailure, absent_crontab)
131
+ Puppet::Util::Execution.expects(:execute).with(['crontab', '-l'], user_options).raises(Puppet::ExecutionFailure, absent_crontab)
132
132
  expect(cron.read).to eq('')
133
133
  end
134
134
 
135
135
  it "should treat a nonexistent user's crontab as empty" do
136
- expect(Puppet::Util).to receive(:uid).with(uid).and_return(nil)
136
+ Puppet::Util.expects(:uid).with(uid).returns nil
137
137
 
138
138
  expect(cron.read).to eq('')
139
139
  end
140
140
 
141
141
  it "should return empty if the user is not authorized to use cron" do
142
- expect(Puppet::Util::Execution).to receive(:execute).with(['crontab', '-l'], user_options).and_raise(Puppet::ExecutionFailure, unauthorized_crontab)
142
+ Puppet::Util::Execution.expects(:execute).with(['crontab', '-l'], user_options).raises(Puppet::ExecutionFailure, unauthorized_crontab)
143
143
  expect(cron.read).to eq('')
144
144
  end
145
145
  end
146
146
 
147
147
  describe "#remove" do
148
148
  it "should run crontab -r as the target user" do
149
- expect(Puppet::Util::Execution).to receive(:execute).with(['crontab', '-r'], user_options)
149
+ Puppet::Util::Execution.expects(:execute).with(['crontab', '-r'], user_options)
150
150
  cron.remove
151
151
  end
152
152
 
153
153
  it "should not switch user if current user is the target user" do
154
- expect(Puppet::Util).to receive(:uid).with(uid).and_return(9000)
155
- expect(Puppet::Util::SUIDManager).to receive(:uid).and_return(9000)
156
- expect(Puppet::Util::Execution).to receive(:execute).with(['crontab','-r'], options)
154
+ Puppet::Util.expects(:uid).with(uid).returns 9000
155
+ Puppet::Util::SUIDManager.expects(:uid).returns 9000
156
+ Puppet::Util::Execution.expects(:execute).with(['crontab','-r'], options)
157
157
  cron.remove
158
158
  end
159
159
  end
@@ -162,8 +162,8 @@ describe Puppet::Util::FileType do
162
162
  before :each do
163
163
  @tmp_cron = Tempfile.new("puppet_crontab_spec")
164
164
  @tmp_cron_path = @tmp_cron.path
165
- allow(Puppet::Util).to receive(:uid).with(uid).and_return(9000)
166
- expect(Tempfile).to receive(:new).with("puppet_#{name}", :encoding => Encoding.default_external).and_return(@tmp_cron)
165
+ Puppet::Util.stubs(:uid).with(uid).returns 9000
166
+ Tempfile.expects(:new).with("puppet_#{name}", :encoding => Encoding.default_external).returns @tmp_cron
167
167
  end
168
168
 
169
169
  after :each do
@@ -171,19 +171,19 @@ describe Puppet::Util::FileType do
171
171
  end
172
172
 
173
173
  it "should run crontab as the target user on a temporary file" do
174
- expect(File).to receive(:chown).with(9000, nil, @tmp_cron_path)
175
- expect(Puppet::Util::Execution).to receive(:execute).with(["crontab", @tmp_cron_path], user_options)
174
+ File.expects(:chown).with(9000, nil, @tmp_cron_path)
175
+ Puppet::Util::Execution.expects(:execute).with(["crontab", @tmp_cron_path], user_options)
176
176
 
177
- expect(@tmp_cron).to receive(:print).with("foo\n")
177
+ @tmp_cron.expects(:print).with("foo\n")
178
178
  cron.write "foo\n"
179
179
  end
180
180
 
181
181
  it "should not switch user if current user is the target user" do
182
- expect(Puppet::Util::SUIDManager).to receive(:uid).and_return(9000)
183
- expect(File).to receive(:chown).with(9000, nil, @tmp_cron_path)
184
- expect(Puppet::Util::Execution).to receive(:execute).with(["crontab", @tmp_cron_path], options)
182
+ Puppet::Util::SUIDManager.expects(:uid).returns 9000
183
+ File.expects(:chown).with(9000, nil, @tmp_cron_path)
184
+ Puppet::Util::Execution.expects(:execute).with(["crontab", @tmp_cron_path], options)
185
185
 
186
- expect(@tmp_cron).to receive(:print).with("foo\n")
186
+ @tmp_cron.expects(:print).with("foo\n")
187
187
  cron.write "foo\n"
188
188
  end
189
189
  end
@@ -218,22 +218,22 @@ describe Puppet::Util::HttpProxy do
218
218
 
219
219
  describe '.request_with_redirects' do
220
220
  let(:dest) { URI.parse('http://mydomain.com/some/path') }
221
- let(:http_ok) { double('http ok', :code => 200, :message => 'HTTP OK') }
221
+ let(:http_ok) { stub('http ok', :code => 200, :message => 'HTTP OK') }
222
222
 
223
223
  it 'generates accept and accept-encoding headers' do
224
- allow_any_instance_of(Net::HTTP).to receive(:head).and_return(http_ok)
225
- expect_any_instance_of(Net::HTTP).to receive(:get) do |_, _, headers|
224
+ Net::HTTP.any_instance.stubs(:head).returns(http_ok)
225
+ Net::HTTP.any_instance.expects(:get).with do |_, headers|
226
226
  expect(headers)
227
227
  .to match({'Accept' => '*/*',
228
228
  'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
229
229
  'User-Agent' => /Puppet/})
230
- end.and_return(http_ok)
230
+ end.returns(http_ok)
231
231
 
232
232
  subject.request_with_redirects(dest, :get, 0)
233
233
  end
234
234
 
235
235
  it 'can return a compressed response body' do
236
- allow_any_instance_of(Net::HTTP).to receive(:head).and_return(http_ok)
236
+ Net::HTTP.any_instance.stubs(:head).returns(http_ok)
237
237
 
238
238
  compressed_body = [
239
239
  0x1f, 0x8b, 0x08, 0x08, 0xe9, 0x08, 0x7a, 0x5a, 0x00, 0x03,
@@ -241,9 +241,9 @@ describe Puppet::Util::HttpProxy do
241
241
  0x00, 0x7a, 0x7a, 0x6f, 0xed, 0x03, 0x00, 0x00, 0x00
242
242
  ].pack('C*')
243
243
 
244
- response = double('http ok', :code => 200, :message => 'HTTP OK', :body => compressed_body)
245
- allow(response).to receive(:[]).with('content-encoding').and_return('gzip')
246
- expect_any_instance_of(Net::HTTP).to receive(:get).and_return(response)
244
+ response = stub('http ok', :code => 200, :message => 'HTTP OK', :body => compressed_body)
245
+ response.stubs(:[]).with('content-encoding').returns('gzip')
246
+ Net::HTTP.any_instance.expects(:get).returns(response)
247
247
 
248
248
  expect(
249
249
  uncompress_body(subject.request_with_redirects(dest, :get, 0))
@@ -251,13 +251,13 @@ describe Puppet::Util::HttpProxy do
251
251
  end
252
252
 
253
253
  it 'generates accept and accept-encoding headers when a block is provided' do
254
- allow_any_instance_of(Net::HTTP).to receive(:head).and_return(http_ok)
255
- expect_any_instance_of(Net::HTTP).to receive(:request_get) do |_, _, headers, &block|
254
+ Net::HTTP.any_instance.stubs(:head).returns(http_ok)
255
+ Net::HTTP.any_instance.expects(:request_get).with do |_, headers, &block|
256
256
  expect(headers)
257
257
  .to match({'Accept' => '*/*',
258
258
  'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
259
259
  'User-Agent' => /Puppet/})
260
- end.and_return(http_ok)
260
+ end.returns(http_ok)
261
261
 
262
262
  subject.request_with_redirects(dest, :get, 0) do
263
263
  # unused
@@ -265,7 +265,7 @@ describe Puppet::Util::HttpProxy do
265
265
  end
266
266
 
267
267
  it 'only makes a single HEAD request' do
268
- expect_any_instance_of(Net::HTTP).to receive(:head).with(anything, anything).and_return(http_ok)
268
+ Net::HTTP.any_instance.expects(:head).with(anything, anything).returns(http_ok)
269
269
 
270
270
  subject.request_with_redirects(dest, :head, 0)
271
271
  end
@@ -111,18 +111,19 @@ describe Puppet::Util::IniConfig::PhysicalFile do
111
111
 
112
112
  describe "when reading a file" do
113
113
  it "raises an error if the file does not exist" do
114
- allow(subject.filetype).to receive(:read)
114
+ subject.filetype.stubs(:read)
115
115
  expect {
116
116
  subject.read
117
117
  }.to raise_error(%r[Cannot read nonexistent file .*/some/nonexistent/file])
118
118
  end
119
119
 
120
120
  it "passes the contents of the file to #parse" do
121
- allow(subject.filetype).to receive(:read).and_return("[section]")
122
- expect(subject).to receive(:parse).with("[section]")
121
+ subject.filetype.stubs(:read).returns "[section]"
122
+ subject.expects(:parse).with("[section]")
123
123
 
124
124
  subject.read
125
125
  end
126
+
126
127
  end
127
128
 
128
129
  describe "when parsing a file" do
@@ -147,7 +148,7 @@ describe Puppet::Util::IniConfig::PhysicalFile do
147
148
  end
148
149
 
149
150
  it "raises an error if a section is redefined in the file collection" do
150
- subject.file_collection = double('file collection', :get_section => true)
151
+ subject.file_collection = stub('file collection', :get_section => true)
151
152
  text = "[mysect]\n[mysect]\n"
152
153
 
153
154
  expect {
@@ -155,6 +156,7 @@ describe Puppet::Util::IniConfig::PhysicalFile do
155
156
  }.to raise_error(Puppet::Util::IniConfig::IniParseError,
156
157
  /Section "mysect" is already defined, cannot redefine/)
157
158
  end
159
+
158
160
  end
159
161
 
160
162
  describe 'parsing properties' do
@@ -209,6 +211,7 @@ INIFILE
209
211
  end
210
212
 
211
213
  describe "parsing line continuations" do
214
+
212
215
  it "adds the continued line to the last parsed property" do
213
216
  text = "[main]\nkey=val\n moreval"
214
217
 
@@ -280,6 +283,7 @@ INIFILE
280
283
  end
281
284
 
282
285
  describe "formatting" do
286
+
283
287
  it "concatenates each formatted section in order" do
284
288
  subject.contents << first_sect << second_sect
285
289
 
@@ -322,7 +326,7 @@ INIFILE
322
326
  describe "and destroy_empty is true" do
323
327
  before { subject.destroy_empty = true }
324
328
  it "removes the file if there are no sections" do
325
- expect(File).to receive(:unlink)
329
+ File.expects(:unlink)
326
330
  subject.store
327
331
  end
328
332
 
@@ -331,7 +335,7 @@ INIFILE
331
335
  first_sect.destroy = true
332
336
  second_sect.destroy = true
333
337
 
334
- expect(File).to receive(:unlink)
338
+ File.expects(:unlink)
335
339
  subject.store
336
340
  end
337
341
 
@@ -340,8 +344,8 @@ INIFILE
340
344
  first_sect.destroy = true
341
345
  second_sect.destroy = false
342
346
 
343
- expect(File).not_to receive(:unlink)
344
- allow(subject.filetype).to receive(:write)
347
+ File.expects(:unlink).never
348
+ subject.filetype.stubs(:write)
345
349
  subject.store
346
350
  end
347
351
  end
@@ -351,9 +355,9 @@ INIFILE
351
355
  first_sect.destroy = true
352
356
  second_sect.destroy = true
353
357
 
354
- expect(File).not_to receive(:unlink)
355
- allow(subject).to receive(:format).and_return("formatted")
356
- expect(subject.filetype).to receive(:write).with("formatted")
358
+ File.expects(:unlink).never
359
+ subject.stubs(:format).returns "formatted"
360
+ subject.filetype.expects(:write).with("formatted")
357
361
  subject.store
358
362
  end
359
363
  end
@@ -363,8 +367,8 @@ INIFILE
363
367
  first_sect.mark_dirty
364
368
  second_sect.mark_clean
365
369
 
366
- allow(subject).to receive(:format).and_return("formatted")
367
- expect(subject.filetype).to receive(:write).with("formatted")
370
+ subject.stubs(:format).returns "formatted"
371
+ subject.filetype.expects(:write).with("formatted")
368
372
  subject.store
369
373
  end
370
374
 
@@ -373,14 +377,15 @@ INIFILE
373
377
  first_sect.mark_clean
374
378
  second_sect.mark_clean
375
379
 
376
- allow(subject).to receive(:format).and_return("formatted")
377
- expect(subject.filetype).not_to receive(:write)
380
+ subject.stubs(:format).returns "formatted"
381
+ subject.filetype.expects(:write).never
378
382
  subject.store
379
383
  end
380
384
  end
381
385
  end
382
386
 
383
387
  describe Puppet::Util::IniConfig::FileCollection do
388
+
384
389
  let(:path_a) { '/some/nonexistent/file/a' }
385
390
  let(:path_b) { '/some/nonexistent/file/b' }
386
391
 
@@ -399,20 +404,20 @@ describe Puppet::Util::IniConfig::FileCollection do
399
404
  end
400
405
 
401
406
  describe "reading a file" do
402
- let(:stub_file) { double('Physical file') }
407
+ let(:stub_file) { stub('Physical file') }
403
408
 
404
409
  it "creates a new PhysicalFile and uses that to read the file" do
405
- expect(stub_file).to receive(:read)
406
- expect(stub_file).to receive(:file_collection=)
407
- expect(Puppet::Util::IniConfig::PhysicalFile).to receive(:new).with(path_a).and_return(stub_file)
410
+ stub_file.expects(:read)
411
+ stub_file.expects(:file_collection=)
412
+ Puppet::Util::IniConfig::PhysicalFile.expects(:new).with(path_a).returns stub_file
408
413
 
409
414
  subject.read(path_a)
410
415
  end
411
416
 
412
417
  it "stores the PhysicalFile and the path to the file" do
413
- allow(stub_file).to receive(:read)
414
- allow(stub_file).to receive(:file_collection=)
415
- allow(Puppet::Util::IniConfig::PhysicalFile).to receive(:new).with(path_a).and_return(stub_file)
418
+ stub_file.stubs(:read)
419
+ stub_file.stubs(:file_collection=)
420
+ Puppet::Util::IniConfig::PhysicalFile.stubs(:new).with(path_a).returns stub_file
416
421
  subject.read(path_a)
417
422
 
418
423
  path, physical_file = subject.files.first
@@ -429,8 +434,8 @@ describe Puppet::Util::IniConfig::FileCollection do
429
434
  end
430
435
 
431
436
  it "stores all files in the collection" do
432
- expect(file_a).to receive(:store).once
433
- expect(file_b).to receive(:store).once
437
+ file_a.expects(:store).once
438
+ file_b.expects(:store).once
434
439
 
435
440
  subject.store
436
441
  end
@@ -444,7 +449,7 @@ describe Puppet::Util::IniConfig::FileCollection do
444
449
 
445
450
  it "yields every section from every file" do
446
451
  [sect_a1, sect_a2, sect_b1, sect_b2].each do |sect|
447
- expect(sect).to receive(:touch).once
452
+ sect.expects(:touch).once
448
453
  end
449
454
 
450
455
  subject.each_section do |sect|
@@ -511,7 +516,7 @@ describe Puppet::Util::IniConfig::FileCollection do
511
516
  end
512
517
 
513
518
  it "adds the section to the appropriate file" do
514
- expect(file_a).to receive(:add_section).with('newsect')
519
+ file_a.expects(:add_section).with('newsect')
515
520
  subject.add_section('newsect', path_a)
516
521
  end
517
522
  end