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

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

Potentially problematic release.


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

Files changed (748) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -0
  3. data/Gemfile.lock +31 -27
  4. data/Guardfile.example +76 -0
  5. data/LICENSE +189 -4
  6. data/MAINTAINERS +47 -0
  7. data/README.md +3 -3
  8. data/lib/hiera/scope.rb +0 -7
  9. data/lib/puppet.rb +6 -5
  10. data/lib/puppet/application.rb +3 -3
  11. data/lib/puppet/application/cert.rb +2 -2
  12. data/lib/puppet/application/device.rb +83 -109
  13. data/lib/puppet/application/filebucket.rb +1 -10
  14. data/lib/puppet/application/ssl.rb +0 -2
  15. data/lib/puppet/configurer.rb +9 -10
  16. data/lib/puppet/confine/false.rb +1 -7
  17. data/lib/puppet/confine/true.rb +1 -7
  18. data/lib/puppet/defaults.rb +39 -51
  19. data/lib/puppet/forge.rb +1 -4
  20. data/lib/puppet/functions/abs.rb +1 -1
  21. data/lib/puppet/functions/call.rb +1 -2
  22. data/lib/puppet/functions/new.rb +1 -1
  23. data/lib/puppet/indirector/request.rb +15 -26
  24. data/lib/puppet/network/http/connection.rb +12 -32
  25. data/lib/puppet/network/http/factory.rb +0 -5
  26. data/lib/puppet/pal/catalog_compiler.rb +96 -0
  27. data/lib/puppet/pal/compiler.rb +221 -0
  28. data/lib/puppet/pal/function_signature.rb +52 -0
  29. data/lib/puppet/pal/json_catalog_encoder.rb +67 -0
  30. data/lib/puppet/pal/pal_api.rb +15 -0
  31. data/lib/puppet/pal/pal_impl.rb +523 -0
  32. data/lib/puppet/pal/plan_signature.rb +71 -0
  33. data/lib/puppet/pal/script_compiler.rb +71 -0
  34. data/lib/puppet/pal/task_signature.rb +58 -0
  35. data/lib/puppet/parser/functions/generate.rb +7 -6
  36. data/lib/puppet/plugins/configuration.rb +5 -1
  37. data/lib/puppet/pops/evaluator/evaluator_impl.rb +5 -1
  38. data/lib/puppet/pops/evaluator/external_syntax_support.rb +3 -3
  39. data/lib/puppet/pops/issues.rb +0 -4
  40. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +4 -60
  41. data/lib/puppet/pops/model/factory.rb +4 -38
  42. data/lib/puppet/pops/model/pn_transformer.rb +0 -5
  43. data/lib/puppet/pops/parser/egrammar.ra +2 -2
  44. data/lib/puppet/pops/parser/heredoc_support.rb +7 -17
  45. data/lib/puppet/pops/parser/lexer2.rb +1 -6
  46. data/lib/puppet/pops/parser/locator.rb +86 -106
  47. data/lib/puppet/pops/parser/parser_support.rb +2 -11
  48. data/lib/puppet/pops/types/string_converter.rb +7 -2
  49. data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -1
  50. data/lib/puppet/pops/types/types.rb +3 -5
  51. data/lib/puppet/pops/validation/checker4_0.rb +13 -0
  52. data/lib/puppet/provider.rb +2 -1
  53. data/lib/puppet/provider/exec.rb +6 -1
  54. data/lib/puppet/provider/file/windows.rb +1 -49
  55. data/lib/puppet/provider/group/windows_adsi.rb +1 -4
  56. data/lib/puppet/provider/package.rb +0 -2
  57. data/lib/puppet/provider/package/dpkg.rb +2 -15
  58. data/lib/puppet/provider/package/gem.rb +42 -102
  59. data/lib/puppet/provider/package/pip.rb +111 -135
  60. data/lib/puppet/provider/package/pip3.rb +1 -1
  61. data/lib/puppet/provider/package/pkgng.rb +37 -21
  62. data/lib/puppet/provider/package/puppet_gem.rb +1 -1
  63. data/lib/puppet/provider/package/rpm.rb +16 -27
  64. data/lib/puppet/provider/package/windows.rb +1 -5
  65. data/lib/puppet/provider/package/yum.rb +1 -2
  66. data/lib/puppet/provider/service/systemd.rb +17 -0
  67. data/lib/puppet/provider/service/upstart.rb +5 -17
  68. data/lib/puppet/provider/service/windows.rb +8 -3
  69. data/lib/puppet/provider/user/directoryservice.rb +4 -16
  70. data/lib/puppet/provider/user/useradd.rb +13 -16
  71. data/lib/puppet/resource.rb +3 -1
  72. data/lib/puppet/rest/client.rb +83 -0
  73. data/lib/puppet/rest/route.rb +1 -1
  74. data/lib/puppet/settings.rb +5 -10
  75. data/lib/puppet/settings/server_list_setting.rb +0 -9
  76. data/lib/puppet/ssl/host.rb +11 -0
  77. data/lib/puppet/ssl/validator/default_validator.rb +0 -31
  78. data/lib/puppet/syntax_checkers/epp.rb +34 -0
  79. data/lib/puppet/syntax_checkers/pp.rb +34 -0
  80. data/lib/puppet/transaction.rb +7 -12
  81. data/lib/puppet/transaction/event_manager.rb +5 -1
  82. data/lib/puppet/transaction/resource_harness.rb +0 -1
  83. data/lib/puppet/type.rb +6 -0
  84. data/lib/puppet/type/exec.rb +5 -27
  85. data/lib/puppet/type/file/mode.rb +1 -6
  86. data/lib/puppet/type/file/source.rb +1 -0
  87. data/lib/puppet/type/filebucket.rb +8 -12
  88. data/lib/puppet/type/package.rb +11 -44
  89. data/lib/puppet/type/schedule.rb +0 -4
  90. data/lib/puppet/type/service.rb +12 -0
  91. data/lib/puppet/type/user.rb +1 -1
  92. data/lib/puppet/util/command_line.rb +1 -5
  93. data/lib/puppet/util/connection.rb +6 -15
  94. data/lib/puppet/util/http_proxy.rb +2 -3
  95. data/lib/puppet/util/log.rb +2 -7
  96. data/lib/puppet/util/pidlock.rb +1 -15
  97. data/lib/puppet/util/windows/process.rb +5 -73
  98. data/lib/puppet/util/windows/registry.rb +1 -7
  99. data/lib/puppet/util/windows/security.rb +8 -29
  100. data/lib/puppet/util/windows/service.rb +33 -27
  101. data/lib/puppet/util/windows/user.rb +4 -14
  102. data/lib/puppet/version.rb +1 -1
  103. data/lib/puppet_pal.rb +5 -1132
  104. data/locales/ja/puppet.po +297 -363
  105. data/locales/puppet.pot +445 -517
  106. data/man/man5/puppet.conf.5 +12 -20
  107. data/man/man8/puppet-agent.8 +1 -1
  108. data/man/man8/puppet-apply.8 +1 -1
  109. data/man/man8/puppet-catalog.8 +1 -1
  110. data/man/man8/puppet-config.8 +1 -1
  111. data/man/man8/puppet-describe.8 +1 -1
  112. data/man/man8/puppet-device.8 +1 -1
  113. data/man/man8/puppet-doc.8 +1 -1
  114. data/man/man8/puppet-epp.8 +1 -1
  115. data/man/man8/puppet-facts.8 +1 -1
  116. data/man/man8/puppet-filebucket.8 +2 -6
  117. data/man/man8/puppet-generate.8 +1 -1
  118. data/man/man8/puppet-help.8 +1 -1
  119. data/man/man8/puppet-key.8 +1 -1
  120. data/man/man8/puppet-lookup.8 +1 -1
  121. data/man/man8/puppet-man.8 +1 -1
  122. data/man/man8/puppet-module.8 +1 -1
  123. data/man/man8/puppet-node.8 +1 -1
  124. data/man/man8/puppet-parser.8 +1 -1
  125. data/man/man8/puppet-plugin.8 +1 -1
  126. data/man/man8/puppet-report.8 +1 -1
  127. data/man/man8/puppet-resource.8 +1 -1
  128. data/man/man8/puppet-script.8 +1 -1
  129. data/man/man8/puppet-ssl.8 +1 -1
  130. data/man/man8/puppet-status.8 +1 -1
  131. data/man/man8/puppet.8 +2 -2
  132. data/spec/fixtures/unit/provider/package/pkgng/pkg.query +7 -1
  133. data/spec/fixtures/unit/provider/package/pkgng/pkg.query.zsh +1 -0
  134. data/spec/integration/agent/logging_spec.rb +7 -5
  135. data/spec/integration/application/apply_spec.rb +16 -18
  136. data/spec/integration/application/doc_spec.rb +2 -1
  137. data/spec/integration/application/lookup_spec.rb +5 -5
  138. data/spec/integration/configurer_spec.rb +6 -5
  139. data/spec/integration/defaults_spec.rb +6 -5
  140. data/spec/integration/directory_environments_spec.rb +1 -1
  141. data/spec/integration/faces/config_spec.rb +4 -3
  142. data/spec/integration/faces/documentation_spec.rb +1 -0
  143. data/spec/integration/faces/plugin_spec.rb +1 -1
  144. data/spec/integration/file_bucket/file_spec.rb +4 -2
  145. data/spec/integration/file_serving/content_spec.rb +1 -0
  146. data/spec/integration/file_serving/fileset_spec.rb +1 -0
  147. data/spec/integration/file_serving/metadata_spec.rb +1 -0
  148. data/spec/integration/file_serving/terminus_helper_spec.rb +1 -0
  149. data/spec/integration/indirector/catalog/compiler_spec.rb +11 -10
  150. data/spec/integration/indirector/direct_file_server_spec.rb +1 -1
  151. data/spec/integration/indirector/facts/facter_spec.rb +5 -4
  152. data/spec/integration/indirector/file_content/file_server_spec.rb +8 -7
  153. data/spec/integration/indirector/file_metadata/file_server_spec.rb +8 -7
  154. data/spec/integration/network/authconfig_spec.rb +24 -23
  155. data/spec/integration/network/formats_spec.rb +1 -0
  156. data/spec/integration/node/environment_spec.rb +1 -0
  157. data/spec/integration/node/facts_spec.rb +10 -9
  158. data/spec/integration/node_spec.rb +7 -6
  159. data/spec/integration/parser/catalog_spec.rb +5 -1
  160. data/spec/integration/parser/collection_spec.rb +2 -1
  161. data/spec/integration/parser/compiler_spec.rb +6 -6
  162. data/spec/integration/parser/scope_spec.rb +1 -1
  163. data/spec/integration/parser/undef_param_spec.rb +1 -1
  164. data/spec/integration/provider/service/init_spec.rb +5 -4
  165. data/spec/integration/provider/service/systemd_spec.rb +2 -0
  166. data/spec/integration/provider/service/windows_spec.rb +2 -1
  167. data/spec/integration/reference/providers_spec.rb +2 -1
  168. data/spec/integration/reports_spec.rb +2 -1
  169. data/spec/integration/resource/catalog_spec.rb +17 -14
  170. data/spec/integration/resource/type_collection_spec.rb +5 -4
  171. data/spec/integration/ssl/certificate_request_spec.rb +1 -0
  172. data/spec/integration/ssl/host_spec.rb +2 -1
  173. data/spec/integration/ssl/key_spec.rb +1 -0
  174. data/spec/integration/test/test_helper_spec.rb +1 -0
  175. data/spec/integration/transaction/report_spec.rb +11 -6
  176. data/spec/integration/transaction_spec.rb +19 -18
  177. data/spec/integration/type/exec_spec.rb +1 -0
  178. data/spec/integration/type/file_spec.rb +33 -13
  179. data/spec/integration/type/package_spec.rb +24 -20
  180. data/spec/integration/type/tidy_spec.rb +2 -1
  181. data/spec/integration/type_spec.rb +1 -0
  182. data/spec/integration/util/autoload_spec.rb +2 -1
  183. data/spec/integration/util/rdoc/parser_spec.rb +1 -0
  184. data/spec/integration/util/settings_spec.rb +1 -0
  185. data/spec/integration/util/windows/adsi_spec.rb +5 -3
  186. data/spec/integration/util/windows/principal_spec.rb +1 -0
  187. data/spec/integration/util/windows/process_spec.rb +6 -4
  188. data/spec/integration/util/windows/registry_spec.rb +51 -93
  189. data/spec/integration/util/windows/security_spec.rb +4 -2
  190. data/spec/integration/util/windows/user_spec.rb +20 -37
  191. data/spec/integration/util_spec.rb +7 -4
  192. data/spec/lib/puppet_spec/compiler.rb +1 -1
  193. data/spec/lib/puppet_spec/files.rb +1 -0
  194. data/spec/lib/puppet_spec/module_tool/shared_functions.rb +1 -1
  195. data/spec/lib/puppet_spec/scope.rb +2 -1
  196. data/spec/shared_behaviours/all_parsedfile_providers.rb +1 -1
  197. data/spec/shared_behaviours/file_server_terminus.rb +9 -8
  198. data/spec/shared_behaviours/file_serving.rb +8 -6
  199. data/spec/shared_behaviours/file_serving_model.rb +5 -3
  200. data/spec/shared_behaviours/hiera_indirections.rb +4 -3
  201. data/spec/shared_behaviours/iterative_functions.rb +1 -0
  202. data/spec/shared_behaviours/memory_terminus.rb +2 -2
  203. data/spec/shared_examples/rhel_package_provider.rb +70 -112
  204. data/spec/spec_helper.rb +2 -11
  205. data/spec/unit/agent/disabler_spec.rb +5 -4
  206. data/spec/unit/agent/locker_spec.rb +13 -12
  207. data/spec/unit/agent_spec.rb +85 -80
  208. data/spec/unit/application/agent_spec.rb +93 -88
  209. data/spec/unit/application/apply_spec.rb +83 -82
  210. data/spec/unit/application/config_spec.rb +1 -0
  211. data/spec/unit/application/describe_spec.rb +7 -6
  212. data/spec/unit/application/device_spec.rb +419 -395
  213. data/spec/unit/application/doc_spec.rb +46 -44
  214. data/spec/unit/application/face_base_spec.rb +62 -61
  215. data/spec/unit/application/facts_spec.rb +4 -3
  216. data/spec/unit/application/filebucket_spec.rb +74 -66
  217. data/spec/unit/application/indirection_base_spec.rb +6 -8
  218. data/spec/unit/application/lookup_spec.rb +26 -26
  219. data/spec/unit/application/resource_spec.rb +48 -42
  220. data/spec/unit/application/ssl_spec.rb +3 -8
  221. data/spec/unit/application_spec.rb +98 -86
  222. data/spec/unit/capability_spec.rb +6 -6
  223. data/spec/unit/certificate_factory_spec.rb +5 -3
  224. data/spec/unit/configurer/downloader_spec.rb +21 -20
  225. data/spec/unit/configurer/fact_handler_spec.rb +3 -2
  226. data/spec/unit/configurer/plugin_handler_spec.rb +8 -41
  227. data/spec/unit/configurer_spec.rb +198 -194
  228. data/spec/unit/confine/exists_spec.rb +15 -17
  229. data/spec/unit/confine/false_spec.rb +6 -32
  230. data/spec/unit/confine/feature_spec.rb +5 -7
  231. data/spec/unit/confine/true_spec.rb +6 -32
  232. data/spec/unit/confine/variable_spec.rb +15 -14
  233. data/spec/unit/confine_collection_spec.rb +29 -28
  234. data/spec/unit/confine_spec.rb +14 -13
  235. data/spec/unit/confiner_spec.rb +11 -10
  236. data/spec/unit/context/trusted_information_spec.rb +1 -1
  237. data/spec/unit/daemon_spec.rb +36 -35
  238. data/spec/unit/data_providers/function_data_provider_spec.rb +1 -0
  239. data/spec/unit/data_providers/hiera_data_provider_spec.rb +1 -0
  240. data/spec/unit/datatypes_spec.rb +4 -3
  241. data/spec/unit/defaults_spec.rb +27 -18
  242. data/spec/unit/environments_spec.rb +7 -7
  243. data/spec/unit/etc_spec.rb +32 -30
  244. data/spec/unit/external/pson_spec.rb +1 -0
  245. data/spec/unit/face/catalog_spec.rb +1 -0
  246. data/spec/unit/face/config_spec.rb +35 -31
  247. data/spec/unit/face/epp_face_spec.rb +4 -3
  248. data/spec/unit/face/facts_spec.rb +6 -5
  249. data/spec/unit/face/generate_spec.rb +5 -4
  250. data/spec/unit/face/help_spec.rb +8 -7
  251. data/spec/unit/face/key_spec.rb +1 -0
  252. data/spec/unit/face/man_spec.rb +2 -1
  253. data/spec/unit/face/module/install_spec.rb +5 -3
  254. data/spec/unit/face/module/list_spec.rb +12 -2
  255. data/spec/unit/face/module/search_spec.rb +9 -11
  256. data/spec/unit/face/module/uninstall_spec.rb +8 -4
  257. data/spec/unit/face/node_spec.rb +24 -23
  258. data/spec/unit/face/parser_spec.rb +18 -3
  259. data/spec/unit/face/plugin_spec.rb +9 -36
  260. data/spec/unit/face/status_spec.rb +1 -0
  261. data/spec/unit/file_bucket/dipper_spec.rb +20 -24
  262. data/spec/unit/file_bucket/file_spec.rb +2 -0
  263. data/spec/unit/file_serving/base_spec.rb +15 -14
  264. data/spec/unit/file_serving/configuration/parser_spec.rb +28 -27
  265. data/spec/unit/file_serving/configuration_spec.rb +66 -63
  266. data/spec/unit/file_serving/content_spec.rb +11 -10
  267. data/spec/unit/file_serving/fileset_spec.rb +58 -63
  268. data/spec/unit/file_serving/http_metadata_spec.rb +7 -8
  269. data/spec/unit/file_serving/metadata_spec.rb +36 -36
  270. data/spec/unit/file_serving/mount/file_spec.rb +32 -31
  271. data/spec/unit/file_serving/mount/locales_spec.rb +24 -23
  272. data/spec/unit/file_serving/mount/modules_spec.rb +15 -14
  273. data/spec/unit/file_serving/mount/pluginfacts_spec.rb +24 -23
  274. data/spec/unit/file_serving/mount/plugins_spec.rb +24 -23
  275. data/spec/unit/file_serving/mount/tasks_spec.rb +15 -14
  276. data/spec/unit/file_serving/mount_spec.rb +1 -0
  277. data/spec/unit/file_serving/terminus_helper_spec.rb +42 -37
  278. data/spec/unit/file_serving/terminus_selector_spec.rb +13 -12
  279. data/spec/unit/file_system/uniquefile_spec.rb +4 -4
  280. data/spec/unit/file_system_spec.rb +2 -2
  281. data/spec/unit/forge/errors_spec.rb +1 -1
  282. data/spec/unit/forge/forge_spec.rb +16 -17
  283. data/spec/unit/forge/module_release_spec.rb +18 -18
  284. data/spec/unit/forge/repository_spec.rb +30 -29
  285. data/spec/unit/forge_spec.rb +11 -15
  286. data/spec/unit/functions/binary_file_spec.rb +3 -3
  287. data/spec/unit/functions/contain_spec.rb +2 -0
  288. data/spec/unit/functions/defined_spec.rb +1 -0
  289. data/spec/unit/functions/epp_spec.rb +2 -2
  290. data/spec/unit/functions/find_file_spec.rb +7 -7
  291. data/spec/unit/functions/include_spec.rb +4 -0
  292. data/spec/unit/functions/lookup_fixture_spec.rb +1 -0
  293. data/spec/unit/functions/lookup_spec.rb +2 -1
  294. data/spec/unit/functions/module_directory_spec.rb +12 -12
  295. data/spec/unit/functions/new_spec.rb +0 -15
  296. data/spec/unit/functions/require_spec.rb +3 -0
  297. data/spec/unit/functions/shared.rb +8 -5
  298. data/spec/unit/functions/versioncmp_spec.rb +2 -1
  299. data/spec/unit/functions4_spec.rb +10 -9
  300. data/spec/unit/gettext/config_spec.rb +4 -4
  301. data/spec/unit/gettext/module_loading_spec.rb +7 -7
  302. data/spec/unit/graph/rb_tree_map_spec.rb +2 -0
  303. data/spec/unit/graph/relationship_graph_spec.rb +2 -1
  304. data/spec/unit/graph/simple_graph_spec.rb +10 -9
  305. data/spec/unit/hiera/scope_spec.rb +0 -7
  306. data/spec/unit/hiera_puppet_spec.rb +20 -20
  307. data/spec/unit/indirector/catalog/compiler_spec.rb +149 -147
  308. data/spec/unit/indirector/catalog/json_spec.rb +2 -1
  309. data/spec/unit/indirector/catalog/msgpack_spec.rb +1 -0
  310. data/spec/unit/indirector/catalog/rest_spec.rb +1 -0
  311. data/spec/unit/indirector/catalog/store_configs_spec.rb +1 -0
  312. data/spec/unit/indirector/catalog/yaml_spec.rb +1 -0
  313. data/spec/unit/indirector/certificate/file_spec.rb +1 -0
  314. data/spec/unit/indirector/certificate/rest_spec.rb +10 -8
  315. data/spec/unit/indirector/certificate_request/file_spec.rb +1 -0
  316. data/spec/unit/indirector/certificate_request/rest_spec.rb +1 -0
  317. data/spec/unit/indirector/direct_file_server_spec.rb +18 -17
  318. data/spec/unit/indirector/envelope_spec.rb +2 -1
  319. data/spec/unit/indirector/exec_spec.rb +5 -4
  320. data/spec/unit/indirector/face_spec.rb +9 -9
  321. data/spec/unit/indirector/facts/facter_spec.rb +43 -37
  322. data/spec/unit/indirector/facts/network_device_spec.rb +9 -8
  323. data/spec/unit/indirector/facts/rest_spec.rb +8 -7
  324. data/spec/unit/indirector/facts/store_configs_spec.rb +1 -0
  325. data/spec/unit/indirector/facts/yaml_spec.rb +1 -0
  326. data/spec/unit/indirector/file_bucket_file/file_spec.rb +4 -3
  327. data/spec/unit/indirector/file_bucket_file/rest_spec.rb +1 -0
  328. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +5 -4
  329. data/spec/unit/indirector/file_content/file_server_spec.rb +1 -0
  330. data/spec/unit/indirector/file_content/file_spec.rb +1 -0
  331. data/spec/unit/indirector/file_content/rest_spec.rb +1 -0
  332. data/spec/unit/indirector/file_content/selector_spec.rb +1 -0
  333. data/spec/unit/indirector/file_metadata/file_server_spec.rb +1 -0
  334. data/spec/unit/indirector/file_metadata/file_spec.rb +13 -12
  335. data/spec/unit/indirector/file_metadata/rest_spec.rb +1 -0
  336. data/spec/unit/indirector/file_metadata/selector_spec.rb +1 -0
  337. data/spec/unit/indirector/file_server_spec.rb +87 -87
  338. data/spec/unit/indirector/indirection_spec.rb +226 -242
  339. data/spec/unit/indirector/json_spec.rb +9 -7
  340. data/spec/unit/indirector/key/file_spec.rb +22 -21
  341. data/spec/unit/indirector/memory_spec.rb +7 -6
  342. data/spec/unit/indirector/msgpack_spec.rb +9 -7
  343. data/spec/unit/indirector/node/exec_spec.rb +3 -2
  344. data/spec/unit/indirector/node/memory_spec.rb +4 -2
  345. data/spec/unit/indirector/node/msgpack_spec.rb +1 -0
  346. data/spec/unit/indirector/node/plain_spec.rb +4 -2
  347. data/spec/unit/indirector/node/rest_spec.rb +1 -0
  348. data/spec/unit/indirector/node/store_configs_spec.rb +1 -0
  349. data/spec/unit/indirector/node/yaml_spec.rb +1 -0
  350. data/spec/unit/indirector/none_spec.rb +5 -5
  351. data/spec/unit/indirector/plain_spec.rb +8 -7
  352. data/spec/unit/indirector/report/msgpack_spec.rb +1 -0
  353. data/spec/unit/indirector/report/processor_spec.rb +22 -21
  354. data/spec/unit/indirector/report/rest_spec.rb +12 -11
  355. data/spec/unit/indirector/report/yaml_spec.rb +1 -0
  356. data/spec/unit/indirector/request_spec.rb +12 -11
  357. data/spec/unit/indirector/resource/ral_spec.rb +54 -47
  358. data/spec/unit/indirector/resource/store_configs_spec.rb +1 -0
  359. data/spec/unit/indirector/rest_spec.rb +110 -113
  360. data/spec/unit/indirector/ssl_file_spec.rb +65 -64
  361. data/spec/unit/indirector/status/local_spec.rb +1 -0
  362. data/spec/unit/indirector/status/rest_spec.rb +1 -0
  363. data/spec/unit/indirector/store_configs_spec.rb +1 -0
  364. data/spec/unit/indirector/terminus_spec.rb +27 -27
  365. data/spec/unit/indirector/yaml_spec.rb +6 -5
  366. data/spec/unit/indirector_spec.rb +2 -1
  367. data/spec/unit/info_service_spec.rb +1 -1
  368. data/spec/unit/interface/action_builder_spec.rb +1 -0
  369. data/spec/unit/interface/action_manager_spec.rb +1 -0
  370. data/spec/unit/interface/action_spec.rb +3 -2
  371. data/spec/unit/interface/documentation_spec.rb +1 -0
  372. data/spec/unit/interface/face_collection_spec.rb +12 -19
  373. data/spec/unit/interface_spec.rb +3 -3
  374. data/spec/unit/man_spec.rb +4 -3
  375. data/spec/unit/module_spec.rb +51 -46
  376. data/spec/unit/module_tool/applications/installer_spec.rb +11 -10
  377. data/spec/unit/module_tool/applications/searcher_spec.rb +3 -3
  378. data/spec/unit/module_tool/applications/uninstaller_spec.rb +2 -1
  379. data/spec/unit/module_tool/applications/unpacker_spec.rb +13 -13
  380. data/spec/unit/module_tool/applications/upgrader_spec.rb +5 -5
  381. data/spec/unit/module_tool/install_directory_spec.rb +8 -8
  382. data/spec/unit/module_tool/installed_modules_spec.rb +3 -3
  383. data/spec/unit/module_tool/tar/gnu_spec.rb +6 -6
  384. data/spec/unit/module_tool/tar/mini_spec.rb +12 -12
  385. data/spec/unit/module_tool/tar_spec.rb +13 -12
  386. data/spec/unit/module_tool_spec.rb +12 -7
  387. data/spec/unit/network/auth_config_parser_spec.rb +13 -11
  388. data/spec/unit/network/authconfig_spec.rb +18 -17
  389. data/spec/unit/network/authorization_spec.rb +5 -4
  390. data/spec/unit/network/authstore_spec.rb +1 -0
  391. data/spec/unit/network/format_handler_spec.rb +1 -0
  392. data/spec/unit/network/format_spec.rb +10 -9
  393. data/spec/unit/network/format_support_spec.rb +29 -28
  394. data/spec/unit/network/formats_spec.rb +5 -4
  395. data/spec/unit/network/http/api/indirected_routes_spec.rb +29 -24
  396. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +2 -2
  397. data/spec/unit/network/http/api/master/v3/environment_spec.rb +1 -1
  398. data/spec/unit/network/http/api/master/v3/environments_spec.rb +7 -6
  399. data/spec/unit/network/http/api_spec.rb +2 -0
  400. data/spec/unit/network/http/compression_spec.rb +22 -21
  401. data/spec/unit/network/http/connection_spec.rb +121 -30
  402. data/spec/unit/network/http/factory_spec.rb +6 -11
  403. data/spec/unit/network/http/handler_spec.rb +18 -9
  404. data/spec/unit/network/http/nocache_pool_spec.rb +7 -6
  405. data/spec/unit/network/http/pool_spec.rb +29 -28
  406. data/spec/unit/network/http/request_spec.rb +2 -0
  407. data/spec/unit/network/http/response_spec.rb +13 -11
  408. data/spec/unit/network/http/route_spec.rb +1 -0
  409. data/spec/unit/network/http/session_spec.rb +2 -1
  410. data/spec/unit/network/http/site_spec.rb +1 -0
  411. data/spec/unit/network/http_pool_spec.rb +9 -18
  412. data/spec/unit/network/http_spec.rb +1 -0
  413. data/spec/unit/network/resolver_spec.rb +26 -25
  414. data/spec/unit/network/rights_spec.rb +53 -52
  415. data/spec/unit/node/environment_spec.rb +15 -14
  416. data/spec/unit/node/facts_spec.rb +7 -5
  417. data/spec/unit/node_spec.rb +10 -4
  418. data/spec/unit/other/selinux_spec.rb +1 -0
  419. data/spec/unit/parameter/boolean_spec.rb +2 -1
  420. data/spec/unit/parameter/package_options_spec.rb +2 -1
  421. data/spec/unit/parameter/path_spec.rb +1 -0
  422. data/spec/unit/parameter/value_collection_spec.rb +1 -0
  423. data/spec/unit/parameter/value_spec.rb +1 -0
  424. data/spec/unit/parameter_spec.rb +9 -9
  425. data/spec/unit/parser/ast/block_expression_spec.rb +8 -6
  426. data/spec/unit/parser/ast/leaf_spec.rb +21 -20
  427. data/spec/unit/parser/compiler_spec.rb +96 -84
  428. data/spec/unit/parser/environment_compiler_spec.rb +8 -7
  429. data/spec/unit/parser/files_spec.rb +1 -0
  430. data/spec/unit/parser/functions/create_resources_spec.rb +1 -1
  431. data/spec/unit/parser/functions/digest_spec.rb +1 -0
  432. data/spec/unit/parser/functions/fail_spec.rb +2 -1
  433. data/spec/unit/parser/functions/file_spec.rb +14 -13
  434. data/spec/unit/parser/functions/fqdn_rand_spec.rb +6 -5
  435. data/spec/unit/parser/functions/generate_spec.rb +8 -7
  436. data/spec/unit/parser/functions/inline_template_spec.rb +1 -0
  437. data/spec/unit/parser/functions/regsubst_spec.rb +1 -0
  438. data/spec/unit/parser/functions/scanf_spec.rb +1 -0
  439. data/spec/unit/parser/functions/shellquote_spec.rb +1 -0
  440. data/spec/unit/parser/functions/split_spec.rb +1 -0
  441. data/spec/unit/parser/functions/sprintf_spec.rb +1 -0
  442. data/spec/unit/parser/functions/tag_spec.rb +2 -1
  443. data/spec/unit/parser/functions/tagged_spec.rb +3 -2
  444. data/spec/unit/parser/functions/template_spec.rb +13 -13
  445. data/spec/unit/parser/functions/versioncmp_spec.rb +2 -1
  446. data/spec/unit/parser/functions_spec.rb +7 -6
  447. data/spec/unit/parser/relationship_spec.rb +1 -0
  448. data/spec/unit/parser/resource_spec.rb +42 -42
  449. data/spec/unit/parser/scope_spec.rb +35 -39
  450. data/spec/unit/parser/templatewrapper_spec.rb +12 -11
  451. data/spec/unit/parser/type_loader_spec.rb +19 -17
  452. data/spec/unit/pops/adaptable_spec.rb +1 -0
  453. data/spec/unit/pops/benchmark_spec.rb +1 -0
  454. data/spec/unit/pops/evaluator/access_ops_spec.rb +1 -0
  455. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +1 -0
  456. data/spec/unit/pops/evaluator/basic_expressions_spec.rb +1 -0
  457. data/spec/unit/pops/evaluator/collections_ops_spec.rb +1 -0
  458. data/spec/unit/pops/evaluator/comparison_ops_spec.rb +1 -0
  459. data/spec/unit/pops/evaluator/conditionals_spec.rb +1 -0
  460. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +47 -10
  461. data/spec/unit/pops/evaluator/logical_ops_spec.rb +1 -0
  462. data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +1 -0
  463. data/spec/unit/pops/evaluator/string_interpolation_spec.rb +1 -0
  464. data/spec/unit/pops/evaluator/variables_spec.rb +1 -0
  465. data/spec/unit/pops/factory_spec.rb +4 -3
  466. data/spec/unit/pops/issues_spec.rb +20 -19
  467. data/spec/unit/pops/loaders/loader_spec.rb +4 -8
  468. data/spec/unit/pops/loaders/loaders_spec.rb +31 -101
  469. data/spec/unit/pops/lookup/context_spec.rb +1 -0
  470. data/spec/unit/pops/lookup/interpolation_spec.rb +3 -2
  471. data/spec/unit/pops/merge_strategy_spec.rb +1 -0
  472. data/spec/unit/pops/migration_spec.rb +5 -3
  473. data/spec/unit/pops/model/model_spec.rb +1 -0
  474. data/spec/unit/pops/model/pn_transformer_spec.rb +1 -4
  475. data/spec/unit/pops/parser/locator_spec.rb +6 -48
  476. data/spec/unit/pops/parser/parse_application_spec.rb +1 -0
  477. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +1 -0
  478. data/spec/unit/pops/parser/parse_calls_spec.rb +1 -0
  479. data/spec/unit/pops/parser/parse_capabilities_spec.rb +1 -0
  480. data/spec/unit/pops/parser/parse_conditionals_spec.rb +1 -0
  481. data/spec/unit/pops/parser/parse_containers_spec.rb +1 -0
  482. data/spec/unit/pops/parser/parse_heredoc_spec.rb +15 -111
  483. data/spec/unit/pops/parser/parse_plan_spec.rb +1 -0
  484. data/spec/unit/pops/parser/parse_resource_spec.rb +1 -0
  485. data/spec/unit/pops/parser/parse_site_spec.rb +1 -0
  486. data/spec/unit/pops/parser/pn_parser_spec.rb +1 -0
  487. data/spec/unit/pops/pn_spec.rb +1 -0
  488. data/spec/unit/pops/resource/resource_type_impl_spec.rb +1 -0
  489. data/spec/unit/pops/serialization/serialization_spec.rb +1 -1
  490. data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
  491. data/spec/unit/pops/types/recursion_guard_spec.rb +10 -10
  492. data/spec/unit/pops/types/ruby_generator_spec.rb +2 -2
  493. data/spec/unit/pops/types/string_converter_spec.rb +5 -1
  494. data/spec/unit/pops/types/type_asserter_spec.rb +2 -2
  495. data/spec/unit/pops/types/type_calculator_spec.rb +30 -30
  496. data/spec/unit/pops/types/type_mismatch_describer_spec.rb +0 -9
  497. data/spec/unit/pops/types/type_parser_spec.rb +13 -13
  498. data/spec/unit/pops/validator/validator_spec.rb +2 -1
  499. data/spec/unit/pops/visitor_spec.rb +1 -0
  500. data/spec/unit/property/boolean_spec.rb +1 -1
  501. data/spec/unit/property/ensure_spec.rb +1 -0
  502. data/spec/unit/property/keyvalue_spec.rb +34 -32
  503. data/spec/unit/property/list_spec.rb +27 -26
  504. data/spec/unit/property/ordered_list_spec.rb +14 -10
  505. data/spec/unit/property_spec.rb +43 -42
  506. data/spec/unit/provider/aix_object_spec.rb +45 -47
  507. data/spec/unit/provider/command_spec.rb +9 -9
  508. data/spec/unit/provider/exec/posix_spec.rb +31 -6
  509. data/spec/unit/provider/exec/shell_spec.rb +1 -0
  510. data/spec/unit/provider/exec/windows_spec.rb +4 -2
  511. data/spec/unit/provider/exec_spec.rb +1 -0
  512. data/spec/unit/provider/file/posix_spec.rb +24 -22
  513. data/spec/unit/provider/file/windows_spec.rb +17 -15
  514. data/spec/unit/provider/group/aix_spec.rb +2 -3
  515. data/spec/unit/provider/group/groupadd_spec.rb +26 -30
  516. data/spec/unit/provider/group/ldap_spec.rb +18 -18
  517. data/spec/unit/provider/group/pw_spec.rb +11 -11
  518. data/spec/unit/provider/group/windows_adsi_spec.rb +53 -59
  519. data/spec/unit/provider/ldap_spec.rb +62 -61
  520. data/spec/unit/provider/nameservice/directoryservice_spec.rb +36 -35
  521. data/spec/unit/provider/nameservice_spec.rb +40 -38
  522. data/spec/unit/provider/package/aix_spec.rb +15 -15
  523. data/spec/unit/provider/package/appdmg_spec.rb +13 -13
  524. data/spec/unit/provider/package/apt_spec.rb +27 -44
  525. data/spec/unit/provider/package/aptitude_spec.rb +7 -6
  526. data/spec/unit/provider/package/aptrpm_spec.rb +12 -7
  527. data/spec/unit/provider/package/base_spec.rb +4 -4
  528. data/spec/unit/provider/package/dnf_spec.rb +20 -18
  529. data/spec/unit/provider/package/dpkg_spec.rb +53 -70
  530. data/spec/unit/provider/package/freebsd_spec.rb +11 -11
  531. data/spec/unit/provider/package/gem_spec.rb +55 -132
  532. data/spec/unit/provider/package/hpux_spec.rb +8 -8
  533. data/spec/unit/provider/package/macports_spec.rb +42 -46
  534. data/spec/unit/provider/package/nim_spec.rb +39 -30
  535. data/spec/unit/provider/package/openbsd_spec.rb +39 -36
  536. data/spec/unit/provider/package/opkg_spec.rb +26 -23
  537. data/spec/unit/provider/package/pacman_spec.rb +118 -97
  538. data/spec/unit/provider/package/pip3_spec.rb +0 -17
  539. data/spec/unit/provider/package/pip_spec.rb +106 -95
  540. data/spec/unit/provider/package/pkg_spec.rb +109 -109
  541. data/spec/unit/provider/package/pkgdmg_spec.rb +63 -65
  542. data/spec/unit/provider/package/pkgin_spec.rb +8 -10
  543. data/spec/unit/provider/package/pkgng_spec.rb +31 -22
  544. data/spec/unit/provider/package/pkgutil_spec.rb +49 -45
  545. data/spec/unit/provider/package/portage_spec.rb +74 -70
  546. data/spec/unit/provider/package/puppet_gem_spec.rb +13 -37
  547. data/spec/unit/provider/package/rpm_spec.rb +76 -154
  548. data/spec/unit/provider/package/sun_spec.rb +18 -16
  549. data/spec/unit/provider/package/tdnf_spec.rb +2 -2
  550. data/spec/unit/provider/package/up2date_spec.rb +4 -2
  551. data/spec/unit/provider/package/urpmi_spec.rb +17 -15
  552. data/spec/unit/provider/package/windows/exe_package_spec.rb +15 -12
  553. data/spec/unit/provider/package/windows/msi_package_spec.rb +22 -19
  554. data/spec/unit/provider/package/windows/package_spec.rb +42 -37
  555. data/spec/unit/provider/package/windows_spec.rb +32 -47
  556. data/spec/unit/provider/package/yum_spec.rb +7 -7
  557. data/spec/unit/provider/package/zypper_spec.rb +87 -87
  558. data/spec/unit/provider/parsedfile_spec.rb +45 -44
  559. data/spec/unit/provider/service/base_spec.rb +5 -4
  560. data/spec/unit/provider/service/bsd_spec.rb +29 -27
  561. data/spec/unit/provider/service/daemontools_spec.rb +35 -35
  562. data/spec/unit/provider/service/debian_spec.rb +38 -38
  563. data/spec/unit/provider/service/freebsd_spec.rb +18 -18
  564. data/spec/unit/provider/service/gentoo_spec.rb +55 -50
  565. data/spec/unit/provider/service/init_spec.rb +52 -53
  566. data/spec/unit/provider/service/launchd_spec.rb +116 -138
  567. data/spec/unit/provider/service/openbsd_spec.rb +50 -50
  568. data/spec/unit/provider/service/openrc_spec.rb +45 -43
  569. data/spec/unit/provider/service/openwrt_spec.rb +31 -26
  570. data/spec/unit/provider/service/rcng_spec.rb +14 -14
  571. data/spec/unit/provider/service/redhat_spec.rb +43 -45
  572. data/spec/unit/provider/service/runit_spec.rb +27 -29
  573. data/spec/unit/provider/service/smf_spec.rb +66 -74
  574. data/spec/unit/provider/service/src_spec.rb +47 -46
  575. data/spec/unit/provider/service/systemd_spec.rb +136 -109
  576. data/spec/unit/provider/service/upstart_spec.rb +93 -77
  577. data/spec/unit/provider/service/windows_spec.rb +41 -33
  578. data/spec/unit/provider/user/aix_spec.rb +31 -31
  579. data/spec/unit/provider/user/directoryservice_spec.rb +114 -146
  580. data/spec/unit/provider/user/hpux_spec.rb +16 -16
  581. data/spec/unit/provider/user/ldap_spec.rb +57 -57
  582. data/spec/unit/provider/user/openbsd_spec.rb +12 -10
  583. data/spec/unit/provider/user/pw_spec.rb +35 -37
  584. data/spec/unit/provider/user/user_role_add_spec.rb +93 -93
  585. data/spec/unit/provider/user/useradd_spec.rb +92 -93
  586. data/spec/unit/provider/user/windows_adsi_spec.rb +60 -59
  587. data/spec/unit/provider_spec.rb +35 -35
  588. data/spec/unit/puppet_pal_2pec.rb +5 -4
  589. data/spec/unit/puppet_pal_spec.rb +1 -0
  590. data/spec/unit/puppet_spec.rb +7 -6
  591. data/spec/unit/relationship_spec.rb +1 -0
  592. data/spec/unit/reports/http_spec.rb +23 -21
  593. data/spec/unit/reports/store_spec.rb +4 -3
  594. data/spec/unit/reports_spec.rb +14 -12
  595. data/spec/unit/resource/capability_finder_spec.rb +17 -15
  596. data/spec/unit/resource/catalog_spec.rb +68 -72
  597. data/spec/unit/resource/status_spec.rb +8 -6
  598. data/spec/unit/resource/type_collection_spec.rb +18 -17
  599. data/spec/unit/resource/type_spec.rb +35 -34
  600. data/spec/unit/resource_spec.rb +63 -36
  601. data/spec/unit/rest/client_spec.rb +135 -0
  602. data/spec/unit/rest/route_spec.rb +6 -6
  603. data/spec/unit/scheduler/job_spec.rb +1 -0
  604. data/spec/unit/scheduler/scheduler_spec.rb +1 -0
  605. data/spec/unit/scheduler/splay_job_spec.rb +2 -1
  606. data/spec/unit/settings/array_setting_spec.rb +1 -1
  607. data/spec/unit/settings/autosign_setting_spec.rb +9 -9
  608. data/spec/unit/settings/certificate_revocation_setting_spec.rb +1 -1
  609. data/spec/unit/settings/config_file_spec.rb +1 -0
  610. data/spec/unit/settings/directory_setting_spec.rb +7 -2
  611. data/spec/unit/settings/duration_setting_spec.rb +2 -1
  612. data/spec/unit/settings/enum_setting_spec.rb +1 -1
  613. data/spec/unit/settings/environment_conf_spec.rb +6 -4
  614. data/spec/unit/settings/file_setting_spec.rb +46 -44
  615. data/spec/unit/settings/path_setting_spec.rb +2 -1
  616. data/spec/unit/settings/priority_setting_spec.rb +2 -1
  617. data/spec/unit/settings/string_setting_spec.rb +15 -14
  618. data/spec/unit/settings/terminus_setting_spec.rb +2 -1
  619. data/spec/unit/settings/value_translator_spec.rb +1 -0
  620. data/spec/unit/settings_spec.rb +224 -253
  621. data/spec/unit/ssl/base_spec.rb +15 -14
  622. data/spec/unit/ssl/certificate_request_spec.rb +58 -62
  623. data/spec/unit/ssl/certificate_spec.rb +25 -23
  624. data/spec/unit/ssl/digest_spec.rb +1 -0
  625. data/spec/unit/ssl/host_spec.rb +149 -166
  626. data/spec/unit/ssl/key_spec.rb +31 -30
  627. data/spec/unit/ssl/validator_spec.rb +39 -40
  628. data/spec/unit/task_spec.rb +45 -44
  629. data/spec/unit/transaction/additional_resource_generator_spec.rb +5 -3
  630. data/spec/unit/transaction/event_manager_spec.rb +88 -87
  631. data/spec/unit/transaction/event_spec.rb +15 -16
  632. data/spec/unit/transaction/persistence_spec.rb +17 -16
  633. data/spec/unit/transaction/report_spec.rb +12 -11
  634. data/spec/unit/transaction/resource_harness_spec.rb +31 -52
  635. data/spec/unit/transaction_spec.rb +87 -140
  636. data/spec/unit/type/component_spec.rb +1 -0
  637. data/spec/unit/type/exec_spec.rb +50 -101
  638. data/spec/unit/type/file/checksum_spec.rb +10 -9
  639. data/spec/unit/type/file/checksum_value_spec.rb +32 -31
  640. data/spec/unit/type/file/content_spec.rb +61 -58
  641. data/spec/unit/type/file/ctime_spec.rb +1 -0
  642. data/spec/unit/type/file/ensure_spec.rb +13 -12
  643. data/spec/unit/type/file/group_spec.rb +7 -5
  644. data/spec/unit/type/file/mode_spec.rb +6 -4
  645. data/spec/unit/type/file/mtime_spec.rb +1 -0
  646. data/spec/unit/type/file/owner_spec.rb +8 -6
  647. data/spec/unit/type/file/selinux_spec.rb +19 -17
  648. data/spec/unit/type/file/source_spec.rb +101 -104
  649. data/spec/unit/type/file/type_spec.rb +1 -0
  650. data/spec/unit/type/file_spec.rb +185 -195
  651. data/spec/unit/type/filebucket_spec.rb +10 -11
  652. data/spec/unit/type/group_spec.rb +8 -6
  653. data/spec/unit/type/noop_metaparam_spec.rb +2 -1
  654. data/spec/unit/type/package/package_settings_spec.rb +23 -44
  655. data/spec/unit/type/package_spec.rb +57 -56
  656. data/spec/unit/type/resources_spec.rb +74 -72
  657. data/spec/unit/type/schedule_spec.rb +26 -24
  658. data/spec/unit/type/service_spec.rb +75 -49
  659. data/spec/unit/type/stage_spec.rb +1 -0
  660. data/spec/unit/type/tidy_spec.rb +62 -61
  661. data/spec/unit/type/user_spec.rb +25 -24
  662. data/spec/unit/type/whit_spec.rb +1 -0
  663. data/spec/unit/type_spec.rb +54 -55
  664. data/spec/unit/util/at_fork_spec.rb +19 -18
  665. data/spec/unit/util/autoload_spec.rb +56 -55
  666. data/spec/unit/util/backups_spec.rb +35 -34
  667. data/spec/unit/util/character_encoding_spec.rb +5 -5
  668. data/spec/unit/util/checksums_spec.rb +39 -38
  669. data/spec/unit/util/colors_spec.rb +2 -1
  670. data/spec/unit/util/command_line_spec.rb +20 -40
  671. data/spec/unit/util/constant_inflector_spec.rb +1 -0
  672. data/spec/unit/util/diff_spec.rb +8 -7
  673. data/spec/unit/util/errors_spec.rb +1 -0
  674. data/spec/unit/util/execution_spec.rb +163 -187
  675. data/spec/unit/util/execution_stub_spec.rb +1 -0
  676. data/spec/unit/util/feature_spec.rb +14 -21
  677. data/spec/unit/util/filetype_spec.rb +49 -49
  678. data/spec/unit/util/http_proxy_spec.rb +12 -12
  679. data/spec/unit/util/inifile_spec.rb +31 -26
  680. data/spec/unit/util/json_lockfile_spec.rb +5 -3
  681. data/spec/unit/util/ldap/connection_spec.rb +25 -26
  682. data/spec/unit/util/ldap/generator_spec.rb +1 -0
  683. data/spec/unit/util/ldap/manager_spec.rb +101 -102
  684. data/spec/unit/util/lockfile_spec.rb +1 -0
  685. data/spec/unit/util/log/destinations_spec.rb +33 -30
  686. data/spec/unit/util/log_spec.rb +34 -48
  687. data/spec/unit/util/logging_spec.rb +72 -58
  688. data/spec/unit/util/metric_spec.rb +1 -0
  689. data/spec/unit/util/monkey_patches_spec.rb +9 -7
  690. data/spec/unit/util/multi_match_spec.rb +1 -0
  691. data/spec/unit/util/network_device/config_spec.rb +1 -0
  692. data/spec/unit/util/network_device/transport/base_spec.rb +6 -5
  693. data/spec/unit/util/network_device_spec.rb +9 -7
  694. data/spec/unit/util/package_spec.rb +1 -0
  695. data/spec/unit/util/pidlock_spec.rb +15 -60
  696. data/spec/unit/util/plist_spec.rb +33 -40
  697. data/spec/unit/util/posix_spec.rb +51 -54
  698. data/spec/unit/util/rdoc_spec.rb +10 -9
  699. data/spec/unit/util/reference_spec.rb +1 -0
  700. data/spec/unit/util/resource_template_spec.rb +20 -20
  701. data/spec/unit/util/retry_action_spec.rb +8 -7
  702. data/spec/unit/util/rubygems_spec.rb +8 -7
  703. data/spec/unit/util/run_mode_spec.rb +4 -3
  704. data/spec/unit/util/selinux_spec.rb +72 -79
  705. data/spec/unit/util/splayer_spec.rb +9 -8
  706. data/spec/unit/util/ssl_spec.rb +1 -0
  707. data/spec/unit/util/storage_spec.rb +23 -22
  708. data/spec/unit/util/suidmanager_spec.rb +54 -45
  709. data/spec/unit/util/symbolic_file_mode_spec.rb +1 -0
  710. data/spec/unit/util/tag_set_spec.rb +1 -0
  711. data/spec/unit/util/tagging_spec.rb +1 -0
  712. data/spec/unit/util/terminal_spec.rb +10 -9
  713. data/spec/unit/util/user_attr_spec.rb +2 -1
  714. data/spec/unit/util/warnings_spec.rb +4 -3
  715. data/spec/unit/util/watcher/periodic_watcher_spec.rb +2 -2
  716. data/spec/unit/util/watcher_spec.rb +21 -51
  717. data/spec/unit/util/windows/access_control_entry_spec.rb +1 -0
  718. data/spec/unit/util/windows/access_control_list_spec.rb +1 -0
  719. data/spec/unit/util/windows/adsi_spec.rb +138 -136
  720. data/spec/unit/util/windows/api_types_spec.rb +1 -0
  721. data/spec/unit/util/windows/eventlog_spec.rb +12 -9
  722. data/spec/unit/util/windows/file_spec.rb +1 -0
  723. data/spec/unit/util/windows/root_certs_spec.rb +1 -0
  724. data/spec/unit/util/windows/security_descriptor_spec.rb +2 -0
  725. data/spec/unit/util/windows/service_spec.rb +103 -100
  726. data/spec/unit/util/windows/sid_spec.rb +13 -11
  727. data/spec/unit/util/windows/string_spec.rb +1 -0
  728. data/spec/unit/util_spec.rb +57 -55
  729. data/spec/unit/version_spec.rb +6 -6
  730. metadata +20 -32
  731. data/CODEOWNERS +0 -30
  732. data/ext/autotest/Rakefile +0 -8
  733. data/ext/autotest/config +0 -43
  734. data/ext/autotest/readme.rst +0 -16
  735. data/lib/puppet/confine/boolean.rb +0 -45
  736. data/lib/puppet/provider/package_targetable.rb +0 -68
  737. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load2.rb +0 -11
  738. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load3.rb +0 -11
  739. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load4.rb +0 -11
  740. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load5.rb +0 -12
  741. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/good_func_load.rb +0 -9
  742. data/spec/fixtures/unit/provider/package/pkgng/pkg.info +0 -7
  743. data/spec/fixtures/unit/provider/package/pkgng/pkg.query_absent +0 -1
  744. data/spec/integration/network/http_pool_spec.rb +0 -120
  745. data/spec/integration/provider/file/windows_spec.rb +0 -162
  746. data/spec/lib/puppet_spec/https.rb +0 -166
  747. data/spec/unit/settings/server_list_setting_spec.rb +0 -21
  748. data/spec/watchr.rb +0 -137
