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
  require 'puppet/provider/ldap'
@@ -8,10 +9,10 @@ describe Puppet::Provider::Ldap do
8
9
  end
9
10
 
10
11
  it "should be able to define its manager" do
11
- manager = double('manager')
12
- expect(Puppet::Util::Ldap::Manager).to receive(:new).and_return(manager)
13
- allow(@class).to receive(:mk_resource_methods)
14
- expect(manager).to receive(:manages).with(:one)
12
+ manager = mock 'manager'
13
+ Puppet::Util::Ldap::Manager.expects(:new).returns manager
14
+ @class.stubs :mk_resource_methods
15
+ manager.expects(:manages).with(:one)
15
16
  expect(@class.manages(:one)).to equal(manager)
16
17
  expect(@class.manager).to equal(manager)
17
18
  end
@@ -21,10 +22,10 @@ describe Puppet::Provider::Ldap do
21
22
  end
22
23
 
23
24
  it "should create its resource getter/setter methods when the manager is defined" do
24
- manager = double('manager')
25
- expect(Puppet::Util::Ldap::Manager).to receive(:new).and_return(manager)
26
- expect(@class).to receive(:mk_resource_methods)
27
- allow(manager).to receive(:manages)
25
+ manager = mock 'manager'
26
+ Puppet::Util::Ldap::Manager.expects(:new).returns manager
27
+ @class.expects :mk_resource_methods
28
+ manager.stubs(:manages)
28
29
  expect(@class.manages(:one)).to equal(manager)
29
30
  end
30
31
 
@@ -34,14 +35,14 @@ describe Puppet::Provider::Ldap do
34
35
 
35
36
  describe "when providing a list of instances" do
36
37
  it "should convert all results returned from the manager's :search method into provider instances" do
37
- manager = double('manager')
38
- allow(@class).to receive(:manager).and_return(manager)
38
+ manager = mock 'manager'
39
+ @class.stubs(:manager).returns manager
39
40
 
40
- expect(manager).to receive(:search).and_return(%w{one two three})
41
+ manager.expects(:search).returns %w{one two three}
41
42
 
42
- expect(@class).to receive(:new).with("one").and_return(1)
43
- expect(@class).to receive(:new).with("two").and_return(2)
44
- expect(@class).to receive(:new).with("three").and_return(3)
43
+ @class.expects(:new).with("one").returns(1)
44
+ @class.expects(:new).with("two").returns(2)
45
+ @class.expects(:new).with("three").returns(3)
45
46
 
46
47
  expect(@class.instances).to eq([1,2,3])
47
48
  end
@@ -53,29 +54,29 @@ describe Puppet::Provider::Ldap do
53
54
 
54
55
  describe "when prefetching" do
55
56
  before do
56
- @manager = double('manager')
57
- allow(@class).to receive(:manager).and_return(@manager)
57
+ @manager = mock 'manager'
58
+ @class.stubs(:manager).returns @manager
58
59
 
59
- @resource = double('resource')
60
+ @resource = mock 'resource'
60
61
 
61
62
  @resources = {"one" => @resource}
62
63
  end
63
64
 
64
65
  it "should find an entry for each passed resource" do
65
- expect(@manager).to receive(:find).with("one").and_return(nil)
66
+ @manager.expects(:find).with("one").returns nil
66
67
 
67
- allow(@class).to receive(:new)
68
- allow(@resource).to receive(:provider=)
68
+ @class.stubs(:new)
69
+ @resource.stubs(:provider=)
69
70
  @class.prefetch(@resources)
70
71
  end
71
72
 
72
73
  describe "resources that do not exist" do
73
74
  it "should create a provider with :ensure => :absent" do
74
- expect(@manager).to receive(:find).with("one").and_return(nil)
75
+ @manager.expects(:find).with("one").returns nil
75
76
 
76
- expect(@class).to receive(:new).with(:ensure => :absent).and_return("myprovider")
77
+ @class.expects(:new).with(:ensure => :absent).returns "myprovider"
77
78
 
78
- expect(@resource).to receive(:provider=).with("myprovider")
79
+ @resource.expects(:provider=).with("myprovider")
79
80
 
80
81
  @class.prefetch(@resources)
81
82
  end
@@ -83,21 +84,21 @@ describe Puppet::Provider::Ldap do
83
84
 
84
85
  describe "resources that exist" do
85
86
  it "should create a provider with the results of the find" do
86
- expect(@manager).to receive(:find).with("one").and_return("one" => "two")
87
+ @manager.expects(:find).with("one").returns("one" => "two")
87
88
 
