puppet 6.0.10-x64-mingw32 → 6.1.0-x64-mingw32

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

Potentially problematic release.


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

Files changed (748) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -0
  3. data/Gemfile.lock +31 -27
  4. data/Guardfile.example +76 -0
  5. data/LICENSE +189 -4
  6. data/MAINTAINERS +47 -0
  7. data/README.md +3 -3
  8. data/lib/hiera/scope.rb +0 -7
  9. data/lib/puppet.rb +6 -5
  10. data/lib/puppet/application.rb +3 -3
  11. data/lib/puppet/application/cert.rb +2 -2
  12. data/lib/puppet/application/device.rb +83 -109
  13. data/lib/puppet/application/filebucket.rb +1 -10
  14. data/lib/puppet/application/ssl.rb +0 -2
  15. data/lib/puppet/configurer.rb +9 -10
  16. data/lib/puppet/confine/false.rb +1 -7
  17. data/lib/puppet/confine/true.rb +1 -7
  18. data/lib/puppet/defaults.rb +39 -51
  19. data/lib/puppet/forge.rb +1 -4
  20. data/lib/puppet/functions/abs.rb +1 -1
  21. data/lib/puppet/functions/call.rb +1 -2
  22. data/lib/puppet/functions/new.rb +1 -1
  23. data/lib/puppet/indirector/request.rb +15 -26
  24. data/lib/puppet/network/http/connection.rb +12 -32
  25. data/lib/puppet/network/http/factory.rb +0 -5
  26. data/lib/puppet/pal/catalog_compiler.rb +96 -0
  27. data/lib/puppet/pal/compiler.rb +221 -0
  28. data/lib/puppet/pal/function_signature.rb +52 -0
  29. data/lib/puppet/pal/json_catalog_encoder.rb +67 -0
  30. data/lib/puppet/pal/pal_api.rb +15 -0
  31. data/lib/puppet/pal/pal_impl.rb +523 -0
  32. data/lib/puppet/pal/plan_signature.rb +71 -0
  33. data/lib/puppet/pal/script_compiler.rb +71 -0
  34. data/lib/puppet/pal/task_signature.rb +58 -0
  35. data/lib/puppet/parser/functions/generate.rb +7 -6
  36. data/lib/puppet/plugins/configuration.rb +5 -1
  37. data/lib/puppet/pops/evaluator/evaluator_impl.rb +5 -1
  38. data/lib/puppet/pops/evaluator/external_syntax_support.rb +3 -3
  39. data/lib/puppet/pops/issues.rb +0 -4
  40. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +4 -60
  41. data/lib/puppet/pops/model/factory.rb +4 -38
  42. data/lib/puppet/pops/model/pn_transformer.rb +0 -5
  43. data/lib/puppet/pops/parser/egrammar.ra +2 -2
  44. data/lib/puppet/pops/parser/heredoc_support.rb +7 -17
  45. data/lib/puppet/pops/parser/lexer2.rb +1 -6
  46. data/lib/puppet/pops/parser/locator.rb +86 -106
  47. data/lib/puppet/pops/parser/parser_support.rb +2 -11
  48. data/lib/puppet/pops/types/string_converter.rb +7 -2
  49. data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -1
  50. data/lib/puppet/pops/types/types.rb +3 -5
  51. data/lib/puppet/pops/validation/checker4_0.rb +13 -0
  52. data/lib/puppet/provider.rb +2 -1
  53. data/lib/puppet/provider/exec.rb +6 -1
  54. data/lib/puppet/provider/file/windows.rb +1 -49
  55. data/lib/puppet/provider/group/windows_adsi.rb +1 -4
  56. data/lib/puppet/provider/package.rb +0 -2
  57. data/lib/puppet/provider/package/dpkg.rb +2 -15
  58. data/lib/puppet/provider/package/gem.rb +42 -102
  59. data/lib/puppet/provider/package/pip.rb +111 -135
  60. data/lib/puppet/provider/package/pip3.rb +1 -1
  61. data/lib/puppet/provider/package/pkgng.rb +37 -21
  62. data/lib/puppet/provider/package/puppet_gem.rb +1 -1
  63. data/lib/puppet/provider/package/rpm.rb +16 -27
  64. data/lib/puppet/provider/package/windows.rb +1 -5
  65. data/lib/puppet/provider/package/yum.rb +1 -2
  66. data/lib/puppet/provider/service/systemd.rb +17 -0
  67. data/lib/puppet/provider/service/upstart.rb +5 -17
  68. data/lib/puppet/provider/service/windows.rb +8 -3
  69. data/lib/puppet/provider/user/directoryservice.rb +4 -16
  70. data/lib/puppet/provider/user/useradd.rb +13 -16
  71. data/lib/puppet/resource.rb +3 -1
  72. data/lib/puppet/rest/client.rb +83 -0
  73. data/lib/puppet/rest/route.rb +1 -1
  74. data/lib/puppet/settings.rb +5 -10
  75. data/lib/puppet/settings/server_list_setting.rb +0 -9
  76. data/lib/puppet/ssl/host.rb +11 -0
  77. data/lib/puppet/ssl/validator/default_validator.rb +0 -31
  78. data/lib/puppet/syntax_checkers/epp.rb +34 -0
  79. data/lib/puppet/syntax_checkers/pp.rb +34 -0
  80. data/lib/puppet/transaction.rb +7 -12
  81. data/lib/puppet/transaction/event_manager.rb +5 -1
  82. data/lib/puppet/transaction/resource_harness.rb +0 -1
  83. data/lib/puppet/type.rb +6 -0
  84. data/lib/puppet/type/exec.rb +5 -27
  85. data/lib/puppet/type/file/mode.rb +1 -6
  86. data/lib/puppet/type/file/source.rb +1 -0
  87. data/lib/puppet/type/filebucket.rb +8 -12
  88. data/lib/puppet/type/package.rb +11 -44
  89. data/lib/puppet/type/schedule.rb +0 -4
  90. data/lib/puppet/type/service.rb +12 -0
  91. data/lib/puppet/type/user.rb +1 -1
  92. data/lib/puppet/util/command_line.rb +1 -5
  93. data/lib/puppet/util/connection.rb +6 -15
  94. data/lib/puppet/util/http_proxy.rb +2 -3
  95. data/lib/puppet/util/log.rb +2 -7
  96. data/lib/puppet/util/pidlock.rb +1 -15
  97. data/lib/puppet/util/windows/process.rb +5 -73
  98. data/lib/puppet/util/windows/registry.rb +1 -7
  99. data/lib/puppet/util/windows/security.rb +8 -29
  100. data/lib/puppet/util/windows/service.rb +33 -27
  101. data/lib/puppet/util/windows/user.rb +4 -14
  102. data/lib/puppet/version.rb +1 -1
  103. data/lib/puppet_pal.rb +5 -1132
  104. data/locales/ja/puppet.po +297 -363
  105. data/locales/puppet.pot +445 -517
  106. data/man/man5/puppet.conf.5 +12 -20
  107. data/man/man8/puppet-agent.8 +1 -1
  108. data/man/man8/puppet-apply.8 +1 -1
  109. data/man/man8/puppet-catalog.8 +1 -1
  110. data/man/man8/puppet-config.8 +1 -1
  111. data/man/man8/puppet-describe.8 +1 -1
  112. data/man/man8/puppet-device.8 +1 -1
  113. data/man/man8/puppet-doc.8 +1 -1
  114. data/man/man8/puppet-epp.8 +1 -1
  115. data/man/man8/puppet-facts.8 +1 -1
  116. data/man/man8/puppet-filebucket.8 +2 -6
  117. data/man/man8/puppet-generate.8 +1 -1
  118. data/man/man8/puppet-help.8 +1 -1
  119. data/man/man8/puppet-key.8 +1 -1
  120. data/man/man8/puppet-lookup.8 +1 -1
  121. data/man/man8/puppet-man.8 +1 -1
  122. data/man/man8/puppet-module.8 +1 -1
  123. data/man/man8/puppet-node.8 +1 -1
  124. data/man/man8/puppet-parser.8 +1 -1
  125. data/man/man8/puppet-plugin.8 +1 -1
  126. data/man/man8/puppet-report.8 +1 -1
  127. data/man/man8/puppet-resource.8 +1 -1
  128. data/man/man8/puppet-script.8 +1 -1
  129. data/man/man8/puppet-ssl.8 +1 -1
  130. data/man/man8/puppet-status.8 +1 -1
  131. data/man/man8/puppet.8 +2 -2
  132. data/spec/fixtures/unit/provider/package/pkgng/pkg.query +7 -1
  133. data/spec/fixtures/unit/provider/package/pkgng/pkg.query.zsh +1 -0
  134. data/spec/integration/agent/logging_spec.rb +7 -5
  135. data/spec/integration/application/apply_spec.rb +16 -18
  136. data/spec/integration/application/doc_spec.rb +2 -1
  137. data/spec/integration/application/lookup_spec.rb +5 -5
  138. data/spec/integration/configurer_spec.rb +6 -5
  139. data/spec/integration/defaults_spec.rb +6 -5
  140. data/spec/integration/directory_environments_spec.rb +1 -1
  141. data/spec/integration/faces/config_spec.rb +4 -3
  142. data/spec/integration/faces/documentation_spec.rb +1 -0
  143. data/spec/integration/faces/plugin_spec.rb +1 -1
  144. data/spec/integration/file_bucket/file_spec.rb +4 -2
  145. data/spec/integration/file_serving/content_spec.rb +1 -0
  146. data/spec/integration/file_serving/fileset_spec.rb +1 -0
  147. data/spec/integration/file_serving/metadata_spec.rb +1 -0
  148. data/spec/integration/file_serving/terminus_helper_spec.rb +1 -0
  149. data/spec/integration/indirector/catalog/compiler_spec.rb +11 -10
  150. data/spec/integration/indirector/direct_file_server_spec.rb +1 -1
  151. data/spec/integration/indirector/facts/facter_spec.rb +5 -4
  152. data/spec/integration/indirector/file_content/file_server_spec.rb +8 -7
  153. data/spec/integration/indirector/file_metadata/file_server_spec.rb +8 -7
  154. data/spec/integration/network/authconfig_spec.rb +24 -23
  155. data/spec/integration/network/formats_spec.rb +1 -0
  156. data/spec/integration/node/environment_spec.rb +1 -0
  157. data/spec/integration/node/facts_spec.rb +10 -9
  158. data/spec/integration/node_spec.rb +7 -6
  159. data/spec/integration/parser/catalog_spec.rb +5 -1
  160. data/spec/integration/parser/collection_spec.rb +2 -1
  161. data/spec/integration/parser/compiler_spec.rb +6 -6
  162. data/spec/integration/parser/scope_spec.rb +1 -1
  163. data/spec/integration/parser/undef_param_spec.rb +1 -1
  164. data/spec/integration/provider/service/init_spec.rb +5 -4
  165. data/spec/integration/provider/service/systemd_spec.rb +2 -0
  166. data/spec/integration/provider/service/windows_spec.rb +2 -1
  167. data/spec/integration/reference/providers_spec.rb +2 -1
  168. data/spec/integration/reports_spec.rb +2 -1
  169. data/spec/integration/resource/catalog_spec.rb +17 -14
  170. data/spec/integration/resource/type_collection_spec.rb +5 -4
  171. data/spec/integration/ssl/certificate_request_spec.rb +1 -0
  172. data/spec/integration/ssl/host_spec.rb +2 -1
  173. data/spec/integration/ssl/key_spec.rb +1 -0
  174. data/spec/integration/test/test_helper_spec.rb +1 -0
  175. data/spec/integration/transaction/report_spec.rb +11 -6
  176. data/spec/integration/transaction_spec.rb +19 -18
  177. data/spec/integration/type/exec_spec.rb +1 -0
  178. data/spec/integration/type/file_spec.rb +33 -13
  179. data/spec/integration/type/package_spec.rb +24 -20
  180. data/spec/integration/type/tidy_spec.rb +2 -1
  181. data/spec/integration/type_spec.rb +1 -0
  182. data/spec/integration/util/autoload_spec.rb +2 -1
  183. data/spec/integration/util/rdoc/parser_spec.rb +1 -0
  184. data/spec/integration/util/settings_spec.rb +1 -0
  185. data/spec/integration/util/windows/adsi_spec.rb +5 -3
  186. data/spec/integration/util/windows/principal_spec.rb +1 -0
  187. data/spec/integration/util/windows/process_spec.rb +6 -4
  188. data/spec/integration/util/windows/registry_spec.rb +51 -93
  189. data/spec/integration/util/windows/security_spec.rb +4 -2
  190. data/spec/integration/util/windows/user_spec.rb +20 -37
  191. data/spec/integration/util_spec.rb +7 -4
  192. data/spec/lib/puppet_spec/compiler.rb +1 -1
  193. data/spec/lib/puppet_spec/files.rb +1 -0
  194. data/spec/lib/puppet_spec/module_tool/shared_functions.rb +1 -1
  195. data/spec/lib/puppet_spec/scope.rb +2 -1
  196. data/spec/shared_behaviours/all_parsedfile_providers.rb +1 -1
  197. data/spec/shared_behaviours/file_server_terminus.rb +9 -8
  198. data/spec/shared_behaviours/file_serving.rb +8 -6
  199. data/spec/shared_behaviours/file_serving_model.rb +5 -3
  200. data/spec/shared_behaviours/hiera_indirections.rb +4 -3
  201. data/spec/shared_behaviours/iterative_functions.rb +1 -0
  202. data/spec/shared_behaviours/memory_terminus.rb +2 -2
  203. data/spec/shared_examples/rhel_package_provider.rb +70 -112
  204. data/spec/spec_helper.rb +2 -11
  205. data/spec/unit/agent/disabler_spec.rb +5 -4
  206. data/spec/unit/agent/locker_spec.rb +13 -12
  207. data/spec/unit/agent_spec.rb +85 -80
  208. data/spec/unit/application/agent_spec.rb +93 -88
  209. data/spec/unit/application/apply_spec.rb +83 -82
  210. data/spec/unit/application/config_spec.rb +1 -0
  211. data/spec/unit/application/describe_spec.rb +7 -6
  212. data/spec/unit/application/device_spec.rb +419 -395
  213. data/spec/unit/application/doc_spec.rb +46 -44
  214. data/spec/unit/application/face_base_spec.rb +62 -61
  215. data/spec/unit/application/facts_spec.rb +4 -3
  216. data/spec/unit/application/filebucket_spec.rb +74 -66
  217. data/spec/unit/application/indirection_base_spec.rb +6 -8
  218. data/spec/unit/application/lookup_spec.rb +26 -26
  219. data/spec/unit/application/resource_spec.rb +48 -42
  220. data/spec/unit/application/ssl_spec.rb +3 -8
  221. data/spec/unit/application_spec.rb +98 -86
  222. data/spec/unit/capability_spec.rb +6 -6
  223. data/spec/unit/certificate_factory_spec.rb +5 -3
  224. data/spec/unit/configurer/downloader_spec.rb +21 -20
  225. data/spec/unit/configurer/fact_handler_spec.rb +3 -2
  226. data/spec/unit/configurer/plugin_handler_spec.rb +8 -41
  227. data/spec/unit/configurer_spec.rb +198 -194
  228. data/spec/unit/confine/exists_spec.rb +15 -17
  229. data/spec/unit/confine/false_spec.rb +6 -32
  230. data/spec/unit/confine/feature_spec.rb +5 -7
  231. data/spec/unit/confine/true_spec.rb +6 -32
  232. data/spec/unit/confine/variable_spec.rb +15 -14
  233. data/spec/unit/confine_collection_spec.rb +29 -28
  234. data/spec/unit/confine_spec.rb +14 -13
  235. data/spec/unit/confiner_spec.rb +11 -10
  236. data/spec/unit/context/trusted_information_spec.rb +1 -1
  237. data/spec/unit/daemon_spec.rb +36 -35
  238. data/spec/unit/data_providers/function_data_provider_spec.rb +1 -0
  239. data/spec/unit/data_providers/hiera_data_provider_spec.rb +1 -0
  240. data/spec/unit/datatypes_spec.rb +4 -3
  241. data/spec/unit/defaults_spec.rb +27 -18
  242. data/spec/unit/environments_spec.rb +7 -7
  243. data/spec/unit/etc_spec.rb +32 -30
  244. data/spec/unit/external/pson_spec.rb +1 -0
  245. data/spec/unit/face/catalog_spec.rb +1 -0
  246. data/spec/unit/face/config_spec.rb +35 -31
  247. data/spec/unit/face/epp_face_spec.rb +4 -3
  248. data/spec/unit/face/facts_spec.rb +6 -5
  249. data/spec/unit/face/generate_spec.rb +5 -4
  250. data/spec/unit/face/help_spec.rb +8 -7
  251. data/spec/unit/face/key_spec.rb +1 -0
  252. data/spec/unit/face/man_spec.rb +2 -1
  253. data/spec/unit/face/module/install_spec.rb +5 -3
  254. data/spec/unit/face/module/list_spec.rb +12 -2
  255. data/spec/unit/face/module/search_spec.rb +9 -11
  256. data/spec/unit/face/module/uninstall_spec.rb +8 -4
  257. data/spec/unit/face/node_spec.rb +24 -23
  258. data/spec/unit/face/parser_spec.rb +18 -3
  259. data/spec/unit/face/plugin_spec.rb +9 -36
  260. data/spec/unit/face/status_spec.rb +1 -0
  261. data/spec/unit/file_bucket/dipper_spec.rb +20 -24
  262. data/spec/unit/file_bucket/file_spec.rb +2 -0
  263. data/spec/unit/file_serving/base_spec.rb +15 -14
  264. data/spec/unit/file_serving/configuration/parser_spec.rb +28 -27
  265. data/spec/unit/file_serving/configuration_spec.rb +66 -63
  266. data/spec/unit/file_serving/content_spec.rb +11 -10
  267. data/spec/unit/file_serving/fileset_spec.rb +58 -63
  268. data/spec/unit/file_serving/http_metadata_spec.rb +7 -8
  269. data/spec/unit/file_serving/metadata_spec.rb +36 -36
  270. data/spec/unit/file_serving/mount/file_spec.rb +32 -31
  271. data/spec/unit/file_serving/mount/locales_spec.rb +24 -23
  272. data/spec/unit/file_serving/mount/modules_spec.rb +15 -14
  273. data/spec/unit/file_serving/mount/pluginfacts_spec.rb +24 -23
  274. data/spec/unit/file_serving/mount/plugins_spec.rb +24 -23
  275. data/spec/unit/file_serving/mount/tasks_spec.rb +15 -14
  276. data/spec/unit/file_serving/mount_spec.rb +1 -0
  277. data/spec/unit/file_serving/terminus_helper_spec.rb +42 -37
  278. data/spec/unit/file_serving/terminus_selector_spec.rb +13 -12
  279. data/spec/unit/file_system/uniquefile_spec.rb +4 -4
  280. data/spec/unit/file_system_spec.rb +2 -2
  281. data/spec/unit/forge/errors_spec.rb +1 -1
  282. data/spec/unit/forge/forge_spec.rb +16 -17
  283. data/spec/unit/forge/module_release_spec.rb +18 -18
  284. data/spec/unit/forge/repository_spec.rb +30 -29
  285. data/spec/unit/forge_spec.rb +11 -15
  286. data/spec/unit/functions/binary_file_spec.rb +3 -3
  287. data/spec/unit/functions/contain_spec.rb +2 -0
  288. data/spec/unit/functions/defined_spec.rb +1 -0
  289. data/spec/unit/functions/epp_spec.rb +2 -2
  290. data/spec/unit/functions/find_file_spec.rb +7 -7
  291. data/spec/unit/functions/include_spec.rb +4 -0
  292. data/spec/unit/functions/lookup_fixture_spec.rb +1 -0
  293. data/spec/unit/functions/lookup_spec.rb +2 -1
  294. data/spec/unit/functions/module_directory_spec.rb +12 -12
  295. data/spec/unit/functions/new_spec.rb +0 -15
  296. data/spec/unit/functions/require_spec.rb +3 -0
  297. data/spec/unit/functions/shared.rb +8 -5
  298. data/spec/unit/functions/versioncmp_spec.rb +2 -1
  299. data/spec/unit/functions4_spec.rb +10 -9
  300. data/spec/unit/gettext/config_spec.rb +4 -4
  301. data/spec/unit/gettext/module_loading_spec.rb +7 -7
  302. data/spec/unit/graph/rb_tree_map_spec.rb +2 -0
  303. data/spec/unit/graph/relationship_graph_spec.rb +2 -1
  304. data/spec/unit/graph/simple_graph_spec.rb +10 -9
  305. data/spec/unit/hiera/scope_spec.rb +0 -7
  306. data/spec/unit/hiera_puppet_spec.rb +20 -20
  307. data/spec/unit/indirector/catalog/compiler_spec.rb +149 -147
  308. data/spec/unit/indirector/catalog/json_spec.rb +2 -1
  309. data/spec/unit/indirector/catalog/msgpack_spec.rb +1 -0
  310. data/spec/unit/indirector/catalog/rest_spec.rb +1 -0
  311. data/spec/unit/indirector/catalog/store_configs_spec.rb +1 -0
  312. data/spec/unit/indirector/catalog/yaml_spec.rb +1 -0
  313. data/spec/unit/indirector/certificate/file_spec.rb +1 -0
  314. data/spec/unit/indirector/certificate/rest_spec.rb +10 -8
  315. data/spec/unit/indirector/certificate_request/file_spec.rb +1 -0
  316. data/spec/unit/indirector/certificate_request/rest_spec.rb +1 -0
  317. data/spec/unit/indirector/direct_file_server_spec.rb +18 -17
  318. data/spec/unit/indirector/envelope_spec.rb +2 -1
  319. data/spec/unit/indirector/exec_spec.rb +5 -4
  320. data/spec/unit/indirector/face_spec.rb +9 -9
  321. data/spec/unit/indirector/facts/facter_spec.rb +43 -37
  322. data/spec/unit/indirector/facts/network_device_spec.rb +9 -8
  323. data/spec/unit/indirector/facts/rest_spec.rb +8 -7
  324. data/spec/unit/indirector/facts/store_configs_spec.rb +1 -0
  325. data/spec/unit/indirector/facts/yaml_spec.rb +1 -0
  326. data/spec/unit/indirector/file_bucket_file/file_spec.rb +4 -3
  327. data/spec/unit/indirector/file_bucket_file/rest_spec.rb +1 -0
  328. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +5 -4
  329. data/spec/unit/indirector/file_content/file_server_spec.rb +1 -0
  330. data/spec/unit/indirector/file_content/file_spec.rb +1 -0
  331. data/spec/unit/indirector/file_content/rest_spec.rb +1 -0
  332. data/spec/unit/indirector/file_content/selector_spec.rb +1 -0
  333. data/spec/unit/indirector/file_metadata/file_server_spec.rb +1 -0
  334. data/spec/unit/indirector/file_metadata/file_spec.rb +13 -12
  335. data/spec/unit/indirector/file_metadata/rest_spec.rb +1 -0
  336. data/spec/unit/indirector/file_metadata/selector_spec.rb +1 -0
  337. data/spec/unit/indirector/file_server_spec.rb +87 -87
  338. data/spec/unit/indirector/indirection_spec.rb +226 -242
  339. data/spec/unit/indirector/json_spec.rb +9 -7
  340. data/spec/unit/indirector/key/file_spec.rb +22 -21
  341. data/spec/unit/indirector/memory_spec.rb +7 -6
  342. data/spec/unit/indirector/msgpack_spec.rb +9 -7
  343. data/spec/unit/indirector/node/exec_spec.rb +3 -2
  344. data/spec/unit/indirector/node/memory_spec.rb +4 -2
  345. data/spec/unit/indirector/node/msgpack_spec.rb +1 -0
  346. data/spec/unit/indirector/node/plain_spec.rb +4 -2
  347. data/spec/unit/indirector/node/rest_spec.rb +1 -0
  348. data/spec/unit/indirector/node/store_configs_spec.rb +1 -0
  349. data/spec/unit/indirector/node/yaml_spec.rb +1 -0
  350. data/spec/unit/indirector/none_spec.rb +5 -5
  351. data/spec/unit/indirector/plain_spec.rb +8 -7
  352. data/spec/unit/indirector/report/msgpack_spec.rb +1 -0
  353. data/spec/unit/indirector/report/processor_spec.rb +22 -21
  354. data/spec/unit/indirector/report/rest_spec.rb +12 -11
  355. data/spec/unit/indirector/report/yaml_spec.rb +1 -0
  356. data/spec/unit/indirector/request_spec.rb +12 -11
  357. data/spec/unit/indirector/resource/ral_spec.rb +54 -47
  358. data/spec/unit/indirector/resource/store_configs_spec.rb +1 -0
  359. data/spec/unit/indirector/rest_spec.rb +110 -113
  360. data/spec/unit/indirector/ssl_file_spec.rb +65 -64
  361. data/spec/unit/indirector/status/local_spec.rb +1 -0
  362. data/spec/unit/indirector/status/rest_spec.rb +1 -0
  363. data/spec/unit/indirector/store_configs_spec.rb +1 -0
  364. data/spec/unit/indirector/terminus_spec.rb +27 -27
  365. data/spec/unit/indirector/yaml_spec.rb +6 -5
  366. data/spec/unit/indirector_spec.rb +2 -1
  367. data/spec/unit/info_service_spec.rb +1 -1
  368. data/spec/unit/interface/action_builder_spec.rb +1 -0
  369. data/spec/unit/interface/action_manager_spec.rb +1 -0
  370. data/spec/unit/interface/action_spec.rb +3 -2
  371. data/spec/unit/interface/documentation_spec.rb +1 -0
  372. data/spec/unit/interface/face_collection_spec.rb +12 -19
  373. data/spec/unit/interface_spec.rb +3 -3
  374. data/spec/unit/man_spec.rb +4 -3
  375. data/spec/unit/module_spec.rb +51 -46
  376. data/spec/unit/module_tool/applications/installer_spec.rb +11 -10
  377. data/spec/unit/module_tool/applications/searcher_spec.rb +3 -3
  378. data/spec/unit/module_tool/applications/uninstaller_spec.rb +2 -1
  379. data/spec/unit/module_tool/applications/unpacker_spec.rb +13 -13
  380. data/spec/unit/module_tool/applications/upgrader_spec.rb +5 -5
  381. data/spec/unit/module_tool/install_directory_spec.rb +8 -8
  382. data/spec/unit/module_tool/installed_modules_spec.rb +3 -3
  383. data/spec/unit/module_tool/tar/gnu_spec.rb +6 -6
  384. data/spec/unit/module_tool/tar/mini_spec.rb +12 -12
  385. data/spec/unit/module_tool/tar_spec.rb +13 -12
  386. data/spec/unit/module_tool_spec.rb +12 -7
  387. data/spec/unit/network/auth_config_parser_spec.rb +13 -11
  388. data/spec/unit/network/authconfig_spec.rb +18 -17
  389. data/spec/unit/network/authorization_spec.rb +5 -4
  390. data/spec/unit/network/authstore_spec.rb +1 -0
  391. data/spec/unit/network/format_handler_spec.rb +1 -0
  392. data/spec/unit/network/format_spec.rb +10 -9
  393. data/spec/unit/network/format_support_spec.rb +29 -28
  394. data/spec/unit/network/formats_spec.rb +5 -4
  395. data/spec/unit/network/http/api/indirected_routes_spec.rb +29 -24
  396. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +2 -2
  397. data/spec/unit/network/http/api/master/v3/environment_spec.rb +1 -1
  398. data/spec/unit/network/http/api/master/v3/environments_spec.rb +7 -6
  399. data/spec/unit/network/http/api_spec.rb +2 -0
  400. data/spec/unit/network/http/compression_spec.rb +22 -21
  401. data/spec/unit/network/http/connection_spec.rb +121 -30
  402. data/spec/unit/network/http/factory_spec.rb +6 -11
  403. data/spec/unit/network/http/handler_spec.rb +18 -9
  404. data/spec/unit/network/http/nocache_pool_spec.rb +7 -6
  405. data/spec/unit/network/http/pool_spec.rb +29 -28
  406. data/spec/unit/network/http/request_spec.rb +2 -0
  407. data/spec/unit/network/http/response_spec.rb +13 -11
  408. data/spec/unit/network/http/route_spec.rb +1 -0
  409. data/spec/unit/network/http/session_spec.rb +2 -1
  410. data/spec/unit/network/http/site_spec.rb +1 -0
  411. data/spec/unit/network/http_pool_spec.rb +9 -18
  412. data/spec/unit/network/http_spec.rb +1 -0
  413. data/spec/unit/network/resolver_spec.rb +26 -25
  414. data/spec/unit/network/rights_spec.rb +53 -52
  415. data/spec/unit/node/environment_spec.rb +15 -14
  416. data/spec/unit/node/facts_spec.rb +7 -5
  417. data/spec/unit/node_spec.rb +10 -4
  418. data/spec/unit/other/selinux_spec.rb +1 -0
  419. data/spec/unit/parameter/boolean_spec.rb +2 -1
  420. data/spec/unit/parameter/package_options_spec.rb +2 -1
  421. data/spec/unit/parameter/path_spec.rb +1 -0
  422. data/spec/unit/parameter/value_collection_spec.rb +1 -0
  423. data/spec/unit/parameter/value_spec.rb +1 -0
  424. data/spec/unit/parameter_spec.rb +9 -9
  425. data/spec/unit/parser/ast/block_expression_spec.rb +8 -6
  426. data/spec/unit/parser/ast/leaf_spec.rb +21 -20
  427. data/spec/unit/parser/compiler_spec.rb +96 -84
  428. data/spec/unit/parser/environment_compiler_spec.rb +8 -7
  429. data/spec/unit/parser/files_spec.rb +1 -0
  430. data/spec/unit/parser/functions/create_resources_spec.rb +1 -1
  431. data/spec/unit/parser/functions/digest_spec.rb +1 -0
  432. data/spec/unit/parser/functions/fail_spec.rb +2 -1
  433. data/spec/unit/parser/functions/file_spec.rb +14 -13
  434. data/spec/unit/parser/functions/fqdn_rand_spec.rb +6 -5
  435. data/spec/unit/parser/functions/generate_spec.rb +8 -7
  436. data/spec/unit/parser/functions/inline_template_spec.rb +1 -0
  437. data/spec/unit/parser/functions/regsubst_spec.rb +1 -0
  438. data/spec/unit/parser/functions/scanf_spec.rb +1 -0
  439. data/spec/unit/parser/functions/shellquote_spec.rb +1 -0
  440. data/spec/unit/parser/functions/split_spec.rb +1 -0
  441. data/spec/unit/parser/functions/sprintf_spec.rb +1 -0
  442. data/spec/unit/parser/functions/tag_spec.rb +2 -1
  443. data/spec/unit/parser/functions/tagged_spec.rb +3 -2
  444. data/spec/unit/parser/functions/template_spec.rb +13 -13
  445. data/spec/unit/parser/functions/versioncmp_spec.rb +2 -1
  446. data/spec/unit/parser/functions_spec.rb +7 -6
  447. data/spec/unit/parser/relationship_spec.rb +1 -0
  448. data/spec/unit/parser/resource_spec.rb +42 -42
  449. data/spec/unit/parser/scope_spec.rb +35 -39
  450. data/spec/unit/parser/templatewrapper_spec.rb +12 -11
  451. data/spec/unit/parser/type_loader_spec.rb +19 -17
  452. data/spec/unit/pops/adaptable_spec.rb +1 -0
  453. data/spec/unit/pops/benchmark_spec.rb +1 -0
  454. data/spec/unit/pops/evaluator/access_ops_spec.rb +1 -0
  455. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +1 -0
  456. data/spec/unit/pops/evaluator/basic_expressions_spec.rb +1 -0
  457. data/spec/unit/pops/evaluator/collections_ops_spec.rb +1 -0
  458. data/spec/unit/pops/evaluator/comparison_ops_spec.rb +1 -0
  459. data/spec/unit/pops/evaluator/conditionals_spec.rb +1 -0
  460. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +47 -10
  461. data/spec/unit/pops/evaluator/logical_ops_spec.rb +1 -0
  462. data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +1 -0
  463. data/spec/unit/pops/evaluator/string_interpolation_spec.rb +1 -0
  464. data/spec/unit/pops/evaluator/variables_spec.rb +1 -0
  465. data/spec/unit/pops/factory_spec.rb +4 -3
  466. data/spec/unit/pops/issues_spec.rb +20 -19
  467. data/spec/unit/pops/loaders/loader_spec.rb +4 -8
  468. data/spec/unit/pops/loaders/loaders_spec.rb +31 -101
  469. data/spec/unit/pops/lookup/context_spec.rb +1 -0
  470. data/spec/unit/pops/lookup/interpolation_spec.rb +3 -2
  471. data/spec/unit/pops/merge_strategy_spec.rb +1 -0
  472. data/spec/unit/pops/migration_spec.rb +5 -3
  473. data/spec/unit/pops/model/model_spec.rb +1 -0
  474. data/spec/unit/pops/model/pn_transformer_spec.rb +1 -4
  475. data/spec/unit/pops/parser/locator_spec.rb +6 -48
  476. data/spec/unit/pops/parser/parse_application_spec.rb +1 -0
  477. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +1 -0
  478. data/spec/unit/pops/parser/parse_calls_spec.rb +1 -0
  479. data/spec/unit/pops/parser/parse_capabilities_spec.rb +1 -0
  480. data/spec/unit/pops/parser/parse_conditionals_spec.rb +1 -0
  481. data/spec/unit/pops/parser/parse_containers_spec.rb +1 -0
  482. data/spec/unit/pops/parser/parse_heredoc_spec.rb +15 -111
  483. data/spec/unit/pops/parser/parse_plan_spec.rb +1 -0
  484. data/spec/unit/pops/parser/parse_resource_spec.rb +1 -0
  485. data/spec/unit/pops/parser/parse_site_spec.rb +1 -0
  486. data/spec/unit/pops/parser/pn_parser_spec.rb +1 -0
  487. data/spec/unit/pops/pn_spec.rb +1 -0
  488. data/spec/unit/pops/resource/resource_type_impl_spec.rb +1 -0
  489. data/spec/unit/pops/serialization/serialization_spec.rb +1 -1
  490. data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
  491. data/spec/unit/pops/types/recursion_guard_spec.rb +10 -10
  492. data/spec/unit/pops/types/ruby_generator_spec.rb +2 -2
  493. data/spec/unit/pops/types/string_converter_spec.rb +5 -1
  494. data/spec/unit/pops/types/type_asserter_spec.rb +2 -2
  495. data/spec/unit/pops/types/type_calculator_spec.rb +30 -30
  496. data/spec/unit/pops/types/type_mismatch_describer_spec.rb +0 -9
  497. data/spec/unit/pops/types/type_parser_spec.rb +13 -13
  498. data/spec/unit/pops/validator/validator_spec.rb +2 -1
  499. data/spec/unit/pops/visitor_spec.rb +1 -0
  500. data/spec/unit/property/boolean_spec.rb +1 -1
  501. data/spec/unit/property/ensure_spec.rb +1 -0
  502. data/spec/unit/property/keyvalue_spec.rb +34 -32
  503. data/spec/unit/property/list_spec.rb +27 -26
  504. data/spec/unit/property/ordered_list_spec.rb +14 -10
  505. data/spec/unit/property_spec.rb +43 -42
  506. data/spec/unit/provider/aix_object_spec.rb +45 -47
  507. data/spec/unit/provider/command_spec.rb +9 -9
  508. data/spec/unit/provider/exec/posix_spec.rb +31 -6
  509. data/spec/unit/provider/exec/shell_spec.rb +1 -0
  510. data/spec/unit/provider/exec/windows_spec.rb +4 -2
  511. data/spec/unit/provider/exec_spec.rb +1 -0
  512. data/spec/unit/provider/file/posix_spec.rb +24 -22
  513. data/spec/unit/provider/file/windows_spec.rb +17 -15
  514. data/spec/unit/provider/group/aix_spec.rb +2 -3
  515. data/spec/unit/provider/group/groupadd_spec.rb +26 -30
  516. data/spec/unit/provider/group/ldap_spec.rb +18 -18
  517. data/spec/unit/provider/group/pw_spec.rb +11 -11
  518. data/spec/unit/provider/group/windows_adsi_spec.rb +53 -59
  519. data/spec/unit/provider/ldap_spec.rb +62 -61
  520. data/spec/unit/provider/nameservice/directoryservice_spec.rb +36 -35
  521. data/spec/unit/provider/nameservice_spec.rb +40 -38
  522. data/spec/unit/provider/package/aix_spec.rb +15 -15
  523. data/spec/unit/provider/package/appdmg_spec.rb +13 -13
  524. data/spec/unit/provider/package/apt_spec.rb +27 -44
  525. data/spec/unit/provider/package/aptitude_spec.rb +7 -6
  526. data/spec/unit/provider/package/aptrpm_spec.rb +12 -7
  527. data/spec/unit/provider/package/base_spec.rb +4 -4
  528. data/spec/unit/provider/package/dnf_spec.rb +20 -18
  529. data/spec/unit/provider/package/dpkg_spec.rb +53 -70
  530. data/spec/unit/provider/package/freebsd_spec.rb +11 -11
  531. data/spec/unit/provider/package/gem_spec.rb +55 -132
  532. data/spec/unit/provider/package/hpux_spec.rb +8 -8
  533. data/spec/unit/provider/package/macports_spec.rb +42 -46
  534. data/spec/unit/provider/package/nim_spec.rb +39 -30
  535. data/spec/unit/provider/package/openbsd_spec.rb +39 -36
  536. data/spec/unit/provider/package/opkg_spec.rb +26 -23
  537. data/spec/unit/provider/package/pacman_spec.rb +118 -97
  538. data/spec/unit/provider/package/pip3_spec.rb +0 -17
  539. data/spec/unit/provider/package/pip_spec.rb +106 -95
  540. data/spec/unit/provider/package/pkg_spec.rb +109 -109
  541. data/spec/unit/provider/package/pkgdmg_spec.rb +63 -65
  542. data/spec/unit/provider/package/pkgin_spec.rb +8 -10
  543. data/spec/unit/provider/package/pkgng_spec.rb +31 -22
  544. data/spec/unit/provider/package/pkgutil_spec.rb +49 -45
  545. data/spec/unit/provider/package/portage_spec.rb +74 -70
  546. data/spec/unit/provider/package/puppet_gem_spec.rb +13 -37
  547. data/spec/unit/provider/package/rpm_spec.rb +76 -154
  548. data/spec/unit/provider/package/sun_spec.rb +18 -16
  549. data/spec/unit/provider/package/tdnf_spec.rb +2 -2
  550. data/spec/unit/provider/package/up2date_spec.rb +4 -2
  551. data/spec/unit/provider/package/urpmi_spec.rb +17 -15
  552. data/spec/unit/provider/package/windows/exe_package_spec.rb +15 -12
  553. data/spec/unit/provider/package/windows/msi_package_spec.rb +22 -19
  554. data/spec/unit/provider/package/windows/package_spec.rb +42 -37
  555. data/spec/unit/provider/package/windows_spec.rb +32 -47
  556. data/spec/unit/provider/package/yum_spec.rb +7 -7
  557. data/spec/unit/provider/package/zypper_spec.rb +87 -87
  558. data/spec/unit/provider/parsedfile_spec.rb +45 -44
  559. data/spec/unit/provider/service/base_spec.rb +5 -4
  560. data/spec/unit/provider/service/bsd_spec.rb +29 -27
  561. data/spec/unit/provider/service/daemontools_spec.rb +35 -35
  562. data/spec/unit/provider/service/debian_spec.rb +38 -38
  563. data/spec/unit/provider/service/freebsd_spec.rb +18 -18
  564. data/spec/unit/provider/service/gentoo_spec.rb +55 -50
  565. data/spec/unit/provider/service/init_spec.rb +52 -53
  566. data/spec/unit/provider/service/launchd_spec.rb +116 -138
  567. data/spec/unit/provider/service/openbsd_spec.rb +50 -50
  568. data/spec/unit/provider/service/openrc_spec.rb +45 -43
  569. data/spec/unit/provider/service/openwrt_spec.rb +31 -26
  570. data/spec/unit/provider/service/rcng_spec.rb +14 -14
  571. data/spec/unit/provider/service/redhat_spec.rb +43 -45
  572. data/spec/unit/provider/service/runit_spec.rb +27 -29
  573. data/spec/unit/provider/service/smf_spec.rb +66 -74
  574. data/spec/unit/provider/service/src_spec.rb +47 -46
  575. data/spec/unit/provider/service/systemd_spec.rb +136 -109
  576. data/spec/unit/provider/service/upstart_spec.rb +93 -77
  577. data/spec/unit/provider/service/windows_spec.rb +41 -33
  578. data/spec/unit/provider/user/aix_spec.rb +31 -31
  579. data/spec/unit/provider/user/directoryservice_spec.rb +114 -146
  580. data/spec/unit/provider/user/hpux_spec.rb +16 -16
  581. data/spec/unit/provider/user/ldap_spec.rb +57 -57
  582. data/spec/unit/provider/user/openbsd_spec.rb +12 -10
  583. data/spec/unit/provider/user/pw_spec.rb +35 -37
  584. data/spec/unit/provider/user/user_role_add_spec.rb +93 -93
  585. data/spec/unit/provider/user/useradd_spec.rb +92 -93
  586. data/spec/unit/provider/user/windows_adsi_spec.rb +60 -59
  587. data/spec/unit/provider_spec.rb +35 -35
  588. data/spec/unit/puppet_pal_2pec.rb +5 -4
  589. data/spec/unit/puppet_pal_spec.rb +1 -0
  590. data/spec/unit/puppet_spec.rb +7 -6
  591. data/spec/unit/relationship_spec.rb +1 -0
  592. data/spec/unit/reports/http_spec.rb +23 -21
  593. data/spec/unit/reports/store_spec.rb +4 -3
  594. data/spec/unit/reports_spec.rb +14 -12
  595. data/spec/unit/resource/capability_finder_spec.rb +17 -15
  596. data/spec/unit/resource/catalog_spec.rb +68 -72
  597. data/spec/unit/resource/status_spec.rb +8 -6
  598. data/spec/unit/resource/type_collection_spec.rb +18 -17
  599. data/spec/unit/resource/type_spec.rb +35 -34
  600. data/spec/unit/resource_spec.rb +63 -36
  601. data/spec/unit/rest/client_spec.rb +135 -0
  602. data/spec/unit/rest/route_spec.rb +6 -6
  603. data/spec/unit/scheduler/job_spec.rb +1 -0
  604. data/spec/unit/scheduler/scheduler_spec.rb +1 -0
  605. data/spec/unit/scheduler/splay_job_spec.rb +2 -1
  606. data/spec/unit/settings/array_setting_spec.rb +1 -1
  607. data/spec/unit/settings/autosign_setting_spec.rb +9 -9
  608. data/spec/unit/settings/certificate_revocation_setting_spec.rb +1 -1
  609. data/spec/unit/settings/config_file_spec.rb +1 -0
  610. data/spec/unit/settings/directory_setting_spec.rb +7 -2
  611. data/spec/unit/settings/duration_setting_spec.rb +2 -1
  612. data/spec/unit/settings/enum_setting_spec.rb +1 -1
  613. data/spec/unit/settings/environment_conf_spec.rb +6 -4
  614. data/spec/unit/settings/file_setting_spec.rb +46 -44
  615. data/spec/unit/settings/path_setting_spec.rb +2 -1
  616. data/spec/unit/settings/priority_setting_spec.rb +2 -1
  617. data/spec/unit/settings/string_setting_spec.rb +15 -14
  618. data/spec/unit/settings/terminus_setting_spec.rb +2 -1
  619. data/spec/unit/settings/value_translator_spec.rb +1 -0
  620. data/spec/unit/settings_spec.rb +224 -253
  621. data/spec/unit/ssl/base_spec.rb +15 -14
  622. data/spec/unit/ssl/certificate_request_spec.rb +58 -62
  623. data/spec/unit/ssl/certificate_spec.rb +25 -23
  624. data/spec/unit/ssl/digest_spec.rb +1 -0
  625. data/spec/unit/ssl/host_spec.rb +149 -166
  626. data/spec/unit/ssl/key_spec.rb +31 -30
  627. data/spec/unit/ssl/validator_spec.rb +39 -40
  628. data/spec/unit/task_spec.rb +45 -44
  629. data/spec/unit/transaction/additional_resource_generator_spec.rb +5 -3
  630. data/spec/unit/transaction/event_manager_spec.rb +88 -87
  631. data/spec/unit/transaction/event_spec.rb +15 -16
  632. data/spec/unit/transaction/persistence_spec.rb +17 -16
  633. data/spec/unit/transaction/report_spec.rb +12 -11
  634. data/spec/unit/transaction/resource_harness_spec.rb +31 -52
  635. data/spec/unit/transaction_spec.rb +87 -140
  636. data/spec/unit/type/component_spec.rb +1 -0
  637. data/spec/unit/type/exec_spec.rb +50 -101
  638. data/spec/unit/type/file/checksum_spec.rb +10 -9
  639. data/spec/unit/type/file/checksum_value_spec.rb +32 -31
  640. data/spec/unit/type/file/content_spec.rb +61 -58
  641. data/spec/unit/type/file/ctime_spec.rb +1 -0
  642. data/spec/unit/type/file/ensure_spec.rb +13 -12
  643. data/spec/unit/type/file/group_spec.rb +7 -5
  644. data/spec/unit/type/file/mode_spec.rb +6 -4
  645. data/spec/unit/type/file/mtime_spec.rb +1 -0
  646. data/spec/unit/type/file/owner_spec.rb +8 -6
  647. data/spec/unit/type/file/selinux_spec.rb +19 -17
  648. data/spec/unit/type/file/source_spec.rb +101 -104
  649. data/spec/unit/type/file/type_spec.rb +1 -0
  650. data/spec/unit/type/file_spec.rb +185 -195
  651. data/spec/unit/type/filebucket_spec.rb +10 -11
  652. data/spec/unit/type/group_spec.rb +8 -6
  653. data/spec/unit/type/noop_metaparam_spec.rb +2 -1
  654. data/spec/unit/type/package/package_settings_spec.rb +23 -44
  655. data/spec/unit/type/package_spec.rb +57 -56
  656. data/spec/unit/type/resources_spec.rb +74 -72
  657. data/spec/unit/type/schedule_spec.rb +26 -24
  658. data/spec/unit/type/service_spec.rb +75 -49
  659. data/spec/unit/type/stage_spec.rb +1 -0
  660. data/spec/unit/type/tidy_spec.rb +62 -61
  661. data/spec/unit/type/user_spec.rb +25 -24
  662. data/spec/unit/type/whit_spec.rb +1 -0
  663. data/spec/unit/type_spec.rb +54 -55
  664. data/spec/unit/util/at_fork_spec.rb +19 -18
  665. data/spec/unit/util/autoload_spec.rb +56 -55
  666. data/spec/unit/util/backups_spec.rb +35 -34
  667. data/spec/unit/util/character_encoding_spec.rb +5 -5
  668. data/spec/unit/util/checksums_spec.rb +39 -38
  669. data/spec/unit/util/colors_spec.rb +2 -1
  670. data/spec/unit/util/command_line_spec.rb +20 -40
  671. data/spec/unit/util/constant_inflector_spec.rb +1 -0
  672. data/spec/unit/util/diff_spec.rb +8 -7
  673. data/spec/unit/util/errors_spec.rb +1 -0
  674. data/spec/unit/util/execution_spec.rb +163 -187
  675. data/spec/unit/util/execution_stub_spec.rb +1 -0
  676. data/spec/unit/util/feature_spec.rb +14 -21
  677. data/spec/unit/util/filetype_spec.rb +49 -49
  678. data/spec/unit/util/http_proxy_spec.rb +12 -12
  679. data/spec/unit/util/inifile_spec.rb +31 -26
  680. data/spec/unit/util/json_lockfile_spec.rb +5 -3
  681. data/spec/unit/util/ldap/connection_spec.rb +25 -26
  682. data/spec/unit/util/ldap/generator_spec.rb +1 -0
  683. data/spec/unit/util/ldap/manager_spec.rb +101 -102
  684. data/spec/unit/util/lockfile_spec.rb +1 -0
  685. data/spec/unit/util/log/destinations_spec.rb +33 -30
  686. data/spec/unit/util/log_spec.rb +34 -48
  687. data/spec/unit/util/logging_spec.rb +72 -58
  688. data/spec/unit/util/metric_spec.rb +1 -0
  689. data/spec/unit/util/monkey_patches_spec.rb +9 -7
  690. data/spec/unit/util/multi_match_spec.rb +1 -0
  691. data/spec/unit/util/network_device/config_spec.rb +1 -0
  692. data/spec/unit/util/network_device/transport/base_spec.rb +6 -5
  693. data/spec/unit/util/network_device_spec.rb +9 -7
  694. data/spec/unit/util/package_spec.rb +1 -0
  695. data/spec/unit/util/pidlock_spec.rb +15 -60
  696. data/spec/unit/util/plist_spec.rb +33 -40
  697. data/spec/unit/util/posix_spec.rb +51 -54
  698. data/spec/unit/util/rdoc_spec.rb +10 -9
  699. data/spec/unit/util/reference_spec.rb +1 -0
  700. data/spec/unit/util/resource_template_spec.rb +20 -20
  701. data/spec/unit/util/retry_action_spec.rb +8 -7
  702. data/spec/unit/util/rubygems_spec.rb +8 -7
  703. data/spec/unit/util/run_mode_spec.rb +4 -3
  704. data/spec/unit/util/selinux_spec.rb +72 -79
  705. data/spec/unit/util/splayer_spec.rb +9 -8
  706. data/spec/unit/util/ssl_spec.rb +1 -0
  707. data/spec/unit/util/storage_spec.rb +23 -22
  708. data/spec/unit/util/suidmanager_spec.rb +54 -45
  709. data/spec/unit/util/symbolic_file_mode_spec.rb +1 -0
  710. data/spec/unit/util/tag_set_spec.rb +1 -0
  711. data/spec/unit/util/tagging_spec.rb +1 -0
  712. data/spec/unit/util/terminal_spec.rb +10 -9
  713. data/spec/unit/util/user_attr_spec.rb +2 -1
  714. data/spec/unit/util/warnings_spec.rb +4 -3
  715. data/spec/unit/util/watcher/periodic_watcher_spec.rb +2 -2
  716. data/spec/unit/util/watcher_spec.rb +21 -51
  717. data/spec/unit/util/windows/access_control_entry_spec.rb +1 -0
  718. data/spec/unit/util/windows/access_control_list_spec.rb +1 -0
  719. data/spec/unit/util/windows/adsi_spec.rb +138 -136
  720. data/spec/unit/util/windows/api_types_spec.rb +1 -0
  721. data/spec/unit/util/windows/eventlog_spec.rb +12 -9
  722. data/spec/unit/util/windows/file_spec.rb +1 -0
  723. data/spec/unit/util/windows/root_certs_spec.rb +1 -0
  724. data/spec/unit/util/windows/security_descriptor_spec.rb +2 -0
  725. data/spec/unit/util/windows/service_spec.rb +103 -100
  726. data/spec/unit/util/windows/sid_spec.rb +13 -11
  727. data/spec/unit/util/windows/string_spec.rb +1 -0
  728. data/spec/unit/util_spec.rb +57 -55
  729. data/spec/unit/version_spec.rb +6 -6
  730. metadata +20 -32
  731. data/CODEOWNERS +0 -30
  732. data/ext/autotest/Rakefile +0 -8
  733. data/ext/autotest/config +0 -43
  734. data/ext/autotest/readme.rst +0 -16
  735. data/lib/puppet/confine/boolean.rb +0 -45
  736. data/lib/puppet/provider/package_targetable.rb +0 -68
  737. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load2.rb +0 -11
  738. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load3.rb +0 -11
  739. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load4.rb +0 -11
  740. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load5.rb +0 -12
  741. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/good_func_load.rb +0 -9
  742. data/spec/fixtures/unit/provider/package/pkgng/pkg.info +0 -7
  743. data/spec/fixtures/unit/provider/package/pkgng/pkg.query_absent +0 -1
  744. data/spec/integration/network/http_pool_spec.rb +0 -120
  745. data/spec/integration/provider/file/windows_spec.rb +0 -162
  746. data/spec/lib/puppet_spec/https.rb +0 -166
  747. data/spec/unit/settings/server_list_setting_spec.rb +0 -21
  748. data/spec/watchr.rb +0 -137