@@ -1,3 +1,4 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  # A type and provider that can be purged
@@ -12,16 +13,15 @@ resources = Puppet::Type.type(:resources)
12
13
 
13
14
  # There are still plenty of tests to port over from test/.
14
15
  describe resources do
16
+
15
17
  before :each do
16
18
  described_class.reset_system_users_max_uid!
17
19
  end
18
20
 
19
21
  context "when initializing" do
20
22
  it "should fail if the specified resource type does not exist" do
21
- allow(Puppet::Type).to receive(:type) do
22
- expect(x.to_s.downcase).to eq("resources")
23
- end.and_return(resources)
24
- expect(Puppet::Type).to receive(:type).with("nosuchtype").and_return(nil)
23
+ Puppet::Type.stubs(:type).with { |x| x.to_s.downcase == "resources"}.returns resources
24
+ Puppet::Type.expects(:type).with("nosuchtype").returns nil
25
25
  expect { resources.new :name => "nosuchtype" }.to raise_error(Puppet::Error)
26
26
  end
27
27
 
@@ -46,20 +46,20 @@ describe resources do
46
46
  end
47
47
 
48
48
  it "cannot be set to true for a resource type that does not accept ensure" do
49
- allow(instance.resource_type).to receive(:respond_to?).and_return(true)
50
- allow(instance.resource_type).to receive(:validproperty?).and_return(false)
49
+ instance.resource_type.stubs(:respond_to?).returns true
50
+ instance.resource_type.stubs(:validproperty?).returns false
51
51
  expect { instance[:purge] = 'yes' }.to raise_error Puppet::Error