88
- expect(@class).to receive(:new).with("one" => "two", :ensure => :present).and_return("myprovider")
89
+ @class.expects(:new).with("one" => "two", :ensure => :present).returns "myprovider"
89
90
 
90
- expect(@resource).to receive(:provider=).with("myprovider")
91
+ @resource.expects(:provider=).with("myprovider")
91
92
 
92
93
  @class.prefetch(@resources)
93
94
  end
94
95
 
95
96
  it "should set :ensure to :present in the returned values" do
96
- expect(@manager).to receive(:find).with("one").and_return("one" => "two")
97
+ @manager.expects(:find).with("one").returns("one" => "two")
97
98
 
98
- expect(@class).to receive(:new).with("one" => "two", :ensure => :present).and_return("myprovider")
99
+ @class.expects(:new).with("one" => "two", :ensure => :present).returns "myprovider"
99
100
 
100
- expect(@resource).to receive(:provider=).with("myprovider")
101
+ @resource.expects(:provider=).with("myprovider")
101
102
 
102
103
  @class.prefetch(@resources)
103
104
  end
@@ -110,22 +111,22 @@ describe Puppet::Provider::Ldap do
110
111
  end
111
112
 
112
113
  it "should fail if the manager is invalid" do
113
- manager = double("manager", :valid? => false)
114
- allow(@class).to receive(:manager).and_return(manager)
114
+ manager = stub "manager", :valid? => false
115
+ @class.stubs(:manager).returns manager
115
116
  expect { @class.new }.to raise_error(Puppet::DevError)
116
117
  end
117
118
 
118
119
  describe "with a hash" do
119
120
  before do
120
- @manager = double("manager", :valid? => true)
121
- allow(@class).to receive(:manager).and_return(@manager)
121
+ @manager = stub "manager", :valid? => true
122
+ @class.stubs(:manager).returns @manager
122
123
 
123
- @resource_class = double('resource_class')
124
- allow(@class).to receive(:resource_type).and_return(@resource_class)
124
+ @resource_class = mock 'resource_class'
125
+ @class.stubs(:resource_type).returns @resource_class
125
126
 
126
- @property_class = double('property_class', :array_matching => :all, :superclass => Puppet::Property)
127
- allow(@resource_class).to receive(:attrclass).with(:one).and_return(@property_class)
128
- allow(@resource_class).to receive(:valid_parameter?).and_return(true)
127
+ @property_class = stub 'property_class', :array_matching => :all, :superclass => Puppet::Property
128
+ @resource_class.stubs(:attrclass).with(:one).returns(@property_class)
129
+ @resource_class.stubs(:valid_parameter?).returns true
129
130
  end
130
131
 
131
132
  it "should store a copy of the hash as its ldap_properties" do
@@ -134,29 +135,29 @@ describe Puppet::Provider::Ldap do
134
135
  end
135
136
 
136
137
  it "should only store the first value of each value array for those attributes that do not match all values" do
137
- expect(@property_class).to receive(:array_matching).and_return(:first)
138
+ @property_class.expects(:array_matching).returns :first
138
139
  instance = @class.new(:one => %w{two three})
139
140
  expect(instance.properties).to eq({:one => "two"})
140
141
  end
141
142
 
142
143
  it "should store the whole value array for those attributes that match all values" do
143
- expect(@property_class).to receive(:array_matching).and_return(:all)
144
+ @property_class.expects(:array_matching).returns :all
144
145
  instance = @class.new(:one => %w{two three})
145
146
  expect(instance.properties).to eq({:one => %w{two three}})
146
147
  end
147
148
 
148
149
  it "should only use the first value for attributes that are not properties" do
149
150
  # Yay. hackish, but easier than mocking everything.
150
- expect(@resource_class).to receive(:attrclass).with(:a).and_return(Puppet::Type.type(:user).attrclass(:name))
151
- allow(@property_class).to receive(:array_matching).and_return(:all)
151
+ @resource_class.expects(:attrclass).with(:a).returns Puppet::Type.type(:user).attrclass(:name)
152
+ @property_class.stubs(:array_matching).returns :all
152
153
 
153
154
  instance = @class.new(:one => %w{two three}, :a => %w{b c})
154
155
  expect(instance.properties).to eq({:one => %w{two three}, :a => "b"})
155
156
  end
156
157
 
157
158
  it "should discard any properties not valid in the resource class" do