@@ -13,15 +13,15 @@ describe Puppet::Type.type(:user).provider(:hpuxuseradd),
13
13
  let(:provider) { resource.provider }
14
14
 
15
15
  it "should add -F when modifying a user" do
16
- allow(resource).to receive(:allowdupe?).and_return(true)
17
- allow(provider).to receive(:trusted).and_return(true)
18
- expect(provider).to receive(:execute).with(include("-F"), anything)
16
+ resource.stubs(:allowdupe?).returns true
17
+ provider.stubs(:trusted).returns true
18
+ provider.expects(:execute).with { |args| args.include?("-F") }
19
19
  provider.uid = 1000
20
20
  end
21
21
 
22
22
  it "should add -F when deleting a user" do
23
- allow(provider).to receive(:exists?).and_return(true)
24
- expect(provider).to receive(:execute).with(include("-F"), anything)
23
+ provider.stubs(:exists?).returns(true)
24
+ provider.expects(:execute).with { |args| args.include?("-F") }
25
25
  provider.delete
26
26
  end
27
27
 
@@ -31,9 +31,9 @@ describe Puppet::Type.type(:user).provider(:hpuxuseradd),
31
31
  end
32
32
 
33
33
  before :each do
34
- allow(Etc).to receive(:getpwent).and_return(pwent)
35
- allow(Etc).to receive(:getpwnam).and_return(pwent)
36
- allow(resource).to receive(:command).with(:modify).and_return('/usr/sam/lbin/usermod.sam')
34
+ Etc.stubs(:getpwent).returns(pwent)
35
+ Etc.stubs(:getpwnam).returns(pwent)
36
+ resource.stubs(:command).with(:modify).returns '/usr/sam/lbin/usermod.sam'
37
37
  end
