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

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

Potentially problematic release.


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

Files changed (748) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -0
  3. data/Gemfile.lock +31 -27
  4. data/Guardfile.example +76 -0
  5. data/LICENSE +189 -4
  6. data/MAINTAINERS +47 -0
  7. data/README.md +3 -3
  8. data/lib/hiera/scope.rb +0 -7
  9. data/lib/puppet.rb +6 -5
  10. data/lib/puppet/application.rb +3 -3
  11. data/lib/puppet/application/cert.rb +2 -2
  12. data/lib/puppet/application/device.rb +83 -109
  13. data/lib/puppet/application/filebucket.rb +1 -10
  14. data/lib/puppet/application/ssl.rb +0 -2
  15. data/lib/puppet/configurer.rb +9 -10
  16. data/lib/puppet/confine/false.rb +1 -7
  17. data/lib/puppet/confine/true.rb +1 -7
  18. data/lib/puppet/defaults.rb +39 -51
  19. data/lib/puppet/forge.rb +1 -4
  20. data/lib/puppet/functions/abs.rb +1 -1
  21. data/lib/puppet/functions/call.rb +1 -2
  22. data/lib/puppet/functions/new.rb +1 -1
  23. data/lib/puppet/indirector/request.rb +15 -26
  24. data/lib/puppet/network/http/connection.rb +12 -32
  25. data/lib/puppet/network/http/factory.rb +0 -5
  26. data/lib/puppet/pal/catalog_compiler.rb +96 -0
  27. data/lib/puppet/pal/compiler.rb +221 -0
  28. data/lib/puppet/pal/function_signature.rb +52 -0
  29. data/lib/puppet/pal/json_catalog_encoder.rb +67 -0
  30. data/lib/puppet/pal/pal_api.rb +15 -0
  31. data/lib/puppet/pal/pal_impl.rb +523 -0
  32. data/lib/puppet/pal/plan_signature.rb +71 -0
  33. data/lib/puppet/pal/script_compiler.rb +71 -0
  34. data/lib/puppet/pal/task_signature.rb +58 -0
  35. data/lib/puppet/parser/functions/generate.rb +7 -6
  36. data/lib/puppet/plugins/configuration.rb +5 -1
  37. data/lib/puppet/pops/evaluator/evaluator_impl.rb +5 -1
  38. data/lib/puppet/pops/evaluator/external_syntax_support.rb +3 -3
  39. data/lib/puppet/pops/issues.rb +0 -4
  40. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +4 -60
  41. data/lib/puppet/pops/model/factory.rb +4 -38
  42. data/lib/puppet/pops/model/pn_transformer.rb +0 -5
  43. data/lib/puppet/pops/parser/egrammar.ra +2 -2
  44. data/lib/puppet/pops/parser/heredoc_support.rb +7 -17
  45. data/lib/puppet/pops/parser/lexer2.rb +1 -6
  46. data/lib/puppet/pops/parser/locator.rb +86 -106
  47. data/lib/puppet/pops/parser/parser_support.rb +2 -11
  48. data/lib/puppet/pops/types/string_converter.rb +7 -2
  49. data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -1
  50. data/lib/puppet/pops/types/types.rb +3 -5
  51. data/lib/puppet/pops/validation/checker4_0.rb +13 -0
  52. data/lib/puppet/provider.rb +2 -1
  53. data/lib/puppet/provider/exec.rb +6 -1
  54. data/lib/puppet/provider/file/windows.rb +1 -49
  55. data/lib/puppet/provider/group/windows_adsi.rb +1 -4
  56. data/lib/puppet/provider/package.rb +0 -2
  57. data/lib/puppet/provider/package/dpkg.rb +2 -15
  58. data/lib/puppet/provider/package/gem.rb +42 -102
  59. data/lib/puppet/provider/package/pip.rb +111 -135
  60. data/lib/puppet/provider/package/pip3.rb +1 -1
  61. data/lib/puppet/provider/package/pkgng.rb +37 -21
  62. data/lib/puppet/provider/package/puppet_gem.rb +1 -1
  63. data/lib/puppet/provider/package/rpm.rb +16 -27
  64. data/lib/puppet/provider/package/windows.rb +1 -5
  65. data/lib/puppet/provider/package/yum.rb +1 -2
  66. data/lib/puppet/provider/service/systemd.rb +17 -0
  67. data/lib/puppet/provider/service/upstart.rb +5 -17
  68. data/lib/puppet/provider/service/windows.rb +8 -3
  69. data/lib/puppet/provider/user/directoryservice.rb +4 -16
  70. data/lib/puppet/provider/user/useradd.rb +13 -16
  71. data/lib/puppet/resource.rb +3 -1
  72. data/lib/puppet/rest/client.rb +83 -0
  73. data/lib/puppet/rest/route.rb +1 -1
  74. data/lib/puppet/settings.rb +5 -10
  75. data/lib/puppet/settings/server_list_setting.rb +0 -9
  76. data/lib/puppet/ssl/host.rb +11 -0
  77. data/lib/puppet/ssl/validator/default_validator.rb +0 -31
  78. data/lib/puppet/syntax_checkers/epp.rb +34 -0
  79. data/lib/puppet/syntax_checkers/pp.rb +34 -0
  80. data/lib/puppet/transaction.rb +7 -12
  81. data/lib/puppet/transaction/event_manager.rb +5 -1
  82. data/lib/puppet/transaction/resource_harness.rb +0 -1
  83. data/lib/puppet/type.rb +6 -0
  84. data/lib/puppet/type/exec.rb +5 -27
  85. data/lib/puppet/type/file/mode.rb +1 -6
  86. data/lib/puppet/type/file/source.rb +1 -0
  87. data/lib/puppet/type/filebucket.rb +8 -12
  88. data/lib/puppet/type/package.rb +11 -44
  89. data/lib/puppet/type/schedule.rb +0 -4
  90. data/lib/puppet/type/service.rb +12 -0
  91. data/lib/puppet/type/user.rb +1 -1
  92. data/lib/puppet/util/command_line.rb +1 -5
  93. data/lib/puppet/util/connection.rb +6 -15
  94. data/lib/puppet/util/http_proxy.rb +2 -3
  95. data/lib/puppet/util/log.rb +2 -7
  96. data/lib/puppet/util/pidlock.rb +1 -15
  97. data/lib/puppet/util/windows/process.rb +5 -73
  98. data/lib/puppet/util/windows/registry.rb +1 -7
  99. data/lib/puppet/util/windows/security.rb +8 -29
  100. data/lib/puppet/util/windows/service.rb +33 -27
  101. data/lib/puppet/util/windows/user.rb +4 -14
  102. data/lib/puppet/version.rb +1 -1
  103. data/lib/puppet_pal.rb +5 -1132
  104. data/locales/ja/puppet.po +297 -363
  105. data/locales/puppet.pot +445 -517
  106. data/man/man5/puppet.conf.5 +12 -20
  107. data/man/man8/puppet-agent.8 +1 -1
  108. data/man/man8/puppet-apply.8 +1 -1
  109. data/man/man8/puppet-catalog.8 +1 -1
  110. data/man/man8/puppet-config.8 +1 -1
  111. data/man/man8/puppet-describe.8 +1 -1
  112. data/man/man8/puppet-device.8 +1 -1
  113. data/man/man8/puppet-doc.8 +1 -1
  114. data/man/man8/puppet-epp.8 +1 -1
  115. data/man/man8/puppet-facts.8 +1 -1
  116. data/man/man8/puppet-filebucket.8 +2 -6
  117. data/man/man8/puppet-generate.8 +1 -1
  118. data/man/man8/puppet-help.8 +1 -1
  119. data/man/man8/puppet-key.8 +1 -1
  120. data/man/man8/puppet-lookup.8 +1 -1
  121. data/man/man8/puppet-man.8 +1 -1
  122. data/man/man8/puppet-module.8 +1 -1
  123. data/man/man8/puppet-node.8 +1 -1
  124. data/man/man8/puppet-parser.8 +1 -1
  125. data/man/man8/puppet-plugin.8 +1 -1
  126. data/man/man8/puppet-report.8 +1 -1
  127. data/man/man8/puppet-resource.8 +1 -1
  128. data/man/man8/puppet-script.8 +1 -1
  129. data/man/man8/puppet-ssl.8 +1 -1
  130. data/man/man8/puppet-status.8 +1 -1
  131. data/man/man8/puppet.8 +2 -2
  132. data/spec/fixtures/unit/provider/package/pkgng/pkg.query +7 -1
  133. data/spec/fixtures/unit/provider/package/pkgng/pkg.query.zsh +1 -0
  134. data/spec/integration/agent/logging_spec.rb +7 -5
  135. data/spec/integration/application/apply_spec.rb +16 -18
  136. data/spec/integration/application/doc_spec.rb +2 -1
  137. data/spec/integration/application/lookup_spec.rb +5 -5
  138. data/spec/integration/configurer_spec.rb +6 -5
  139. data/spec/integration/defaults_spec.rb +6 -5
  140. data/spec/integration/directory_environments_spec.rb +1 -1
  141. data/spec/integration/faces/config_spec.rb +4 -3
  142. data/spec/integration/faces/documentation_spec.rb +1 -0
  143. data/spec/integration/faces/plugin_spec.rb +1 -1
  144. data/spec/integration/file_bucket/file_spec.rb +4 -2
  145. data/spec/integration/file_serving/content_spec.rb +1 -0
  146. data/spec/integration/file_serving/fileset_spec.rb +1 -0
  147. data/spec/integration/file_serving/metadata_spec.rb +1 -0
  148. data/spec/integration/file_serving/terminus_helper_spec.rb +1 -0
  149. data/spec/integration/indirector/catalog/compiler_spec.rb +11 -10
  150. data/spec/integration/indirector/direct_file_server_spec.rb +1 -1
  151. data/spec/integration/indirector/facts/facter_spec.rb +5 -4
  152. data/spec/integration/indirector/file_content/file_server_spec.rb +8 -7
  153. data/spec/integration/indirector/file_metadata/file_server_spec.rb +8 -7
  154. data/spec/integration/network/authconfig_spec.rb +24 -23
  155. data/spec/integration/network/formats_spec.rb +1 -0
  156. data/spec/integration/node/environment_spec.rb +1 -0
  157. data/spec/integration/node/facts_spec.rb +10 -9
  158. data/spec/integration/node_spec.rb +7 -6
  159. data/spec/integration/parser/catalog_spec.rb +5 -1
  160. data/spec/integration/parser/collection_spec.rb +2 -1
  161. data/spec/integration/parser/compiler_spec.rb +6 -6
  162. data/spec/integration/parser/scope_spec.rb +1 -1
  163. data/spec/integration/parser/undef_param_spec.rb +1 -1
  164. data/spec/integration/provider/service/init_spec.rb +5 -4
  165. data/spec/integration/provider/service/systemd_spec.rb +2 -0
  166. data/spec/integration/provider/service/windows_spec.rb +2 -1
  167. data/spec/integration/reference/providers_spec.rb +2 -1
  168. data/spec/integration/reports_spec.rb +2 -1
  169. data/spec/integration/resource/catalog_spec.rb +17 -14
  170. data/spec/integration/resource/type_collection_spec.rb +5 -4
  171. data/spec/integration/ssl/certificate_request_spec.rb +1 -0
  172. data/spec/integration/ssl/host_spec.rb +2 -1
  173. data/spec/integration/ssl/key_spec.rb +1 -0
  174. data/spec/integration/test/test_helper_spec.rb +1 -0
  175. data/spec/integration/transaction/report_spec.rb +11 -6
  176. data/spec/integration/transaction_spec.rb +19 -18
  177. data/spec/integration/type/exec_spec.rb +1 -0
  178. data/spec/integration/type/file_spec.rb +33 -13
  179. data/spec/integration/type/package_spec.rb +24 -20
  180. data/spec/integration/type/tidy_spec.rb +2 -1
  181. data/spec/integration/type_spec.rb +1 -0
  182. data/spec/integration/util/autoload_spec.rb +2 -1
  183. data/spec/integration/util/rdoc/parser_spec.rb +1 -0
  184. data/spec/integration/util/settings_spec.rb +1 -0
  185. data/spec/integration/util/windows/adsi_spec.rb +5 -3
  186. data/spec/integration/util/windows/principal_spec.rb +1 -0
  187. data/spec/integration/util/windows/process_spec.rb +6 -4
  188. data/spec/integration/util/windows/registry_spec.rb +51 -93
  189. data/spec/integration/util/windows/security_spec.rb +4 -2
  190. data/spec/integration/util/windows/user_spec.rb +20 -37
  191. data/spec/integration/util_spec.rb +7 -4
  192. data/spec/lib/puppet_spec/compiler.rb +1 -1
  193. data/spec/lib/puppet_spec/files.rb +1 -0
  194. data/spec/lib/puppet_spec/module_tool/shared_functions.rb +1 -1
  195. data/spec/lib/puppet_spec/scope.rb +2 -1
  196. data/spec/shared_behaviours/all_parsedfile_providers.rb +1 -1
  197. data/spec/shared_behaviours/file_server_terminus.rb +9 -8
  198. data/spec/shared_behaviours/file_serving.rb +8 -6
  199. data/spec/shared_behaviours/file_serving_model.rb +5 -3
  200. data/spec/shared_behaviours/hiera_indirections.rb +4 -3
  201. data/spec/shared_behaviours/iterative_functions.rb +1 -0
  202. data/spec/shared_behaviours/memory_terminus.rb +2 -2
  203. data/spec/shared_examples/rhel_package_provider.rb +70 -112
  204. data/spec/spec_helper.rb +2 -11
  205. data/spec/unit/agent/disabler_spec.rb +5 -4
  206. data/spec/unit/agent/locker_spec.rb +13 -12
  207. data/spec/unit/agent_spec.rb +85 -80
  208. data/spec/unit/application/agent_spec.rb +93 -88
  209. data/spec/unit/application/apply_spec.rb +83 -82
  210. data/spec/unit/application/config_spec.rb +1 -0
  211. data/spec/unit/application/describe_spec.rb +7 -6
  212. data/spec/unit/application/device_spec.rb +419 -395
  213. data/spec/unit/application/doc_spec.rb +46 -44
  214. data/spec/unit/application/face_base_spec.rb +62 -61
  215. data/spec/unit/application/facts_spec.rb +4 -3
  216. data/spec/unit/application/filebucket_spec.rb +74 -66
  217. data/spec/unit/application/indirection_base_spec.rb +6 -8
  218. data/spec/unit/application/lookup_spec.rb +26 -26
  219. data/spec/unit/application/resource_spec.rb +48 -42
  220. data/spec/unit/application/ssl_spec.rb +3 -8
  221. data/spec/unit/application_spec.rb +98 -86
  222. data/spec/unit/capability_spec.rb +6 -6
  223. data/spec/unit/certificate_factory_spec.rb +5 -3
  224. data/spec/unit/configurer/downloader_spec.rb +21 -20
  225. data/spec/unit/configurer/fact_handler_spec.rb +3 -2
  226. data/spec/unit/configurer/plugin_handler_spec.rb +8 -41
  227. data/spec/unit/configurer_spec.rb +198 -194
  228. data/spec/unit/confine/exists_spec.rb +15 -17
  229. data/spec/unit/confine/false_spec.rb +6 -32
  230. data/spec/unit/confine/feature_spec.rb +5 -7
  231. data/spec/unit/confine/true_spec.rb +6 -32
  232. data/spec/unit/confine/variable_spec.rb +15 -14
  233. data/spec/unit/confine_collection_spec.rb +29 -28
  234. data/spec/unit/confine_spec.rb +14 -13
  235. data/spec/unit/confiner_spec.rb +11 -10
  236. data/spec/unit/context/trusted_information_spec.rb +1 -1
  237. data/spec/unit/daemon_spec.rb +36 -35
  238. data/spec/unit/data_providers/function_data_provider_spec.rb +1 -0
  239. data/spec/unit/data_providers/hiera_data_provider_spec.rb +1 -0
  240. data/spec/unit/datatypes_spec.rb +4 -3
  241. data/spec/unit/defaults_spec.rb +27 -18
  242. data/spec/unit/environments_spec.rb +7 -7
  243. data/spec/unit/etc_spec.rb +32 -30
  244. data/spec/unit/external/pson_spec.rb +1 -0
  245. data/spec/unit/face/catalog_spec.rb +1 -0
  246. data/spec/unit/face/config_spec.rb +35 -31
  247. data/spec/unit/face/epp_face_spec.rb +4 -3
  248. data/spec/unit/face/facts_spec.rb +6 -5
  249. data/spec/unit/face/generate_spec.rb +5 -4
  250. data/spec/unit/face/help_spec.rb +8 -7
  251. data/spec/unit/face/key_spec.rb +1 -0
  252. data/spec/unit/face/man_spec.rb +2 -1
  253. data/spec/unit/face/module/install_spec.rb +5 -3
  254. data/spec/unit/face/module/list_spec.rb +12 -2
  255. data/spec/unit/face/module/search_spec.rb +9 -11
  256. data/spec/unit/face/module/uninstall_spec.rb +8 -4
  257. data/spec/unit/face/node_spec.rb +24 -23
  258. data/spec/unit/face/parser_spec.rb +18 -3
  259. data/spec/unit/face/plugin_spec.rb +9 -36
  260. data/spec/unit/face/status_spec.rb +1 -0
  261. data/spec/unit/file_bucket/dipper_spec.rb +20 -24
  262. data/spec/unit/file_bucket/file_spec.rb +2 -0
  263. data/spec/unit/file_serving/base_spec.rb +15 -14
  264. data/spec/unit/file_serving/configuration/parser_spec.rb +28 -27
  265. data/spec/unit/file_serving/configuration_spec.rb +66 -63
  266. data/spec/unit/file_serving/content_spec.rb +11 -10
  267. data/spec/unit/file_serving/fileset_spec.rb +58 -63
  268. data/spec/unit/file_serving/http_metadata_spec.rb +7 -8
  269. data/spec/unit/file_serving/metadata_spec.rb +36 -36
  270. data/spec/unit/file_serving/mount/file_spec.rb +32 -31
  271. data/spec/unit/file_serving/mount/locales_spec.rb +24 -23
  272. data/spec/unit/file_serving/mount/modules_spec.rb +15 -14
  273. data/spec/unit/file_serving/mount/pluginfacts_spec.rb +24 -23
  274. data/spec/unit/file_serving/mount/plugins_spec.rb +24 -23
  275. data/spec/unit/file_serving/mount/tasks_spec.rb +15 -14
  276. data/spec/unit/file_serving/mount_spec.rb +1 -0
  277. data/spec/unit/file_serving/terminus_helper_spec.rb +42 -37
  278. data/spec/unit/file_serving/terminus_selector_spec.rb +13 -12
  279. data/spec/unit/file_system/uniquefile_spec.rb +4 -4
  280. data/spec/unit/file_system_spec.rb +2 -2
  281. data/spec/unit/forge/errors_spec.rb +1 -1
  282. data/spec/unit/forge/forge_spec.rb +16 -17
  283. data/spec/unit/forge/module_release_spec.rb +18 -18
  284. data/spec/unit/forge/repository_spec.rb +30 -29
  285. data/spec/unit/forge_spec.rb +11 -15
  286. data/spec/unit/functions/binary_file_spec.rb +3 -3
  287. data/spec/unit/functions/contain_spec.rb +2 -0
  288. data/spec/unit/functions/defined_spec.rb +1 -0
  289. data/spec/unit/functions/epp_spec.rb +2 -2
  290. data/spec/unit/functions/find_file_spec.rb +7 -7
  291. data/spec/unit/functions/include_spec.rb +4 -0
  292. data/spec/unit/functions/lookup_fixture_spec.rb +1 -0
  293. data/spec/unit/functions/lookup_spec.rb +2 -1
  294. data/spec/unit/functions/module_directory_spec.rb +12 -12
  295. data/spec/unit/functions/new_spec.rb +0 -15
  296. data/spec/unit/functions/require_spec.rb +3 -0
  297. data/spec/unit/functions/shared.rb +8 -5
  298. data/spec/unit/functions/versioncmp_spec.rb +2 -1
  299. data/spec/unit/functions4_spec.rb +10 -9
  300. data/spec/unit/gettext/config_spec.rb +4 -4
  301. data/spec/unit/gettext/module_loading_spec.rb +7 -7
  302. data/spec/unit/graph/rb_tree_map_spec.rb +2 -0
  303. data/spec/unit/graph/relationship_graph_spec.rb +2 -1
  304. data/spec/unit/graph/simple_graph_spec.rb +10 -9
  305. data/spec/unit/hiera/scope_spec.rb +0 -7
  306. data/spec/unit/hiera_puppet_spec.rb +20 -20
  307. data/spec/unit/indirector/catalog/compiler_spec.rb +149 -147
  308. data/spec/unit/indirector/catalog/json_spec.rb +2 -1
  309. data/spec/unit/indirector/catalog/msgpack_spec.rb +1 -0
  310. data/spec/unit/indirector/catalog/rest_spec.rb +1 -0
  311. data/spec/unit/indirector/catalog/store_configs_spec.rb +1 -0
  312. data/spec/unit/indirector/catalog/yaml_spec.rb +1 -0
  313. data/spec/unit/indirector/certificate/file_spec.rb +1 -0
  314. data/spec/unit/indirector/certificate/rest_spec.rb +10 -8
  315. data/spec/unit/indirector/certificate_request/file_spec.rb +1 -0
  316. data/spec/unit/indirector/certificate_request/rest_spec.rb +1 -0
  317. data/spec/unit/indirector/direct_file_server_spec.rb +18 -17
  318. data/spec/unit/indirector/envelope_spec.rb +2 -1
  319. data/spec/unit/indirector/exec_spec.rb +5 -4
  320. data/spec/unit/indirector/face_spec.rb +9 -9
  321. data/spec/unit/indirector/facts/facter_spec.rb +43 -37
  322. data/spec/unit/indirector/facts/network_device_spec.rb +9 -8
  323. data/spec/unit/indirector/facts/rest_spec.rb +8 -7
  324. data/spec/unit/indirector/facts/store_configs_spec.rb +1 -0
  325. data/spec/unit/indirector/facts/yaml_spec.rb +1 -0
  326. data/spec/unit/indirector/file_bucket_file/file_spec.rb +4 -3
  327. data/spec/unit/indirector/file_bucket_file/rest_spec.rb +1 -0
  328. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +5 -4
  329. data/spec/unit/indirector/file_content/file_server_spec.rb +1 -0
  330. data/spec/unit/indirector/file_content/file_spec.rb +1 -0
  331. data/spec/unit/indirector/file_content/rest_spec.rb +1 -0
  332. data/spec/unit/indirector/file_content/selector_spec.rb +1 -0
  333. data/spec/unit/indirector/file_metadata/file_server_spec.rb +1 -0
  334. data/spec/unit/indirector/file_metadata/file_spec.rb +13 -12
  335. data/spec/unit/indirector/file_metadata/rest_spec.rb +1 -0
  336. data/spec/unit/indirector/file_metadata/selector_spec.rb +1 -0
  337. data/spec/unit/indirector/file_server_spec.rb +87 -87
  338. data/spec/unit/indirector/indirection_spec.rb +226 -242
  339. data/spec/unit/indirector/json_spec.rb +9 -7
  340. data/spec/unit/indirector/key/file_spec.rb +22 -21
  341. data/spec/unit/indirector/memory_spec.rb +7 -6
  342. data/spec/unit/indirector/msgpack_spec.rb +9 -7
  343. data/spec/unit/indirector/node/exec_spec.rb +3 -2
  344. data/spec/unit/indirector/node/memory_spec.rb +4 -2
  345. data/spec/unit/indirector/node/msgpack_spec.rb +1 -0
  346. data/spec/unit/indirector/node/plain_spec.rb +4 -2
  347. data/spec/unit/indirector/node/rest_spec.rb +1 -0
  348. data/spec/unit/indirector/node/store_configs_spec.rb +1 -0
  349. data/spec/unit/indirector/node/yaml_spec.rb +1 -0
  350. data/spec/unit/indirector/none_spec.rb +5 -5
  351. data/spec/unit/indirector/plain_spec.rb +8 -7
  352. data/spec/unit/indirector/report/msgpack_spec.rb +1 -0
  353. data/spec/unit/indirector/report/processor_spec.rb +22 -21
  354. data/spec/unit/indirector/report/rest_spec.rb +12 -11
  355. data/spec/unit/indirector/report/yaml_spec.rb +1 -0
  356. data/spec/unit/indirector/request_spec.rb +12 -11
  357. data/spec/unit/indirector/resource/ral_spec.rb +54 -47
  358. data/spec/unit/indirector/resource/store_configs_spec.rb +1 -0
  359. data/spec/unit/indirector/rest_spec.rb +110 -113
  360. data/spec/unit/indirector/ssl_file_spec.rb +65 -64
  361. data/spec/unit/indirector/status/local_spec.rb +1 -0
  362. data/spec/unit/indirector/status/rest_spec.rb +1 -0
  363. data/spec/unit/indirector/store_configs_spec.rb +1 -0
  364. data/spec/unit/indirector/terminus_spec.rb +27 -27
  365. data/spec/unit/indirector/yaml_spec.rb +6 -5
  366. data/spec/unit/indirector_spec.rb +2 -1
  367. data/spec/unit/info_service_spec.rb +1 -1
  368. data/spec/unit/interface/action_builder_spec.rb +1 -0
  369. data/spec/unit/interface/action_manager_spec.rb +1 -0
  370. data/spec/unit/interface/action_spec.rb +3 -2
  371. data/spec/unit/interface/documentation_spec.rb +1 -0
  372. data/spec/unit/interface/face_collection_spec.rb +12 -19
  373. data/spec/unit/interface_spec.rb +3 -3
  374. data/spec/unit/man_spec.rb +4 -3
  375. data/spec/unit/module_spec.rb +51 -46
  376. data/spec/unit/module_tool/applications/installer_spec.rb +11 -10
  377. data/spec/unit/module_tool/applications/searcher_spec.rb +3 -3
  378. data/spec/unit/module_tool/applications/uninstaller_spec.rb +2 -1
  379. data/spec/unit/module_tool/applications/unpacker_spec.rb +13 -13
  380. data/spec/unit/module_tool/applications/upgrader_spec.rb +5 -5
  381. data/spec/unit/module_tool/install_directory_spec.rb +8 -8
  382. data/spec/unit/module_tool/installed_modules_spec.rb +3 -3
  383. data/spec/unit/module_tool/tar/gnu_spec.rb +6 -6
  384. data/spec/unit/module_tool/tar/mini_spec.rb +12 -12
  385. data/spec/unit/module_tool/tar_spec.rb +13 -12
  386. data/spec/unit/module_tool_spec.rb +12 -7
  387. data/spec/unit/network/auth_config_parser_spec.rb +13 -11
  388. data/spec/unit/network/authconfig_spec.rb +18 -17
  389. data/spec/unit/network/authorization_spec.rb +5 -4
  390. data/spec/unit/network/authstore_spec.rb +1 -0
  391. data/spec/unit/network/format_handler_spec.rb +1 -0
  392. data/spec/unit/network/format_spec.rb +10 -9
  393. data/spec/unit/network/format_support_spec.rb +29 -28
  394. data/spec/unit/network/formats_spec.rb +5 -4
  395. data/spec/unit/network/http/api/indirected_routes_spec.rb +29 -24
  396. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +2 -2
  397. data/spec/unit/network/http/api/master/v3/environment_spec.rb +1 -1
  398. data/spec/unit/network/http/api/master/v3/environments_spec.rb +7 -6
  399. data/spec/unit/network/http/api_spec.rb +2 -0
  400. data/spec/unit/network/http/compression_spec.rb +22 -21
  401. data/spec/unit/network/http/connection_spec.rb +121 -30
  402. data/spec/unit/network/http/factory_spec.rb +6 -11
  403. data/spec/unit/network/http/handler_spec.rb +18 -9
  404. data/spec/unit/network/http/nocache_pool_spec.rb +7 -6
  405. data/spec/unit/network/http/pool_spec.rb +29 -28
  406. data/spec/unit/network/http/request_spec.rb +2 -0
  407. data/spec/unit/network/http/response_spec.rb +13 -11
  408. data/spec/unit/network/http/route_spec.rb +1 -0
  409. data/spec/unit/network/http/session_spec.rb +2 -1
  410. data/spec/unit/network/http/site_spec.rb +1 -0
  411. data/spec/unit/network/http_pool_spec.rb +9 -18
  412. data/spec/unit/network/http_spec.rb +1 -0
  413. data/spec/unit/network/resolver_spec.rb +26 -25
  414. data/spec/unit/network/rights_spec.rb +53 -52
  415. data/spec/unit/node/environment_spec.rb +15 -14
  416. data/spec/unit/node/facts_spec.rb +7 -5
  417. data/spec/unit/node_spec.rb +10 -4
  418. data/spec/unit/other/selinux_spec.rb +1 -0
  419. data/spec/unit/parameter/boolean_spec.rb +2 -1
  420. data/spec/unit/parameter/package_options_spec.rb +2 -1
  421. data/spec/unit/parameter/path_spec.rb +1 -0
  422. data/spec/unit/parameter/value_collection_spec.rb +1 -0
  423. data/spec/unit/parameter/value_spec.rb +1 -0
  424. data/spec/unit/parameter_spec.rb +9 -9
  425. data/spec/unit/parser/ast/block_expression_spec.rb +8 -6
  426. data/spec/unit/parser/ast/leaf_spec.rb +21 -20
  427. data/spec/unit/parser/compiler_spec.rb +96 -84
  428. data/spec/unit/parser/environment_compiler_spec.rb +8 -7
  429. data/spec/unit/parser/files_spec.rb +1 -0
  430. data/spec/unit/parser/functions/create_resources_spec.rb +1 -1
  431. data/spec/unit/parser/functions/digest_spec.rb +1 -0
  432. data/spec/unit/parser/functions/fail_spec.rb +2 -1
  433. data/spec/unit/parser/functions/file_spec.rb +14 -13
  434. data/spec/unit/parser/functions/fqdn_rand_spec.rb +6 -5
  435. data/spec/unit/parser/functions/generate_spec.rb +8 -7
  436. data/spec/unit/parser/functions/inline_template_spec.rb +1 -0
  437. data/spec/unit/parser/functions/regsubst_spec.rb +1 -0
  438. data/spec/unit/parser/functions/scanf_spec.rb +1 -0
  439. data/spec/unit/parser/functions/shellquote_spec.rb +1 -0
  440. data/spec/unit/parser/functions/split_spec.rb +1 -0
  441. data/spec/unit/parser/functions/sprintf_spec.rb +1 -0
  442. data/spec/unit/parser/functions/tag_spec.rb +2 -1
  443. data/spec/unit/parser/functions/tagged_spec.rb +3 -2
  444. data/spec/unit/parser/functions/template_spec.rb +13 -13
  445. data/spec/unit/parser/functions/versioncmp_spec.rb +2 -1
  446. data/spec/unit/parser/functions_spec.rb +7 -6
  447. data/spec/unit/parser/relationship_spec.rb +1 -0
  448. data/spec/unit/parser/resource_spec.rb +42 -42
  449. data/spec/unit/parser/scope_spec.rb +35 -39
  450. data/spec/unit/parser/templatewrapper_spec.rb +12 -11
  451. data/spec/unit/parser/type_loader_spec.rb +19 -17
  452. data/spec/unit/pops/adaptable_spec.rb +1 -0
  453. data/spec/unit/pops/benchmark_spec.rb +1 -0
  454. data/spec/unit/pops/evaluator/access_ops_spec.rb +1 -0
  455. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +1 -0
  456. data/spec/unit/pops/evaluator/basic_expressions_spec.rb +1 -0
  457. data/spec/unit/pops/evaluator/collections_ops_spec.rb +1 -0
  458. data/spec/unit/pops/evaluator/comparison_ops_spec.rb +1 -0
  459. data/spec/unit/pops/evaluator/conditionals_spec.rb +1 -0
  460. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +47 -10
  461. data/spec/unit/pops/evaluator/logical_ops_spec.rb +1 -0
  462. data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +1 -0
  463. data/spec/unit/pops/evaluator/string_interpolation_spec.rb +1 -0
  464. data/spec/unit/pops/evaluator/variables_spec.rb +1 -0
  465. data/spec/unit/pops/factory_spec.rb +4 -3
  466. data/spec/unit/pops/issues_spec.rb +20 -19
  467. data/spec/unit/pops/loaders/loader_spec.rb +4 -8
  468. data/spec/unit/pops/loaders/loaders_spec.rb +31 -101
  469. data/spec/unit/pops/lookup/context_spec.rb +1 -0
  470. data/spec/unit/pops/lookup/interpolation_spec.rb +3 -2
  471. data/spec/unit/pops/merge_strategy_spec.rb +1 -0
  472. data/spec/unit/pops/migration_spec.rb +5 -3
  473. data/spec/unit/pops/model/model_spec.rb +1 -0
  474. data/spec/unit/pops/model/pn_transformer_spec.rb +1 -4
  475. data/spec/unit/pops/parser/locator_spec.rb +6 -48
  476. data/spec/unit/pops/parser/parse_application_spec.rb +1 -0
  477. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +1 -0
  478. data/spec/unit/pops/parser/parse_calls_spec.rb +1 -0
  479. data/spec/unit/pops/parser/parse_capabilities_spec.rb +1 -0
  480. data/spec/unit/pops/parser/parse_conditionals_spec.rb +1 -0
  481. data/spec/unit/pops/parser/parse_containers_spec.rb +1 -0
  482. data/spec/unit/pops/parser/parse_heredoc_spec.rb +15 -111
  483. data/spec/unit/pops/parser/parse_plan_spec.rb +1 -0
  484. data/spec/unit/pops/parser/parse_resource_spec.rb +1 -0
  485. data/spec/unit/pops/parser/parse_site_spec.rb +1 -0
  486. data/spec/unit/pops/parser/pn_parser_spec.rb +1 -0
  487. data/spec/unit/pops/pn_spec.rb +1 -0
  488. data/spec/unit/pops/resource/resource_type_impl_spec.rb +1 -0
  489. data/spec/unit/pops/serialization/serialization_spec.rb +1 -1
  490. data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
  491. data/spec/unit/pops/types/recursion_guard_spec.rb +10 -10
  492. data/spec/unit/pops/types/ruby_generator_spec.rb +2 -2
  493. data/spec/unit/pops/types/string_converter_spec.rb +5 -1
  494. data/spec/unit/pops/types/type_asserter_spec.rb +2 -2
  495. data/spec/unit/pops/types/type_calculator_spec.rb +30 -30
  496. data/spec/unit/pops/types/type_mismatch_describer_spec.rb +0 -9
  497. data/spec/unit/pops/types/type_parser_spec.rb +13 -13
  498. data/spec/unit/pops/validator/validator_spec.rb +2 -1
  499. data/spec/unit/pops/visitor_spec.rb +1 -0
  500. data/spec/unit/property/boolean_spec.rb +1 -1
  501. data/spec/unit/property/ensure_spec.rb +1 -0
  502. data/spec/unit/property/keyvalue_spec.rb +34 -32
  503. data/spec/unit/property/list_spec.rb +27 -26
  504. data/spec/unit/property/ordered_list_spec.rb +14 -10
  505. data/spec/unit/property_spec.rb +43 -42
  506. data/spec/unit/provider/aix_object_spec.rb +45 -47
  507. data/spec/unit/provider/command_spec.rb +9 -9
  508. data/spec/unit/provider/exec/posix_spec.rb +31 -6
  509. data/spec/unit/provider/exec/shell_spec.rb +1 -0
  510. data/spec/unit/provider/exec/windows_spec.rb +4 -2
  511. data/spec/unit/provider/exec_spec.rb +1 -0
  512. data/spec/unit/provider/file/posix_spec.rb +24 -22
  513. data/spec/unit/provider/file/windows_spec.rb +17 -15
  514. data/spec/unit/provider/group/aix_spec.rb +2 -3
  515. data/spec/unit/provider/group/groupadd_spec.rb +26 -30
  516. data/spec/unit/provider/group/ldap_spec.rb +18 -18
  517. data/spec/unit/provider/group/pw_spec.rb +11 -11
  518. data/spec/unit/provider/group/windows_adsi_spec.rb +53 -59
  519. data/spec/unit/provider/ldap_spec.rb +62 -61
  520. data/spec/unit/provider/nameservice/directoryservice_spec.rb +36 -35
  521. data/spec/unit/provider/nameservice_spec.rb +40 -38
  522. data/spec/unit/provider/package/aix_spec.rb +15 -15
  523. data/spec/unit/provider/package/appdmg_spec.rb +13 -13
  524. data/spec/unit/provider/package/apt_spec.rb +27 -44
  525. data/spec/unit/provider/package/aptitude_spec.rb +7 -6
  526. data/spec/unit/provider/package/aptrpm_spec.rb +12 -7
  527. data/spec/unit/provider/package/base_spec.rb +4 -4
  528. data/spec/unit/provider/package/dnf_spec.rb +20 -18
  529. data/spec/unit/provider/package/dpkg_spec.rb +53 -70
  530. data/spec/unit/provider/package/freebsd_spec.rb +11 -11
  531. data/spec/unit/provider/package/gem_spec.rb +55 -132
  532. data/spec/unit/provider/package/hpux_spec.rb +8 -8
  533. data/spec/unit/provider/package/macports_spec.rb +42 -46
  534. data/spec/unit/provider/package/nim_spec.rb +39 -30
  535. data/spec/unit/provider/package/openbsd_spec.rb +39 -36
  536. data/spec/unit/provider/package/opkg_spec.rb +26 -23
  537. data/spec/unit/provider/package/pacman_spec.rb +118 -97
  538. data/spec/unit/provider/package/pip3_spec.rb +0 -17
  539. data/spec/unit/provider/package/pip_spec.rb +106 -95
  540. data/spec/unit/provider/package/pkg_spec.rb +109 -109
  541. data/spec/unit/provider/package/pkgdmg_spec.rb +63 -65
  542. data/spec/unit/provider/package/pkgin_spec.rb +8 -10
  543. data/spec/unit/provider/package/pkgng_spec.rb +31 -22
  544. data/spec/unit/provider/package/pkgutil_spec.rb +49 -45
  545. data/spec/unit/provider/package/portage_spec.rb +74 -70
  546. data/spec/unit/provider/package/puppet_gem_spec.rb +13 -37
  547. data/spec/unit/provider/package/rpm_spec.rb +76 -154
  548. data/spec/unit/provider/package/sun_spec.rb +18 -16
  549. data/spec/unit/provider/package/tdnf_spec.rb +2 -2
  550. data/spec/unit/provider/package/up2date_spec.rb +4 -2
  551. data/spec/unit/provider/package/urpmi_spec.rb +17 -15
  552. data/spec/unit/provider/package/windows/exe_package_spec.rb +15 -12
  553. data/spec/unit/provider/package/windows/msi_package_spec.rb +22 -19
  554. data/spec/unit/provider/package/windows/package_spec.rb +42 -37
  555. data/spec/unit/provider/package/windows_spec.rb +32 -47
  556. data/spec/unit/provider/package/yum_spec.rb +7 -7
  557. data/spec/unit/provider/package/zypper_spec.rb +87 -87
  558. data/spec/unit/provider/parsedfile_spec.rb +45 -44
  559. data/spec/unit/provider/service/base_spec.rb +5 -4
  560. data/spec/unit/provider/service/bsd_spec.rb +29 -27
  561. data/spec/unit/provider/service/daemontools_spec.rb +35 -35
  562. data/spec/unit/provider/service/debian_spec.rb +38 -38
  563. data/spec/unit/provider/service/freebsd_spec.rb +18 -18
  564. data/spec/unit/provider/service/gentoo_spec.rb +55 -50
  565. data/spec/unit/provider/service/init_spec.rb +52 -53
  566. data/spec/unit/provider/service/launchd_spec.rb +116 -138
  567. data/spec/unit/provider/service/openbsd_spec.rb +50 -50
  568. data/spec/unit/provider/service/openrc_spec.rb +45 -43
  569. data/spec/unit/provider/service/openwrt_spec.rb +31 -26
  570. data/spec/unit/provider/service/rcng_spec.rb +14 -14
  571. data/spec/unit/provider/service/redhat_spec.rb +43 -45
  572. data/spec/unit/provider/service/runit_spec.rb +27 -29
  573. data/spec/unit/provider/service/smf_spec.rb +66 -74
  574. data/spec/unit/provider/service/src_spec.rb +47 -46
  575. data/spec/unit/provider/service/systemd_spec.rb +136 -109
  576. data/spec/unit/provider/service/upstart_spec.rb +93 -77
  577. data/spec/unit/provider/service/windows_spec.rb +41 -33
  578. data/spec/unit/provider/user/aix_spec.rb +31 -31
  579. data/spec/unit/provider/user/directoryservice_spec.rb +114 -146
  580. data/spec/unit/provider/user/hpux_spec.rb +16 -16
  581. data/spec/unit/provider/user/ldap_spec.rb +57 -57
  582. data/spec/unit/provider/user/openbsd_spec.rb +12 -10
  583. data/spec/unit/provider/user/pw_spec.rb +35 -37
  584. data/spec/unit/provider/user/user_role_add_spec.rb +93 -93
  585. data/spec/unit/provider/user/useradd_spec.rb +92 -93
  586. data/spec/unit/provider/user/windows_adsi_spec.rb +60 -59
  587. data/spec/unit/provider_spec.rb +35 -35
  588. data/spec/unit/puppet_pal_2pec.rb +5 -4
  589. data/spec/unit/puppet_pal_spec.rb +1 -0
  590. data/spec/unit/puppet_spec.rb +7 -6
  591. data/spec/unit/relationship_spec.rb +1 -0
  592. data/spec/unit/reports/http_spec.rb +23 -21
  593. data/spec/unit/reports/store_spec.rb +4 -3
  594. data/spec/unit/reports_spec.rb +14 -12
  595. data/spec/unit/resource/capability_finder_spec.rb +17 -15
  596. data/spec/unit/resource/catalog_spec.rb +68 -72
  597. data/spec/unit/resource/status_spec.rb +8 -6
  598. data/spec/unit/resource/type_collection_spec.rb +18 -17
  599. data/spec/unit/resource/type_spec.rb +35 -34
  600. data/spec/unit/resource_spec.rb +63 -36
  601. data/spec/unit/rest/client_spec.rb +135 -0
  602. data/spec/unit/rest/route_spec.rb +6 -6
  603. data/spec/unit/scheduler/job_spec.rb +1 -0
  604. data/spec/unit/scheduler/scheduler_spec.rb +1 -0
  605. data/spec/unit/scheduler/splay_job_spec.rb +2 -1
  606. data/spec/unit/settings/array_setting_spec.rb +1 -1
  607. data/spec/unit/settings/autosign_setting_spec.rb +9 -9
  608. data/spec/unit/settings/certificate_revocation_setting_spec.rb +1 -1
  609. data/spec/unit/settings/config_file_spec.rb +1 -0
  610. data/spec/unit/settings/directory_setting_spec.rb +7 -2
  611. data/spec/unit/settings/duration_setting_spec.rb +2 -1
  612. data/spec/unit/settings/enum_setting_spec.rb +1 -1
  613. data/spec/unit/settings/environment_conf_spec.rb +6 -4
  614. data/spec/unit/settings/file_setting_spec.rb +46 -44
  615. data/spec/unit/settings/path_setting_spec.rb +2 -1
  616. data/spec/unit/settings/priority_setting_spec.rb +2 -1
  617. data/spec/unit/settings/string_setting_spec.rb +15 -14
  618. data/spec/unit/settings/terminus_setting_spec.rb +2 -1
  619. data/spec/unit/settings/value_translator_spec.rb +1 -0
  620. data/spec/unit/settings_spec.rb +224 -253
  621. data/spec/unit/ssl/base_spec.rb +15 -14
  622. data/spec/unit/ssl/certificate_request_spec.rb +58 -62
  623. data/spec/unit/ssl/certificate_spec.rb +25 -23
  624. data/spec/unit/ssl/digest_spec.rb +1 -0
  625. data/spec/unit/ssl/host_spec.rb +149 -166
  626. data/spec/unit/ssl/key_spec.rb +31 -30
  627. data/spec/unit/ssl/validator_spec.rb +39 -40
  628. data/spec/unit/task_spec.rb +45 -44
  629. data/spec/unit/transaction/additional_resource_generator_spec.rb +5 -3
  630. data/spec/unit/transaction/event_manager_spec.rb +88 -87
  631. data/spec/unit/transaction/event_spec.rb +15 -16
  632. data/spec/unit/transaction/persistence_spec.rb +17 -16
  633. data/spec/unit/transaction/report_spec.rb +12 -11
  634. data/spec/unit/transaction/resource_harness_spec.rb +31 -52
  635. data/spec/unit/transaction_spec.rb +87 -140
  636. data/spec/unit/type/component_spec.rb +1 -0
  637. data/spec/unit/type/exec_spec.rb +50 -101
  638. data/spec/unit/type/file/checksum_spec.rb +10 -9
  639. data/spec/unit/type/file/checksum_value_spec.rb +32 -31
  640. data/spec/unit/type/file/content_spec.rb +61 -58
  641. data/spec/unit/type/file/ctime_spec.rb +1 -0
  642. data/spec/unit/type/file/ensure_spec.rb +13 -12
  643. data/spec/unit/type/file/group_spec.rb +7 -5
  644. data/spec/unit/type/file/mode_spec.rb +6 -4
  645. data/spec/unit/type/file/mtime_spec.rb +1 -0
  646. data/spec/unit/type/file/owner_spec.rb +8 -6
  647. data/spec/unit/type/file/selinux_spec.rb +19 -17
  648. data/spec/unit/type/file/source_spec.rb +101 -104
  649. data/spec/unit/type/file/type_spec.rb +1 -0
  650. data/spec/unit/type/file_spec.rb +185 -195
  651. data/spec/unit/type/filebucket_spec.rb +10 -11
  652. data/spec/unit/type/group_spec.rb +8 -6
  653. data/spec/unit/type/noop_metaparam_spec.rb +2 -1
  654. data/spec/unit/type/package/package_settings_spec.rb +23 -44
  655. data/spec/unit/type/package_spec.rb +57 -56
  656. data/spec/unit/type/resources_spec.rb +74 -72
  657. data/spec/unit/type/schedule_spec.rb +26 -24
  658. data/spec/unit/type/service_spec.rb +75 -49
  659. data/spec/unit/type/stage_spec.rb +1 -0
  660. data/spec/unit/type/tidy_spec.rb +62 -61
  661. data/spec/unit/type/user_spec.rb +25 -24
  662. data/spec/unit/type/whit_spec.rb +1 -0
  663. data/spec/unit/type_spec.rb +54 -55
  664. data/spec/unit/util/at_fork_spec.rb +19 -18
  665. data/spec/unit/util/autoload_spec.rb +56 -55
  666. data/spec/unit/util/backups_spec.rb +35 -34
  667. data/spec/unit/util/character_encoding_spec.rb +5 -5
  668. data/spec/unit/util/checksums_spec.rb +39 -38
  669. data/spec/unit/util/colors_spec.rb +2 -1
  670. data/spec/unit/util/command_line_spec.rb +20 -40
  671. data/spec/unit/util/constant_inflector_spec.rb +1 -0
  672. data/spec/unit/util/diff_spec.rb +8 -7
  673. data/spec/unit/util/errors_spec.rb +1 -0
  674. data/spec/unit/util/execution_spec.rb +163 -187
  675. data/spec/unit/util/execution_stub_spec.rb +1 -0
  676. data/spec/unit/util/feature_spec.rb +14 -21
  677. data/spec/unit/util/filetype_spec.rb +49 -49
  678. data/spec/unit/util/http_proxy_spec.rb +12 -12
  679. data/spec/unit/util/inifile_spec.rb +31 -26
  680. data/spec/unit/util/json_lockfile_spec.rb +5 -3
  681. data/spec/unit/util/ldap/connection_spec.rb +25 -26
  682. data/spec/unit/util/ldap/generator_spec.rb +1 -0
  683. data/spec/unit/util/ldap/manager_spec.rb +101 -102
  684. data/spec/unit/util/lockfile_spec.rb +1 -0
  685. data/spec/unit/util/log/destinations_spec.rb +33 -30
  686. data/spec/unit/util/log_spec.rb +34 -48
  687. data/spec/unit/util/logging_spec.rb +72 -58
  688. data/spec/unit/util/metric_spec.rb +1 -0
  689. data/spec/unit/util/monkey_patches_spec.rb +9 -7
  690. data/spec/unit/util/multi_match_spec.rb +1 -0
  691. data/spec/unit/util/network_device/config_spec.rb +1 -0
  692. data/spec/unit/util/network_device/transport/base_spec.rb +6 -5
  693. data/spec/unit/util/network_device_spec.rb +9 -7
  694. data/spec/unit/util/package_spec.rb +1 -0
  695. data/spec/unit/util/pidlock_spec.rb +15 -60
  696. data/spec/unit/util/plist_spec.rb +33 -40
  697. data/spec/unit/util/posix_spec.rb +51 -54
  698. data/spec/unit/util/rdoc_spec.rb +10 -9
  699. data/spec/unit/util/reference_spec.rb +1 -0
  700. data/spec/unit/util/resource_template_spec.rb +20 -20
  701. data/spec/unit/util/retry_action_spec.rb +8 -7
  702. data/spec/unit/util/rubygems_spec.rb +8 -7
  703. data/spec/unit/util/run_mode_spec.rb +4 -3
  704. data/spec/unit/util/selinux_spec.rb +72 -79
  705. data/spec/unit/util/splayer_spec.rb +9 -8
  706. data/spec/unit/util/ssl_spec.rb +1 -0
  707. data/spec/unit/util/storage_spec.rb +23 -22
  708. data/spec/unit/util/suidmanager_spec.rb +54 -45
  709. data/spec/unit/util/symbolic_file_mode_spec.rb +1 -0
  710. data/spec/unit/util/tag_set_spec.rb +1 -0
  711. data/spec/unit/util/tagging_spec.rb +1 -0
  712. data/spec/unit/util/terminal_spec.rb +10 -9
  713. data/spec/unit/util/user_attr_spec.rb +2 -1
  714. data/spec/unit/util/warnings_spec.rb +4 -3
  715. data/spec/unit/util/watcher/periodic_watcher_spec.rb +2 -2
  716. data/spec/unit/util/watcher_spec.rb +21 -51
  717. data/spec/unit/util/windows/access_control_entry_spec.rb +1 -0
  718. data/spec/unit/util/windows/access_control_list_spec.rb +1 -0
  719. data/spec/unit/util/windows/adsi_spec.rb +138 -136
  720. data/spec/unit/util/windows/api_types_spec.rb +1 -0
  721. data/spec/unit/util/windows/eventlog_spec.rb +12 -9
  722. data/spec/unit/util/windows/file_spec.rb +1 -0
  723. data/spec/unit/util/windows/root_certs_spec.rb +1 -0
  724. data/spec/unit/util/windows/security_descriptor_spec.rb +2 -0
  725. data/spec/unit/util/windows/service_spec.rb +103 -100
  726. data/spec/unit/util/windows/sid_spec.rb +13 -11
  727. data/spec/unit/util/windows/string_spec.rb +1 -0
  728. data/spec/unit/util_spec.rb +57 -55
  729. data/spec/unit/version_spec.rb +6 -6
  730. metadata +20 -32
  731. data/CODEOWNERS +0 -30
  732. data/ext/autotest/Rakefile +0 -8
  733. data/ext/autotest/config +0 -43
  734. data/ext/autotest/readme.rst +0 -16
  735. data/lib/puppet/confine/boolean.rb +0 -45
  736. data/lib/puppet/provider/package_targetable.rb +0 -68
  737. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load2.rb +0 -11
  738. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load3.rb +0 -11
  739. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load4.rb +0 -11
  740. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load5.rb +0 -12
  741. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/good_func_load.rb +0 -9
  742. data/spec/fixtures/unit/provider/package/pkgng/pkg.info +0 -7
  743. data/spec/fixtures/unit/provider/package/pkgng/pkg.query_absent +0 -1
  744. data/spec/integration/network/http_pool_spec.rb +0 -120
  745. data/spec/integration/provider/file/windows_spec.rb +0 -162
  746. data/spec/lib/puppet_spec/https.rb +0 -166
  747. data/spec/unit/settings/server_list_setting_spec.rb +0 -21
  748. data/spec/watchr.rb +0 -137
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  require 'puppet/util/metric'
@@ -1,7 +1,9 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  require 'puppet/util/monkey_patches'
4
5
 