158
- expect(@resource_class).to receive(:valid_parameter?).with(:a).and_return(false)
159
- allow(@property_class).to receive(:array_matching).and_return(:all)
159
+ @resource_class.expects(:valid_parameter?).with(:a).returns false
160
+ @property_class.stubs(:array_matching).returns :all
160
161
 
161
162
  instance = @class.new(:one => %w{two three}, :a => %w{b})
162
163
  expect(instance.properties).to eq({:one => %w{two three}})
@@ -166,13 +167,13 @@ describe Puppet::Provider::Ldap do
166
167
 
167
168
  describe "when an instance" do
168
169
  before do
169
- @manager = double("manager", :valid? => true)
170
- allow(@class).to receive(:manager).and_return(@manager)
170
+ @manager = stub "manager", :valid? => true
171
+ @class.stubs(:manager).returns @manager
171
172
  @instance = @class.new
172
173
 
173
- @property_class = double('property_class', :array_matching => :all, :superclass => Puppet::Property)
174
- @resource_class = double('resource_class', :attrclass => @property_class, :valid_parameter? => true, :validproperties => [:one, :two])
175
- allow(@class).to receive(:resource_type).and_return(@resource_class)
174
+ @property_class = stub 'property_class', :array_matching => :all, :superclass => Puppet::Property
175
+ @resource_class = stub 'resource_class', :attrclass => @property_class, :valid_parameter? => true, :validproperties => [:one, :two]
176
+ @class.stubs(:resource_type).returns @resource_class
176
177
  end
177
178
 
178
179
  it "should have a method for creating the ldap entry" do
@@ -199,22 +200,22 @@ describe Puppet::Provider::Ldap do
199
200
 
200
201
  describe "is being flushed" do
201
202
  it "should call the manager's :update method with its name, current attributes, and desired attributes" do
202
- allow(@instance).to receive(:name).and_return("myname")
203
- allow(@instance).to receive(:ldap_properties).and_return(:one => :two)
204
- allow(@instance).to receive(:properties).and_return(:three => :four)
205
- expect(@manager).to receive(:update).with(@instance.name, {:one => :two}, {:three => :four})
203
+ @instance.stubs(:name).returns "myname"
204
+ @instance.stubs(:ldap_properties).returns(:one => :two)
205
+ @instance.stubs(:properties).returns(:three => :four)
206
+ @manager.expects(:update).with(@instance.name, {:one => :two}, {:three => :four})
206
207
  @instance.flush
207
208
  end
208
209
  end
209
210
 
210
211
  describe "is being created" do
211
212
  before do
212
- @rclass = double('resource_class')
213
- allow(@rclass).to receive(:validproperties).and_return([:one, :two])
214
- @resource = double('resource')
215
- allow(@resource).to receive(:class).and_return(@rclass)
216
- allow(@resource).to receive(:should).and_return(nil)
217
- allow(@instance).to receive(:resource).and_return(@resource)
213
+ @rclass = mock 'resource_class'
214
+ @rclass.stubs(:validproperties).returns([:one, :two])
215
+ @resource = mock 'resource'
216
+ @resource.stubs(:class).returns @rclass
217
+ @resource.stubs(:should).returns nil
218
+ @instance.stubs(:resource).returns @resource
218
219
  end
219
220
 
220
221
  it "should set its :ensure value to :present" do
@@ -223,8 +224,8 @@ describe Puppet::Provider::Ldap do
223
224
  end
224
225
 
225
226
  it "should set all of the other attributes from the resource" do
226
- expect(@resource).to receive(:should).with(:one).and_return("oneval")
227
- expect(@resource).to receive(:should).with(:two).and_return("twoval")
227
+ @resource.expects(:should).with(:one).returns "oneval"
228
+ @resource.expects(:should).with(:two).returns "twoval"
228
229
 
229
230
  @instance.create
230
231
  expect(@instance.properties[:one]).to eq("oneval")
@@ -7,8 +7,8 @@ end
7
7
  [:group].each do |type_for_this_round|
8
8
  describe Puppet::Type.type(type_for_this_round).provider(:directoryservice) do
9
9
  before do
10
- @resource = double("resource")
11
- allow(@resource).to receive(:[]).with(:name)
10
+ @resource = stub("resource")
11
+ @resource.stubs(:[]).with(:name)
12
12
  @provider = described_class.new(@resource)
13
13
  end
14
14
 
@@ -17,18 +17,18 @@ end
17
17
  desired = ["foo", ["quux"], "qorp"]
18
18
  group = 'example'
19
19
 