38
38
 
39
39
  it "should have feature manages_passwords" do
@@ -41,7 +41,7 @@ describe Puppet::Type.type(:user).provider(:hpuxuseradd),
41
41
  end
42
42
 
43
43
  it "should return nil if user does not exist" do
44
- allow(Etc).to receive(:getpwent).and_return(nil)
44
+ Etc.stubs(:getpwent).returns(nil)
45
45
  expect(provider.password).to be_nil
46
46
  end
47
47
 
@@ -52,20 +52,20 @@ describe Puppet::Type.type(:user).provider(:hpuxuseradd),
52
52
 
53
53
  context "check for trusted computing" do
54
54
  before :each do
55
- allow(provider).to receive(:command).with(:modify).and_return('/usr/sam/lbin/usermod.sam')
55
+ provider.stubs(:command).with(:modify).returns '/usr/sam/lbin/usermod.sam'
56
56
  end
57
57
 
58
58
  it "should add modprpw to modifycmd if Trusted System" do
59
- allow(resource).to receive(:allowdupe?).and_return(true)
60
- expect(provider).to receive(:exec_getprpw).with('root','-m uid').and_return('uid=0')
61
- expect(provider).to receive(:execute).with(['/usr/sam/lbin/usermod.sam', '-u', 1000, '-o', 'testuser', '-F', ';', '/usr/lbin/modprpw', '-v', '-l', 'testuser'], hash_including(custom_environment: {}))
59
+ resource.stubs(:allowdupe?).returns true
60
+ provider.expects(:exec_getprpw).with('root','-m uid').returns('uid=0')
61
+ provider.expects(:execute).with(['/usr/sam/lbin/usermod.sam', '-u', 1000, '-o', 'testuser', '-F', ';', '/usr/lbin/modprpw', '-v', '-l', 'testuser'], has_entry(:custom_environment, {}))
62
62
  provider.uid = 1000