6
+
5
7
  describe Symbol do
6
8
  after :all do
7
9
  $unique_warnings.delete('symbol_comparison') if $unique_warnings
@@ -52,7 +54,7 @@ describe OpenSSL::SSL::SSLContext do
52
54
  end
53
55
 
54
56
  it 'sets parameters on initialization' do
55
- expect_any_instance_of(described_class).to receive(:set_params)
57
+ described_class.any_instance.expects(:set_params)
56
58
  subject
57
59
  end
58
60
 
@@ -71,7 +73,7 @@ describe OpenSSL::X509::Store, :if => Puppet::Util::Platform.windows? do
71
73
  let(:samecert) { cert.dup() }
72
74
 
73
75
  def with_root_certs(certs)
74
- expect(Puppet::Util::Windows::RootCerts).to receive(:instance).and_return(certs)
76
+ Puppet::Util::Windows::RootCerts.expects(:instance).returns(certs)
75
77
  end
76
78
 
77
79
  it "adds a root cert to the store" do
@@ -82,7 +84,7 @@ describe OpenSSL::X509::Store, :if => Puppet::Util::Platform.windows? do
82
84
 
83
85
  it "doesn't warn when calling set_default_paths multiple times" do
84
86
  with_root_certs([cert])
85
- expect(store).not_to receive(:warn)
87
+ store.expects(:warn).never
86
88
 