52
52
  end
53
53
 
54
54
  it "cannot be set to true for a resource type that does not have instances" do
55
- allow(instance.resource_type).to receive(:respond_to?).and_return(false)
56
- allow(instance.resource_type).to receive(:validproperty?).and_return(true)
55
+ instance.resource_type.stubs(:respond_to?).returns false
56
+ instance.resource_type.stubs(:validproperty?).returns true
57
57
  expect { instance[:purge] = 'yes' }.to raise_error Puppet::Error
58
58
  end
59
59
 
60
60
  it "can be set to true for a resource type that has instances and can accept ensure" do
61
- allow(instance.resource_type).to receive(:respond_to?).and_return(true)
62
- allow(instance.resource_type).to receive(:validproperty?).and_return(true)
61
+ instance.resource_type.stubs(:respond_to?).returns true
62
+ instance.resource_type.stubs(:validproperty?).returns true
63
63
  expect { instance[:purge] = 'yes' }.to_not raise_error
64
64
  end
65
65
  end
@@ -69,7 +69,7 @@ describe resources do
69
69
  before do
70
70
  @res = Puppet::Type.type(:resources).new :name => :user, :purge => true, :unless_system_user => true
71
71
  @res.catalog = Puppet::Resource::Catalog.new
72
- allow(Puppet::FileSystem).to receive(:exist?).with('/etc/login.defs').and_return(false)
72
+ Puppet::FileSystem.stubs(:exist?).with('/etc/login.defs').returns false
73
73
  end