63
63
  end
64
64
 
65
65
  it "should not add modprpw if not Trusted System" do
66
- allow(resource).to receive(:allowdupe?).and_return(true)
67
- expect(provider).to receive(:exec_getprpw).with('root','-m uid').and_return('System is not trusted')
68
- expect(provider).to receive(:execute).with(['/usr/sam/lbin/usermod.sam', '-u', 1000, '-o', 'testuser', '-F'], hash_including(custom_environment: {}))
66
+ resource.stubs(:allowdupe?).returns true
67
+ provider.expects(:exec_getprpw).with('root','-m uid').returns('System is not trusted')
68
+ provider.expects(:execute).with(['/usr/sam/lbin/usermod.sam', '-u', 1000, '-o', 'testuser', '-F'], has_entry(:custom_environment, {}))
69
69
  provider.uid = 1000
70
70
  end
71
71
  end
@@ -37,36 +37,36 @@ describe Puppet::Type.type(:user).provider(:ldap) do
37
37
  context "when being created" do
38
38
  before do
39
39
  # So we don't try to actually talk to ldap
40
- @connection = double('connection')
41
- allow(described_class.manager).to receive(:connect).and_yield(@connection)
40
+ @connection = mock 'connection'
41
+ described_class.manager.stubs(:connect).yields @connection
42
42
  end