20
- allow(@resource).to receive(:[]).with(:name).and_return(group)
21
- allow(@resource).to receive(:[]).with(:auth_membership).and_return(true)
20
+ @resource.stubs(:[]).with(:name).returns(group)
21
+ @resource.stubs(:[]).with(:auth_membership).returns(true)
22
22
  @provider.instance_variable_set(:@property_value_cache_hash,
23
23
  { :members => current })
24
24
 
25
25
  %w{bar baz}.each do |del|
26
- expect(@provider).to receive(:execute).once.
26
+ @provider.expects(:execute).once.
27
27
  with([:dseditgroup, '-o', 'edit', '-n', '.', '-d', del, group])
28
28
  end
29
29
 
30
30
  %w{quux qorp}.each do |add|
31
- expect(@provider).to receive(:execute).once.
31
+ @provider.expects(:execute).once.
32
32
  with([:dseditgroup, '-o', 'edit', '-n', '.', '-a', add, group])
33
33
  end
34
34
 
@@ -40,13 +40,13 @@ end
40
40
  describe Puppet::Provider::NameService::DirectoryService do
41
41
  context '.single_report' do
42
42
  it 'should use plist data' do
43
- allow(Puppet::Provider::NameService::DirectoryService).to receive(:get_ds_path).and_return('Users')
44
- allow(Puppet::Provider::NameService::DirectoryService).to receive(:list_all_present).and_return(
43
+ Puppet::Provider::NameService::DirectoryService.stubs(:get_ds_path).returns('Users')
44
+ Puppet::Provider::NameService::DirectoryService.stubs(:list_all_present).returns(
45
45
  ['root', 'user1', 'user2', 'resource_name']
46
46
  )
47
- allow(Puppet::Provider::NameService::DirectoryService).to receive(:generate_attribute_hash)
48
- allow(Puppet::Provider::NameService::DirectoryService).to receive(:execute)
49
- expect(Puppet::Provider::NameService::DirectoryService).to receive(:parse_dscl_plist_data)
47
+ Puppet::Provider::NameService::DirectoryService.stubs(:generate_attribute_hash)
48
+ Puppet::Provider::NameService::DirectoryService.stubs(:execute)
49
+ Puppet::Provider::NameService::DirectoryService.expects(:parse_dscl_plist_data)
50
50
 
51
51
  Puppet::Provider::NameService::DirectoryService.single_report('resource_name')
52
52
  end
@@ -54,7 +54,7 @@ describe Puppet::Provider::NameService::DirectoryService do
54
54
 
55
55
  context '.get_exec_preamble' do
56
56
  it 'should use plist data' do
57
- allow(Puppet::Provider::NameService::DirectoryService).to receive(:get_ds_path).and_return('Users')
57
+ Puppet::Provider::NameService::DirectoryService.stubs(:get_ds_path).returns('Users')
58
58
 
59
59
  expect(Puppet::Provider::NameService::DirectoryService.get_exec_preamble('-list')).to include("-plist")
60
60
  end
@@ -85,9 +85,9 @@ describe Puppet::Provider::NameService::DirectoryService do
85
85
  end
86
86
 
87
87
  it 'should execute convert_binary_to_hash once when getting the password' do
88
- expect(described_class).to receive(:convert_binary_to_hash).and_return({'SALTED-SHA512' => pw_string})
89
- expect(Puppet::FileSystem).to receive(:exist?).with(plist_path).once.and_return(true)
90
- expect(Puppet::Util::Plist).to receive(:read_plist_file).and_return(shadow_hash_data)
88
+ described_class.expects(:convert_binary_to_hash).returns({'SALTED-SHA512' => pw_string})
89
+ Puppet::FileSystem.expects(:exist?).with(plist_path).once.returns(true)
90
+ Puppet::Util::Plist.expects(:read_plist_file).returns(shadow_hash_data)
91
91
  described_class.get_password('uid', 'jeff')
92
92
  end
93
93
 
@@ -98,19 +98,19 @@ describe Puppet::Provider::NameService::DirectoryService do
98
98
  end
99
99
 
100
100
  it 'should convert xml-to-binary and binary-to-xml when setting the pw on >= 10.7' do
101
- expect(described_class).to receive(:convert_binary_to_hash).and_return({'SALTED-SHA512' => pw_string})
102
- expect(described_class).to receive(:convert_hash_to_binary).and_return(binary_plist)
103
- expect(Puppet::FileSystem).to receive(:exist?).with(plist_path).once.and_return(true)
104
- expect(Puppet::Util::Plist).to receive(:read_plist_file).and_return(shadow_hash_data)
105
- expect(Puppet::Util::Plist).to receive(:write_plist_file).with(shadow_hash_data, plist_path, :binary)
101
+ described_class.expects(:convert_binary_to_hash).returns({'SALTED-SHA512' => pw_string})
102
+ described_class.expects(:convert_hash_to_binary).returns(binary_plist)
103
+ Puppet::FileSystem.expects(:exist?).with(plist_path).once.returns(true)
104
+ Puppet::Util::Plist.expects(:read_plist_file).returns(shadow_hash_data)
105
+ Puppet::Util::Plist.expects(:write_plist_file).with(shadow_hash_data, plist_path, :binary)
106
106
  described_class.set_password('jeff', 'uid', sha512_hash)
107
107
  end
108
108
 
109
109
  it '[#13686] should handle an empty ShadowHashData field in the users plist' do
110
- expect(described_class).to receive(:convert_hash_to_binary).and_return(binary_plist)
111
- expect(Puppet::FileSystem).to receive(:exist?).with(plist_path).once.and_return(true)
112
- expect(Puppet::Util::Plist).to receive(:read_plist_file).and_return({'ShadowHashData' => nil})
113
- expect(Puppet::Util::Plist).to receive(:write_plist_file)
110
+ described_class.expects(:convert_hash_to_binary).returns(binary_plist)
111
+ Puppet::FileSystem.expects(:exist?).with(plist_path).once.returns(true)
112
+ Puppet::Util::Plist.expects(:read_plist_file).returns({'ShadowHashData' => nil})
113
+ Puppet::Util::Plist.expects(:write_plist_file)
114
114
  described_class.set_password('jeff', 'uid', sha512_hash)
115
115
  end
116
116
  end
@@ -129,7 +129,7 @@ describe Puppet::Provider::NameService::DirectoryService do
129
129
  end
130
130
 
131
131
  let :stub_resource do
132
- double('resource')
132
+ stub('resource')
133
133
  end
134
134
 
135
135
  subject do
@@ -137,20 +137,21 @@ describe Puppet::Provider::NameService::DirectoryService do
137
137
  end
138
138
 
139
139
  before :each do
140
- @resource = double("resource")
141
- allow(@resource).to receive(:[]).with(:name)
140
+ @resource = stub("resource")
141
+ @resource.stubs(:[]).with(:name)
142
142
  @provider = provider_class.new(@resource)
143
143
  end
144
144
 
145
145
  it 'should delete a group member if the user does not exist' do
146
- allow(stub_resource).to receive(:[]).with(:name).and_return('fake_group')
147
- allow(stub_resource).to receive(:name).and_return('fake_group')
148
- expect(subject).to receive(:execute).with([:dseditgroup, '-o', 'edit', '-n', '.',
149
- '-d', 'jeff',
150
- 'fake_group']).and_raise(Puppet::ExecutionFailure, 'it broke')
151
- expect(subject).to receive(:execute).with([:dscl, '.', '-delete',
152
- '/Groups/fake_group', 'GroupMembership',
153
- 'jeff'])
146
+ stub_resource.stubs(:[]).with(:name).returns('fake_group')
147
+ stub_resource.stubs(:name).returns('fake_group')
148
+ subject.expects(:execute).with([:dseditgroup, '-o', 'edit', '-n', '.',
149
+ '-d', 'jeff',
150
+ 'fake_group']).raises(Puppet::ExecutionFailure,
151
+ 'it broke')
152
+ subject.expects(:execute).with([:dscl, '.', '-delete',
153
+ '/Groups/fake_group', 'GroupMembership',
154
+ 'jeff'])
154
155
  subject.remove_unwanted_members(group_members, user_account)
155
156
  end
156
157
  end
@@ -1,3 +1,5 @@
1
+ #! /usr/bin/env ruby
2
+
1
3
  require 'spec_helper'
2
4
  require 'puppet/provider/nameservice'
3
5
  require 'puppet/etc'
@@ -132,7 +134,7 @@ describe Puppet::Provider::NameService do
132
134
 
133
135
  describe "#section" do
134
136
  it "should raise an error if resource_type has not been set" do
135
- expect(described_class).to receive(:resource_type).and_return(nil)
137
+ described_class.expects(:resource_type).returns nil
136
138
  expect { described_class.section }.to raise_error Puppet::Error, 'Cannot determine Etc section without a resource type'
137
139
  end
138
140
 
@@ -151,15 +153,15 @@ describe Puppet::Provider::NameService do
151
153
 
152
154
  describe "#listbyname" do
153
155
  it "should be deprecated" do
154
- expect(Puppet).to receive(:deprecation_warning).with(/listbyname is deprecated/)
156
+ Puppet.expects(:deprecation_warning).with(regexp_matches(/listbyname is deprecated/))
155
157
  described_class.listbyname
156
158
  end
157
159
 
158
160
  it "should return a list of users if resource_type is user" do
159
161
  described_class.resource_type = Puppet::Type.type(:user)
160
- expect(Puppet::Etc).to receive(:setpwent)
161
- allow(Puppet::Etc).to receive(:getpwent).and_return(*users)
162
- expect(Puppet::Etc).to receive(:endpwent)
162
+ Puppet::Etc.expects(:setpwent)
163
+ Puppet::Etc.stubs(:getpwent).returns(*users)
164
+ Puppet::Etc.expects(:endpwent)
163
165
  expect(described_class.listbyname).to eq(%w{root foo})
164
166
  end
165
167
 
@@ -170,7 +172,7 @@ describe Puppet::Provider::NameService do
170
172
  # the same name on disk, but each name is stored on disk in a different
171
173
  # encoding
172
174
  it "should return names with invalid byte sequences replaced with '?'" do
173
- allow(Etc).to receive(:getpwent).and_return(*utf_8_mixed_users)
175
+ Etc.stubs(:getpwent).returns(*utf_8_mixed_users)
174
176
  expect(invalid_utf_8_jose).to_not be_valid_encoding
175
177
  result = PuppetSpec::CharacterEncoding.with_external_encoding(Encoding::UTF_8) do
176
178
  described_class.listbyname
@@ -179,7 +181,7 @@ describe Puppet::Provider::NameService do
179
181
  end
180
182
 
181
183
  it "should return names in their original encoding/bytes if they would not be valid UTF-8" do
182
- allow(Etc).to receive(:getpwent).and_return(*latin_1_mixed_users)
184
+ Etc.stubs(:getpwent).returns(*latin_1_mixed_users)
183
185
  result = PuppetSpec::CharacterEncoding.with_external_encoding(Encoding::ISO_8859_1) do
184
186
  described_class.listbyname
185
187
  end
@@ -189,18 +191,18 @@ describe Puppet::Provider::NameService do
189
191
 
190
192
  it "should return a list of groups if resource_type is group", :unless => Puppet::Util::Platform.windows? do
191
193
  described_class.resource_type = Puppet::Type.type(:group)
192
- expect(Puppet::Etc).to receive(:setgrent)
193
- allow(Puppet::Etc).to receive(:getgrent).and_return(*groups)
194
- expect(Puppet::Etc).to receive(:endgrent)
194
+ Puppet::Etc.expects(:setgrent)
195
+ Puppet::Etc.stubs(:getgrent).returns(*groups)
196
+ Puppet::Etc.expects(:endgrent)
195
197
  expect(described_class.listbyname).to eq(%w{root bin})
196
198
  end
197
199
 
198
200
  it "should yield if a block given" do
199
201
  yield_results = []
200
202
  described_class.resource_type = Puppet::Type.type(:user)
201
- expect(Puppet::Etc).to receive(:setpwent)
202
- allow(Puppet::Etc).to receive(:getpwent).and_return(*users)
203
- expect(Puppet::Etc).to receive(:endpwent)
203
+ Puppet::Etc.expects(:setpwent)
204
+ Puppet::Etc.stubs(:getpwent).returns(*users)
205
+ Puppet::Etc.expects(:endpwent)
204
206
  described_class.listbyname {|x| yield_results << x }
205
207
  expect(yield_results).to eq(%w{root foo})
206
208
  end
@@ -211,7 +213,7 @@ describe Puppet::Provider::NameService do
211
213
  # These two tests simulate an environment where there are two users with
212
214
  # the same name on disk, but each name is stored on disk in a different
213
215
  # encoding
214
- allow(Etc).to receive(:getpwent).and_return(*utf_8_mixed_users)
216
+ Etc.stubs(:getpwent).returns(*utf_8_mixed_users)
215
217
  result = PuppetSpec::CharacterEncoding.with_external_encoding(Encoding::UTF_8) do
216
218
  described_class.instances
217
219
  end
@@ -226,7 +228,7 @@ describe Puppet::Provider::NameService do
226
228
  end
227
229
 
228
230
  it "should have object names in their original encoding/bytes if they would not be valid UTF-8" do
229
- allow(Etc).to receive(:getpwent).and_return(*latin_1_mixed_users)
231
+ Etc.stubs(:getpwent).returns(*latin_1_mixed_users)
230
232
  result = PuppetSpec::CharacterEncoding.with_external_encoding(Encoding::ISO_8859_1) do
231
233
  described_class.instances
232
234
  end
@@ -242,8 +244,8 @@ describe Puppet::Provider::NameService do
242
244
 
243
245
  it "should pass the Puppet::Etc :canonical_name Struct member to the constructor" do
244
246
  users = [ Struct::Passwd.new(invalid_utf_8_jose, invalid_utf_8_jose, 1002, 2000), nil ]
245
- allow(Etc).to receive(:getpwent).and_return(*users)
246
- expect(described_class).to receive(:new).with(:name => escaped_utf_8_jose, :canonical_name => invalid_utf_8_jose, :ensure => :present)
247
+ Etc.stubs(:getpwent).returns(*users)
248
+ described_class.expects(:new).with(:name => escaped_utf_8_jose, :canonical_name => invalid_utf_8_jose, :ensure => :present)
247
249
  described_class.instances
248
250
  end
249
251
  end
@@ -276,19 +278,19 @@ describe Puppet::Provider::NameService do
276
278
  describe "getinfo" do
277
279
  before :each do
278
280
  # with section=foo we'll call Etc.getfoonam instead of getpwnam or getgrnam
279
- allow(described_class).to receive(:section).and_return('foo')
281
+ described_class.stubs(:section).returns 'foo'
280
282
  resource # initialize the resource so our provider has a @resource instance variable
281
283
  end
282
284
 
283
285
  it "should return a hash if we can retrieve something" do
284
- expect(Puppet::Etc).to receive(:send).with(:getfoonam, 'bob').and_return(fakeetcobject)
285
- expect(provider).to receive(:info2hash).with(fakeetcobject).and_return(:foo => 'fooval', :bar => 'barval')
286
+ Puppet::Etc.expects(:send).with(:getfoonam, 'bob').returns fakeetcobject
287
+ provider.expects(:info2hash).with(fakeetcobject).returns(:foo => 'fooval', :bar => 'barval')
286
288
  expect(provider.getinfo(true)).to eq({:foo => 'fooval', :bar => 'barval'})
287
289
  end
288
290
 
289
291
  it "should return nil if we cannot retrieve anything" do
290
- expect(Puppet::Etc).to receive(:send).with(:getfoonam, 'bob').and_raise(ArgumentError, "can't find bob")
291
- expect(provider).not_to receive(:info2hash)
292
+ Puppet::Etc.expects(:send).with(:getfoonam, 'bob').raises(ArgumentError, "can't find bob")
293
+ provider.expects(:info2hash).never
292
294
  expect(provider.getinfo(true)).to be_nil
293
295
  end
294
296
 
@@ -297,13 +299,13 @@ describe Puppet::Provider::NameService do
297
299
  # again if needed
298
300
  it "should use the instance's @canonical_name to query the system" do
299
301
  provider_instance = described_class.new(:name => 'foo', :canonical_name => 'original_foo', :ensure => :present)
300
- expect(Puppet::Etc).to receive(:send).with(:getfoonam, 'original_foo')
302
+ Puppet::Etc.expects(:send).with(:getfoonam, 'original_foo')
301
303
  provider_instance.getinfo(true)
302
304
  end
303
305
 
304
306
  it "should use the instance's name instead of canonical_name if not supplied during instantiation" do
305
307
  provider_instance = described_class.new(:name => 'foo', :ensure => :present)
306
- expect(Puppet::Etc).to receive(:send).with(:getfoonam, 'foo')
308
+ Puppet::Etc.expects(:send).with(:getfoonam, 'foo')
307
309
  provider_instance.getinfo(true)
308
310
  end
309
311
  end
@@ -317,9 +319,9 @@ describe Puppet::Provider::NameService do
317
319
  # expect two method invocations because info2hash calls the method
318
320
  # twice if the Struct responds to the propertyname (our fake Struct
319
321
  # provides values for :foo and :bar) TODO: Fix that
320
- expect(provider).to receive(:posixmethod).with(:foo).and_return(:foo).twice
321
- expect(provider).to receive(:posixmethod).with(:bar).and_return(:bar).twice
322
- expect(provider).to receive(:posixmethod).with(:ensure).and_return(:ensure)
322
+ provider.expects(:posixmethod).with(:foo).returns(:foo).twice
323
+ provider.expects(:posixmethod).with(:bar).returns(:bar).twice
324
+ provider.expects(:posixmethod).with(:ensure).returns :ensure
323
325
  expect(provider.info2hash(fakeetcobject)).to eq({ :foo => 'fooval', :bar => 'barval' })
324
326
  end
325
327
  end
@@ -349,11 +351,11 @@ describe Puppet::Provider::NameService do
349
351
 
350
352
  describe "exists?" do
351
353
  it "should return true if we can retrieve anything" do
352
- expect(provider).to receive(:getinfo).with(true).and_return(:foo => 'fooval', :bar => 'barval')
354
+ provider.expects(:getinfo).with(true).returns(:foo => 'fooval', :bar => 'barval')
353
355
  expect(provider).to be_exists
354
356
  end
355
357
  it "should return false if we cannot retrieve anything" do
356
- expect(provider).to receive(:getinfo).with(true).and_return(nil)
358
+ provider.expects(:getinfo).with(true).returns nil
357
359
  expect(provider).not_to be_exists
358
360
  end
359
361
  end
@@ -362,18 +364,18 @@ describe Puppet::Provider::NameService do
362
364
  before(:each) {described_class.resource_type = faketype }
363
365
 
364
366
  it "should return the correct getinfo value" do
365
- expect(provider).to receive(:getinfo).with(false).and_return(:foo => 'fooval', :bar => 'barval')
367
+ provider.expects(:getinfo).with(false).returns(:foo => 'fooval', :bar => 'barval')
366
368
  expect(provider.get(:bar)).to eq('barval')
367
369
  end
368
370
 
369
371
  it "should unmunge the value first" do
370
372
  described_class.options(:bar, :munge => proc { |x| x*2}, :unmunge => proc {|x| x/2})
371
- expect(provider).to receive(:getinfo).with(false).and_return(:foo => 200, :bar => 500)
373
+ provider.expects(:getinfo).with(false).returns(:foo => 200, :bar => 500)
372
374
  expect(provider.get(:bar)).to eq(250)
373
375
  end
374
376
 
375
377
  it "should return nil if getinfo cannot retrieve the value" do
376
- expect(provider).to receive(:getinfo).with(false).and_return(:foo => 'fooval', :bar => 'barval')
378
+ provider.expects(:getinfo).with(false).returns(:foo => 'fooval', :bar => 'barval')
377
379
  expect(provider.get(:no_such_key)).to be_nil
378
380
  end
379
381
 
@@ -390,21 +392,21 @@ describe Puppet::Provider::NameService do
390
392
  end
391
393
 
392
394
  it "should execute the modify command on valid values" do
393
- expect(provider).to receive(:modifycmd).with(:foo, 100).and_return(['/bin/modify', '-f', '100' ])
394
- expect(provider).to receive(:execute).with(['/bin/modify', '-f', '100'], hash_including(custom_environment: {}))
395
+ provider.expects(:modifycmd).with(:foo, 100).returns ['/bin/modify', '-f', '100' ]
396
+ provider.expects(:execute).with(['/bin/modify', '-f', '100'], has_entry(:custom_environment, {}))
395
397
  provider.set(:foo, 100)
396
398
  end
397
399
 
398
400
  it "should munge the value first" do
399
401
  described_class.options(:foo, :munge => proc { |x| x*2}, :unmunge => proc {|x| x/2})
400
- expect(provider).to receive(:modifycmd).with(:foo, 200).and_return(['/bin/modify', '-f', '200' ])
401
- expect(provider).to receive(:execute).with(['/bin/modify', '-f', '200'], hash_including(custom_environment: {}))
402
+ provider.expects(:modifycmd).with(:foo, 200).returns(['/bin/modify', '-f', '200' ])
403
+ provider.expects(:execute).with(['/bin/modify', '-f', '200'], has_entry(:custom_environment, {}))
402
404
  provider.set(:foo, 100)
403
405
  end
404
406
 
405
407
  it "should fail if the modify command fails" do
406
- expect(provider).to receive(:modifycmd).with(:foo, 100).and_return(['/bin/modify', '-f', '100' ])
407
- expect(provider).to receive(:execute).with(['/bin/modify', '-f', '100'], kind_of(Hash)).and_raise(Puppet::ExecutionFailure, "Execution of '/bin/modify' returned 1: some_failure")
408
+ provider.expects(:modifycmd).with(:foo, 100).returns(['/bin/modify', '-f', '100' ])
409
+ provider.expects(:execute).with(['/bin/modify', '-f', '100'], kind_of(Hash)).raises(Puppet::ExecutionFailure, "Execution of '/bin/modify' returned 1: some_failure")
408
410
  expect { provider.set(:foo, 100) }.to raise_error Puppet::Error, /Could not set foo/
409
411
  end
410
412
  end