puppet 5.5.12-x86-mingw32 → 5.5.13-x86-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 (733) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +0 -5
  3. data/Gemfile.lock +11 -11
  4. data/lib/puppet/application/filebucket.rb +4 -0
  5. data/lib/puppet/configurer.rb +9 -3
  6. data/lib/puppet/indirector/request.rb +26 -15
  7. data/lib/puppet/indirector/rest.rb +16 -7
  8. data/lib/puppet/network/http/connection.rb +15 -7
  9. data/lib/puppet/transaction/event_manager.rb +1 -5
  10. data/lib/puppet/type/file/source.rb +0 -1
  11. data/lib/puppet/util/http_proxy.rb +3 -2
  12. data/lib/puppet/version.rb +1 -1
  13. data/locales/puppet.pot +108 -36
  14. data/man/man5/puppet.conf.5 +2 -2
  15. data/man/man8/puppet-agent.8 +1 -1
  16. data/man/man8/puppet-apply.8 +1 -1
  17. data/man/man8/puppet-ca.8 +1 -1
  18. data/man/man8/puppet-catalog.8 +1 -1
  19. data/man/man8/puppet-cert.8 +1 -1
  20. data/man/man8/puppet-certificate.8 +1 -1
  21. data/man/man8/puppet-certificate_request.8 +1 -1
  22. data/man/man8/puppet-certificate_revocation_list.8 +1 -1
  23. data/man/man8/puppet-config.8 +1 -1
  24. data/man/man8/puppet-describe.8 +1 -1
  25. data/man/man8/puppet-device.8 +1 -1
  26. data/man/man8/puppet-doc.8 +1 -1
  27. data/man/man8/puppet-epp.8 +1 -1
  28. data/man/man8/puppet-facts.8 +1 -1
  29. data/man/man8/puppet-filebucket.8 +1 -1
  30. data/man/man8/puppet-generate.8 +1 -1
  31. data/man/man8/puppet-help.8 +1 -1
  32. data/man/man8/puppet-key.8 +1 -1
  33. data/man/man8/puppet-lookup.8 +1 -1
  34. data/man/man8/puppet-man.8 +1 -1
  35. data/man/man8/puppet-master.8 +1 -1
  36. data/man/man8/puppet-module.8 +1 -1
  37. data/man/man8/puppet-node.8 +1 -1
  38. data/man/man8/puppet-parser.8 +1 -1
  39. data/man/man8/puppet-plugin.8 +1 -1
  40. data/man/man8/puppet-report.8 +1 -1
  41. data/man/man8/puppet-resource.8 +1 -1
  42. data/man/man8/puppet-script.8 +1 -1
  43. data/man/man8/puppet-status.8 +1 -1
  44. data/man/man8/puppet.8 +2 -2
  45. data/spec/integration/agent/logging_spec.rb +5 -7
  46. data/spec/integration/application/apply_spec.rb +28 -26
  47. data/spec/integration/application/doc_spec.rb +1 -2
  48. data/spec/integration/application/lookup_spec.rb +5 -5
  49. data/spec/integration/configurer_spec.rb +5 -6
  50. data/spec/integration/defaults_spec.rb +5 -6
  51. data/spec/integration/directory_environments_spec.rb +1 -1
  52. data/spec/integration/faces/ca_spec.rb +2 -3
  53. data/spec/integration/faces/config_spec.rb +3 -4
  54. data/spec/integration/faces/documentation_spec.rb +0 -1
  55. data/spec/integration/faces/plugin_spec.rb +1 -1
  56. data/spec/integration/file_bucket/file_spec.rb +3 -5
  57. data/spec/integration/file_serving/content_spec.rb +0 -1
  58. data/spec/integration/file_serving/fileset_spec.rb +0 -1
  59. data/spec/integration/file_serving/metadata_spec.rb +0 -1
  60. data/spec/integration/file_serving/terminus_helper_spec.rb +0 -1
  61. data/spec/integration/indirector/catalog/compiler_spec.rb +10 -11
  62. data/spec/integration/indirector/direct_file_server_spec.rb +1 -1
  63. data/spec/integration/indirector/facts/facter_spec.rb +5 -5
  64. data/spec/integration/indirector/file_content/file_server_spec.rb +7 -8
  65. data/spec/integration/indirector/file_metadata/file_server_spec.rb +7 -8
  66. data/spec/integration/indirector/node/ldap_spec.rb +2 -3
  67. data/spec/integration/network/authconfig_spec.rb +23 -24
  68. data/spec/integration/network/formats_spec.rb +0 -1
  69. data/spec/integration/network/http/api/indirected_routes_spec.rb +0 -1
  70. data/spec/integration/node/environment_spec.rb +0 -1
  71. data/spec/integration/node/facts_spec.rb +9 -10
  72. data/spec/integration/node_spec.rb +6 -7
  73. data/spec/integration/parser/catalog_spec.rb +4 -2
  74. data/spec/integration/parser/collection_spec.rb +1 -2
  75. data/spec/integration/parser/compiler_spec.rb +6 -6
  76. data/spec/integration/parser/scope_spec.rb +1 -1
  77. data/spec/integration/parser/undef_param_spec.rb +1 -1
  78. data/spec/integration/provider/cron/crontab_spec.rb +8 -10
  79. data/spec/integration/provider/mailalias/aliases_spec.rb +0 -1
  80. data/spec/integration/provider/mount_spec.rb +9 -9
  81. data/spec/integration/provider/service/init_spec.rb +4 -5
  82. data/spec/integration/provider/service/systemd_spec.rb +0 -2
  83. data/spec/integration/provider/service/windows_spec.rb +1 -2
  84. data/spec/integration/provider/ssh_authorized_key_spec.rb +6 -8
  85. data/spec/integration/provider/sshkey_spec.rb +6 -12
  86. data/spec/integration/provider/yumrepo_spec.rb +8 -12
  87. data/spec/integration/reference/providers_spec.rb +0 -1
  88. data/spec/integration/reports_spec.rb +1 -2
  89. data/spec/integration/resource/catalog_spec.rb +14 -17
  90. data/spec/integration/resource/type_collection_spec.rb +4 -5
  91. data/spec/integration/ssl/certificate_authority_spec.rb +0 -1
  92. data/spec/integration/ssl/certificate_request_spec.rb +0 -1
  93. data/spec/integration/ssl/certificate_revocation_list_spec.rb +0 -1
  94. data/spec/integration/ssl/host_spec.rb +0 -1
  95. data/spec/integration/ssl/key_spec.rb +0 -1
  96. data/spec/integration/test/test_helper_spec.rb +1 -2
  97. data/spec/integration/transaction/report_spec.rb +6 -11
  98. data/spec/integration/transaction_spec.rb +18 -19
  99. data/spec/integration/type/exec_spec.rb +0 -1
  100. data/spec/integration/type/file_spec.rb +13 -14
  101. data/spec/integration/type/nagios_spec.rb +3 -5
  102. data/spec/integration/type/package_spec.rb +19 -23
  103. data/spec/integration/type/tidy_spec.rb +1 -2
  104. data/spec/integration/type/user_spec.rb +0 -1
  105. data/spec/integration/type_spec.rb +0 -1
  106. data/spec/integration/util/autoload_spec.rb +1 -2
  107. data/spec/integration/util/rdoc/parser_spec.rb +0 -1
  108. data/spec/integration/util/settings_spec.rb +0 -1
  109. data/spec/integration/util/windows/adsi_spec.rb +3 -5
  110. data/spec/integration/util/windows/principal_spec.rb +0 -1
  111. data/spec/integration/util/windows/process_spec.rb +4 -6
  112. data/spec/integration/util/windows/registry_spec.rb +41 -51
  113. data/spec/integration/util/windows/security_spec.rb +2 -4
  114. data/spec/integration/util/windows/user_spec.rb +18 -20
  115. data/spec/integration/util_spec.rb +4 -7
  116. data/spec/lib/puppet_spec/compiler.rb +1 -1
  117. data/spec/lib/puppet_spec/files.rb +0 -1
  118. data/spec/lib/puppet_spec/module_tool/shared_functions.rb +1 -1
  119. data/spec/lib/puppet_spec/scope.rb +1 -2
  120. data/spec/shared_behaviours/all_parsedfile_providers.rb +1 -1
  121. data/spec/shared_behaviours/file_server_terminus.rb +8 -9
  122. data/spec/shared_behaviours/file_serving.rb +6 -8
  123. data/spec/shared_behaviours/file_serving_model.rb +4 -6
  124. data/spec/shared_behaviours/hiera_indirections.rb +3 -4
  125. data/spec/shared_behaviours/iterative_functions.rb +0 -1
  126. data/spec/shared_behaviours/memory_terminus.rb +2 -2
  127. data/spec/shared_examples/rhel_package_provider.rb +112 -70
  128. data/spec/spec_helper.rb +11 -2
  129. data/spec/unit/agent/disabler_spec.rb +4 -5
  130. data/spec/unit/agent/locker_spec.rb +12 -13
  131. data/spec/unit/agent_spec.rb +80 -85
  132. data/spec/unit/application/agent_spec.rb +88 -93
  133. data/spec/unit/application/apply_spec.rb +78 -79
  134. data/spec/unit/application/cert_spec.rb +42 -49
  135. data/spec/unit/application/certificate_spec.rb +2 -3
  136. data/spec/unit/application/config_spec.rb +0 -1
  137. data/spec/unit/application/describe_spec.rb +6 -7
  138. data/spec/unit/application/device_spec.rb +175 -184
  139. data/spec/unit/application/doc_spec.rb +44 -46
  140. data/spec/unit/application/face_base_spec.rb +61 -62
  141. data/spec/unit/application/facts_spec.rb +3 -4
  142. data/spec/unit/application/filebucket_spec.rb +66 -74
  143. data/spec/unit/application/indirection_base_spec.rb +8 -6
  144. data/spec/unit/application/lookup_spec.rb +26 -26
  145. data/spec/unit/application/master_spec.rb +95 -95
  146. data/spec/unit/application/resource_spec.rb +42 -48
  147. data/spec/unit/application_spec.rb +74 -84
  148. data/spec/unit/capability_spec.rb +9 -6
  149. data/spec/unit/configurer/downloader_spec.rb +20 -21
  150. data/spec/unit/configurer/fact_handler_spec.rb +2 -3
  151. data/spec/unit/configurer/plugin_handler_spec.rb +41 -8
  152. data/spec/unit/configurer_spec.rb +190 -193
  153. data/spec/unit/confine/exists_spec.rb +17 -15
  154. data/spec/unit/confine/false_spec.rb +5 -6
  155. data/spec/unit/confine/feature_spec.rb +7 -5
  156. data/spec/unit/confine/true_spec.rb +5 -6
  157. data/spec/unit/confine/variable_spec.rb +14 -15
  158. data/spec/unit/confine_collection_spec.rb +28 -29
  159. data/spec/unit/confine_spec.rb +13 -14
  160. data/spec/unit/confiner_spec.rb +10 -11
  161. data/spec/unit/context/trusted_information_spec.rb +1 -1
  162. data/spec/unit/daemon_spec.rb +34 -35
  163. data/spec/unit/data_providers/function_data_provider_spec.rb +0 -1
  164. data/spec/unit/data_providers/hiera_data_provider_spec.rb +0 -1
  165. data/spec/unit/datatypes_spec.rb +3 -4
  166. data/spec/unit/defaults_spec.rb +17 -12
  167. data/spec/unit/environments_spec.rb +7 -7
  168. data/spec/unit/etc_spec.rb +30 -32
  169. data/spec/unit/external/pson_spec.rb +0 -1
  170. data/spec/unit/face/ca_spec.rb +0 -1
  171. data/spec/unit/face/catalog_spec.rb +0 -1
  172. data/spec/unit/face/certificate_request_spec.rb +0 -1
  173. data/spec/unit/face/certificate_revocation_list_spec.rb +0 -1
  174. data/spec/unit/face/certificate_spec.rb +7 -10
  175. data/spec/unit/face/config_spec.rb +31 -35
  176. data/spec/unit/face/epp_face_spec.rb +3 -4
  177. data/spec/unit/face/facts_spec.rb +5 -6
  178. data/spec/unit/face/generate_spec.rb +4 -5
  179. data/spec/unit/face/help_spec.rb +7 -8
  180. data/spec/unit/face/key_spec.rb +0 -1
  181. data/spec/unit/face/man_spec.rb +1 -2
  182. data/spec/unit/face/module/build_spec.rb +17 -17
  183. data/spec/unit/face/module/install_spec.rb +3 -5
  184. data/spec/unit/face/module/list_spec.rb +2 -12
  185. data/spec/unit/face/module/search_spec.rb +11 -9
  186. data/spec/unit/face/module/uninstall_spec.rb +4 -8
  187. data/spec/unit/face/node_spec.rb +33 -34
  188. data/spec/unit/face/parser_spec.rb +3 -3
  189. data/spec/unit/face/plugin_spec.rb +36 -9
  190. data/spec/unit/face/status_spec.rb +0 -1
  191. data/spec/unit/file_bucket/dipper_spec.rb +24 -20
  192. data/spec/unit/file_bucket/file_spec.rb +0 -2
  193. data/spec/unit/file_serving/base_spec.rb +16 -17
  194. data/spec/unit/file_serving/configuration/parser_spec.rb +27 -28
  195. data/spec/unit/file_serving/configuration_spec.rb +63 -66
  196. data/spec/unit/file_serving/content_spec.rb +10 -11
  197. data/spec/unit/file_serving/fileset_spec.rb +63 -58
  198. data/spec/unit/file_serving/http_metadata_spec.rb +8 -7
  199. data/spec/unit/file_serving/metadata_spec.rb +36 -36
  200. data/spec/unit/file_serving/mount/file_spec.rb +31 -32
  201. data/spec/unit/file_serving/mount/locales_spec.rb +23 -24
  202. data/spec/unit/file_serving/mount/modules_spec.rb +14 -15
  203. data/spec/unit/file_serving/mount/pluginfacts_spec.rb +23 -24
  204. data/spec/unit/file_serving/mount/plugins_spec.rb +23 -24
  205. data/spec/unit/file_serving/mount/tasks_spec.rb +14 -15
  206. data/spec/unit/file_serving/mount_spec.rb +0 -1
  207. data/spec/unit/file_serving/terminus_helper_spec.rb +37 -42
  208. data/spec/unit/file_serving/terminus_selector_spec.rb +12 -13
  209. data/spec/unit/file_system/uniquefile_spec.rb +4 -4
  210. data/spec/unit/file_system_spec.rb +2 -2
  211. data/spec/unit/forge/errors_spec.rb +1 -1
  212. data/spec/unit/forge/forge_spec.rb +13 -14
  213. data/spec/unit/forge/module_release_spec.rb +18 -18
  214. data/spec/unit/forge/repository_spec.rb +29 -30
  215. data/spec/unit/forge_spec.rb +15 -11
  216. data/spec/unit/functions/binary_file_spec.rb +3 -3
  217. data/spec/unit/functions/contain_spec.rb +0 -2
  218. data/spec/unit/functions/defined_spec.rb +0 -1
  219. data/spec/unit/functions/epp_spec.rb +2 -2
  220. data/spec/unit/functions/find_file_spec.rb +7 -7
  221. data/spec/unit/functions/include_spec.rb +0 -4
  222. data/spec/unit/functions/lookup_fixture_spec.rb +0 -1
  223. data/spec/unit/functions/lookup_spec.rb +1 -2
  224. data/spec/unit/functions/module_directory_spec.rb +12 -12
  225. data/spec/unit/functions/require_spec.rb +0 -3
  226. data/spec/unit/functions/shared.rb +5 -8
  227. data/spec/unit/functions/versioncmp_spec.rb +1 -2
  228. data/spec/unit/functions4_spec.rb +7 -8
  229. data/spec/unit/gettext/config_spec.rb +4 -4
  230. data/spec/unit/gettext/module_loading_spec.rb +7 -7
  231. data/spec/unit/graph/rb_tree_map_spec.rb +0 -2
  232. data/spec/unit/graph/relationship_graph_spec.rb +1 -2
  233. data/spec/unit/graph/simple_graph_spec.rb +8 -9
  234. data/spec/unit/hiera_puppet_spec.rb +20 -20
  235. data/spec/unit/indirector/catalog/compiler_spec.rb +147 -149
  236. data/spec/unit/indirector/catalog/json_spec.rb +1 -2
  237. data/spec/unit/indirector/catalog/msgpack_spec.rb +0 -1
  238. data/spec/unit/indirector/catalog/rest_spec.rb +0 -1
  239. data/spec/unit/indirector/catalog/store_configs_spec.rb +0 -1
  240. data/spec/unit/indirector/catalog/yaml_spec.rb +0 -1
  241. data/spec/unit/indirector/certificate/ca_spec.rb +2 -4
  242. data/spec/unit/indirector/certificate/disabled_ca_spec.rb +1 -2
  243. data/spec/unit/indirector/certificate/file_spec.rb +2 -3
  244. data/spec/unit/indirector/certificate/rest_spec.rb +8 -10
  245. data/spec/unit/indirector/certificate_request/ca_spec.rb +0 -1
  246. data/spec/unit/indirector/certificate_request/disabled_ca_spec.rb +1 -2
  247. data/spec/unit/indirector/certificate_request/file_spec.rb +0 -1
  248. data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -1
  249. data/spec/unit/indirector/certificate_revocation_list/ca_spec.rb +1 -2
  250. data/spec/unit/indirector/certificate_revocation_list/disabled_ca_spec.rb +1 -2
  251. data/spec/unit/indirector/certificate_revocation_list/file_spec.rb +1 -2
  252. data/spec/unit/indirector/certificate_revocation_list/rest_spec.rb +2 -3
  253. data/spec/unit/indirector/certificate_status/file_spec.rb +2 -3
  254. data/spec/unit/indirector/certificate_status/rest_spec.rb +0 -1
  255. data/spec/unit/indirector/code_spec.rb +5 -6
  256. data/spec/unit/indirector/direct_file_server_spec.rb +33 -27
  257. data/spec/unit/indirector/envelope_spec.rb +1 -2
  258. data/spec/unit/indirector/exec_spec.rb +15 -14
  259. data/spec/unit/indirector/face_spec.rb +9 -9
  260. data/spec/unit/indirector/facts/facter_spec.rb +37 -43
  261. data/spec/unit/indirector/facts/network_device_spec.rb +8 -9
  262. data/spec/unit/indirector/facts/rest_spec.rb +7 -8
  263. data/spec/unit/indirector/facts/store_configs_spec.rb +0 -1
  264. data/spec/unit/indirector/facts/yaml_spec.rb +2 -4
  265. data/spec/unit/indirector/file_bucket_file/file_spec.rb +3 -4
  266. data/spec/unit/indirector/file_bucket_file/rest_spec.rb +0 -1
  267. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +4 -5
  268. data/spec/unit/indirector/file_content/file_server_spec.rb +0 -1
  269. data/spec/unit/indirector/file_content/file_spec.rb +0 -1
  270. data/spec/unit/indirector/file_content/rest_spec.rb +0 -1
  271. data/spec/unit/indirector/file_content/selector_spec.rb +0 -1
  272. data/spec/unit/indirector/file_metadata/file_server_spec.rb +0 -1
  273. data/spec/unit/indirector/file_metadata/file_spec.rb +12 -13
  274. data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -1
  275. data/spec/unit/indirector/file_metadata/selector_spec.rb +0 -1
  276. data/spec/unit/indirector/file_server_spec.rb +99 -93
  277. data/spec/unit/indirector/indirection_spec.rb +242 -226
  278. data/spec/unit/indirector/json_spec.rb +7 -9
  279. data/spec/unit/indirector/key/ca_spec.rb +2 -3
  280. data/spec/unit/indirector/key/disabled_ca_spec.rb +1 -2
  281. data/spec/unit/indirector/key/file_spec.rb +25 -26
  282. data/spec/unit/indirector/ldap_spec.rb +34 -41
  283. data/spec/unit/indirector/memory_spec.rb +6 -7
  284. data/spec/unit/indirector/msgpack_spec.rb +7 -9
  285. data/spec/unit/indirector/node/exec_spec.rb +6 -6
  286. data/spec/unit/indirector/node/ldap_spec.rb +74 -76
  287. data/spec/unit/indirector/node/memory_spec.rb +2 -4
  288. data/spec/unit/indirector/node/msgpack_spec.rb +0 -1
  289. data/spec/unit/indirector/node/plain_spec.rb +2 -4
  290. data/spec/unit/indirector/node/rest_spec.rb +0 -1
  291. data/spec/unit/indirector/node/store_configs_spec.rb +0 -1
  292. data/spec/unit/indirector/node/write_only_yaml_spec.rb +1 -2
  293. data/spec/unit/indirector/node/yaml_spec.rb +0 -1
  294. data/spec/unit/indirector/none_spec.rb +5 -5
  295. data/spec/unit/indirector/plain_spec.rb +7 -8
  296. data/spec/unit/indirector/report/msgpack_spec.rb +0 -1
  297. data/spec/unit/indirector/report/processor_spec.rb +21 -22
  298. data/spec/unit/indirector/report/rest_spec.rb +11 -12
  299. data/spec/unit/indirector/report/yaml_spec.rb +0 -1
  300. data/spec/unit/indirector/request_spec.rb +11 -12
  301. data/spec/unit/indirector/resource/ral_spec.rb +47 -54
  302. data/spec/unit/indirector/resource/store_configs_spec.rb +0 -1
  303. data/spec/unit/indirector/rest_spec.rb +113 -110
  304. data/spec/unit/indirector/ssl_file_spec.rb +74 -77
  305. data/spec/unit/indirector/status/local_spec.rb +0 -1
  306. data/spec/unit/indirector/status/rest_spec.rb +0 -1
  307. data/spec/unit/indirector/store_configs_spec.rb +0 -1
  308. data/spec/unit/indirector/terminus_spec.rb +31 -29
  309. data/spec/unit/indirector/yaml_spec.rb +33 -32
  310. data/spec/unit/indirector_spec.rb +1 -2
  311. data/spec/unit/info_service_spec.rb +3 -1
  312. data/spec/unit/interface/action_builder_spec.rb +0 -1
  313. data/spec/unit/interface/action_manager_spec.rb +0 -1
  314. data/spec/unit/interface/action_spec.rb +2 -3
  315. data/spec/unit/interface/documentation_spec.rb +0 -1
  316. data/spec/unit/interface/face_collection_spec.rb +19 -12
  317. data/spec/unit/interface_spec.rb +3 -3
  318. data/spec/unit/man_spec.rb +3 -4
  319. data/spec/unit/module_spec.rb +46 -51
  320. data/spec/unit/module_tool/applications/builder_spec.rb +5 -5
  321. data/spec/unit/module_tool/applications/installer_spec.rb +10 -11
  322. data/spec/unit/module_tool/applications/searcher_spec.rb +3 -3
  323. data/spec/unit/module_tool/applications/uninstaller_spec.rb +1 -2
  324. data/spec/unit/module_tool/applications/unpacker_spec.rb +13 -13
  325. data/spec/unit/module_tool/applications/upgrader_spec.rb +5 -5
  326. data/spec/unit/module_tool/install_directory_spec.rb +8 -8
  327. data/spec/unit/module_tool/installed_modules_spec.rb +3 -3
  328. data/spec/unit/module_tool/tar/gnu_spec.rb +6 -6
  329. data/spec/unit/module_tool/tar/mini_spec.rb +12 -12
  330. data/spec/unit/module_tool/tar_spec.rb +12 -13
  331. data/spec/unit/module_tool_spec.rb +7 -12
  332. data/spec/unit/network/auth_config_parser_spec.rb +11 -13
  333. data/spec/unit/network/authconfig_spec.rb +17 -18
  334. data/spec/unit/network/authorization_spec.rb +4 -5
  335. data/spec/unit/network/authstore_spec.rb +0 -1
  336. data/spec/unit/network/format_handler_spec.rb +0 -1
  337. data/spec/unit/network/format_spec.rb +9 -10
  338. data/spec/unit/network/format_support_spec.rb +28 -29
  339. data/spec/unit/network/formats_spec.rb +4 -5
  340. data/spec/unit/network/http/api/ca/v1_spec.rb +1 -1
  341. data/spec/unit/network/http/api/indirected_routes_spec.rb +22 -29
  342. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +2 -2
  343. data/spec/unit/network/http/api/master/v3/environment_spec.rb +1 -1
  344. data/spec/unit/network/http/api/master/v3/environments_spec.rb +6 -7
  345. data/spec/unit/network/http/api_spec.rb +1 -3
  346. data/spec/unit/network/http/compression_spec.rb +21 -22
  347. data/spec/unit/network/http/connection_spec.rb +39 -36
  348. data/spec/unit/network/http/factory_spec.rb +5 -6
  349. data/spec/unit/network/http/handler_spec.rb +9 -18
  350. data/spec/unit/network/http/nocache_pool_spec.rb +6 -7
  351. data/spec/unit/network/http/pool_spec.rb +28 -29
  352. data/spec/unit/network/http/rack/rest_spec.rb +24 -27
  353. data/spec/unit/network/http/rack_spec.rb +5 -6
  354. data/spec/unit/network/http/request_spec.rb +0 -2
  355. data/spec/unit/network/http/response_spec.rb +11 -13
  356. data/spec/unit/network/http/route_spec.rb +0 -1
  357. data/spec/unit/network/http/session_spec.rb +1 -2
  358. data/spec/unit/network/http/site_spec.rb +0 -1
  359. data/spec/unit/network/http/webrick/rest_spec.rb +40 -41
  360. data/spec/unit/network/http/webrick_spec.rb +49 -52
  361. data/spec/unit/network/http_pool_spec.rb +18 -9
  362. data/spec/unit/network/http_spec.rb +0 -1
  363. data/spec/unit/network/resolver_spec.rb +16 -17
  364. data/spec/unit/network/rights_spec.rb +52 -53
  365. data/spec/unit/network/server_spec.rb +12 -13
  366. data/spec/unit/node/environment_spec.rb +16 -14
  367. data/spec/unit/node/facts_spec.rb +5 -7
  368. data/spec/unit/node_spec.rb +4 -10
  369. data/spec/unit/other/selinux_spec.rb +2 -3
  370. data/spec/unit/parameter/boolean_spec.rb +1 -2
  371. data/spec/unit/parameter/package_options_spec.rb +1 -2
  372. data/spec/unit/parameter/path_spec.rb +0 -1
  373. data/spec/unit/parameter/value_collection_spec.rb +0 -1
  374. data/spec/unit/parameter/value_spec.rb +0 -1
  375. data/spec/unit/parameter_spec.rb +9 -9
  376. data/spec/unit/parser/ast/block_expression_spec.rb +6 -8
  377. data/spec/unit/parser/ast/leaf_spec.rb +20 -21
  378. data/spec/unit/parser/compiler_spec.rb +84 -96
  379. data/spec/unit/parser/environment_compiler_spec.rb +11 -9
  380. data/spec/unit/parser/files_spec.rb +0 -1
  381. data/spec/unit/parser/functions/create_resources_spec.rb +1 -1
  382. data/spec/unit/parser/functions/digest_spec.rb +0 -1
  383. data/spec/unit/parser/functions/fail_spec.rb +1 -2
  384. data/spec/unit/parser/functions/file_spec.rb +13 -14
  385. data/spec/unit/parser/functions/fqdn_rand_spec.rb +5 -6
  386. data/spec/unit/parser/functions/generate_spec.rb +7 -8
  387. data/spec/unit/parser/functions/inline_template_spec.rb +0 -1
  388. data/spec/unit/parser/functions/regsubst_spec.rb +0 -1
  389. data/spec/unit/parser/functions/scanf_spec.rb +0 -1
  390. data/spec/unit/parser/functions/shellquote_spec.rb +0 -1
  391. data/spec/unit/parser/functions/split_spec.rb +0 -1
  392. data/spec/unit/parser/functions/sprintf_spec.rb +0 -1
  393. data/spec/unit/parser/functions/tag_spec.rb +1 -2
  394. data/spec/unit/parser/functions/tagged_spec.rb +2 -3
  395. data/spec/unit/parser/functions/template_spec.rb +13 -13
  396. data/spec/unit/parser/functions/versioncmp_spec.rb +1 -2
  397. data/spec/unit/parser/functions_spec.rb +3 -4
  398. data/spec/unit/parser/relationship_spec.rb +0 -1
  399. data/spec/unit/parser/resource_spec.rb +42 -42
  400. data/spec/unit/parser/scope_spec.rb +39 -35
  401. data/spec/unit/parser/templatewrapper_spec.rb +11 -12
  402. data/spec/unit/parser/type_loader_spec.rb +17 -19
  403. data/spec/unit/pops/adaptable_spec.rb +0 -1
  404. data/spec/unit/pops/benchmark_spec.rb +0 -1
  405. data/spec/unit/pops/evaluator/access_ops_spec.rb +0 -1
  406. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +0 -1
  407. data/spec/unit/pops/evaluator/basic_expressions_spec.rb +0 -1
  408. data/spec/unit/pops/evaluator/collections_ops_spec.rb +0 -1
  409. data/spec/unit/pops/evaluator/comparison_ops_spec.rb +0 -1
  410. data/spec/unit/pops/evaluator/conditionals_spec.rb +0 -1
  411. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +6 -6
  412. data/spec/unit/pops/evaluator/logical_ops_spec.rb +0 -1
  413. data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +0 -1
  414. data/spec/unit/pops/evaluator/string_interpolation_spec.rb +0 -1
  415. data/spec/unit/pops/evaluator/variables_spec.rb +0 -1
  416. data/spec/unit/pops/factory_spec.rb +3 -4
  417. data/spec/unit/pops/issues_spec.rb +19 -20
  418. data/spec/unit/pops/loaders/loader_spec.rb +8 -4
  419. data/spec/unit/pops/loaders/loaders_spec.rb +30 -27
  420. data/spec/unit/pops/lookup/context_spec.rb +0 -1
  421. data/spec/unit/pops/lookup/interpolation_spec.rb +2 -3
  422. data/spec/unit/pops/merge_strategy_spec.rb +0 -1
  423. data/spec/unit/pops/migration_spec.rb +3 -5
  424. data/spec/unit/pops/model/model_spec.rb +0 -1
  425. data/spec/unit/pops/model/pn_transformer_spec.rb +0 -1
  426. data/spec/unit/pops/parser/locator_spec.rb +3 -6
  427. data/spec/unit/pops/parser/parse_application_spec.rb +0 -1
  428. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
  429. data/spec/unit/pops/parser/parse_calls_spec.rb +0 -1
  430. data/spec/unit/pops/parser/parse_capabilities_spec.rb +0 -1
  431. data/spec/unit/pops/parser/parse_conditionals_spec.rb +0 -1
  432. data/spec/unit/pops/parser/parse_containers_spec.rb +0 -1
  433. data/spec/unit/pops/parser/parse_plan_spec.rb +0 -1
  434. data/spec/unit/pops/parser/parse_resource_spec.rb +0 -1
  435. data/spec/unit/pops/parser/parse_site_spec.rb +0 -1
  436. data/spec/unit/pops/parser/pn_parser_spec.rb +0 -1
  437. data/spec/unit/pops/pn_spec.rb +0 -1
  438. data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -1
  439. data/spec/unit/pops/serialization/serialization_spec.rb +1 -1
  440. data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
  441. data/spec/unit/pops/types/recursion_guard_spec.rb +10 -10
  442. data/spec/unit/pops/types/ruby_generator_spec.rb +2 -2
  443. data/spec/unit/pops/types/type_asserter_spec.rb +2 -2
  444. data/spec/unit/pops/types/type_calculator_spec.rb +36 -36
  445. data/spec/unit/pops/types/type_parser_spec.rb +13 -13
  446. data/spec/unit/pops/validator/validator_spec.rb +1 -2
  447. data/spec/unit/pops/visitor_spec.rb +0 -1
  448. data/spec/unit/property/boolean_spec.rb +1 -1
  449. data/spec/unit/property/ensure_spec.rb +0 -1
  450. data/spec/unit/property/keyvalue_spec.rb +32 -34
  451. data/spec/unit/property/list_spec.rb +26 -27
  452. data/spec/unit/property/ordered_list_spec.rb +10 -14
  453. data/spec/unit/property_spec.rb +42 -43
  454. data/spec/unit/provider/aix_object_spec.rb +47 -45
  455. data/spec/unit/provider/augeas/augeas_spec.rb +192 -192
  456. data/spec/unit/provider/cisco_spec.rb +1 -2
  457. data/spec/unit/provider/command_spec.rb +9 -9
  458. data/spec/unit/provider/cron/crontab_spec.rb +10 -11
  459. data/spec/unit/provider/cron/parsed_spec.rb +22 -24
  460. data/spec/unit/provider/exec/posix_spec.rb +6 -7
  461. data/spec/unit/provider/exec/shell_spec.rb +0 -1
  462. data/spec/unit/provider/exec/windows_spec.rb +2 -4
  463. data/spec/unit/provider/exec_spec.rb +0 -1
  464. data/spec/unit/provider/file/posix_spec.rb +22 -24
  465. data/spec/unit/provider/file/windows_spec.rb +15 -17
  466. data/spec/unit/provider/group/aix_spec.rb +3 -2
  467. data/spec/unit/provider/group/groupadd_spec.rb +30 -26
  468. data/spec/unit/provider/group/ldap_spec.rb +18 -18
  469. data/spec/unit/provider/group/pw_spec.rb +11 -11
  470. data/spec/unit/provider/group/windows_adsi_spec.rb +54 -54
  471. data/spec/unit/provider/host/parsed_spec.rb +6 -6
  472. data/spec/unit/provider/interface/cisco_spec.rb +20 -24
  473. data/spec/unit/provider/ldap_spec.rb +61 -62
  474. data/spec/unit/provider/macauthorization_spec.rb +26 -47
  475. data/spec/unit/provider/mcx/mcxcontent_spec.rb +45 -47
  476. data/spec/unit/provider/mount/parsed_spec.rb +18 -24
  477. data/spec/unit/provider/mount_spec.rb +57 -66
  478. data/spec/unit/provider/naginator_spec.rb +13 -14
  479. data/spec/unit/provider/nameservice/directoryservice_spec.rb +35 -36
  480. data/spec/unit/provider/nameservice_spec.rb +38 -40
  481. data/spec/unit/provider/network_device_spec.rb +28 -28
  482. data/spec/unit/provider/package/aix_spec.rb +15 -15
  483. data/spec/unit/provider/package/appdmg_spec.rb +13 -13
  484. data/spec/unit/provider/package/apt_spec.rb +44 -27
  485. data/spec/unit/provider/package/aptitude_spec.rb +6 -7
  486. data/spec/unit/provider/package/aptrpm_spec.rb +7 -12
  487. data/spec/unit/provider/package/base_spec.rb +4 -4
  488. data/spec/unit/provider/package/dnf_spec.rb +14 -16
  489. data/spec/unit/provider/package/dpkg_spec.rb +52 -52
  490. data/spec/unit/provider/package/freebsd_spec.rb +11 -11
  491. data/spec/unit/provider/package/gem_spec.rb +51 -43
  492. data/spec/unit/provider/package/hpux_spec.rb +8 -8
  493. data/spec/unit/provider/package/macports_spec.rb +46 -42
  494. data/spec/unit/provider/package/nim_spec.rb +30 -39
  495. data/spec/unit/provider/package/openbsd_spec.rb +36 -39
  496. data/spec/unit/provider/package/opkg_spec.rb +23 -26
  497. data/spec/unit/provider/package/pacman_spec.rb +97 -118
  498. data/spec/unit/provider/package/pip_spec.rb +69 -71
  499. data/spec/unit/provider/package/pkg_spec.rb +109 -109
  500. data/spec/unit/provider/package/pkgdmg_spec.rb +65 -63
  501. data/spec/unit/provider/package/pkgin_spec.rb +10 -8
  502. data/spec/unit/provider/package/pkgng_spec.rb +17 -18
  503. data/spec/unit/provider/package/pkgutil_spec.rb +45 -49
  504. data/spec/unit/provider/package/portage_spec.rb +70 -74
  505. data/spec/unit/provider/package/puppet_gem_spec.rb +28 -8
  506. data/spec/unit/provider/package/rpm_spec.rb +53 -64
  507. data/spec/unit/provider/package/sun_spec.rb +16 -18
  508. data/spec/unit/provider/package/tdnf_spec.rb +2 -2
  509. data/spec/unit/provider/package/up2date_spec.rb +2 -4
  510. data/spec/unit/provider/package/urpmi_spec.rb +15 -17
  511. data/spec/unit/provider/package/windows/exe_package_spec.rb +12 -15
  512. data/spec/unit/provider/package/windows/msi_package_spec.rb +19 -22
  513. data/spec/unit/provider/package/windows/package_spec.rb +37 -42
  514. data/spec/unit/provider/package/windows_spec.rb +36 -32
  515. data/spec/unit/provider/package/yum_spec.rb +4 -4
  516. data/spec/unit/provider/package/zypper_spec.rb +87 -87
  517. data/spec/unit/provider/parsedfile_spec.rb +44 -45
  518. data/spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb +120 -130
  519. data/spec/unit/provider/selboolean_spec.rb +9 -11
  520. data/spec/unit/provider/selmodule_spec.rb +20 -22
  521. data/spec/unit/provider/service/base_spec.rb +4 -5
  522. data/spec/unit/provider/service/bsd_spec.rb +27 -29
  523. data/spec/unit/provider/service/daemontools_spec.rb +35 -35
  524. data/spec/unit/provider/service/debian_spec.rb +37 -37
  525. data/spec/unit/provider/service/freebsd_spec.rb +18 -18
  526. data/spec/unit/provider/service/gentoo_spec.rb +50 -56
  527. data/spec/unit/provider/service/init_spec.rb +55 -55
  528. data/spec/unit/provider/service/launchd_spec.rb +138 -116
  529. data/spec/unit/provider/service/openbsd_spec.rb +50 -50
  530. data/spec/unit/provider/service/openrc_spec.rb +43 -46
  531. data/spec/unit/provider/service/openwrt_spec.rb +26 -32
  532. data/spec/unit/provider/service/rcng_spec.rb +14 -14
  533. data/spec/unit/provider/service/redhat_spec.rb +45 -43
  534. data/spec/unit/provider/service/runit_spec.rb +29 -27
  535. data/spec/unit/provider/service/smf_spec.rb +74 -66
  536. data/spec/unit/provider/service/src_spec.rb +46 -47
  537. data/spec/unit/provider/service/systemd_spec.rb +93 -98
  538. data/spec/unit/provider/service/upstart_spec.rb +74 -72
  539. data/spec/unit/provider/service/windows_spec.rb +33 -41
  540. data/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +54 -68
  541. data/spec/unit/provider/sshkey/parsed_spec.rb +7 -8
  542. data/spec/unit/provider/user/aix_spec.rb +31 -31
  543. data/spec/unit/provider/user/directoryservice_spec.rb +109 -114
  544. data/spec/unit/provider/user/hpux_spec.rb +15 -15
  545. data/spec/unit/provider/user/ldap_spec.rb +57 -57
  546. data/spec/unit/provider/user/openbsd_spec.rb +10 -12
  547. data/spec/unit/provider/user/pw_spec.rb +37 -35
  548. data/spec/unit/provider/user/user_role_add_spec.rb +93 -93
  549. data/spec/unit/provider/user/useradd_spec.rb +93 -92
  550. data/spec/unit/provider/user/windows_adsi_spec.rb +59 -60
  551. data/spec/unit/provider/vlan/cisco_spec.rb +10 -12
  552. data/spec/unit/provider/yumrepo/inifile_spec.rb +75 -80
  553. data/spec/unit/provider/zfs/zfs_spec.rb +26 -21
  554. data/spec/unit/provider/zone/solaris_spec.rb +56 -42
  555. data/spec/unit/provider/zpool/zpool_spec.rb +19 -20
  556. data/spec/unit/provider_spec.rb +29 -29
  557. data/spec/unit/puppet_pal_2pec.rb +4 -5
  558. data/spec/unit/puppet_pal_spec.rb +0 -1
  559. data/spec/unit/puppet_spec.rb +7 -8
  560. data/spec/unit/relationship_spec.rb +0 -1
  561. data/spec/unit/reports/http_spec.rb +21 -23
  562. data/spec/unit/reports/store_spec.rb +3 -4
  563. data/spec/unit/reports_spec.rb +12 -14
  564. data/spec/unit/resource/capability_finder_spec.rb +18 -16
  565. data/spec/unit/resource/catalog_spec.rb +72 -68
  566. data/spec/unit/resource/status_spec.rb +6 -8
  567. data/spec/unit/resource/type_collection_spec.rb +17 -18
  568. data/spec/unit/resource/type_spec.rb +34 -35
  569. data/spec/unit/resource_spec.rb +36 -32
  570. data/spec/unit/scheduler/job_spec.rb +0 -1
  571. data/spec/unit/scheduler/scheduler_spec.rb +0 -1
  572. data/spec/unit/scheduler/splay_job_spec.rb +1 -2
  573. data/spec/unit/settings/array_setting_spec.rb +1 -1
  574. data/spec/unit/settings/autosign_setting_spec.rb +9 -9
  575. data/spec/unit/settings/certificate_revocation_setting_spec.rb +1 -1
  576. data/spec/unit/settings/config_file_spec.rb +0 -1
  577. data/spec/unit/settings/directory_setting_spec.rb +2 -7
  578. data/spec/unit/settings/duration_setting_spec.rb +1 -2
  579. data/spec/unit/settings/enum_setting_spec.rb +1 -1
  580. data/spec/unit/settings/environment_conf_spec.rb +4 -6
  581. data/spec/unit/settings/file_setting_spec.rb +44 -46
  582. data/spec/unit/settings/path_setting_spec.rb +1 -2
  583. data/spec/unit/settings/priority_setting_spec.rb +1 -2
  584. data/spec/unit/settings/string_setting_spec.rb +14 -15
  585. data/spec/unit/settings/terminus_setting_spec.rb +1 -2
  586. data/spec/unit/settings/value_translator_spec.rb +0 -1
  587. data/spec/unit/settings_spec.rb +226 -233
  588. data/spec/unit/ssl/base_spec.rb +14 -15
  589. data/spec/unit/ssl/certificate_authority/autosign_command_spec.rb +6 -7
  590. data/spec/unit/ssl/certificate_authority/interface_spec.rb +116 -113
  591. data/spec/unit/ssl/certificate_authority_spec.rb +258 -268
  592. data/spec/unit/ssl/certificate_factory_spec.rb +3 -5
  593. data/spec/unit/ssl/certificate_request_attributes_spec.rb +2 -3
  594. data/spec/unit/ssl/certificate_request_spec.rb +66 -67
  595. data/spec/unit/ssl/certificate_revocation_list_spec.rb +3 -4
  596. data/spec/unit/ssl/certificate_spec.rb +23 -25
  597. data/spec/unit/ssl/configuration_spec.rb +1 -4
  598. data/spec/unit/ssl/digest_spec.rb +0 -1
  599. data/spec/unit/ssl/host_spec.rb +217 -188
  600. data/spec/unit/ssl/inventory_spec.rb +25 -21
  601. data/spec/unit/ssl/key_spec.rb +30 -31
  602. data/spec/unit/ssl/validator_spec.rb +40 -40
  603. data/spec/unit/task_spec.rb +6 -7
  604. data/spec/unit/transaction/additional_resource_generator_spec.rb +6 -5
  605. data/spec/unit/transaction/event_manager_spec.rb +88 -88
  606. data/spec/unit/transaction/event_spec.rb +16 -15
  607. data/spec/unit/transaction/persistence_spec.rb +16 -17
  608. data/spec/unit/transaction/report_spec.rb +11 -12
  609. data/spec/unit/transaction/resource_harness_spec.rb +28 -33
  610. data/spec/unit/transaction_spec.rb +98 -100
  611. data/spec/unit/type/augeas_spec.rb +11 -10
  612. data/spec/unit/type/component_spec.rb +0 -1
  613. data/spec/unit/type/computer_spec.rb +7 -10
  614. data/spec/unit/type/cron_spec.rb +3 -7
  615. data/spec/unit/type/exec_spec.rb +60 -56
  616. data/spec/unit/type/file/checksum_spec.rb +9 -10
  617. data/spec/unit/type/file/checksum_value_spec.rb +31 -32
  618. data/spec/unit/type/file/content_spec.rb +58 -61
  619. data/spec/unit/type/file/ctime_spec.rb +0 -1
  620. data/spec/unit/type/file/ensure_spec.rb +12 -13
  621. data/spec/unit/type/file/group_spec.rb +5 -7
  622. data/spec/unit/type/file/mode_spec.rb +4 -6
  623. data/spec/unit/type/file/mtime_spec.rb +0 -1
  624. data/spec/unit/type/file/owner_spec.rb +6 -8
  625. data/spec/unit/type/file/selinux_spec.rb +17 -19
  626. data/spec/unit/type/file/source_spec.rb +104 -101
  627. data/spec/unit/type/file/type_spec.rb +0 -1
  628. data/spec/unit/type/file_spec.rb +195 -185
  629. data/spec/unit/type/filebucket_spec.rb +4 -5
  630. data/spec/unit/type/group_spec.rb +6 -8
  631. data/spec/unit/type/host_spec.rb +2 -3
  632. data/spec/unit/type/interface_spec.rb +2 -3
  633. data/spec/unit/type/k5login_spec.rb +3 -4
  634. data/spec/unit/type/macauthorization_spec.rb +6 -8
  635. data/spec/unit/type/mailalias_spec.rb +2 -3
  636. data/spec/unit/type/maillist_spec.rb +6 -9
  637. data/spec/unit/type/mcx_spec.rb +4 -8
  638. data/spec/unit/type/mount_spec.rb +26 -38
  639. data/spec/unit/type/nagios_spec.rb +0 -1
  640. data/spec/unit/type/noop_metaparam_spec.rb +1 -2
  641. data/spec/unit/type/package/package_settings_spec.rb +44 -23
  642. data/spec/unit/type/package_spec.rb +53 -54
  643. data/spec/unit/type/resources_spec.rb +86 -88
  644. data/spec/unit/type/schedule_spec.rb +24 -26
  645. data/spec/unit/type/scheduled_task_spec.rb +1 -2
  646. data/spec/unit/type/selboolean_spec.rb +5 -6
  647. data/spec/unit/type/selmodule_spec.rb +0 -1
  648. data/spec/unit/type/service_spec.rb +47 -47
  649. data/spec/unit/type/ssh_authorized_key_spec.rb +5 -35
  650. data/spec/unit/type/sshkey_spec.rb +0 -2
  651. data/spec/unit/type/stage_spec.rb +0 -1
  652. data/spec/unit/type/tidy_spec.rb +61 -62
  653. data/spec/unit/type/user_spec.rb +41 -27
  654. data/spec/unit/type/vlan_spec.rb +2 -4
  655. data/spec/unit/type/whit_spec.rb +0 -1
  656. data/spec/unit/type/zfs_spec.rb +6 -7
  657. data/spec/unit/type/zone_spec.rb +14 -4
  658. data/spec/unit/type/zpool_spec.rb +4 -5
  659. data/spec/unit/type_spec.rb +54 -53
  660. data/spec/unit/util/at_fork_spec.rb +18 -19
  661. data/spec/unit/util/autoload_spec.rb +53 -54
  662. data/spec/unit/util/backups_spec.rb +34 -35
  663. data/spec/unit/util/character_encoding_spec.rb +8 -8
  664. data/spec/unit/util/checksums_spec.rb +38 -39
  665. data/spec/unit/util/colors_spec.rb +1 -2
  666. data/spec/unit/util/command_line_spec.rb +24 -25
  667. data/spec/unit/util/constant_inflector_spec.rb +0 -1
  668. data/spec/unit/util/diff_spec.rb +7 -8
  669. data/spec/unit/util/errors_spec.rb +0 -1
  670. data/spec/unit/util/execution_spec.rb +187 -162
  671. data/spec/unit/util/execution_stub_spec.rb +0 -1
  672. data/spec/unit/util/feature_spec.rb +13 -13
  673. data/spec/unit/util/filetype_spec.rb +49 -49
  674. data/spec/unit/util/http_proxy_spec.rb +12 -12
  675. data/spec/unit/util/inifile_spec.rb +26 -31
  676. data/spec/unit/util/json_lockfile_spec.rb +3 -5
  677. data/spec/unit/util/ldap/connection_spec.rb +26 -25
  678. data/spec/unit/util/ldap/generator_spec.rb +0 -1
  679. data/spec/unit/util/ldap/manager_spec.rb +102 -101
  680. data/spec/unit/util/lockfile_spec.rb +0 -1
  681. data/spec/unit/util/log/destinations_spec.rb +30 -33
  682. data/spec/unit/util/log_spec.rb +35 -36
  683. data/spec/unit/util/logging_spec.rb +58 -66
  684. data/spec/unit/util/metric_spec.rb +0 -1
  685. data/spec/unit/util/monkey_patches_spec.rb +7 -9
  686. data/spec/unit/util/multi_match_spec.rb +0 -1
  687. data/spec/unit/util/nagios_maker_spec.rb +35 -36
  688. data/spec/unit/util/network_device/cisco/device_spec.rb +59 -50
  689. data/spec/unit/util/network_device/cisco/facts_spec.rb +4 -5
  690. data/spec/unit/util/network_device/cisco/interface_spec.rb +29 -20
  691. data/spec/unit/util/network_device/config_spec.rb +0 -1
  692. data/spec/unit/util/network_device/ipcalc_spec.rb +0 -1
  693. data/spec/unit/util/network_device/transport/base_spec.rb +5 -6
  694. data/spec/unit/util/network_device/transport/ssh_spec.rb +94 -60
  695. data/spec/unit/util/network_device/transport/telnet_spec.rb +18 -14
  696. data/spec/unit/util/network_device_spec.rb +7 -9
  697. data/spec/unit/util/package_spec.rb +0 -1
  698. data/spec/unit/util/pidlock_spec.rb +13 -14
  699. data/spec/unit/util/plist_spec.rb +40 -33
  700. data/spec/unit/util/posix_spec.rb +54 -51
  701. data/spec/unit/util/rdoc_spec.rb +9 -10
  702. data/spec/unit/util/reference_spec.rb +0 -1
  703. data/spec/unit/util/resource_template_spec.rb +20 -20
  704. data/spec/unit/util/retry_action_spec.rb +7 -8
  705. data/spec/unit/util/rubygems_spec.rb +14 -14
  706. data/spec/unit/util/run_mode_spec.rb +3 -4
  707. data/spec/unit/util/selinux_spec.rb +79 -72
  708. data/spec/unit/util/splayer_spec.rb +8 -9
  709. data/spec/unit/util/ssl_spec.rb +0 -1
  710. data/spec/unit/util/storage_spec.rb +3 -4
  711. data/spec/unit/util/suidmanager_spec.rb +45 -54
  712. data/spec/unit/util/symbolic_file_mode_spec.rb +0 -1
  713. data/spec/unit/util/tag_set_spec.rb +0 -1
  714. data/spec/unit/util/tagging_spec.rb +0 -1
  715. data/spec/unit/util/terminal_spec.rb +9 -10
  716. data/spec/unit/util/user_attr_spec.rb +1 -2
  717. data/spec/unit/util/warnings_spec.rb +3 -4
  718. data/spec/unit/util/watcher/periodic_watcher_spec.rb +2 -2
  719. data/spec/unit/util/watcher_spec.rb +51 -21
  720. data/spec/unit/util/windows/access_control_entry_spec.rb +0 -1
  721. data/spec/unit/util/windows/access_control_list_spec.rb +0 -1
  722. data/spec/unit/util/windows/adsi_spec.rb +136 -138
  723. data/spec/unit/util/windows/api_types_spec.rb +0 -1
  724. data/spec/unit/util/windows/eventlog_spec.rb +9 -12
  725. data/spec/unit/util/windows/file_spec.rb +0 -1
  726. data/spec/unit/util/windows/root_certs_spec.rb +0 -1
  727. data/spec/unit/util/windows/security_descriptor_spec.rb +0 -2
  728. data/spec/unit/util/windows/service_spec.rb +66 -68
  729. data/spec/unit/util/windows/sid_spec.rb +11 -13
  730. data/spec/unit/util/windows/string_spec.rb +0 -1
  731. data/spec/unit/util_spec.rb +55 -59
  732. data/spec/unit/version_spec.rb +6 -6
  733. metadata +2 -2