43
43
 
44
44
  it "should generate the sn as the last field of the cn" do
45
- expect(Puppet::Type.type(:group).provider(:ldap)).to receive(:name2id).with(["whatever"]).and_return([123])
45
+ Puppet::Type.type(:group).provider(:ldap).expects(:name2id).with(["whatever"]).returns [123]
46
46
 
47
- resource = double('resource', :should => %w{whatever})
48
- allow(resource).to receive(:should).with(:comment).and_return(["Luke Kanies"])
49
- allow(resource).to receive(:should).with(:ensure).and_return(:present)
47
+ resource = stub 'resource', :should => %w{whatever}
48
+ resource.stubs(:should).with(:comment).returns ["Luke Kanies"]
49
+ resource.stubs(:should).with(:ensure).returns :present
50
50
  instance = described_class.new(:name => "luke", :ensure => :absent)
51
51
 
52
- allow(instance).to receive(:resource).and_return(resource)
52
+ instance.stubs(:resource).returns resource
53
53
 
54
- expect(@connection).to receive(:add).with(anything, hash_including("sn" => ["Kanies"]))
54
+ @connection.expects(:add).with { |dn, attrs| attrs["sn"] == ["Kanies"] }
55
55
 
56
56
  instance.create
57
57
  instance.flush
58
58
  end