87
89
  store.set_default_paths
88
90
  store.set_default_paths
@@ -93,8 +95,8 @@ describe OpenSSL::X509::Store, :if => Puppet::Util::Platform.windows? do
93
95
  expect(cert.hash).to_not eq(samecert.hash)
94
96
  with_root_certs([cert, samecert])
95
97
 
96
- expect(store).to receive(:add_cert).with(cert).once
97
- expect(store).not_to receive(:add_cert).with(samecert)
98
+ store.expects(:add_cert).with(cert).once
99
+ store.expects(:add_cert).with(samecert).never
98
100
 
99
101
  store.set_default_paths
100
102
  end
@@ -106,7 +108,7 @@ describe OpenSSL::X509::Store, :if => Puppet::Util::Platform.windows? do
106
108
  with_root_certs([cert])
107
109
  store.add_cert(cert)
108
110
 
109
- expect(store).to receive(:warn).with('Failed to add /DC=com/DC=microsoft/CN=Microsoft Root Certificate Authority')
111
+ store.expects(:warn).with('Failed to add /DC=com/DC=microsoft/CN=Microsoft Root Certificate Authority')
110
112
 
111
113
  store.set_default_paths
112
114
  end
@@ -115,7 +117,7 @@ describe OpenSSL::X509::Store, :if => Puppet::Util::Platform.windows? do
115
117
  with_root_certs([cert])