74
74
 
75
75
  it "should never purge hardcoded system users" do
@@ -81,14 +81,14 @@ describe resources do
81
81
  it "should not purge system users if unless_system_user => true" do
82
82
  user_hash = {:name => 'system_user', :uid => 125, :system => true}
83
83
  user = Puppet::Type.type(:user).new(user_hash)
84
- allow(user).to receive(:retrieve_resource).and_return(Puppet::Resource.new("user", user_hash[:name], :parameters => user_hash))
84
+ user.stubs(:retrieve_resource).returns Puppet::Resource.new("user", user_hash[:name], :parameters => user_hash)
85
85
  expect(@res.user_check(user)).to be_falsey
86
86
  end
87
87
 
88
88
  it "should purge non-system users if unless_system_user => true" do
89
89
  user_hash = {:name => 'system_user', :uid => described_class.system_users_max_uid + 1, :system => true}
90
90
  user = Puppet::Type.type(:user).new(user_hash)
91
- allow(user).to receive(:retrieve_resource).and_return(Puppet::Resource.new("user", user_hash[:name], :parameters => user_hash))
91
+ user.stubs(:retrieve_resource).returns Puppet::Resource.new("user", user_hash[:name], :parameters => user_hash)
92
92
  expect(@res.user_check(user)).to be_truthy