59
59
 
60
60
  it "should translate a group name to the numeric id" do
61
- expect(Puppet::Type.type(:group).provider(:ldap)).to receive(:name2id).with("bar").and_return(101)
61
+ Puppet::Type.type(:group).provider(:ldap).expects(:name2id).with("bar").returns 101
62
62
 
63
- resource = double('resource', :should => %w{whatever})
64
- allow(resource).to receive(:should).with(:gid).and_return('bar')
65
- allow(resource).to receive(:should).with(:ensure).and_return(:present)
63
+ resource = stub 'resource', :should => %w{whatever}
64
+ resource.stubs(:should).with(:gid).returns 'bar'
65
+ resource.stubs(:should).with(:ensure).returns :present
66
66
  instance = described_class.new(:name => "luke", :ensure => :absent)
67
- allow(instance).to receive(:resource).and_return(resource)
67
+ instance.stubs(:resource).returns resource
68
68
 
69
- expect(@connection).to receive(:add).with(anything, hash_including("gidNumber" => ["101"]))
69
+ @connection.expects(:add).with { |dn, attrs| attrs["gidNumber"] == ["101"] }
70
70
 
71
71
  instance.create
72
72
  instance.flush
@@ -74,36 +74,36 @@ describe Puppet::Type.type(:user).provider(:ldap) do
74
74
 
75
75
  context "with no uid specified" do
76
76
  it "should pick the first available UID after the largest existing UID" do
77
- expect(Puppet::Type.type(:group).provider(:ldap)).to receive(:name2id).with(["whatever"]).and_return([123])
77
+ Puppet::Type.type(:group).provider(:ldap).expects(:name2id).with(["whatever"]).returns [123]
78
78
 
79
79
  low = {:name=>["luke"], :shell=>:absent, :uid=>["600"], :home=>["/h"], :gid=>["1000"], :password=>["blah"], :comment=>["l k"]}
80
80
  high = {:name=>["testing"], :shell=>:absent, :uid=>["640"], :home=>["/h"], :gid=>["1000"], :password=>["blah"], :comment=>["t u"]}
81
- expect(described_class.manager).to receive(:search).and_return([low, high])
81
+ described_class.manager.expects(:search).returns([low, high])
82
82
 
83
- resource = double('resource', :should => %w{whatever})
84
- allow(resource).to receive(:should).with(:uid).and_return(nil)
85
- allow(resource).to receive(:should).with(:ensure).and_return(:present)
83
+ resource = stub 'resource', :should => %w{whatever}
84
+ resource.stubs(:should).with(:uid).returns nil
85
+ resource.stubs(:should).with(:ensure).returns :present
86
86
  instance = described_class.new(:name => "luke", :ensure => :absent)
87
- allow(instance).to receive(:resource).and_return(resource)
87
+ instance.stubs(:resource).returns resource
88
88
 
89
- expect(@connection).to receive(:add).with(anything, hash_including("uidNumber" => ["641"]))
89
+ @connection.expects(:add).with { |dn, attrs| attrs["uidNumber"] == ["641"] }
90
90
 
91
91
  instance.create
92
92
  instance.flush
93
93
  end
94
94
 
95
95
  it "should pick 501 of no users exist" do
96
- expect(Puppet::Type.type(:group).provider(:ldap)).to receive(:name2id).with(["whatever"]).and_return([123])
96
+ Puppet::Type.type(:group).provider(:ldap).expects(:name2id).with(["whatever"]).returns [123]
97
97
 
98
- expect(described_class.manager).to receive(:search).and_return(nil)
98
+ described_class.manager.expects(:search).returns nil
99
99
 
100
- resource = double('resource', :should => %w{whatever})
101
- allow(resource).to receive(:should).with(:uid).and_return(nil)
102
- allow(resource).to receive(:should).with(:ensure).and_return(:present)
100
+ resource = stub 'resource', :should => %w{whatever}
101
+ resource.stubs(:should).with(:uid).returns nil
102
+ resource.stubs(:should).with(:ensure).returns :present
103
103
  instance = described_class.new(:name => "luke", :ensure => :absent)
104
- allow(instance).to receive(:resource).and_return(resource)
104
+ instance.stubs(:resource).returns resource
105
105
 
106
- expect(@connection).to receive(:add).with(anything, hash_including("uidNumber" => ["501"]))
106
+ @connection.expects(:add).with { |dn, attrs| attrs["uidNumber"] == ["501"] }
107
107
 
108
108
  instance.create
109
109
  instance.flush
@@ -113,19 +113,19 @@ describe Puppet::Type.type(:user).provider(:ldap) do
113
113
 
114
114
  context "when flushing" do
115
115
  before do
116
- allow(described_class).to receive(:suitable?).and_return(true)
116
+ described_class.stubs(:suitable?).returns true
117
117
 
118
118
  @instance = described_class.new(:name => "myname", :groups => %w{whatever}, :uid => "400")
119
119
  end
120
120
 
121
121
  it "should remove the :groups value before updating" do
122
- expect(@instance.class.manager).to receive(:update).with(anything, anything, hash_excluding(:groups))
122
+ @instance.class.manager.expects(:update).with { |name, ldap, puppet| puppet[:groups].nil? }
123
123
 
124
124
  @instance.flush
125
125
  end
126
126
 
127
127
  it "should empty the property hash" do
128
- allow(@instance.class.manager).to receive(:update)
128
+ @instance.class.manager.stubs(:update)
129
129
 
130
130
  @instance.flush
131
131
 
@@ -133,7 +133,7 @@ describe Puppet::Type.type(:user).provider(:ldap) do
133
133
  end
134
134
 
135
135
  it "should empty the ldap property hash" do
136
- allow(@instance.class.manager).to receive(:update)
136
+ @instance.class.manager.stubs(:update)
137
137
 
138
138
  @instance.flush
139
139
 
@@ -145,7 +145,7 @@ describe Puppet::Type.type(:user).provider(:ldap) do
145
145
  before do
146
146
  @groups = Puppet::Type.type(:group).provider(:ldap)
147
147
  @group_manager = @groups.manager
148
- allow(described_class).to receive(:suitable?).and_return(true)
148
+ described_class.stubs(:suitable?).returns true
149
149
 
150
150
  @instance = described_class.new(:name => "myname")
151
151
  end
@@ -153,19 +153,19 @@ describe Puppet::Type.type(:user).provider(:ldap) do
153
153
  it "should show its group membership as the sorted list of all groups returned by an ldap query of group memberships" do
154
154
  one = {:name => "one"}
155
155
  two = {:name => "two"}
156
- expect(@group_manager).to receive(:search).with("memberUid=myname").and_return([two, one])
156
+ @group_manager.expects(:search).with("memberUid=myname").returns([two, one])
157
157
 
158
158
  expect(@instance.groups).to eq("one,two")
159
159
  end
160
160
 
161
161
  it "should show its group membership as :absent if no matching groups are found in ldap" do
162
- expect(@group_manager).to receive(:search).with("memberUid=myname").and_return(nil)
162
+ @group_manager.expects(:search).with("memberUid=myname").returns(nil)
163
163
 
164
164
  expect(@instance.groups).to eq(:absent)
165
165
  end
166
166
 
167
167
  it "should cache the group value" do
168
- expect(@group_manager).to receive(:search).with("memberUid=myname").once.and_return(nil)
168
+ @group_manager.expects(:search).with("memberUid=myname").once.returns nil
169
169
 
170
170
  @instance.groups
171
171
  expect(@instance.groups).to eq(:absent)
@@ -176,61 +176,61 @@ describe Puppet::Type.type(:user).provider(:ldap) do
176
176
  before do
177
177
  @groups = Puppet::Type.type(:group).provider(:ldap)
178
178
  @group_manager = @groups.manager
179
- allow(described_class).to receive(:suitable?).and_return(true)
179
+ described_class.stubs(:suitable?).returns true
180
180
 
181
181
  @one = {:name => "one", :gid => "500"}
182
- allow(@group_manager).to receive(:find).with("one").and_return(@one)
182
+ @group_manager.stubs(:find).with("one").returns(@one)
183
183
 
184
184
  @two = {:name => "one", :gid => "600"}
185
- allow(@group_manager).to receive(:find).with("two").and_return(@two)
185
+ @group_manager.stubs(:find).with("two").returns(@two)
186
186
 
187
187
  @instance = described_class.new(:name => "myname")
188
188
 
189
- allow(@instance).to receive(:groups).and_return(:absent)
189
+ @instance.stubs(:groups).returns :absent
190
190
  end
191
191
 
192
192
  it "should fail if the group does not exist" do
193
- expect(@group_manager).to receive(:find).with("mygroup").and_return(nil)
193
+ @group_manager.expects(:find).with("mygroup").returns nil
194
194
 
195
195
  expect { @instance.groups = "mygroup" }.to raise_error(Puppet::Error)
196
196
  end
197
197
 
198
198
  it "should only pass the attributes it cares about to the group manager" do