116
118
  store.add_cert(cert)
117
119
 
118
- expect(store).not_to receive(:warn)
120
+ store.expects(:warn).never
119
121
 
120
122
  store.set_default_paths
121
123
  end
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
  require 'puppet/util/multi_match'
3
4
 
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  require 'puppet/util/network_device/config'
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  require 'puppet/util/network_device/transport/base'
@@ -12,28 +13,28 @@ describe Puppet::Util::NetworkDevice::Transport::Base do
12
13
 
13
14
  describe "when sending commands" do
14
15
  it "should send the command to the telnet session" do
15
- expect(@transport).to receive(:send).with("line")
16
+ @transport.expects(:send).with("line")
16
17
  @transport.command("line")
17
18
  end
18
19
 
19
20
  it "should expect an output matching the given prompt" do
20
- expect(@transport).to receive(:expect).with(/prompt/)
21
+ @transport.expects(:expect).with(/prompt/)
21
22
  @transport.command("line", :prompt => /prompt/)
22
23
  end
23
24
 
24
25
  it "should expect an output matching the default prompt" do
25
26
  @transport.default_prompt = /defprompt/
26
- expect(@transport).to receive(:expect).with(/defprompt/)
27
+ @transport.expects(:expect).with(/defprompt/)
27
28
  @transport.command("line")