93
93
  end
94
94
 
@@ -97,7 +97,7 @@ describe resources do
97
97
  res.catalog = Puppet::Resource::Catalog.new
98
98
  user_hash = {:name => 'system_user', :uid => 500, :system => true}
99
99
  user = Puppet::Type.type(:user).new(user_hash)
100
- allow(user).to receive(:retrieve_resource).and_return(Puppet::Resource.new("user", user_hash[:name], :parameters => user_hash))
100
+ user.stubs(:retrieve_resource).returns Puppet::Resource.new("user", user_hash[:name], :parameters => user_hash)
101
101
  expect(res.user_check(user)).to be_falsey
102
102
  end
103
103
 
@@ -106,7 +106,7 @@ describe resources do
106
106
  res.catalog = Puppet::Resource::Catalog.new
107
107
  user_hash = {:name => 'Administrator', :uid => 'S-1-5-21-12345-500'}
108
108
  user = Puppet::Type.type(:user).new(user_hash)
109
- allow(user).to receive(:retrieve_resource).and_return(Puppet::Resource.new("user", user_hash[:name], :parameters => user_hash))
109
+ user.stubs(:retrieve_resource).returns Puppet::Resource.new("user", user_hash[:name], :parameters => user_hash)
110
110
  expect(res.user_check(user)).to be_falsey