199
- expect(@group_manager).to receive(:update).with(anything, hash_excluding(:gid), anything)
199
+ @group_manager.expects(:update).with { |name, attrs| attrs[:gid].nil? }
200
200
 
201
201
  @instance.groups = "one"
202
202
  end
203
203
 
204
204
  it "should always include :ensure => :present in the current values" do
205
- expect(@group_manager).to receive(:update).with(anything, hash_including(ensure: :present), anything)
205
+ @group_manager.expects(:update).with { |name, is, should| is[:ensure] == :present }
206
206
 
207
207
  @instance.groups = "one"
208
208
  end
209
209
 
210
210
  it "should always include :ensure => :present in the desired values" do
211
- expect(@group_manager).to receive(:update).with(anything, anything, hash_including(ensure: :present))
211
+ @group_manager.expects(:update).with { |name, is, should| should[:ensure] == :present }
212
212
 
213
213
  @instance.groups = "one"
214
214
  end
215
215
 
216
216
  it "should always pass the group's original member list" do
217
217
  @one[:members] = %w{yay ness}
218
- expect(@group_manager).to receive(:update).with(anything, hash_including(members: %w{yay ness}), anything)
218
+ @group_manager.expects(:update).with { |name, is, should| is[:members] == %w{yay ness} }
219
219
 
220
220
  @instance.groups = "one"
221
221
  end
222
222
 
223
223
  it "should find the group again when resetting its member list, so it has the full member list" do
224
- expect(@group_manager).to receive(:find).with("one").and_return(@one)
224
+ @group_manager.expects(:find).with("one").returns(@one)
225
225
 
226
- allow(@group_manager).to receive(:update)
226
+ @group_manager.stubs(:update)
227
227
 
228
228
  @instance.groups = "one"
229
229
  end
230
230
 
231
231
  context "for groups that have no members" do
232
232
  it "should create a new members attribute with its value being the user's name" do
233
- expect(@group_manager).to receive(:update).with(anything, anything, hash_including(members: %w{myname}))
233
+ @group_manager.expects(:update).with { |name, is, should| should[:members] == %w{myname} }
234
234
 
235
235
  @instance.groups = "one"
236
236
  end
@@ -241,9 +241,9 @@ describe Puppet::Type.type(:user).provider(:ldap) do
241
241
  @one[:members] = %w{myname a}
242
242
  @two[:members] = %w{myname b}
243
243
 
244
- expect(@group_manager).to receive(:update).with("two", anything, hash_including(members: %w{b}))
244
+ @group_manager.expects(:update).with { |name, is, should| name == "two" and should[:members] == %w{b} }
245
245
 
246
- allow(@instance).to receive(:groups).and_return("one,two")
246
+ @instance.stubs(:groups).returns "one,two"
247
247
  @instance.groups = "one"
248
248
  end
249
249
 
@@ -251,9 +251,9 @@ describe Puppet::Type.type(:user).provider(:ldap) do
251
251
  @one[:members] = %w{myname}
252
252
  @two[:members] = %w{myname b}
253
253
 
254
- expect(@group_manager).to receive(:update).with("one", anything, hash_including(members: :absent))
254
+ @group_manager.expects(:update).with { |name, is, should| name == "one" and should[:members] == :absent }
255
255
 
256
- allow(@instance).to receive(:groups).and_return("one,two")
256
+ @instance.stubs(:groups).returns "one,two"
257
257
  @instance.groups = "two"
258
258
  end
259
259
  end
@@ -261,9 +261,9 @@ describe Puppet::Type.type(:user).provider(:ldap) do
261
261
  context "for groups that already have members" do
262
262
  it "should replace each group's member list with a new list including the user's name" do
263
263
  @one[:members] = %w{a b}
264
- expect(@group_manager).to receive(:update).with(anything, anything, hash_including(members: %w{a b myname}))
264
+ @group_manager.expects(:update).with { |name, is, should| should[:members] == %w{a b myname} }
265
265
  @two[:members] = %w{b c}
266
- expect(@group_manager).to receive(:update).with(anything, anything, hash_including(members: %w{b c myname}))
266
+ @group_manager.expects(:update).with { |name, is, should| should[:members] == %w{b c myname} }
267
267
 
268
268
  @instance.groups = "one,two"
269
269
  end
@@ -272,12 +272,12 @@ describe Puppet::Type.type(:user).provider(:ldap) do
272
272
  context "for groups of which it is a member" do
273
273
  it "should do nothing" do
274
274
  @one[:members] = %w{a b}
275
- expect(@group_manager).to receive(:update).with(anything, anything, hash_including(members: %w{a b myname}))
275
+ @group_manager.expects(:update).with { |name, is, should| should[:members] == %w{a b myname} }
276
276
 
277
277
  @two[:members] = %w{c myname}
278
- expect(@group_manager).not_to receive(:update).with("two", any_args)
278
+ @group_manager.expects(:update).with { |name, *other| name == "two" }.never
279
279
 
280
- allow(@instance).to receive(:groups).and_return("two")
280
+ @instance.stubs(:groups).returns "two"
281
281
 
282
282
  @instance.groups = "one,two"
283
283
  end
@@ -1,11 +1,13 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Puppet::Type.type(:user).provider(:openbsd) do
5
+
4
6
  before :each do
5
- allow(described_class).to receive(:command).with(:password).and_return('/usr/sbin/passwd')
6
- allow(described_class).to receive(:command).with(:add).and_return('/usr/sbin/useradd')
7
- allow(described_class).to receive(:command).with(:modify).and_return('/usr/sbin/usermod')
8
- allow(described_class).to receive(:command).with(:delete).and_return('/usr/sbin/userdel')
7
+ described_class.stubs(:command).with(:password).returns '/usr/sbin/passwd'
8
+ described_class.stubs(:command).with(:add).returns '/usr/sbin/useradd'
9
+ described_class.stubs(:command).with(:modify).returns '/usr/sbin/usermod'
10
+ described_class.stubs(:command).with(:delete).returns '/usr/sbin/userdel'
9
11
  end
10
12
 
11
13
  let(:resource) do
@@ -31,20 +33,20 @@ describe Puppet::Type.type(:user).provider(:openbsd) do
31
33
  describe "#expiry=" do
32
34
  it "should pass expiry to usermod as MM/DD/YY" do
33
35
  resource[:expiry] = '2014-11-05'
34
- expect(provider).to receive(:execute).with(['/usr/sbin/usermod', '-e', 'November 05 2014', 'myuser'], hash_including(custom_environment: {}))
36
+ provider.expects(:execute).with(['/usr/sbin/usermod', '-e', 'November 05 2014', 'myuser'], has_entry(:custom_environment, {}))
35
37
  provider.expiry = '2014-11-05'
36
38
  end
37
39
 
38
40
  it "should use -e with an empty string when the expiry property is removed" do
39
41
  resource[:expiry] = :absent
40
- expect(provider).to receive(:execute).with(['/usr/sbin/usermod', '-e', '', 'myuser'], hash_including(custom_environment: {}))
42
+ provider.expects(:execute).with(['/usr/sbin/usermod', '-e', '', 'myuser'], has_entry(:custom_environment, {}))
41
43
  provider.expiry = :absent
42
44
  end
43
45
  end
44
46
 
45
47
  describe "#addcmd" do
46
48
  it "should return an array with the full command and expiry as MM/DD/YY" do
47
- allow(Facter).to receive(:value).with(:osfamily).and_return('OpenBSD')
49
+ Facter.stubs(:value).with(:osfamily).returns('OpenBSD')
48
50
  resource[:expiry] = "1997-06-01"
49
51
  expect(provider.addcmd).to eq(['/usr/sbin/useradd', '-e', 'June 01 1997', 'myuser'])
50
52
  end
@@ -56,19 +58,19 @@ describe Puppet::Type.type(:user).provider(:openbsd) do
56
58
  end
57
59
 
58
60
  it "should return the loginclass if set", :if => Puppet.features.libshadow? do
59
- expect(Shadow::Passwd).to receive(:getspnam).with('myuser').and_return(shadow_entry)
61
+ Shadow::Passwd.expects(:getspnam).with('myuser').returns shadow_entry
60
62
  provider.send(:loginclass).should == 'staff'
61
63
  end
62
64
 
63
65
  it "should return the empty string when loginclass isn't set", :if => Puppet.features.libshadow? do
64
66
  shadow_entry[:sp_loginclass] = ''
65
- expect(Shadow::Passwd).to receive(:getspnam).with('myuser').and_return(shadow_entry)
67
+ Shadow::Passwd.expects(:getspnam).with('myuser').returns shadow_entry
66
68
  provider.send(:loginclass).should == ''
67
69
  end
68
70
 
69
71
  it "should return nil when loginclass isn't available", :if => Puppet.features.libshadow? do
70
72
  shadow_entry[:sp_loginclass] = nil
71
- expect(Shadow::Passwd).to receive(:getspnam).with('myuser').and_return(shadow_entry)
73
+ Shadow::Passwd.expects(:getspnam).with('myuser').returns shadow_entry
72
74
  provider.send(:loginclass).should be_nil
73
75
  end
74
76
  end
@@ -1,7 +1,5 @@
1
1
  require 'spec_helper'
2
2
 
3
- RSpec::Matchers.define_negated_matcher :excluding, :include
4
-
5
3
  describe Puppet::Type.type(:user).provider(:pw) do
6
4
  let :resource do
7
5
  Puppet::Type.type(:user).new(:name => "testuser", :provider => :pw)
@@ -10,86 +8,86 @@ describe Puppet::Type.type(:user).provider(:pw) do
10
8
  context "when creating users" do
11
9
  let :provider do
12
10
  prov = resource.provider
13
- expect(prov).to receive(:exists?).and_return(nil)
11
+ prov.expects(:exists?).returns nil
14
12
  prov
15
13
  end
16
14
 
17
15
  it "should run pw with no additional flags when no properties are given" do
18
16
  expect(provider.addcmd).to eq([described_class.command(:pw), "useradd", "testuser"])
19
- expect(provider).to receive(:execute).with([described_class.command(:pw), "useradd", "testuser"], kind_of(Hash))
17
+ provider.expects(:execute).with([described_class.command(:pw), "useradd", "testuser"], kind_of(Hash))
20
18
  provider.create
21
19
  end
22
20
 
23
21
  it "should use -o when allowdupe is enabled" do
24
22
  resource[:allowdupe] = true
25
- expect(provider).to receive(:execute).with(include("-o"), kind_of(Hash))
23
+ provider.expects(:execute).with(includes("-o"), kind_of(Hash))
26
24
  provider.create
27
25
  end
28
26
 
29
27
  it "should use -c with the correct argument when the comment property is set" do
30
28
  resource[:comment] = "Testuser Name"
31
- expect(provider).to receive(:execute).with(include("-c").and(include("Testuser Name")), kind_of(Hash))
29
+ provider.expects(:execute).with(all_of(includes("-c"), includes("Testuser Name")), kind_of(Hash))
32
30
  provider.create
33
31
  end
34
32
 
35
33
  it "should use -e with the correct argument when the expiry property is set" do
36
34
  resource[:expiry] = "2010-02-19"
37
- expect(provider).to receive(:execute).with(include("-e").and(include("19-02-2010")), kind_of(Hash))
35
+ provider.expects(:execute).with(all_of(includes("-e"), includes("19-02-2010")), kind_of(Hash))
38
36
  provider.create
39
37
  end
40
38
 
41
39
  it "should use -e 00-00-0000 if the expiry property has to be removed" do