28
29
  end
29
30
 
30
31
  it "should yield telnet output to the given block" do
31
- expect(@transport).to receive(:expect).and_yield("output")
32
+ @transport.expects(:expect).yields("output")
32
33
  @transport.command("line") { |out| expect(out).to eq("output") }
33
34
  end
34
35
 
35
36
  it "should return telnet output to the caller" do
36
- expect(@transport).to receive(:expect).and_return("output")
37
+ @transport.expects(:expect).returns("output")
37
38
  expect(@transport.command("line")).to eq("output")
38
39
  end
39
40
  end
@@ -1,9 +1,11 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  require 'ostruct'
4
5
  require 'puppet/util/network_device'
5
6
 
6
7
  describe Puppet::Util::NetworkDevice do
8
+
7
9
  before(:each) do
8
10
  @device = OpenStruct.new(:name => "name", :provider => "test", :url => "telnet://admin:password@127.0.0.1", :options => { :debug => false })
9
11
  end
@@ -21,25 +23,25 @@ describe Puppet::Util::NetworkDevice do
21
23
 
22
24
  describe "when initializing the remote network device singleton" do
23
25
  it "should load the network device code" do
24
- expect(Puppet::Util::NetworkDevice).to receive(:require)
26
+ Puppet::Util::NetworkDevice.expects(:require)
25
27
  Puppet::Util::NetworkDevice.init(@device)