111
111
  end
112
112
 
@@ -115,7 +115,7 @@ describe resources do
115
115
  res.catalog = Puppet::Resource::Catalog.new
116
116
  user_hash = {:name => 'other', :uid => 'S-1-5-21-12345-1001'}
117
117
  user = Puppet::Type.type(:user).new(user_hash)
118
- allow(user).to receive(:retrieve_resource).and_return(Puppet::Resource.new("user", user_hash[:name], :parameters => user_hash))
118
+ user.stubs(:retrieve_resource).returns Puppet::Resource.new("user", user_hash[:name], :parameters => user_hash)
119
119
  expect(res.user_check(user)).to be_truthy
120
120
  end
121
121
  end
@@ -123,10 +123,10 @@ describe resources do
123
123
  %w(FreeBSD OpenBSD).each do |os|
124
124
  context "on #{os}" do
125
125
  before :each do
126
- allow(Facter).to receive(:value).with(:kernel).and_return(os)
127
- allow(Facter).to receive(:value).with(:operatingsystem).and_return(os)
128
- allow(Facter).to receive(:value).with(:osfamily).and_return(os)
129
- allow(Puppet::FileSystem).to receive(:exist?).with('/etc/login.defs').and_return(false)
126
+ Facter.stubs(:value).with(:kernel).returns(os)
127
+ Facter.stubs(:value).with(:operatingsystem).returns(os)
128
+ Facter.stubs(:value).with(:osfamily).returns(os)
129
+ Puppet::FileSystem.stubs(:exist?).with('/etc/login.defs').returns false
130
130
  @res = Puppet::Type.type(:resources).new :name => :user, :purge => true, :unless_system_user => true
131
131
  @res.catalog = Puppet::Resource::Catalog.new
132
132
  end
@@ -134,14 +134,14 @@ describe resources do
134
134
  it "should not purge system users under 1000" do
135
135
  user_hash = {:name => 'system_user', :uid => 999}
136
136
  user = Puppet::Type.type(:user).new(user_hash)
137
- allow(user).to receive(:retrieve_resource).and_return(Puppet::Resource.new("user", user_hash[:name], :parameters => user_hash))
137
+ user.stubs(:retrieve_resource).returns Puppet::Resource.new("user", user_hash[:name], :parameters => user_hash)
138
138
  expect(@res.user_check(user)).to be_falsey
139
139
  end
140
140
 
141
141
  it "should purge users over 999" do
142
142
  user_hash = {:name => 'system_user', :uid => 1000}
143
143
  user = Puppet::Type.type(:user).new(user_hash)
144
- allow(user).to receive(:retrieve_resource).and_return(Puppet::Resource.new("user", user_hash[:name], :parameters => user_hash))
144
+ user.stubs(:retrieve_resource).returns Puppet::Resource.new("user", user_hash[:name], :parameters => user_hash)
145
145
  expect(@res.user_check(user)).to be_truthy
146
146
  end
147
147
  end
@@ -149,8 +149,8 @@ describe resources do
149
149
 
150
150
  context 'with login.defs present' do
151
151
  before :each do
152
- expect(Puppet::FileSystem).to receive(:exist?).with('/etc/login.defs').and_return(true)
153
- expect(Puppet::FileSystem).to receive(:each_line).with('/etc/login.defs').and_yield(' UID_MIN 1234 # UID_MIN comment ')
152
+ Puppet::FileSystem.expects(:exist?).with('/etc/login.defs').returns true
153
+ Puppet::FileSystem.expects(:each_line).with('/etc/login.defs').yields(' UID_MIN 1234 # UID_MIN comment ')
154
154
  @res = Puppet::Type.type(:resources).new :name => :user, :purge => true, :unless_system_user => true
155
155
  @res.catalog = Puppet::Resource::Catalog.new
156
156
  end
@@ -158,14 +158,14 @@ describe resources do
158
158
  it 'should not purge a system user' do
159
159
  user_hash = {:name => 'system_user', :uid => 1233}
160
160
  user = Puppet::Type.type(:user).new(user_hash)
161
- allow(user).to receive(:retrieve_resource).and_return(Puppet::Resource.new("user", user_hash[:name], :parameters => user_hash))
161
+ user.stubs(:retrieve_resource).returns Puppet::Resource.new("user", user_hash[:name], :parameters => user_hash)
162
162
  expect(@res.user_check(user)).to be_falsey
163
163
  end
164
164
 
165
165
  it 'should purge a non-system user' do
166
166
  user_hash = {:name => 'system_user', :uid => 1234}
167
167
  user = Puppet::Type.type(:user).new(user_hash)
168
- allow(user).to receive(:retrieve_resource).and_return(Puppet::Resource.new("user", user_hash[:name], :parameters => user_hash))
168
+ user.stubs(:retrieve_resource).returns Puppet::Resource.new("user", user_hash[:name], :parameters => user_hash)
169
169
  expect(@res.user_check(user)).to be_truthy
170
170
  end
171
171
  end
@@ -180,16 +180,17 @@ describe resources do
180
180
  it "should purge uids that are not in a specified array" do
181
181
  user_hash = {:name => 'special_user', :uid => 25_000}
182
182
  user = Puppet::Type.type(:user).new(user_hash)
183
- allow(user).to receive(:retrieve_resource).and_return(Puppet::Resource.new("user", user_hash[:name], :parameters => user_hash))
183
+ user.stubs(:retrieve_resource).returns Puppet::Resource.new("user", user_hash[:name], :parameters => user_hash)
184
184
  expect(@res.user_check(user)).to be_truthy
185
185
  end
186
186
 
187
187
  it "should not purge uids that are in a specified array" do
188
188
  user_hash = {:name => 'special_user', :uid => 15000}
189
189
  user = Puppet::Type.type(:user).new(user_hash)
190
- allow(user).to receive(:retrieve_resource).and_return(Puppet::Resource.new("user", user_hash[:name], :parameters => user_hash))
190
+ user.stubs(:retrieve_resource).returns Puppet::Resource.new("user", user_hash[:name], :parameters => user_hash)
191
191
  expect(@res.user_check(user)).to be_falsey
192
192
  end
193
+
193
194
  end
194
195
 
195
196
  context "with a single integer uid" do
@@ -201,14 +202,14 @@ describe resources do
201
202
  it "should purge uids that are not specified" do
202
203
  user_hash = {:name => 'special_user', :uid => 25_000}
203
204
  user = Puppet::Type.type(:user).new(user_hash)
204
- allow(user).to receive(:retrieve_resource).and_return(Puppet::Resource.new("user", user_hash[:name], :parameters => user_hash))
205
+ user.stubs(:retrieve_resource).returns Puppet::Resource.new("user", user_hash[:name], :parameters => user_hash)
205
206
  expect(@res.user_check(user)).to be_truthy
206
207
  end
207
208
 
208
209
  it "should not purge uids that are specified" do
209
210
  user_hash = {:name => 'special_user', :uid => 15_000}