@@ -1,4 +1,3 @@
1
- #! /usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
 
4
3
  describe Puppet::Type.type(:package).provider(:sun) do
@@ -22,14 +21,14 @@ describe Puppet::Type.type(:package).provider(:sun) do
22
21
  it "should install a package" do
23
22
  resource[:ensure] = :installed
24
23
  resource[:source] = '/cdrom'
25
- provider.expects(:pkgadd).with(['-d', '/cdrom', '-n', 'dummy'])
24
+ expect(provider).to receive(:pkgadd).with(['-d', '/cdrom', '-n', 'dummy'])
26
25
  provider.install
27
26
  end
28
27
 
29
28
  it "should install a package if it is not present on update" do
30
- provider.expects(:pkginfo).with('-l', 'dummy').returns File.read(my_fixture('dummy.server'))
31
- provider.expects(:pkgrm).with(['-n', 'dummy'])
32
- provider.expects(:install)
29
+ expect(provider).to receive(:pkginfo).with('-l', 'dummy').and_return(File.read(my_fixture('dummy.server')))
30
+ expect(provider).to receive(:pkgrm).with(['-n', 'dummy'])
31
+ expect(provider).to receive(:install)
33
32
  provider.update
34
33
  end
35
34
 
@@ -37,36 +36,36 @@ describe Puppet::Type.type(:package).provider(:sun) do
37
36
  resource[:ensure] = :installed