26
28
  end
27
29
 
28
30
  it "should create a network device instance" do
29
- allow(Puppet::Util::NetworkDevice).to receive(:require)
30
- expect(Puppet::Util::NetworkDevice::Test::Device).to receive(:new).with("telnet://admin:password@127.0.0.1", :debug => false)
31
+ Puppet::Util::NetworkDevice.stubs(:require)
32
+ Puppet::Util::NetworkDevice::Test::Device.expects(:new).with("telnet://admin:password@127.0.0.1", :debug => false)
31
33
  Puppet::Util::NetworkDevice.init(@device)
32
34
  end
33
35
 
34
36
  it "should raise an error if the remote device instance can't be created" do
35
- allow(Puppet::Util::NetworkDevice).to receive(:require).and_raise("error")
37
+ Puppet::Util::NetworkDevice.stubs(:require).raises("error")
36
38
  expect { Puppet::Util::NetworkDevice.init(@device) }.to raise_error(RuntimeError, /Can't load test for name/)
37
39
  end
38
40
 
39
41
  it "should let caller to access the singleton device" do
40
- device = double('device')
41
- allow(Puppet::Util::NetworkDevice).to receive(:require)
42
- expect(Puppet::Util::NetworkDevice::Test::Device).to receive(:new).and_return(device)
42
+ device = stub 'device'
43
+ Puppet::Util::NetworkDevice.stubs(:require)
44
+ Puppet::Util::NetworkDevice::Test::Device.expects(:new).returns(device)
43
45
  Puppet::Util::NetworkDevice.init(@device)
44
46
 
45
47
  expect(Puppet::Util::NetworkDevice.current).to eq(device)
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  require 'puppet/util/package'
@@ -1,8 +1,9 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  require 'puppet/util/pidlock'
4
5
 
5
- describe Puppet::Util::Pidlock, if: !Puppet::Util::Platform.jruby? do
6
+ describe Puppet::Util::Pidlock do
6
7
  require 'puppet_spec/files'
7
8
  include PuppetSpec::Files
8
9
 
@@ -22,23 +23,6 @@ describe Puppet::Util::Pidlock, if: !Puppet::Util::Platform.jruby? do
22
23
 
23
24
  it "should become locked" do
24
25
  @lock.lock
25
- if Puppet::Util::Platform.windows?
26
- allow(Puppet::Util::Windows::Process).to receive(:get_process_image_name_by_pid).with(@lock.lock_pid).and_return('C:\Program Files\Puppet Labs\Puppet\puppet\bin\ruby.exe')
27
- else
28
- allow(Puppet::Util::Execution).to receive(:execute).with(['ps', '-p', @lock.lock_pid, '-o', 'comm=']).and_return('puppet')
29
- allow(Puppet::Util::Execution).to receive(:execute).with(['ps', '-p', @lock.lock_pid, '-o', 'args=']).and_return('puppet')
30
- end
31
- expect(@lock).to be_locked
32
- end
33
-
34
- it "should become locked if puppet is a gem" do
35
- @lock.lock
36
- unless Puppet::Util::Platform.windows?
37
- expect(Puppet::Util::Execution).to receive(:execute).with(['ps', '-p', @lock.lock_pid, '-o', 'comm=']).and_return('ruby')
38
- expect(Puppet::Util::Execution).to receive(:execute).with(['ps', '-p', @lock.lock_pid, '-o', 'args=']).and_return('ruby /root/puppet/.bundle/ruby/2.3.0/bin/puppet agent --no-daemonize -v')
39
- else
40
- allow(Puppet::Util::Windows::Process).to receive(:get_process_image_name_by_pid).with(@lock.lock_pid).and_return('C:\tools\ruby25\bin\ruby.exe')
41
- end
42
26
  expect(@lock).to be_locked
43
27
  end
44
28
 
@@ -67,7 +51,7 @@ describe Puppet::Util::Pidlock, if: !Puppet::Util::Platform.jruby? do
67
51
  end
68
52
 
69
53
  it 'should create an empty lock file even when pid is missing' do
70
- allow(Process).to receive(:pid).and_return('')
54
+ Process.stubs(:pid).returns('')
71
55
  @lock.lock
72
56
  expect(Puppet::FileSystem.exist?(@lock.file_path)).to be_truthy
73
57
  expect(Puppet::FileSystem.read(@lock.file_path)).to be_empty
@@ -75,12 +59,12 @@ describe Puppet::Util::Pidlock, if: !Puppet::Util::Platform.jruby? do
75
59
 
76
60
  it 'should replace an existing empty lockfile with a pid, given a subsequent lock call made against a valid pid' do
77
61
  # empty pid results in empty lockfile
78
- allow(Process).to receive(:pid).and_return('')
62
+ Process.stubs(:pid).returns('')
79
63
  @lock.lock
80
64
  expect(Puppet::FileSystem.exist?(@lock.file_path)).to be_truthy
81
65
 
82
66
  # next lock call with valid pid kills existing empty lockfile
83
- allow(Process).to receive(:pid).and_return(1234)
67
+ Process.stubs(:pid).returns(1234)
84
68
  @lock.lock
85
69
  expect(Puppet::FileSystem.exist?(@lock.file_path)).to be_truthy
86
70
  expect(Puppet::FileSystem.read(@lock.file_path)).to eq('1234')
@@ -117,28 +101,11 @@ describe Puppet::Util::Pidlock, if: !Puppet::Util::Platform.jruby? do
117
101
  describe "#locked?" do
118
102
  it "should return true if locked" do
119
103
  @lock.lock
120
- if Puppet::Util::Platform.windows?
121
- allow(Puppet::Util::Windows::Process).to receive(:get_process_image_name_by_pid).with(@lock.lock_pid).and_return('C:\Program Files\Puppet Labs\Puppet\puppet\bin\ruby.exe')
122
- else
123
- allow(Puppet::Util::Execution).to receive(:execute).with(['ps', '-p', @lock.lock_pid, '-o', 'comm=']).and_return('puppet')
124
- allow(Puppet::Util::Execution).to receive(:execute).with(['ps', '-p', @lock.lock_pid, '-o', 'args=']).and_return('puppet')
125
- end
126
- expect(@lock).to be_locked
127
- end
128
-
129
- it "should return true if locked when puppet as gem" do
130
- @lock.lock
131
- unless Puppet::Util::Platform.windows?
132
- expect(Puppet::Util::Execution).to receive(:execute).with(['ps', '-p', @lock.lock_pid, '-o', 'comm=']).and_return('ruby')
133
- expect(Puppet::Util::Execution).to receive(:execute).with(['ps', '-p', @lock.lock_pid, '-o', 'args=']).and_return('ruby /root/puppet/.bundle/ruby/2.3.0/bin/puppet agent --no-daemonize -v')
134
- else
135
- allow(Puppet::Util::Windows::Process).to receive(:get_process_image_name_by_pid).with(@lock.lock_pid).and_return('C:\tools\ruby25\bin\ruby.exe')
136
- end
137
104
  expect(@lock).to be_locked
138
105
  end
139
106
 
140
107
  it "should remove the lockfile when pid is missing" do
141
- allow(Process).to receive(:pid).and_return('')
108
+ Process.stubs(:pid).returns('')
142
109
  @lock.lock
143
110
  expect(@lock.locked?).to be_falsey
144
111
  expect(Puppet::FileSystem.exist?(@lock.file_path)).to be_falsey
@@ -148,7 +115,7 @@ describe Puppet::Util::Pidlock, if: !Puppet::Util::Platform.jruby? do
148
115
  describe '#lock_pid' do
149
116
  it 'should return nil if the pid is empty' do
150
117
  # fake pid to get empty lockfile
151
- allow(Process).to receive(:pid).and_return('')
118
+ Process.stubs(:pid).returns('')
152
119
  @lock.lock
153
120
  expect(@lock.lock_pid).to eq(nil)
154
121
  end
@@ -157,15 +124,15 @@ describe Puppet::Util::Pidlock, if: !Puppet::Util::Platform.jruby? do
157
124
  describe "with a stale lock" do
158
125
  before(:each) do
159
126
  # fake our pid to be 1234
160
- allow(Process).to receive(:pid).and_return(1234)
127
+ Process.stubs(:pid).returns(1234)
161
128
  # lock the file
162
129
  @lock.lock
163
130
  # fake our pid to be a different pid, to simulate someone else
164
131
  # holding the lock
165
- allow(Process).to receive(:pid).and_return(6789)
132
+ Process.stubs(:pid).returns(6789)
166
133
 
167
- allow(Process).to receive(:kill).with(0, 6789)
168
- allow(Process).to receive(:kill).with(0, 1234).and_raise(Errno::ESRCH)
134
+ Process.stubs(:kill).with(0, 6789)
135
+ Process.stubs(:kill).with(0, 1234).raises(Errno::ESRCH)
169
136
  end
170
137
 
171
138
  it "should not be locked" do
@@ -179,12 +146,6 @@ describe Puppet::Util::Pidlock, if: !Puppet::Util::Platform.jruby? do
179
146
  end
180
147
 
181
148
  it "should replace with new locks" do
182
- if Puppet::Util::Platform.windows?
183
- allow(Puppet::Util::Windows::Process).to receive(:get_process_image_name_by_pid).with(6789).and_return('C:\Program Files\Puppet Labs\Puppet\puppet\bin\ruby.exe')
184
- else
185
- allow(Puppet::Util::Execution).to receive(:execute).with(['ps', '-p', 6789, '-o', 'comm=']).and_return('puppet')
186
- allow(Puppet::Util::Execution).to receive(:execute).with(['ps', '-p', 6789, '-o', 'args=']).and_return('puppet')
187
- end
188
149
  @lock.lock
189
150
  expect(Puppet::FileSystem.exist?(@lockfile)).to be_truthy
190
151
  expect(@lock.lock_pid).to eq(6789)
@@ -208,21 +169,15 @@ describe Puppet::Util::Pidlock, if: !Puppet::Util::Platform.jruby? do
208
169
  describe "with another process lock" do
209
170
  before(:each) do
210
171
  # fake our pid to be 1234
211
- allow(Process).to receive(:pid).and_return(1234)
212
- if Puppet::Util::Platform.windows?
213
- allow(Puppet::Util::Windows::Process).to receive(:get_process_image_name_by_pid).with(1234).and_return('C:\Program Files\Puppet Labs\Puppet\puppet\bin\ruby.exe')
214
- else
215
- allow(Puppet::Util::Execution).to receive(:execute).with(['ps', '-p', 1234, '-o', 'comm=']).and_return('puppet')
216
- allow(Puppet::Util::Execution).to receive(:execute).with(['ps', '-p', 1234, '-o', 'args=']).and_return('puppet')
217
- end
172
+ Process.stubs(:pid).returns(1234)
218
173
  # lock the file
219
174
  @lock.lock
220
175
  # fake our pid to be a different pid, to simulate someone else
221
176
  # holding the lock
222
- allow(Process).to receive(:pid).and_return(6789)
177
+ Process.stubs(:pid).returns(6789)
223
178
 
224
- allow(Process).to receive(:kill).with(0, 6789)
225
- allow(Process).to receive(:kill).with(0, 1234)
179
+ Process.stubs(:kill).with(0, 6789)
180
+ Process.stubs(:kill).with(0, 1234)
226
181
  end
227
182
 
228
183
  it "should be locked" do
@@ -69,60 +69,55 @@ describe Puppet::Util::Plist, :if => Puppet.features.cfpropertylist? do
69
69
 
70
70
  describe "#read_plist_file" do
71
71
  it "calls #convert_cfpropertylist_to_native_types on a plist object when a valid binary plist is read" do
72
- allow(subject).to receive(:read_file_with_offset).with(plist_path, 8).and_return(binary_plist_magic_number)
73
- allow(subject).to receive(:new_cfpropertylist).with({:file => plist_path}).and_return('plist_object')
74
- expect(subject).to receive(:convert_cfpropertylist_to_native_types).with('plist_object').and_return('plist_hash')
72
+ subject.stubs(:read_file_with_offset).with(plist_path, 8).returns(binary_plist_magic_number)
73
+ subject.stubs(:new_cfpropertylist).with({:file => plist_path}).returns('plist_object')
74
+ subject.expects(:convert_cfpropertylist_to_native_types).with('plist_object').returns('plist_hash')
75
75
  expect(subject.read_plist_file(plist_path)).to eq('plist_hash')
76
76
  end
77
-
78
77
  it "returns a valid hash when a valid XML plist is read" do
79
- allow(subject).to receive(:read_file_with_offset).with(plist_path, 8).and_return('notbinary')
80
- allow(subject).to receive(:open_file_with_args).with(plist_path, 'r:UTF-8').and_return(valid_xml_plist)
78
+ subject.stubs(:read_file_with_offset).with(plist_path, 8).returns('notbinary')
79
+ subject.stubs(:open_file_with_args).with(plist_path, 'r:UTF-8').returns(valid_xml_plist)
81
80
  expect(subject.read_plist_file(plist_path)).to eq(valid_xml_plist_hash)
82
81
  end
83
-
84
82
  it "raises a debug message and replaces a bad XML plist doctype should one be encountered" do
85
- allow(subject).to receive(:read_file_with_offset).with(plist_path, 8).and_return('notbinary')
86
- allow(subject).to receive(:open_file_with_args).with(plist_path, 'r:UTF-8').and_return(bad_xml_doctype)
87
- expect(subject).to receive(:new_cfpropertylist).with({:data => good_xml_doctype}).and_return('plist_object')
88
- allow(subject).to receive(:convert_cfpropertylist_to_native_types).with('plist_object').and_return('plist_hash')
89
- expect(Puppet).to receive(:debug).with("Had to fix plist with incorrect DOCTYPE declaration: #{plist_path}")
83
+ subject.stubs(:read_file_with_offset).with(plist_path, 8).returns('notbinary')
84
+ subject.stubs(:open_file_with_args).with(plist_path, 'r:UTF-8').returns(bad_xml_doctype)
85
+ subject.expects(:new_cfpropertylist).with({:data => good_xml_doctype}).returns('plist_object')
86
+ subject.stubs(:convert_cfpropertylist_to_native_types).with('plist_object').returns('plist_hash')
87
+ Puppet.expects(:debug).with("Had to fix plist with incorrect DOCTYPE declaration: #{plist_path}")
90
88
  expect(subject.read_plist_file(plist_path)).to eq('plist_hash')
91
89
  end
92
-
93
90
  it "attempts to read pure xml using plutil when reading an improperly formatted service plist" do
94
- allow(subject).to receive(:read_file_with_offset).with(plist_path, 8).and_return('notbinary')
95
- allow(subject).to receive(:open_file_with_args).with(plist_path, 'r:UTF-8').and_return(invalid_xml_plist)
96
- expect(Puppet).to receive(:debug).with(/^Failed with CFFormatError/)
97
- expect(Puppet).to receive(:debug).with("Plist #{plist_path} ill-formatted, converting with plutil")
98
- expect(Puppet::Util::Execution).to receive(:execute)
91
+ subject.stubs(:read_file_with_offset).with(plist_path, 8).returns('notbinary')
92
+ subject.stubs(:open_file_with_args).with(plist_path, 'r:UTF-8').returns(invalid_xml_plist)
93
+ Puppet.expects(:debug).with(regexp_matches(/^Failed with CFFormatError/))
94
+ Puppet.expects(:debug).with("Plist #{plist_path} ill-formatted, converting with plutil")
95
+ Puppet::Util::Execution.expects(:execute)
99
96
  .with(['/usr/bin/plutil', '-convert', 'xml1', '-o', '-', plist_path],
100
97
  {:failonfail => true, :combine => true})
101
- .and_return(Puppet::Util::Execution::ProcessOutput.new(valid_xml_plist, 0))
98
+ .returns(Puppet::Util::Execution::ProcessOutput.new(valid_xml_plist, 0))
102
99
  expect(subject.read_plist_file(plist_path)).to eq(valid_xml_plist_hash)
103
100
  end
104
-
105
101
  it "returns nil when direct parsing and plutil conversion both fail" do
106
- allow(subject).to receive(:read_file_with_offset).with(plist_path, 8).and_return('notbinary')
107
- allow(subject).to receive(:open_file_with_args).with(plist_path, 'r:UTF-8').and_return(non_plist_data)
108
- expect(Puppet).to receive(:debug).with(/^Failed with (CFFormatError|NoMethodError)/)
109
- expect(Puppet).to receive(:debug).with("Plist #{plist_path} ill-formatted, converting with plutil")
110
- expect(Puppet::Util::Execution).to receive(:execute)
102
+ subject.stubs(:read_file_with_offset).with(plist_path, 8).returns('notbinary')
103
+ subject.stubs(:open_file_with_args).with(plist_path, 'r:UTF-8').returns(non_plist_data)
104
+ Puppet.expects(:debug).with(regexp_matches(/^Failed with (CFFormatError|NoMethodError)/))
105
+ Puppet.expects(:debug).with("Plist #{plist_path} ill-formatted, converting with plutil")
106
+ Puppet::Util::Execution.expects(:execute)
111
107
  .with(['/usr/bin/plutil', '-convert', 'xml1', '-o', '-', plist_path],
112
108
  {:failonfail => true, :combine => true})
113
- .and_raise(Puppet::ExecutionFailure, 'boom')
109
+ .raises(Puppet::ExecutionFailure, 'boom')
114
110
  expect(subject.read_plist_file(plist_path)).to eq(nil)
115
111
  end
116
-
117
112
  it "returns nil when file is a non-plist binary blob" do
118
- allow(subject).to receive(:read_file_with_offset).with(plist_path, 8).and_return('notbinary')
119
- allow(subject).to receive(:open_file_with_args).with(plist_path, 'r:UTF-8').and_return(binary_data)
120
- expect(Puppet).to receive(:debug).with(/^Failed with (CFFormatError|ArgumentError)/)
121
- expect(Puppet).to receive(:debug).with("Plist #{plist_path} ill-formatted, converting with plutil")
122
- expect(Puppet::Util::Execution).to receive(:execute)
113
+ subject.stubs(:read_file_with_offset).with(plist_path, 8).returns('notbinary')
114
+ subject.stubs(:open_file_with_args).with(plist_path, 'r:UTF-8').returns(binary_data)
115
+ Puppet.expects(:debug).with(regexp_matches(/^Failed with (CFFormatError|ArgumentError)/))
116
+ Puppet.expects(:debug).with("Plist #{plist_path} ill-formatted, converting with plutil")
117
+ Puppet::Util::Execution.expects(:execute)
123
118
  .with(['/usr/bin/plutil', '-convert', 'xml1', '-o', '-', plist_path],
124
119
  {:failonfail => true, :combine => true})
125
- .and_raise(Puppet::ExecutionFailure, 'boom')
120
+ .raises(Puppet::ExecutionFailure, 'boom')
126
121
  expect(subject.read_plist_file(plist_path)).to eq(nil)
127
122
  end
128
123
  end
@@ -131,17 +126,15 @@ describe Puppet::Util::Plist, :if => Puppet.features.cfpropertylist? do
131
126
  it "returns a valid hash when a valid XML plist is provided" do
132
127
  expect(subject.parse_plist(valid_xml_plist)).to eq(valid_xml_plist_hash)
133
128
  end
134
-
135
129
  it "raises a debug message and replaces a bad XML plist doctype should one be encountered" do
136
- expect(subject).to receive(:new_cfpropertylist).with({:data => good_xml_doctype}).and_return('plist_object')
137
- allow(subject).to receive(:convert_cfpropertylist_to_native_types).with('plist_object')
138
- expect(Puppet).to receive(:debug).with("Had to fix plist with incorrect DOCTYPE declaration: #{plist_path}")
130
+ subject.expects(:new_cfpropertylist).with({:data => good_xml_doctype}).returns('plist_object')
131
+ subject.stubs(:convert_cfpropertylist_to_native_types).with('plist_object')
132
+ Puppet.expects(:debug).with("Had to fix plist with incorrect DOCTYPE declaration: #{plist_path}")
139
133
  subject.parse_plist(bad_xml_doctype, plist_path)
140
134
  end
141
-
142
135
  it "raises a debug message with malformed plist" do
143
- allow(subject).to receive(:convert_cfpropertylist_to_native_types).with('plist_object')
144
- expect(Puppet).to receive(:debug).with(/^Failed with CFFormatError/)
136
+ subject.stubs(:convert_cfpropertylist_to_native_types).with('plist_object')
137
+ Puppet.expects(:debug).with(regexp_matches(/^Failed with CFFormatError/))
145
138
  subject.parse_plist("<plist><dict><key>Foo</key>")
146
139
  end
147
140
  end
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  require 'puppet/util/posix'
@@ -20,20 +21,16 @@ describe Puppet::Util::POSIX do
20
21
  ['group3', ['user1']],
21
22
  ['group4', ['user2']]
22
23
  ].map do |(name, members)|