210
211
  user = Puppet::Type.type(:user).new(user_hash)
211
- allow(user).to receive(:retrieve_resource).and_return(Puppet::Resource.new("user", user_hash[:name], :parameters => user_hash))
212
+ user.stubs(:retrieve_resource).returns Puppet::Resource.new("user", user_hash[:name], :parameters => user_hash)
212
213
  expect(@res.user_check(user)).to be_falsey
213
214
  end
214
215
  end
@@ -222,14 +223,14 @@ describe resources do
222
223
  it "should purge uids that are not specified" do
223
224
  user_hash = {:name => 'special_user', :uid => 25_000}
224
225
  user = Puppet::Type.type(:user).new(user_hash)
225
- allow(user).to receive(:retrieve_resource).and_return(Puppet::Resource.new("user", user_hash[:name], :parameters => user_hash))
226
+ user.stubs(:retrieve_resource).returns Puppet::Resource.new("user", user_hash[:name], :parameters => user_hash)
226
227
  expect(@res.user_check(user)).to be_truthy
227
228
  end
228
229
 
229
230
  it "should not purge uids that are specified" do
230
231
  user_hash = {:name => 'special_user', :uid => 15_000}
231
232
  user = Puppet::Type.type(:user).new(user_hash)
232
- allow(user).to receive(:retrieve_resource).and_return(Puppet::Resource.new("user", user_hash[:name], :parameters => user_hash))
233
+ user.stubs(:retrieve_resource).returns Puppet::Resource.new("user", user_hash[:name], :parameters => user_hash)
233
234
  expect(@res.user_check(user)).to be_falsey
234
235
  end
235
236
  end
@@ -243,24 +244,25 @@ describe resources do
243
244
  it "should not purge ids in the range" do
244
245
  user_hash = {:name => 'special_user', :uid => 15_000}
245
246
  user = Puppet::Type.type(:user).new(user_hash)
246
- allow(user).to receive(:retrieve_resource).and_return(Puppet::Resource.new("user", user_hash[:name], :parameters => user_hash))
247
+ user.stubs(:retrieve_resource).returns Puppet::Resource.new("user", user_hash[:name], :parameters => user_hash)
247
248
  expect(@res.user_check(user)).to be_falsey
248
249
  end
249
250
 
250
251
  it "should not purge specified ids" do
251
252
  user_hash = {:name => 'special_user', :uid => 16_666}
252
253
  user = Puppet::Type.type(:user).new(user_hash)
253
- allow(user).to receive(:retrieve_resource).and_return(Puppet::Resource.new("user", user_hash[:name], :parameters => user_hash))
254
+ user.stubs(:retrieve_resource).returns Puppet::Resource.new("user", user_hash[:name], :parameters => user_hash)
254
255
  expect(@res.user_check(user)).to be_falsey
255
256
  end
256
257
 
257
258
  it "should purge unspecified ids" do
258
259
  user_hash = {:name => 'special_user', :uid => 17_000}
259
260
  user = Puppet::Type.type(:user).new(user_hash)
260
- allow(user).to receive(:retrieve_resource).and_return(Puppet::Resource.new("user", user_hash[:name], :parameters => user_hash))
261
+ user.stubs(:retrieve_resource).returns Puppet::Resource.new("user", user_hash[:name], :parameters => user_hash)
261
262
  expect(@res.user_check(user)).to be_truthy
262
263
  end
263
264
  end
265
+
264
266
  end
265
267
  end
266
268
 
@@ -270,52 +272,53 @@ describe resources do
270
272
  @catalog = Puppet::Resource::Catalog.new
271
273
  end
272
274
 
273
- context "when dealing with non-purging resources" do
274
- before do
275
- @resources = Puppet::Type.type(:resources).new(:name => 'purgeable_test')
276
- end
275
+ context "when dealing with non-purging resources" do
276
+ before do
277
+ @resources = Puppet::Type.type(:resources).new(:name => 'purgeable_test')
278
+ end
277
279
 
278
- it "should not generate any resource" do
279
- expect(@resources.generate).to be_empty
280
+ it "should not generate any resource" do
281
+ expect(@resources.generate).to be_empty
282
+ end
280
283
  end
281
- end
282
284
 
283
- context "when the catalog contains a purging resource" do
284
- before do
285
- @resources = Puppet::Type.type(:resources).new(:name => 'purgeable_test', :purge => true)
286
- @purgeable_resource = Puppet::Type.type(:purgeable_test).new(:name => 'localhost')
287
- @catalog.add_resource @resources
288
- end
285
+ context "when the catalog contains a purging resource" do
286
+ before do
287
+ @resources = Puppet::Type.type(:resources).new(:name => 'purgeable_test', :purge => true)
288
+ @purgeable_resource = Puppet::Type.type(:purgeable_test).new(:name => 'localhost')
289
+ @catalog.add_resource @resources
290
+ end
289
291
 
290
- it "should not generate a duplicate of that resource" do
291
- allow(Puppet::Type.type(:purgeable_test)).to receive(:instances).and_return([@purgee])
292
- @catalog.add_resource @purgee
293
- expect(@resources.generate.collect { |r| r.ref }).not_to include(@purgee.ref)
294
- end
292
+ it "should not generate a duplicate of that resource" do
293
+ Puppet::Type.type(:purgeable_test).stubs(:instances).returns [@purgee]
294
+ @catalog.add_resource @purgee
295
+ expect(@resources.generate.collect { |r| r.ref }).not_to include(@purgee.ref)
296
+ end
295
297
 
296
- it "should not include the skipped system users" do
297
- res = Puppet::Type.type(:resources).new :name => :user, :purge => true
298
- res.catalog = Puppet::Resource::Catalog.new
298
+ it "should not include the skipped system users" do
299
+ res = Puppet::Type.type(:resources).new :name => :user, :purge => true
300
+ res.catalog = Puppet::Resource::Catalog.new
299
301
 
300
- root = Puppet::Type.type(:user).new(:name => "root")
301
- expect(Puppet::Type.type(:user)).to receive(:instances).and_return([root])
302
+ root = Puppet::Type.type(:user).new(:name => "root")
303
+ Puppet::Type.type(:user).expects(:instances).returns [ root ]
302
304
 
303
- list = res.generate
305
+ list = res.generate
304
306
 
305
- names = list.collect { |r| r[:name] }
306
- expect(names).not_to be_include("root")
307
- end
307
+ names = list.collect { |r| r[:name] }
308
+ expect(names).not_to be_include("root")
309
+ end
308
310
 
309
- context "when generating a purgeable resource" do
310
- it "should be included in the generated resources" do
311
- allow(Puppet::Type.type(:purgeable_test)).to receive(:instances).and_return([@purgeable_resource])
312
- expect(@resources.generate.collect { |r| r.ref }).to include(@purgeable_resource.ref)
311
+ context "when generating a purgeable resource" do
312
+ it "should be included in the generated resources" do
313
+ Puppet::Type.type(:purgeable_test).stubs(:instances).returns [@purgeable_resource]
314
+ expect(@resources.generate.collect { |r| r.ref }).to include(@purgeable_resource.ref)
315
+ end
313
316
  end
314
317
 
315
318
  context "when the instance's do not have an ensure property" do
316
319
  it "should not be included in the generated resources" do
317
320
  @no_ensure_resource = Puppet::Type.type(:exec).new(:name => "#{File.expand_path('/usr/bin/env')} echo")
318
- allow(Puppet::Type.type(:purgeable_test)).to receive(:instances).and_return([@no_ensure_resource])
321
+ Puppet::Type.type(:purgeable_test).stubs(:instances).returns [@no_ensure_resource]
319
322
  expect(@resources.generate.collect { |r| r.ref }).not_to include(@no_ensure_resource.ref)
320
323
  end
321
324
  end
@@ -326,10 +329,10 @@ describe resources do
326
329
  # on jruby. Thus, we stub it out here since we don't care to do any assertions on it.
327
330
  # This is only an issue if you're running these unit tests on a platform where upstart
328
331
  # is a default provider, like Ubuntu trusty.
329
- allow(Puppet::Util::Execution).to receive(:execute)
332
+ Puppet::Util::Execution.stubs(:execute)
330
333
 
331
334
  @no_absent_resource = Puppet::Type.type(:service).new(:name => 'foobar')
332
- allow(Puppet::Type.type(:purgeable_test)).to receive(:instances).and_return([@no_absent_resource])
335
+ Puppet::Type.type(:purgeable_test).stubs(:instances).returns [@no_absent_resource]
333
336
  expect(@resources.generate.collect { |r| r.ref }).not_to include(@no_absent_resource.ref)
334
337
  end
335
338
  end
@@ -337,12 +340,11 @@ describe resources do
337
340
  context "when checking the instance fails" do
338
341
  it "should not be included in the generated resources" do
339
342
  @purgeable_resource = Puppet::Type.type(:purgeable_test).new(:name => 'foobar')
340
- allow(Puppet::Type.type(:purgeable_test)).to receive(:instances).and_return([@purgeable_resource])
341
- expect(@resources).to receive(:check).with(@purgeable_resource).and_return(false)
343
+ Puppet::Type.type(:purgeable_test).stubs(:instances).returns [@purgeable_resource]
344
+ @resources.expects(:check).with(@purgeable_resource).returns(false)
342
345
  expect(@resources.generate.collect { |r| r.ref }).not_to include(@purgeable_resource.ref)
343
346
  end
344
347
  end
345
348
  end
346
- end
347
349
  end
348
350
  end
@@ -1,6 +1,8 @@
1
+ #! /usr/bin/env ruby
1
2
  require 'spec_helper'
2
3
 
3
4
  module ScheduleTesting
5
+
4
6
  def diff(unit, incr, method, count)
5
7
  diff = Time.now.to_i.send(method, incr * count)
6
8
  Time.at(diff)
@@ -17,11 +19,11 @@ module ScheduleTesting
17
19
  def min(method, count)
18
20
  diff(:min, 60, method, count)
19
21
  end
22
+
20
23
  end
21
24
 
22
25
  describe Puppet::Type.type(:schedule) do
23
26
  include ScheduleTesting
24
-
25
27
  before :each do
26
28
  Puppet[:ignoreschedules] = false
27
29
 
@@ -76,7 +78,7 @@ describe Puppet::Type.type(:schedule) do
76
78
 
77
79
  describe Puppet::Type.type(:schedule), "when matching ranges" do
78
80
  before do
79
- allow(Time).to receive(:now).and_return(Time.local(2011, "may", 23, 11, 0, 0))
81
+ Time.stubs(:now).returns(Time.local(2011, "may", 23, 11, 0, 0))
80
82
  end
81
83
 
82
84
  it "should match when the start time is before the current time and the end time is after the current time" do
@@ -112,7 +114,7 @@ describe Puppet::Type.type(:schedule) do
112
114
 
113
115
  describe Puppet::Type.type(:schedule), "when matching ranges with abbreviated time specifications" do
114
116
  before do