38
37
  resource[:source] = '/cdrom'
39
38
  resource[:install_options] = '-G'
40
- provider.expects(:pkgadd).with(['-d', '/cdrom', '-G', '-n', 'dummy'])
39
+ expect(provider).to receive(:pkgadd).with(['-d', '/cdrom', '-G', '-n', 'dummy'])
41
40
  provider.install
42
41
  end
43
42
  end
44
43
 
45
44
  context '#uninstall' do
46
45
  it "should uninstall a package" do
47
- provider.expects(:pkgrm).with(['-n','dummy'])
46
+ expect(provider).to receive(:pkgrm).with(['-n','dummy'])
48
47
  provider.uninstall
49
48
  end
50
49
  end
51
50
 
52
51
  context '#update' do
53
52
  it "should call uninstall if not :absent on info2hash" do
54
- provider.stubs(:info2hash).returns({:name => 'SUNWdummy', :ensure => "11.11.0,REV=2010.10.12.04.23"})
55
- provider.expects(:uninstall)
56
- provider.expects(:install)
53
+ allow(provider).to receive(:info2hash).and_return({:name => 'SUNWdummy', :ensure => "11.11.0,REV=2010.10.12.04.23"})
54
+ expect(provider).to receive(:uninstall)
55
+ expect(provider).to receive(:install)
57
56
  provider.update