23
- group_struct = double("Group #{name}")
24
- allow(group_struct).to receive(:name).and_return(name)
25
- allow(group_struct).to receive(:mem).and_return(members)
24
+ group_struct = stub("Group #{name}")
25
+ group_struct.stubs(:name).returns(name)
26
+ group_struct.stubs(:mem).returns(members)
26
27
 
27
28
  group_struct
28
29
  end
29
30
  end
30
31
 
31
32
  before(:each) do
32
- etc_stub = receive(:group)
33
- mock_groups.each do |mock_group|
34
- etc_stub = etc_stub.and_yield(mock_group)
35
- end
36
- allow(Puppet::Etc).to etc_stub
33
+ Puppet::Etc.stubs(:group).multiple_yields(*mock_groups)
37
34
  end
38
35
 
39
36
  it 'returns the groups of the given user' do
@@ -73,7 +70,7 @@ describe Puppet::Util::POSIX do
73
70
 
74
71
  describe "when retrieving a posix field" do
75
72
  before do
76
- @thing = double('thing', :field => "asdf")
73
+ @thing = stub 'thing', :field => "asdf"
77
74
  end
78
75
 
79
76
  it "should fail if no id was passed" do
@@ -83,23 +80,23 @@ describe Puppet::Util::POSIX do
83
80
  describe "and the id is an integer" do
84
81
  it "should log an error and return nil if the specified id is greater than the maximum allowed ID" do
85
82
  Puppet[:maximum_uid] = 100
86
- expect(Puppet).to receive(:err)
83
+ Puppet.expects(:err)
87
84
 
88
85
  expect(@posix.get_posix_field("asdf", "bar", 200)).to be_nil
89
86
  end
90
87
 
91
88
  it "should use the method return by :methodbyid and return the specified field" do
92
- expect(Etc).to receive(:getgrgid).and_return(@thing)
89
+ Etc.expects(:getgrgid).returns @thing
93
90
 
94
- expect(@thing).to receive(:field).and_return("myval")
91
+ @thing.expects(:field).returns "myval"
95
92
 
96
93
  expect(@posix.get_posix_field(:gr, :field, 200)).to eq("myval")
97
94
  end
98
95
 
99
96
  it "should return nil if the method throws an exception" do