115
- allow(Time).to receive(:now).and_return(Time.local(2011, "may", 23, 11, 45, 59))
117
+ Time.stubs(:now).returns(Time.local(2011, "may", 23, 11, 45, 59))
116
118
  end
117
119
 
118
120
  it "should match when just an hour is specified" do
@@ -133,7 +135,7 @@ describe Puppet::Type.type(:schedule) do
133
135
 
134
136
  describe Puppet::Type.type(:schedule), "when matching ranges with abbreviated time specifications, edge cases part 1" do
135
137
  before do
136
- allow(Time).to receive(:now).and_return(Time.local(2011, "may", 23, 11, 00, 00))
138
+ Time.stubs(:now).returns(Time.local(2011, "may", 23, 11, 00, 00))
137
139
  end
138
140
 
139
141
  it "should match when the current time is the start of the range using hours" do
@@ -159,7 +161,7 @@ describe Puppet::Type.type(:schedule) do
159
161
 
160
162
  describe Puppet::Type.type(:schedule), "when matching ranges with abbreviated time specifications, edge cases part 2" do
161
163
  before do
162
- allow(Time).to receive(:now).and_return(Time.local(2011, "may", 23, 11, 00, 01))
164
+ Time.stubs(:now).returns(Time.local(2011, "may", 23, 11, 00, 01))
163
165
  end
164
166
 
165
167
  it "should match when the current time is just past the start of the range using hours" do
@@ -185,7 +187,7 @@ describe Puppet::Type.type(:schedule) do
185
187
 
186
188
  describe Puppet::Type.type(:schedule), "when matching ranges with abbreviated time specifications, edge cases part 3" do
187
189
  before do
188
- allow(Time).to receive(:now).and_return(Time.local(2011, "may", 23, 10, 59, 59))
190
+ Time.stubs(:now).returns(Time.local(2011, "may", 23, 10, 59, 59))
189
191
  end
190
192
 
191
193
  it "should not match when the current time is just before the start of the range using hours" do
@@ -215,7 +217,7 @@ describe Puppet::Type.type(:schedule) do
215
217
  # advancing the day properly when we push the ending limit out a day.
216
218
  # For example, adding 1 to 31 would throw an error instead of advancing
217
219
  # the date.
218
- allow(Time).to receive(:now).and_return(Time.local(2011, "mar", 31, 22, 30, 0))
220
+ Time.stubs(:now).returns(Time.local(2011, "mar", 31, 22, 30, 0))
219
221
  end
220
222
 
221
223
  it "should match when the start time is before current time and the end time is the following day" do
@@ -235,7 +237,7 @@ describe Puppet::Type.type(:schedule) do
235
237
  # advancing the day properly when we push the ending limit out a day.
236
238
  # For example, adding 1 to 31 would throw an error instead of advancing
237
239
  # the date.
238
- allow(Time).to receive(:now).and_return(Time.local(2011, "mar", 31, 1, 30, 0))
240
+ Time.stubs(:now).returns(Time.local(2011, "mar", 31, 1, 30, 0))
239
241
  end
240
242
 
241
243
  it "should match when the start time is the day before the current time and the end time is after the current time" do
@@ -259,7 +261,7 @@ describe Puppet::Type.type(:schedule) do
259
261
  @schedule[:period] = :hourly
260
262
  @schedule[:periodmatch] = :distance
261
263
 
262
- allow(Time).to receive(:now).and_return(Time.local(2011, "may", 23, 11, 0, 0))
264
+ Time.stubs(:now).returns(Time.local(2011, "may", 23, 11, 0, 0))
263
265
  end
264
266
 
265
267
  it "should match when the previous time was an hour ago" do
@@ -280,7 +282,7 @@ describe Puppet::Type.type(:schedule) do
280
282
  @schedule[:period] = :daily
281
283
  @schedule[:periodmatch] = :distance
282
284
 
283
- allow(Time).to receive(:now).and_return(Time.local(2011, "may", 23, 11, 0, 0))
285
+ Time.stubs(:now).returns(Time.local(2011, "may", 23, 11, 0, 0))
284
286
  end
285
287
 
286
288
  it "should match when the previous time was one day ago" do
@@ -301,7 +303,7 @@ describe Puppet::Type.type(:schedule) do
301
303
  @schedule[:period] = :weekly
302
304
  @schedule[:periodmatch] = :distance
303
305
 
304
- allow(Time).to receive(:now).and_return(Time.local(2011, "may", 23, 11, 0, 0))
306
+ Time.stubs(:now).returns(Time.local(2011, "may", 23, 11, 0, 0))
305
307
  end
306
308
 
307
309
  it "should match when the previous time was seven days ago" do
@@ -322,7 +324,7 @@ describe Puppet::Type.type(:schedule) do
322
324
  @schedule[:period] = :monthly
323
325
  @schedule[:periodmatch] = :distance
324
326
 
325
- allow(Time).to receive(:now).and_return(Time.local(2011, "may", 23, 11, 0, 0))
327
+ Time.stubs(:now).returns(Time.local(2011, "may", 23, 11, 0, 0))
326
328
  end
327
329
 
328
330
  it "should match when the previous time was 32 days ago" do
@@ -348,7 +350,7 @@ describe Puppet::Type.type(:schedule) do
348
350
  current = Time.utc(2008, 1, 1, 0, 0, 0)
349
351
  previous = Time.utc(2007, 12, 31, 23, 59, 0)
350
352
 
351
- allow(Time).to receive(:now).and_return(current)
353
+ Time.stubs(:now).returns(current)
352
354
  expect(@schedule).to be_match(previous)
353
355
  end
354
356
 
@@ -356,7 +358,7 @@ describe Puppet::Type.type(:schedule) do
356
358
  current = Time.utc(2009, 2, 1, 12, 59, 0)
357
359
  previous = Time.utc(2009, 2, 1, 12, 0, 0)
358
360
 
359
- allow(Time).to receive(:now).and_return(current)
361
+ Time.stubs(:now).returns(current)
360
362
  expect(@schedule).to_not be_match(previous)
361
363
  end
362
364
  end
@@ -373,7 +375,7 @@ describe Puppet::Type.type(:schedule) do
373
375
  # Now set the previous time to one minute before that
374
376
  previous = current - 60
375
377
 
376
- allow(Time).to receive(:now).and_return(current)
378
+ Time.stubs(:now).returns(current)
377
379
  expect(@schedule).to be_match(previous)
378
380
  end
379
381
 
@@ -385,7 +387,7 @@ describe Puppet::Type.type(:schedule) do
385
387
  # Set the current time to 23:59
386
388
  now = previous + (23 * 3600) + (59 * 60)
387
389
 
388
- allow(Time).to receive(:now).and_return(now)
390
+ Time.stubs(:now).returns(now)
389
391
  expect(@schedule).to_not be_match(previous)
390
392
  end
391
393
  end
@@ -398,7 +400,7 @@ describe Puppet::Type.type(:schedule) do
398
400
 
399
401
  it "should match if the previous time is prior to the most recent Sunday" do
400
402
  now = Time.utc(2010, "nov", 11, 0, 0, 0) # Thursday
401
- allow(Time).to receive(:now).and_return(now)
403
+ Time.stubs(:now).returns(now)
402
404
  previous = Time.utc(2010, "nov", 6, 23, 59, 59) # Sat
403
405
 
404
406
  expect(@schedule).to be_match(previous)
@@ -406,7 +408,7 @@ describe Puppet::Type.type(:schedule) do
406
408
 
407
409
  it "should not match if the previous time is after the most recent Saturday" do
408
410
  now = Time.utc(2010, "nov", 11, 0, 0, 0) # Thursday
409
- allow(Time).to receive(:now).and_return(now)
411
+ Time.stubs(:now).returns(now)
410
412
  previous = Time.utc(2010, "nov", 7, 0, 0, 0) # Sunday
411
413
 
412
414
  expect(@schedule).to_not be_match(previous)
@@ -421,7 +423,7 @@ describe Puppet::Type.type(:schedule) do
421
423
 
422
424
  it "should match when the previous time is prior to the first day of this month" do
423
425
  now = Time.utc(2010, "nov", 8, 00, 59, 59)
424
- allow(Time).to receive(:now).and_return(now)
426
+ Time.stubs(:now).returns(now)
425
427
  previous = Time.utc(2010, "oct", 31, 23, 59, 59)
426
428
 
427
429
  expect(@schedule).to be_match(previous)
@@ -429,7 +431,7 @@ describe Puppet::Type.type(:schedule) do
429
431
 
430
432
  it "should not match when the previous time is after the last day of last month" do
431
433
  now = Time.utc(2010, "nov", 8, 00, 59, 59)
432
- allow(Time).to receive(:now).and_return(now)
434
+ Time.stubs(:now).returns(now)
433
435
  previous = Time.utc(2010, "nov", 1, 0, 0, 0)
434
436
 
435
437
  expect(@schedule).to_not be_match(previous)
@@ -441,7 +443,7 @@ describe Puppet::Type.type(:schedule) do
441
443
  @schedule[:period] = :daily
442
444
  @schedule[:repeat] = 2
443
445
 
444
- allow(Time).to receive(:now).and_return(Time.local(2011, "may", 23, 11, 0, 0))
446
+ Time.stubs(:now).returns(Time.local(2011, "may", 23, 11, 0, 0))
445
447
  end
446
448
 
447
449
  it "should fail if the periodmatch is 'number'" do
@@ -463,7 +465,7 @@ describe Puppet::Type.type(:schedule) do
463
465
  describe Puppet::Type.type(:schedule), "when matching days of the week" do
464
466
  before do
465
467
  # 2011-05-23 is a Monday
466
- allow(Time).to receive(:now).and_return(Time.local(2011, "may", 23, 11, 0, 0))
468
+ Time.stubs(:now).returns(Time.local(2011, "may", 23, 11, 0, 0))
467
469
  end
468
470
 
469
471
  it "should raise an error if the weekday is 'Someday'" do
@@ -557,7 +559,7 @@ describe Puppet::Type.type(:schedule) do
557
559
  describe Puppet::Type.type(:schedule), "when matching days of week and ranges spanning days, day 1" do
558
560
  before do
559
561
  # Test with ranges and days-of-week both set. 2011-03-31 was a Thursday.
560
- allow(Time).to receive(:now).and_return(Time.local(2011, "mar", 31, 22, 30, 0))
562
+ Time.stubs(:now).returns(Time.local(2011, "mar", 31, 22, 30, 0))
561
563
  end
562
564
 
563
565
  it "should match when the range and day of week matches" do
@@ -589,7 +591,7 @@ describe Puppet::Type.type(:schedule) do
589
591
  before do
590
592
  # 2011-03-31 was a Thursday. As the end-time of a day spanning match, that means
591
593
  # we need to match on Wednesday.
592
- allow(Time).to receive(:now).and_return(Time.local(2011, "mar", 31, 1, 30, 0))
594
+ Time.stubs(:now).returns(Time.local(2011, "mar", 31, 1, 30, 0))
593
595
  end
594
596
 
595
597
  it "should match when the range matches and the day of week should match" do