42
40
  resource[:expiry] = :absent
43
- expect(provider).to receive(:execute).with(include("-e").and(include("00-00-0000")), kind_of(Hash))
41
+ provider.expects(:execute).with(all_of(includes("-e"), includes("00-00-0000")), kind_of(Hash))
44
42
  provider.create
45
43
  end
46
44
 
47
45
  it "should use -g with the correct argument when the gid property is set" do
48
46
  resource[:gid] = 12345
49
- expect(provider).to receive(:execute).with(include("-g").and(include(12345)), kind_of(Hash))
47
+ provider.expects(:execute).with(all_of(includes("-g"), includes(12345)), kind_of(Hash))
50
48
  provider.create
51
49
  end
52
50
 
53
51
  it "should use -G with the correct argument when the groups property is set" do
54
52
  resource[:groups] = "group1"
55
- expect(provider).to receive(:execute).with(include("-G").and(include("group1")), kind_of(Hash))
53
+ provider.expects(:execute).with(all_of(includes("-G"), includes("group1")), kind_of(Hash))
56
54
  provider.create
57
55
  end
58
56
 
59
57
  it "should use -G with all the given groups when the groups property is set to an array" do
60
58
  resource[:groups] = ["group1", "group2"]
61
- expect(provider).to receive(:execute).with(include("-G").and(include("group1,group2")), kind_of(Hash))
59
+ provider.expects(:execute).with(all_of(includes("-G"), includes("group1,group2")), kind_of(Hash))
62
60
  provider.create
63
61
  end
64
62
 
65
63
  it "should use -d with the correct argument when the home property is set" do
66
64
  resource[:home] = "/home/testuser"
67
- expect(provider).to receive(:execute).with(include("-d").and(include("/home/testuser")), kind_of(Hash))
65
+ provider.expects(:execute).with(all_of(includes("-d"), includes("/home/testuser")), kind_of(Hash))
68
66
  provider.create
69
67
  end
70
68
 
71
69
  it "should use -m when the managehome property is enabled" do
72
70
  resource[:managehome] = true
73
- expect(provider).to receive(:execute).with(include("-m"), kind_of(Hash))
71
+ provider.expects(:execute).with(includes("-m"), kind_of(Hash))
74
72
  provider.create
75
73
  end
76
74
 
77
75
  it "should call the password set function with the correct argument when the password property is set" do
78
76
  resource[:password] = "*"
79
- expect(provider).to receive(:execute)
80
- expect(provider).to receive(:password=).with("*")
77
+ provider.expects(:execute)
78
+ provider.expects(:password=).with("*")
81
79
  provider.create
82
80
  end
83
81
 
84
82
  it "should use -s with the correct argument when the shell property is set" do
85
83
  resource[:shell] = "/bin/sh"
86
- expect(provider).to receive(:execute).with(include("-s").and(include("/bin/sh")), kind_of(Hash))
84
+ provider.expects(:execute).with(all_of(includes("-s"), includes("/bin/sh")), kind_of(Hash))
87
85
  provider.create
88
86
  end
89
87
 
90
88
  it "should use -u with the correct argument when the uid property is set" do
91
89
  resource[:uid] = 12345
92
- expect(provider).to receive(:execute).with(include("-u").and(include(12345)), kind_of(Hash))
90
+ provider.expects(:execute).with(all_of(includes("-u"), includes(12345)), kind_of(Hash))
93
91
  provider.create
94
92
  end
95
93
 
@@ -97,8 +95,8 @@ describe Puppet::Type.type(:user).provider(:pw) do
97
95
  it "should not use -p when a password is given" do
98
96
  resource[:password] = "*"
99
97
  expect(provider.addcmd).not_to include("-p")
100
- expect(provider).to receive(:password=)
101
- expect(provider).to receive(:execute).with(excluding("-p"), kind_of(Hash))
98
+ provider.expects(:password=)
99
+ provider.expects(:execute).with(Not(includes("-p")), kind_of(Hash))
102
100
  provider.create
103
101
  end
104
102
  end
@@ -106,9 +104,9 @@ describe Puppet::Type.type(:user).provider(:pw) do
106
104
  context "when deleting users" do
107
105
  it "should run pw with no additional flags" do
108
106
  provider = resource.provider
109
- expect(provider).to receive(:exists?).and_return(true)
107
+ provider.expects(:exists?).returns true
110
108
  expect(provider.deletecmd).to eq([described_class.command(:pw), "userdel", "testuser"])
111
- expect(provider).to receive(:execute).with([described_class.command(:pw), "userdel", "testuser"], hash_including(custom_environment: {}))
109
+ provider.expects(:execute).with([described_class.command(:pw), "userdel", "testuser"], has_entry(:custom_environment, {}))
112
110
  provider.delete
113
111
  end
114
112
 
@@ -117,17 +115,17 @@ describe Puppet::Type.type(:user).provider(:pw) do
117
115
  # have an explicit test.
118
116
  it "should not use -r when managehome is not set" do
119
117
  provider = resource.provider
120
- expect(provider).to receive(:exists?).and_return(true)
118
+ provider.expects(:exists?).returns true
121
119
  resource[:managehome] = false
122
- expect(provider).to receive(:execute).with(excluding("-r"), hash_including(custom_environment: {}))
120
+ provider.expects(:execute).with(Not(includes("-r")), has_entry(:custom_environment, {}))
123
121
  provider.delete
124
122
  end
125
123
 
126
124
  it "should use -r when managehome is set" do
127
125
  provider = resource.provider
128
- expect(provider).to receive(:exists?).and_return(true)
126
+ provider.expects(:exists?).returns true
129
127
  resource[:managehome] = true
130
- expect(provider).to receive(:execute).with(include("-r"), hash_including(custom_environment: {}))
128
+ provider.expects(:execute).with(includes("-r"), has_entry(:custom_environment, {}))
131
129
  provider.delete
132
130
  end
133
131
  end
@@ -139,74 +137,74 @@ describe Puppet::Type.type(:user).provider(:pw) do
139
137
 
140
138
  it "should run pw with the correct arguments" do
141
139
  expect(provider.modifycmd("uid", 12345)).to eq([described_class.command(:pw), "usermod", "testuser", "-u", 12345])
142
- expect(provider).to receive(:execute).with([described_class.command(:pw), "usermod", "testuser", "-u", 12345], hash_including(custom_environment: {}))
140
+ provider.expects(:execute).with([described_class.command(:pw), "usermod", "testuser", "-u", 12345], has_entry(:custom_environment, {}))
143
141
  provider.uid = 12345
144
142
  end
145
143
 
146
144
  it "should use -c with the correct argument when the comment property is changed" do
147
145
  resource[:comment] = "Testuser Name"
148
- expect(provider).to receive(:execute).with(include("-c").and(include("Testuser New Name")), hash_including(custom_environment: {}))
146
+ provider.expects(:execute).with(all_of(includes("-c"), includes("Testuser New Name")), has_entry(:custom_environment, {}))
149
147
  provider.comment = "Testuser New Name"
150
148
  end
151
149
 
152
150
  it "should use -e with the correct argument when the expiry property is changed" do
153
151
  resource[:expiry] = "2010-02-19"
154
- expect(provider).to receive(:execute).with(include("-e").and(include("19-02-2011")), hash_including(custom_environment: {}))
152
+ provider.expects(:execute).with(all_of(includes("-e"), includes("19-02-2011")), has_entry(:custom_environment, {}))
155
153
  provider.expiry = "2011-02-19"
156
154
  end
157
155
 
158
156
  it "should use -e with the correct argument when the expiry property is removed" do
159
157
  resource[:expiry] = :absent
160
- expect(provider).to receive(:execute).with(include("-e").and(include("00-00-0000")), hash_including(custom_environment: {}))
158
+ provider.expects(:execute).with(all_of(includes("-e"), includes("00-00-0000")), has_entry(:custom_environment, {}))
161
159
  provider.expiry = :absent
162
160
  end
163
161
 
164
162
  it "should use -g with the correct argument when the gid property is changed" do
165
163
  resource[:gid] = 12345
166
- expect(provider).to receive(:execute).with(include("-g").and(include(54321)), hash_including(custom_environment: {}))
164
+ provider.expects(:execute).with(all_of(includes("-g"), includes(54321)), has_entry(:custom_environment, {}))
167
165
  provider.gid = 54321
168
166
  end
169
167
 
170
168
  it "should use -G with the correct argument when the groups property is changed" do
171
169
  resource[:groups] = "group1"
172
- expect(provider).to receive(:execute).with(include("-G").and(include("group2")), hash_including(custom_environment: {}))
170
+ provider.expects(:execute).with(all_of(includes("-G"), includes("group2")), has_entry(:custom_environment, {}))
173
171
  provider.groups = "group2"
174
172
  end
175
173
 
176
174
  it "should use -G with all the given groups when the groups property is changed with an array" do
177
175
  resource[:groups] = ["group1", "group2"]
178
- expect(provider).to receive(:execute).with(include("-G").and(include("group3,group4")), hash_including(custom_environment: {}))
176
+ provider.expects(:execute).with(all_of(includes("-G"), includes("group3,group4")), has_entry(:custom_environment, {}))
179
177
  provider.groups = "group3,group4"
180
178
  end
181
179
 
182
180
  it "should use -d with the correct argument when the home property is changed" do
183
181
  resource[:home] = "/home/testuser"
184
- expect(provider).to receive(:execute).with(include("-d").and(include("/newhome/testuser")), hash_including(custom_environment: {}))
182
+ provider.expects(:execute).with(all_of(includes("-d"), includes("/newhome/testuser")), has_entry(:custom_environment, {}))
185
183
  provider.home = "/newhome/testuser"
186
184
  end
187
185
 
188
186
  it "should use -m and -d with the correct argument when the home property is changed and managehome is enabled" do
189
187
  resource[:home] = "/home/testuser"
190
188
  resource[:managehome] = true
191
- expect(provider).to receive(:execute).with(include("-d").and(include("/newhome/testuser")).and(include("-m")), hash_including(custom_environment: {}))
189
+ provider.expects(:execute).with(all_of(includes("-d"), includes("/newhome/testuser"), includes("-m")), has_entry(:custom_environment, {}))
192
190
  provider.home = "/newhome/testuser"
193
191
  end
194
192
 
195
193
  it "should call the password set function with the correct argument when the password property is changed" do
196
194
  resource[:password] = "*"
197
- expect(provider).to receive(:password=).with("!")
195
+ provider.expects(:password=).with("!")
198
196
  provider.password = "!"
199
197
  end
200
198
 
201
199
  it "should use -s with the correct argument when the shell property is changed" do
202
200
  resource[:shell] = "/bin/sh"
203
- expect(provider).to receive(:execute).with(include("-s").and(include("/bin/tcsh")), hash_including(custom_environment: {}))
201
+ provider.expects(:execute).with(all_of(includes("-s"), includes("/bin/tcsh")), has_entry(:custom_environment, {}))
204
202
  provider.shell = "/bin/tcsh"
205
203
  end
206
204
 
207
205
  it "should use -u with the correct argument when the uid property is changed" do
208
206
  resource[:uid] = 12345
209
- expect(provider).to receive(:execute).with(include("-u").and(include(54321)), hash_including(custom_environment: {}))
207
+ provider.expects(:execute).with(all_of(includes("-u"), includes(54321)), has_entry(:custom_environment, {}))
210
208
  provider.uid = 54321
211
209
  end
212
210
  end