100
- expect(Etc).to receive(:getgrgid).and_raise(ArgumentError)
97
+ Etc.expects(:getgrgid).raises ArgumentError
101
98
 
102
- expect(@thing).not_to receive(:field)
99
+ @thing.expects(:field).never
103
100
 
104
101
  expect(@posix.get_posix_field(:gr, :field, 200)).to be_nil
105
102
  end
@@ -107,17 +104,17 @@ describe Puppet::Util::POSIX do
107
104
 
108
105
  describe "and the id is not an integer" do
109
106
  it "should use the method return by :methodbyid and return the specified field" do
110
- expect(Etc).to receive(:getgrnam).and_return(@thing)
107
+ Etc.expects(:getgrnam).returns @thing
111
108
 
112
- expect(@thing).to receive(:field).and_return("myval")
109
+ @thing.expects(:field).returns "myval"
113
110
 
114
111
  expect(@posix.get_posix_field(:gr, :field, "asdf")).to eq("myval")
115
112
  end
116
113
 
117
114
  it "should return nil if the method throws an exception" do
118
- expect(Etc).to receive(:getgrnam).and_raise(ArgumentError)
115
+ Etc.expects(:getgrnam).raises ArgumentError
119
116
 
120
- expect(@thing).not_to receive(:field)
117
+ @thing.expects(:field).never
121
118
 
122
119
  expect(@posix.get_posix_field(:gr, :field, "asdf")).to be_nil
123
120
  end
@@ -126,32 +123,32 @@ describe Puppet::Util::POSIX do
126
123
 
127
124
  describe "when returning the gid" do
128
125
  before do
129
- allow(@posix).to receive(:get_posix_field)
126
+ @posix.stubs(:get_posix_field)
130
127
  end
131
128
 
132
129
  describe "and the group is an integer" do
133
130
  it "should convert integers specified as a string into an integer" do
134
- expect(@posix).to receive(:get_posix_field).with(:group, :name, 100)
131
+ @posix.expects(:get_posix_field).with(:group, :name, 100)
135
132
 
136
133
  @posix.gid("100")
137
134
  end
138
135
 
139
136
  it "should look up the name for the group" do
140
- expect(@posix).to receive(:get_posix_field).with(:group, :name, 100)
137
+ @posix.expects(:get_posix_field).with(:group, :name, 100)
141
138
 
142
139
  @posix.gid(100)
143
140
  end
144
141
 
145
142
  it "should return nil if the group cannot be found" do
146
- expect(@posix).to receive(:get_posix_field).once.and_return(nil)
147
- expect(@posix).not_to receive(:search_posix_field)
143
+ @posix.expects(:get_posix_field).once.returns nil
144
+ @posix.expects(:search_posix_field).never
148
145
 
149
146
  expect(@posix.gid(100)).to be_nil
150
147
  end
151
148
 
152
149
  it "should use the found name to look up the id" do
153
- expect(@posix).to receive(:get_posix_field).with(:group, :name, 100).and_return("asdf")
154
- expect(@posix).to receive(:get_posix_field).with(:group, :gid, "asdf").and_return(100)
150
+ @posix.expects(:get_posix_field).with(:group, :name, 100).returns "asdf"
151
+ @posix.expects(:get_posix_field).with(:group, :gid, "asdf").returns 100
155
152
 
156
153
  expect(@posix.gid(100)).to eq(100)
157
154
  end
@@ -159,10 +156,10 @@ describe Puppet::Util::POSIX do
159
156
  # LAK: This is because some platforms have a broken Etc module that always return
160
157
  # the same group.
161
158
  it "should use :search_posix_field if the discovered id does not match the passed-in id" do
162
- expect(@posix).to receive(:get_posix_field).with(:group, :name, 100).and_return("asdf")
163
- expect(@posix).to receive(:get_posix_field).with(:group, :gid, "asdf").and_return(50)
159
+ @posix.expects(:get_posix_field).with(:group, :name, 100).returns "asdf"
160
+ @posix.expects(:get_posix_field).with(:group, :gid, "asdf").returns 50
164
161
 
165
- expect(@posix).to receive(:search_posix_field).with(:group, :gid, 100).and_return("asdf")
162
+ @posix.expects(:search_posix_field).with(:group, :gid, 100).returns "asdf"
166
163
 
167
164
  expect(@posix.gid(100)).to eq("asdf")
168
165
  end
@@ -170,30 +167,30 @@ describe Puppet::Util::POSIX do
170
167
 
171
168
  describe "and the group is a string" do
172
169
  it "should look up the gid for the group" do
173
- expect(@posix).to receive(:get_posix_field).with(:group, :gid, "asdf")
170
+ @posix.expects(:get_posix_field).with(:group, :gid, "asdf")
174
171
 
175
172
  @posix.gid("asdf")
176
173
  end
177
174
 
178
175
  it "should return nil if the group cannot be found" do
179
- expect(@posix).to receive(:get_posix_field).once.and_return(nil)
180
- expect(@posix).not_to receive(:search_posix_field)
176
+ @posix.expects(:get_posix_field).once.returns nil
177
+ @posix.expects(:search_posix_field).never
181
178
 
182
179
  expect(@posix.gid("asdf")).to be_nil
183
180
  end
184
181
 
185
182
  it "should use the found gid to look up the nam" do
186
- expect(@posix).to receive(:get_posix_field).with(:group, :gid, "asdf").and_return(100)
187
- expect(@posix).to receive(:get_posix_field).with(:group, :name, 100).and_return("asdf")
183
+ @posix.expects(:get_posix_field).with(:group, :gid, "asdf").returns 100
184
+ @posix.expects(:get_posix_field).with(:group, :name, 100).returns "asdf"
188
185
 
189
186
  expect(@posix.gid("asdf")).to eq(100)
190
187
  end
191
188
 
192
189
  it "should use :search_posix_field if the discovered name does not match the passed-in name" do
193
- expect(@posix).to receive(:get_posix_field).with(:group, :gid, "asdf").and_return(100)
194
- expect(@posix).to receive(:get_posix_field).with(:group, :name, 100).and_return("boo")
190
+ @posix.expects(:get_posix_field).with(:group, :gid, "asdf").returns 100
191
+ @posix.expects(:get_posix_field).with(:group, :name, 100).returns "boo"
195
192
 
196
- expect(@posix).to receive(:search_posix_field).with(:group, :gid, "asdf").and_return("asdf")
193
+ @posix.expects(:search_posix_field).with(:group, :gid, "asdf").returns "asdf"
197
194
 
198
195
  expect(@posix.gid("asdf")).to eq("asdf")
199
196
  end
@@ -202,32 +199,32 @@ describe Puppet::Util::POSIX do
202
199
 
203
200
  describe "when returning the uid" do
204
201
  before do
205
- allow(@posix).to receive(:get_posix_field)
202
+ @posix.stubs(:get_posix_field)
206
203
  end
207
204
 
208
205
  describe "and the group is an integer" do
209
206
  it "should convert integers specified as a string into an integer" do
210
- expect(@posix).to receive(:get_posix_field).with(:passwd, :name, 100)
207
+ @posix.expects(:get_posix_field).with(:passwd, :name, 100)
211
208
 
212
209
  @posix.uid("100")
213
210
  end
214
211
 
215
212
  it "should look up the name for the group" do
216
- expect(@posix).to receive(:get_posix_field).with(:passwd, :name, 100)
213
+ @posix.expects(:get_posix_field).with(:passwd, :name, 100)
217
214
 
218
215
  @posix.uid(100)
219
216
  end
220
217
 
221
218
  it "should return nil if the group cannot be found" do
222
- expect(@posix).to receive(:get_posix_field).once.and_return(nil)
223
- expect(@posix).not_to receive(:search_posix_field)
219
+ @posix.expects(:get_posix_field).once.returns nil
220
+ @posix.expects(:search_posix_field).never
224
221
 
225
222
  expect(@posix.uid(100)).to be_nil
226
223
  end
227
224
 
228
225
  it "should use the found name to look up the id" do
229
- expect(@posix).to receive(:get_posix_field).with(:passwd, :name, 100).and_return("asdf")
230
- expect(@posix).to receive(:get_posix_field).with(:passwd, :uid, "asdf").and_return(100)
226
+ @posix.expects(:get_posix_field).with(:passwd, :name, 100).returns "asdf"
227
+ @posix.expects(:get_posix_field).with(:passwd, :uid, "asdf").returns 100
231
228
 
232
229
  expect(@posix.uid(100)).to eq(100)
233
230
  end
@@ -235,10 +232,10 @@ describe Puppet::Util::POSIX do
235
232
  # LAK: This is because some platforms have a broken Etc module that always return
236
233
  # the same group.
237
234
  it "should use :search_posix_field if the discovered id does not match the passed-in id" do
238
- expect(@posix).to receive(:get_posix_field).with(:passwd, :name, 100).and_return("asdf")
239
- expect(@posix).to receive(:get_posix_field).with(:passwd, :uid, "asdf").and_return(50)
235
+ @posix.expects(:get_posix_field).with(:passwd, :name, 100).returns "asdf"
236
+ @posix.expects(:get_posix_field).with(:passwd, :uid, "asdf").returns 50
240
237
 
241
- expect(@posix).to receive(:search_posix_field).with(:passwd, :uid, 100).and_return("asdf")
238
+ @posix.expects(:search_posix_field).with(:passwd, :uid, 100).returns "asdf"
242
239
 
243
240
  expect(@posix.uid(100)).to eq("asdf")
244
241
  end
@@ -246,30 +243,30 @@ describe Puppet::Util::POSIX do
246
243
 
247
244
  describe "and the group is a string" do
248
245
  it "should look up the uid for the group" do
249
- expect(@posix).to receive(:get_posix_field).with(:passwd, :uid, "asdf")
246
+ @posix.expects(:get_posix_field).with(:passwd, :uid, "asdf")
250
247
 
251
248
  @posix.uid("asdf")
252
249
  end
253
250
 
254
251
  it "should return nil if the group cannot be found" do
255
- expect(@posix).to receive(:get_posix_field).once.and_return(nil)
256
- expect(@posix).not_to receive(:search_posix_field)
252
+ @posix.expects(:get_posix_field).once.returns nil
253
+ @posix.expects(:search_posix_field).never
257
254
 
258
255
  expect(@posix.uid("asdf")).to be_nil
259
256
  end
260
257
 
261
258
  it "should use the found uid to look up the nam" do
262
- expect(@posix).to receive(:get_posix_field).with(:passwd, :uid, "asdf").and_return(100)
263
- expect(@posix).to receive(:get_posix_field).with(:passwd, :name, 100).and_return("asdf")
259
+ @posix.expects(:get_posix_field).with(:passwd, :uid, "asdf").returns 100
260
+ @posix.expects(:get_posix_field).with(:passwd, :name, 100).returns "asdf"
264
261
 
265
262
  expect(@posix.uid("asdf")).to eq(100)
266
263
  end
267
264
 
268
265
  it "should use :search_posix_field if the discovered name does not match the passed-in name" do
269
- expect(@posix).to receive(:get_posix_field).with(:passwd, :uid, "asdf").and_return(100)
270
- expect(@posix).to receive(:get_posix_field).with(:passwd, :name, 100).and_return("boo")
266
+ @posix.expects(:get_posix_field).with(:passwd, :uid, "asdf").returns 100
267
+ @posix.expects(:get_posix_field).with(:passwd, :name, 100).returns "boo"
271
268
 
272
- expect(@posix).to receive(:search_posix_field).with(:passwd, :uid, "asdf").and_return("asdf")
269
+ @posix.expects(:search_posix_field).with(:passwd, :uid, "asdf").returns "asdf"
273
270
 
274
271
  expect(@posix.uid("asdf")).to eq("asdf")
275
272
  end