58
57
  end
59
58
 
60
59
  it "should not call uninstall if :absent on info2hash" do
61
- provider.stubs(:info2hash).returns({:name => 'SUNWdummy', :ensure => :absent})
62
- provider.expects(:install)
60
+ allow(provider).to receive(:info2hash).and_return({:name => 'SUNWdummy', :ensure => :absent})
61
+ expect(provider).to receive(:install)
63
62
  provider.update
64
63
  end
65
64
  end
66
65
 
67
66
  context '#query' do
68
67
  it "should find the package on query" do
69
- provider.expects(:pkginfo).with('-l', 'dummy').returns File.read(my_fixture('dummy.server'))
68
+ expect(provider).to receive(:pkginfo).with('-l', 'dummy').and_return(File.read(my_fixture('dummy.server')))
70
69
  expect(provider.query).to eq({
71
70
  :name => 'SUNWdummy',
72
71
  :category=>"system",
@@ -79,19 +78,19 @@ describe Puppet::Type.type(:package).provider(:sun) do
79
78
  end
80
79
 
81
80
  it "shouldn't find the package on query if it is not present" do
82
- provider.expects(:pkginfo).with('-l', 'dummy').raises Puppet::ExecutionFailure, "Execution of 'pkginfo -l dummy' returned 3: ERROR: information for \"dummy\" not found."
81
+ expect(provider).to receive(:pkginfo).with('-l', 'dummy').and_raise(Puppet::ExecutionFailure, "Execution of 'pkginfo -l dummy' returned 3: ERROR: information for \"dummy\" not found.")
83
82
  expect(provider.query).to eq({:ensure => :absent})
84
83
  end
85
84
 
86
85
  it "unknown message should raise error." do
87
- provider.expects(:pkginfo).with('-l', 'dummy').returns 'RANDOM'
86
+ expect(provider).to receive(:pkginfo).with('-l', 'dummy').and_return('RANDOM')
88
87
  expect { provider.query }.to raise_error Puppet::Error
89
88
  end
90
89
  end
91
90
 
92
91
  context '#instance' do
93
92
  it "should list instances when there are packages in the system" do
94
- described_class.expects(:pkginfo).with('-l').returns File.read(my_fixture('simple'))
93
+ expect(described_class).to receive(:pkginfo).with('-l').and_return(File.read(my_fixture('simple')))
95
94
  instances = provider.class.instances.map { |p| {:name => p.get(:name), :ensure => p.get(:ensure)} }
96
95
  expect(instances.size).to eq(2)
97
96
  expect(instances[0]).to eq({
@@ -105,10 +104,9 @@ describe Puppet::Type.type(:package).provider(:sun) do
105
104
  end
106
105
 
107
106
  it "should return empty if there were no packages" do
108
- described_class.expects(:pkginfo).with('-l').returns ''
107
+ expect(described_class).to receive(:pkginfo).with('-l').and_return('')
109
108
  instances = provider.class.instances
110
109
  expect(instances.size).to eq(0)
111
110
  end
112
-
113
111
  end
114
112
  end
@@ -7,8 +7,8 @@ describe Puppet::Type.type(:package).provider(:tdnf) do
7
7
 
8
8
  context 'default' do
9
9
  it 'should be the default provider on PhotonOS' do
10
- Facter.stubs(:value).with(:osfamily).returns(:redhat)
11
- Facter.stubs(:value).with(:operatingsystem).returns("PhotonOS")
10
+ allow(Facter).to receive(:value).with(:osfamily).and_return(:redhat)
11
+ allow(Facter).to receive(:value).with(:operatingsystem).and_return("PhotonOS")
12
12
  expect(described_class).to be_default
13
13
  end
14
14
  end
@@ -1,8 +1,6 @@
1
- # spec/unit/provider/package/up2date_spec.rb
2
1
  require 'spec_helper'
3
2
 
4
3
  describe 'up2date package provider' do
5
-
6
4
  # This sets the class itself as the subject rather than
7
5
  # an instance of the class.
8
6
  subject do
@@ -15,8 +13,8 @@ describe 'up2date package provider' do
15
13
  osfamilies.each do |osfamily|
16
14
  releases.each do |release|
17
15
  it "should be the default provider on #{osfamily} #{release}" do
18
- Facter.expects(:value).with(:osfamily).returns(osfamily)
19
- Facter.expects(:value).with(:lsbdistrelease).returns(release)
16
+ allow(Facter).to receive(:value).with(:osfamily).and_return(osfamily)
17
+ allow(Facter).to receive(:value).with(:lsbdistrelease).and_return(release)
20
18
  expect(subject.default?).to be_truthy
21
19
  end
22
20
  end
@@ -1,15 +1,13 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Puppet::Type.type(:package).provider(:urpmi) do
4
-
5
4
  before do
6
- Puppet::Util::Execution.expects(:execute).never
7
5
  %w[rpm urpmi urpme urpmq].each do |executable|
8
- Puppet::Util.stubs(:which).with(executable).returns(executable)
6
+ allow(Puppet::Util).to receive(:which).with(executable).and_return(executable)
9
7
  end
10
- Puppet::Util::Execution.stubs(:execute)
8
+ allow(Puppet::Util::Execution).to receive(:execute)
11
9
  .with(['rpm', '--version'], anything)
12
- .returns(Puppet::Util::Execution::ProcessOutput.new('RPM version 4.9.1.3', 0))
10
+ .and_return(Puppet::Util::Execution::ProcessOutput.new('RPM version 4.9.1.3', 0))
13
11
  end
14
12
 
15
13
  let(:resource) do
@@ -18,18 +16,18 @@ describe Puppet::Type.type(:package).provider(:urpmi) do
18
16
 
19
17
  before do
20
18
  subject.resource = resource
21
- Puppet::Type.type(:package).stubs(:defaultprovider).returns described_class
19
+ allow(Puppet::Type.type(:package)).to receive(:defaultprovider).and_return(described_class)
22
20
  end
23
21
 
24
22
  describe '#install' do
25
23
  before do
26
- subject.stubs(:rpm).with('-q', 'foopkg', any_parameters).returns "foopkg 0 1.2.3.4 5 noarch :DESC:\n"
24
+ allow(subject).to receive(:rpm).with('-q', 'foopkg', any_args).and_return("foopkg 0 1.2.3.4 5 noarch :DESC:\n")
27
25
  end
28
26
 
29
27
  describe 'without a version' do
30
28
  it 'installs the unversioned package' do
31
29
  resource[:ensure] = :present
32
- Puppet::Util::Execution.expects(:execute).with(['urpmi', '--auto', 'foopkg'], anything)
30
+ expect(Puppet::Util::Execution).to receive(:execute).with(['urpmi', '--auto', 'foopkg'], anything)
33
31
  subject.install
34
32
  end
35
33
  end
@@ -37,15 +35,15 @@ describe Puppet::Type.type(:package).provider(:urpmi) do
37
35
  describe 'with a version' do
38
36
  it 'installs the versioned package' do
39
37
  resource[:ensure] = '4.5.6'
40
- Puppet::Util::Execution.expects(:execute).with(['urpmi', '--auto', 'foopkg-4.5.6'], anything)
38
+ expect(Puppet::Util::Execution).to receive(:execute).with(['urpmi', '--auto', 'foopkg-4.5.6'], anything)
41
39
  subject.install
42
40
  end
43
41
  end
44
42
 
45
43
  describe "and the package install fails" do
46
44
  it "raises an error" do
47
- Puppet::Util::Execution.stubs(:execute).with(['urpmi', '--auto', 'foopkg'], anything)
48
- subject.stubs(:query)
45
+ allow(Puppet::Util::Execution).to receive(:execute).with(['urpmi', '--auto', 'foopkg'], anything)
46
+ allow(subject).to receive(:query)
49
47
  expect { subject.install }.to raise_error Puppet::Error, /Package \S+ was not present after trying to install it/
50
48
  end
51
49
  end
@@ -55,31 +53,31 @@ describe Puppet::Type.type(:package).provider(:urpmi) do
55
53
  let(:urpmq_output) { 'foopkg : Lorem ipsum dolor sit amet, consectetur adipisicing elit ( 7.8.9-1.mga2 )' }
56
54
 
57
55
  it "uses urpmq to determine the latest package" do
58
- Puppet::Util::Execution.expects(:execute)
56
+ expect(Puppet::Util::Execution).to receive(:execute)
59
57
  .with(['urpmq', '-S', 'foopkg'], anything)
60
- .returns(Puppet::Util::Execution::ProcessOutput.new(urpmq_output, 0))
58
+ .and_return(Puppet::Util::Execution::ProcessOutput.new(urpmq_output, 0))
61
59
  expect(subject.latest).to eq('7.8.9-1.mga2')
62
60
  end
63
61
 
64
62
  it "falls back to the current version" do
65
63
  resource[:ensure] = '5.4.3'
66
- Puppet::Util::Execution.expects(:execute)
64
+ expect(Puppet::Util::Execution).to receive(:execute)
67
65
  .with(['urpmq', '-S', 'foopkg'], anything)
68
- .returns(Puppet::Util::Execution::ProcessOutput.new('', 0))
66
+ .and_return(Puppet::Util::Execution::ProcessOutput.new('', 0))
69
67
  expect(subject.latest).to eq('5.4.3')
70
68
  end
71
69
  end
72
70
 
73
71
  describe '#update' do
74
72
  it 'delegates to #install' do
75
- subject.expects(:install)
73
+ expect(subject).to receive(:install)
76
74
  subject.update
77
75
  end
78
76
  end
79
77
 
80
78
  describe '#purge' do
81
79
  it 'uses urpme to purge packages' do
82
- Puppet::Util::Execution.expects(:execute).with(['urpme', '--auto', 'foopkg'], anything)
80
+ expect(Puppet::Util::Execution).to receive(:execute).with(['urpme', '--auto', 'foopkg'], anything)
83
81
  subject.purge
84
82
  end
85
83
  end
@@ -1,10 +1,7 @@
1
- #! /usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
  require 'puppet/provider/package/windows/exe_package'
4
3
 
5
4
  describe Puppet::Provider::Package::Windows::ExePackage do
6
- subject { described_class }
7
-
8
5
  let (:name) { 'Git version 1.7.11' }
9
6
  let (:version) { '1.7.11' }
10
7
  let (:source) { 'E:\Git-1.7.11.exe' }
@@ -12,18 +9,18 @@ describe Puppet::Provider::Package::Windows::ExePackage do
12
9
 
13
10
  context '::from_registry' do
14
11
  it 'should return an instance of ExePackage' do
15
- subject.expects(:valid?).returns(true)
12
+ expect(described_class).to receive(:valid?).and_return(true)
16
13
 
17
- pkg = subject.from_registry('', {'DisplayName' => name, 'DisplayVersion' => version, 'UninstallString' => uninstall})
14
+ pkg = described_class.from_registry('', {'DisplayName' => name, 'DisplayVersion' => version, 'UninstallString' => uninstall})
18
15
  expect(pkg.name).to eq(name)
19
16
  expect(pkg.version).to eq(version)
20
17
  expect(pkg.uninstall_string).to eq(uninstall)
21
18
  end
22
19
 
23
20
  it 'should return nil if it is not a valid executable' do
24
- subject.expects(:valid?).returns(false)
21
+ expect(described_class).to receive(:valid?).and_return(false)
25
22
 
26
- expect(subject.from_registry('', {})).to be_nil
23
+ expect(described_class.from_registry('', {})).to be_nil
27
24
  end
28
25
  end
29
26
 
@@ -42,26 +39,26 @@ describe Puppet::Provider::Package::Windows::ExePackage do
42
39
  }.each_pair do |k, arr|
43
40
  it "should accept '#{k}' with value '#{arr[0]}'" do
44
41
  values[k] = arr[0]
45
- expect(subject.valid?(name, values)).to be_truthy
42
+ expect(described_class.valid?(name, values)).to be_truthy
46
43
  end
47
44
 
48
45
  it "should reject '#{k}' with value '#{arr[1]}'" do
49
46
  values[k] = arr[1]
50
- expect(subject.valid?(name, values)).to be_falsey
47
+ expect(described_class.valid?(name, values)).to be_falsey
51
48
  end
52
49
  end
53
50
 
54
51
  it 'should reject packages whose name starts with "KBXXXXXX"' do
55
- expect(subject.valid?('KB890830', values)).to be_falsey
52
+ expect(described_class.valid?('KB890830', values)).to be_falsey
56
53
  end
57
54
 
58
55
  it 'should accept packages whose name does not start with "KBXXXXXX"' do
59
- expect(subject.valid?('My Update (KB890830)', values)).to be_truthy
56
+ expect(described_class.valid?('My Update (KB890830)', values)).to be_truthy
60
57
  end
61
58
  end
62
59
 
63
60
  context '#match?' do
64
- let(:pkg) { subject.new(name, version, uninstall) }
61
+ let(:pkg) { described_class.new(name, version, uninstall) }
65
62
 
66
63
  it 'should match product name' do
67
64
  expect(pkg.match?({:name => name})).to be_truthy
@@ -74,7 +71,7 @@ describe Puppet::Provider::Package::Windows::ExePackage do
74
71
 
75
72
  context '#install_command' do
76
73
  it 'should install using the source' do
77
- cmd = subject.install_command({:source => source})
74
+ cmd = described_class.install_command({:source => source})
78
75
 
79
76
  expect(cmd).to eq(source)
80
77
  end
@@ -83,7 +80,7 @@ describe Puppet::Provider::Package::Windows::ExePackage do
83
80
  context '#uninstall_command' do
84
81
  ['C:\uninstall.exe', 'C:\Program Files\uninstall.exe'].each do |exe|
85
82
  it "should quote #{exe}" do
86
- expect(subject.new(name, version, exe).uninstall_command).to eq(
83
+ expect(described_class.new(name, version, exe).uninstall_command).to eq(
87
84
  "\"#{exe}\""
88
85
  )
89
86
  end
@@ -91,7 +88,7 @@ describe Puppet::Provider::Package::Windows::ExePackage do
91
88
 
92
89
  ['"C:\Program Files\uninstall.exe"', '"C:\Program Files (x86)\Git\unins000.exe" /SILENT"'].each do |exe|
93
90
  it "should not quote #{exe}" do
94
- expect(subject.new(name, version, exe).uninstall_command).to eq(
91
+ expect(described_class.new(name, version, exe).uninstall_command).to eq(
95
92
  exe
96
93
  )
97
94
  end
@@ -1,10 +1,7 @@
1
- #! /usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
  require 'puppet/provider/package/windows/msi_package'
4
3
 
5
4
  describe Puppet::Provider::Package::Windows::MsiPackage do
6
- subject { described_class }
7
-
8
5
  let (:name) { 'mysql-5.1.58-win-x64' }
9
6
  let (:version) { '5.1.58' }
10
7
  let (:source) { 'E:\mysql-5.1.58-win-x64.msi' }
@@ -12,24 +9,24 @@ describe Puppet::Provider::Package::Windows::MsiPackage do
12
9
  let (:packagecode) { '{5A6FD560-763A-4BC1-9E03-B18DFFB7C72C}' }
13
10
 
14
11
  def expect_installer
15
- inst = mock
16
- inst.expects(:ProductState).returns(5)
17
- inst.expects(:ProductInfo).with(productcode, 'PackageCode').returns(packagecode)
18
- subject.expects(:installer).returns(inst)
12
+ inst = double()
13
+ expect(inst).to receive(:ProductState).and_return(5)
14
+ expect(inst).to receive(:ProductInfo).with(productcode, 'PackageCode').and_return(packagecode)
15
+ expect(described_class).to receive(:installer).and_return(inst)
19
16
  end
20
17
 
21
18
  context '::installer', :if => Puppet.features.microsoft_windows? do
22
19
  it 'should return an instance of the COM interface' do
23
- expect(subject.installer).not_to be_nil
20
+ expect(described_class.installer).not_to be_nil
24
21
  end
25
22
  end
26
23
 
27
24
  context '::from_registry' do
28
25
  it 'should return an instance of MsiPackage' do
29
- subject.expects(:valid?).returns(true)
26
+ expect(described_class).to receive(:valid?).and_return(true)
30
27
  expect_installer
31
28
 
32
- pkg = subject.from_registry(productcode, {'DisplayName' => name, 'DisplayVersion' => version})
29
+ pkg = described_class.from_registry(productcode, {'DisplayName' => name, 'DisplayVersion' => version})
33
30
  expect(pkg.name).to eq(name)
34
31
  expect(pkg.version).to eq(version)
35
32
  expect(pkg.productcode).to eq(productcode)
@@ -37,9 +34,9 @@ describe Puppet::Provider::Package::Windows::MsiPackage do
37
34
  end
38
35
 
39
36
  it 'should return nil if it is not a valid MSI' do
40
- subject.expects(:valid?).returns(false)
37
+ expect(described_class).to receive(:valid?).and_return(false)
41
38
 
42
- expect(subject.from_registry(productcode, {})).to be_nil
39
+ expect(described_class.from_registry(productcode, {})).to be_nil
43
40
  end
44
41
  end
45
42
 
@@ -52,45 +49,45 @@ describe Puppet::Provider::Package::Windows::MsiPackage do
52
49
  }.each_pair do |k, arr|
53
50
  it "should accept '#{k}' with value '#{arr[0]}'" do
54
51
  values[k] = arr[0]
55
- expect(subject.valid?(productcode, values)).to be_truthy
52
+ expect(described_class.valid?(productcode, values)).to be_truthy
56
53
  end
57
54
 
58
55
  it "should reject '#{k}' with value '#{arr[1]}'" do
59
56
  values[k] = arr[1]
60
- expect(subject.valid?(productcode, values)).to be_falsey
57
+ expect(described_class.valid?(productcode, values)).to be_falsey
61
58
  end
62
59
  end
63
60
 
64
61
  it 'should reject packages whose name is not a productcode' do
65
- expect(subject.valid?('AddressBook', values)).to be_falsey
62
+ expect(described_class.valid?('AddressBook', values)).to be_falsey
66
63
  end
67
64
 
68
65
  it 'should accept packages whose name is a productcode' do
69
- expect(subject.valid?(productcode, values)).to be_truthy
66
+ expect(described_class.valid?(productcode, values)).to be_truthy
70
67
  end
71
68
  end
72
69
 
73
70
  context '#match?' do
74
71
  it 'should match package codes case-insensitively' do
75
- pkg = subject.new(name, version, productcode, packagecode.upcase)
72
+ pkg = described_class.new(name, version, productcode, packagecode.upcase)
76
73
 
77
74
  expect(pkg.match?({:name => packagecode.downcase})).to be_truthy
78
75
  end
79
76
 
80
77
  it 'should match product codes case-insensitively' do
81
- pkg = subject.new(name, version, productcode.upcase, packagecode)
78
+ pkg = described_class.new(name, version, productcode.upcase, packagecode)
82
79
 
83
80
  expect(pkg.match?({:name => productcode.downcase})).to be_truthy
84
81
  end
85
82
 
86
83
  it 'should match product name' do
87
- pkg = subject.new(name, version, productcode, packagecode)
84
+ pkg = described_class.new(name, version, productcode, packagecode)
88
85
 
89
86
  expect(pkg.match?({:name => name})).to be_truthy
90
87
  end
91
88
 
92
89
  it 'should return false otherwise' do
93
- pkg = subject.new(name, version, productcode, packagecode)
90
+ pkg = described_class.new(name, version, productcode, packagecode)
94
91
 
95
92
  expect(pkg.match?({:name => 'not going to find it'})).to be_falsey
96
93
  end
@@ -98,7 +95,7 @@ describe Puppet::Provider::Package::Windows::MsiPackage do
98
95
 
99
96
  context '#install_command' do
100
97
  it 'should install using the source' do
101
- cmd = subject.install_command({:source => source})
98
+ cmd = described_class.install_command({:source => source})
102
99
 
103
100
  expect(cmd).to eq(['msiexec.exe', '/qn', '/norestart', '/i', source])
104
101
  end
@@ -106,7 +103,7 @@ describe Puppet::Provider::Package::Windows::MsiPackage do
106
103
 
107
104
  context '#uninstall_command' do
108
105
  it 'should uninstall using the productcode' do
109
- pkg = subject.new(name, version, productcode, packagecode)
106
+ pkg = described_class.new(name, version, productcode, packagecode)
110
107
 
111
108
  expect(pkg.uninstall_command).to eq(['msiexec.exe', '/qn', '/norestart', '/x', productcode])
112
109
  end
@@ -1,30 +1,27 @@
1
- #! /usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
  require 'puppet/provider/package/windows/package'
4
3
 
5
4
  describe Puppet::Provider::Package::Windows::Package do
6
- subject { described_class }
7
-
8
5
  let(:hklm) { 'HKEY_LOCAL_MACHINE' }
9
6
  let(:hkcu) { 'HKEY_CURRENT_USER' }
10
7
  let(:path) { 'Software\Microsoft\Windows\CurrentVersion\Uninstall' }
11
- let(:key) { mock('key', :name => "#{hklm}\\#{path}\\Google") }
12
- let(:package) { mock('package') }
8
+ let(:key) { double('key', :name => "#{hklm}\\#{path}\\Google") }
9
+ let(:package) { double('package') }
13
10
 
14
11
  context '::each' do
15
12
  it 'should generate an empty enumeration' do
16
- subject.expects(:with_key)
13
+ expect(described_class).to receive(:with_key)
17
14
 
18
- expect(subject.to_a).to be_empty
15
+ expect(described_class.to_a).to be_empty
19
16
  end
20
17
 
21
18
  it 'should yield each package it finds' do
22
- subject.expects(:with_key).yields(key, {})
19
+ expect(described_class).to receive(:with_key).and_yield(key, {})
23
20
 
24
- Puppet::Provider::Package::Windows::MsiPackage.expects(:from_registry).with('Google', {}).returns(package)
21
+ expect(Puppet::Provider::Package::Windows::MsiPackage).to receive(:from_registry).with('Google', {}).and_return(package)
25
22
 
26
23
  yielded = nil
27
- subject.each do |pkg|
24
+ described_class.each do |pkg|
28
25
  yielded = pkg
29
26
  end
30
27
 
@@ -34,33 +31,31 @@ describe Puppet::Provider::Package::Windows::Package do
34
31
 
35
32
  context '::with_key', :if => Puppet.features.microsoft_windows? do
36
33
  it 'should search HKLM (64 & 32) and HKCU (64 & 32)' do
37
- seq = sequence('reg')
38
-
39
- subject.expects(:open).with(hklm, path, subject::KEY64 | subject::KEY_READ).in_sequence(seq)
40
- subject.expects(:open).with(hklm, path, subject::KEY32 | subject::KEY_READ).in_sequence(seq)
41
- subject.expects(:open).with(hkcu, path, subject::KEY64 | subject::KEY_READ).in_sequence(seq)
42
- subject.expects(:open).with(hkcu, path, subject::KEY32 | subject::KEY_READ).in_sequence(seq)
34
+ expect(described_class).to receive(:open).with(hklm, path, described_class::KEY64 | described_class::KEY_READ).ordered
35
+ expect(described_class).to receive(:open).with(hklm, path, described_class::KEY32 | described_class::KEY_READ).ordered
36
+ expect(described_class).to receive(:open).with(hkcu, path, described_class::KEY64 | described_class::KEY_READ).ordered
37
+ expect(described_class).to receive(:open).with(hkcu, path, described_class::KEY32 | described_class::KEY_READ).ordered
43
38
 
44
- subject.with_key { |key, values| }
39
+ described_class.with_key { |key, values| }
45
40
  end
46
41
 
47
42
  it 'should ignore file not found exceptions' do
48
43
  ex = Puppet::Util::Windows::Error.new('Failed to open registry key', Puppet::Util::Windows::Error::ERROR_FILE_NOT_FOUND)
49
44
 
50
45
  # make sure we don't stop after the first exception
51
- subject.expects(:open).times(4).raises(ex)
46
+ expect(described_class).to receive(:open).exactly(4).times().and_raise(ex)
52
47
 
53
48
  keys = []
54
- subject.with_key { |key, values| keys << key }
49
+ described_class.with_key { |key, values| keys << key }
55
50
  expect(keys).to be_empty
56
51
  end
57
52
 
58
53
  it 'should raise other types of exceptions' do
59
54
  ex = Puppet::Util::Windows::Error.new('Failed to open registry key', Puppet::Util::Windows::Error::ERROR_ACCESS_DENIED)
60
- subject.expects(:open).raises(ex)
55
+ expect(described_class).to receive(:open).and_raise(ex)
61
56
 
62
57
  expect {
63
- subject.with_key{ |key, values| }
58
+ described_class.with_key{ |key, values| }
64
59
  }.to raise_error do |error|
65
60
  expect(error).to be_a(Puppet::Util::Windows::Error)
66
61
  expect(error.code).to eq(5) # ERROR_ACCESS_DENIED
@@ -71,7 +66,7 @@ describe Puppet::Provider::Package::Windows::Package do
71
66
  context '::installer_class' do
72
67
  it 'should require the source parameter' do
73
68
  expect {
74
- subject.installer_class({})
69
+ described_class.installer_class({})
75
70
  }.to raise_error(Puppet::Error, /The source parameter is required when using the Windows provider./)
76
71
  end
77
72
 
@@ -79,20 +74,20 @@ describe Puppet::Provider::Package::Windows::Package do
79
74
  let (:klass) { Puppet::Provider::Package::Windows::MsiPackage }
80
75
 
81
76
  it 'should accept source ending in .msi' do
82
- expect(subject.installer_class({:source => 'foo.msi'})).to eq(klass)
77
+ expect(described_class.installer_class({:source => 'foo.msi'})).to eq(klass)
83
78
  end
84
79
 
85
80
  it 'should accept quoted source ending in .msi' do
86
- expect(subject.installer_class({:source => '"foo.msi"'})).to eq(klass)
81
+ expect(described_class.installer_class({:source => '"foo.msi"'})).to eq(klass)
87
82
  end
88
83
 
89
84
  it 'should accept source case insensitively' do
90
- expect(subject.installer_class({:source => '"foo.MSI"'})).to eq(klass)
85
+ expect(described_class.installer_class({:source => '"foo.MSI"'})).to eq(klass)
91
86
  end
92
87
 
93
88
  it 'should reject source containing msi in the name' do
94
89
  expect {
95
- subject.installer_class({:source => 'mymsi.txt'})
90
+ described_class.installer_class({:source => 'mymsi.txt'})
96
91
  }.to raise_error(Puppet::Error, /Don't know how to install 'mymsi.txt'/)
97
92
  end
98
93
  end
@@ -100,7 +95,7 @@ describe Puppet::Provider::Package::Windows::Package do
100
95
  context 'Unknown' do
101
96
  it 'should reject packages it does not know about' do
102
97
  expect {
103
- subject.installer_class({:source => 'basram'})
98
+ described_class.installer_class({:source => 'basram'})
104
99
  }.to raise_error(Puppet::Error, /Don't know how to install 'basram'/)
105
100
  end
106
101
  end
@@ -108,76 +103,76 @@ describe Puppet::Provider::Package::Windows::Package do
108
103
 
109
104
  context '::munge' do
110
105
  it 'should shell quote strings with spaces and fix forward slashes' do
111
- expect(subject.munge('c:/windows/the thing')).to eq('"c:\windows\the thing"')
106
+ expect(described_class.munge('c:/windows/the thing')).to eq('"c:\windows\the thing"')
112
107
  end
113
108
  it 'should leave properly formatted paths alone' do
114
- expect(subject.munge('c:\windows\thething')).to eq('c:\windows\thething')
109
+ expect(described_class.munge('c:\windows\thething')).to eq('c:\windows\thething')
115
110
  end
116
111
  end
117
112
 
118
113
  context '::replace_forward_slashes' do
119
114
  it 'should replace forward with back slashes' do
120
- expect(subject.replace_forward_slashes('c:/windows/thing/stuff')).to eq('c:\windows\thing\stuff')
115
+ expect(described_class.replace_forward_slashes('c:/windows/thing/stuff')).to eq('c:\windows\thing\stuff')
121
116
  end
122
117
  end
123
118
 
124
119
  context '::quote' do
125
120
  it 'should shell quote strings with spaces' do
126
- expect(subject.quote('foo bar')).to eq('"foo bar"')
121
+ expect(described_class.quote('foo bar')).to eq('"foo bar"')
127
122
  end
128
123
 
129
124
  it 'should shell quote strings with spaces and quotes' do
130
- expect(subject.quote('"foo bar" baz')).to eq('"\"foo bar\" baz"')
125
+ expect(described_class.quote('"foo bar" baz')).to eq('"\"foo bar\" baz"')
131
126
  end
132
127
 
133
128
  it 'should not shell quote strings without spaces' do
134
- expect(subject.quote('"foobar"')).to eq('"foobar"')
129
+ expect(described_class.quote('"foobar"')).to eq('"foobar"')
135
130
  end
136
131
  end
137
132
 
138
133
  context '::get_display_name' do
139
134
  it 'should return nil if values is nil' do
140
- expect(subject.get_display_name(nil)).to be_nil
135
+ expect(described_class.get_display_name(nil)).to be_nil
141
136
  end
142
137
 
143
138
  it 'should return empty if values is empty' do
144
139
  reg_values = {}
145
- expect(subject.get_display_name(reg_values)).to eq('')
140
+ expect(described_class.get_display_name(reg_values)).to eq('')
146
141
  end
147
142
 
148
143
  it 'should return DisplayName when available' do
149
144
  reg_values = { 'DisplayName' => 'Google' }
150
- expect(subject.get_display_name(reg_values)).to eq('Google')
145
+ expect(described_class.get_display_name(reg_values)).to eq('Google')
151
146
  end
152
147
 
153
148
  it 'should return DisplayName when available, even when QuietDisplayName is also available' do
154
149
  reg_values = { 'DisplayName' => 'Google', 'QuietDisplayName' => 'Google Quiet' }
155
- expect(subject.get_display_name(reg_values)).to eq('Google')
150
+ expect(described_class.get_display_name(reg_values)).to eq('Google')
156
151
  end
157
152
 
158
153
  it 'should return QuietDisplayName when available if DisplayName is empty' do
159
154
  reg_values = { 'DisplayName' => '', 'QuietDisplayName' =>'Google Quiet' }
160
- expect(subject.get_display_name(reg_values)).to eq('Google Quiet')
155
+ expect(described_class.get_display_name(reg_values)).to eq('Google Quiet')
161
156
  end
162
157
 
163
158
  it 'should return QuietDisplayName when DisplayName is not available' do
164
159
  reg_values = { 'QuietDisplayName' =>'Google Quiet' }
165
- expect(subject.get_display_name(reg_values)).to eq('Google Quiet')
160
+ expect(described_class.get_display_name(reg_values)).to eq('Google Quiet')
166
161
  end
167
162
 
168
163
  it 'should return empty when DisplayName is empty and QuietDisplay name is not available' do
169
164
  reg_values = { 'DisplayName' => '' }
170
- expect(subject.get_display_name(reg_values)).to eq('')
165
+ expect(described_class.get_display_name(reg_values)).to eq('')
171
166
  end
172
167
 
173
168
  it 'should return empty when DisplayName is empty and QuietDisplay name is empty' do
174
169
  reg_values = { 'DisplayName' => '', 'QuietDisplayName' =>'' }
175
- expect(subject.get_display_name(reg_values)).to eq('')
170
+ expect(described_class.get_display_name(reg_values)).to eq('')
176
171
  end
177
172
  end
178
173
 
179
174
  it 'should implement instance methods' do
180
- pkg = subject.new('orca', '5.0')
175
+ pkg = described_class.new('orca', '5.0')
181
176
 
182
177
  expect(pkg.name).to eq('orca')
183
178
  expect(pkg.version).to eq('5.0')