puppet 5.5.12 → 5.5.13

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
  require 'puppet/util/rdoc'
@@ -7,48 +6,48 @@ require 'rdoc/rdoc'
7
6
  describe Puppet::Util::RDoc do
8
7
  describe "when generating RDoc HTML documentation" do
9
8
  before :each do
10
- @rdoc = stub_everything 'rdoc'
11
- RDoc::RDoc.stubs(:new).returns(@rdoc)
9
+ @rdoc = double('rdoc')
10
+ allow(RDoc::RDoc).to receive(:new).and_return(@rdoc)
12
11
  end
13
12
 
14
13
  it "should tell RDoc to generate documentation using the Puppet generator" do
15
- @rdoc.expects(:document).with { |args| args.include?("--fmt") and args.include?("puppet") }
14
+ expect(@rdoc).to receive(:document).with(include("--fmt").and(include("puppet")))
16
15
 
17
16
  Puppet::Util::RDoc.rdoc("output", [])
18
17
  end
19
18
 
20
19
  it "should tell RDoc to be quiet" do
21
- @rdoc.expects(:document).with { |args| args.include?("--quiet") }
20
+ expect(@rdoc).to receive(:document).with(include("--quiet"))
22
21
 
23
22
  Puppet::Util::RDoc.rdoc("output", [])
24
23
  end
25
24
 
26
25
  it "should pass charset to RDoc" do
27
- @rdoc.expects(:document).with { |args| args.include?("--charset") and args.include?("utf-8") }
26
+ expect(@rdoc).to receive(:document).with(include("--charset").and(include("utf-8")))
28
27
 
29
28
  Puppet::Util::RDoc.rdoc("output", [], "utf-8")
30
29
  end
31
30
 
32
31
  it "should tell RDoc to use the given outputdir" do
33
- @rdoc.expects(:document).with { |args| args.include?("--op") and args.include?("myoutputdir") }
32
+ expect(@rdoc).to receive(:document).with(include("--op").and(include("myoutputdir")))
34
33
 
35
34
  Puppet::Util::RDoc.rdoc("myoutputdir", [])
36
35
  end
37
36
 
38
37
  it "should tell RDoc to exclude all files under any modules/<mod>/files section" do
39
- @rdoc.expects(:document).with { |args| args.include?("--exclude") and args.include?("/modules/[^/]*/files/.*$") }
38
+ expect(@rdoc).to receive(:document).with(include("--exclude").and(include("/modules/[^/]*/files/.*$")))
40
39
 
41
40
  Puppet::Util::RDoc.rdoc("myoutputdir", [])
42
41
  end
43
42
 
44
43
  it "should tell RDoc to exclude all files under any modules/<mod>/templates section" do
45
- @rdoc.expects(:document).with { |args| args.include?("--exclude") and args.include?("/modules/[^/]*/templates/.*$") }
44
+ expect(@rdoc).to receive(:document).with(include("--exclude").and(include("/modules/[^/]*/templates/.*$")))
46
45
 
47
46
  Puppet::Util::RDoc.rdoc("myoutputdir", [])
48
47
  end
49
48
 
50
49
  it "should give all the source directories to RDoc" do
51
- @rdoc.expects(:document).with { |args| args.include?("sourcedir") }
50
+ expect(@rdoc).to receive(:document).with(include("sourcedir"))
52
51
 
53
52
  Puppet::Util::RDoc.rdoc("output", ["sourcedir"])
54
53
  end
@@ -1,4 +1,3 @@
1
- #! /usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
  require 'puppet/util/reference'
4
3
 
@@ -1,4 +1,3 @@
1
- #! /usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
 
4
3
  require 'puppet/util/resource_template'
@@ -6,51 +5,52 @@ require 'puppet/util/resource_template'
6
5
  describe Puppet::Util::ResourceTemplate do
7
6
  describe "when initializing" do
8
7
  it "should fail if the template does not exist" do
9
- Puppet::FileSystem.expects(:exist?).with("/my/template").returns false
10
- expect { Puppet::Util::ResourceTemplate.new("/my/template", mock('resource')) }.to raise_error(ArgumentError)
8
+ expect(Puppet::FileSystem).to receive(:exist?).with("/my/template").and_return(false)
9
+ expect { Puppet::Util::ResourceTemplate.new("/my/template", double('resource')) }.to raise_error(ArgumentError)
11
10
  end
12
11
 
13
12
  it "should not create the ERB template" do
14
- ERB.expects(:new).never
15
- Puppet::FileSystem.expects(:exist?).with("/my/template").returns true
16
- Puppet::Util::ResourceTemplate.new("/my/template", mock('resource'))
13
+ expect(ERB).not_to receive(:new)
14
+ expect(Puppet::FileSystem).to receive(:exist?).with("/my/template").and_return(true)
15
+ Puppet::Util::ResourceTemplate.new("/my/template", double('resource'))
17
16
  end
18
17
  end
19
18
 
20
19
  describe "when evaluating" do
21
20
  before do
22
- Puppet::FileSystem.stubs(:exist?).returns true
23
- Puppet::FileSystem.stubs(:read).returns "eh"
21
+ allow(Puppet::FileSystem).to receive(:exist?).and_return(true)
22
+ allow(Puppet::FileSystem).to receive(:read).and_return("eh")
24
23
 
25
- @template = stub 'template', :result => nil
26
- ERB.stubs(:new).returns @template
24
+ @template = double('template', :result => nil)
25
+ allow(ERB).to receive(:new).and_return(@template)
27
26
 
28
- @resource = mock 'resource'
27
+ @resource = double('resource')
29
28
  @wrapper = Puppet::Util::ResourceTemplate.new("/my/template", @resource)
30
29
  end
31
30
 
32
31
  it "should set all of the resource's parameters as instance variables" do
33
- @resource.expects(:to_hash).returns(:one => "uno", :two => "dos")
34
- @template.expects(:result).with do |bind|
35
- eval("@one", bind) == "uno" and eval("@two", bind) == "dos"
32
+ expect(@resource).to receive(:to_hash).and_return(:one => "uno", :two => "dos")
33
+ expect(@template).to receive(:result) do |bind|
34
+ expect(eval("@one", bind)).to eq("uno")
35
+ expect(eval("@two", bind)).to eq("dos")
36
36
  end
37
37
  @wrapper.evaluate
38
38
  end
39
39
 
40
40
  it "should create a template instance with the contents of the file" do
41
- Puppet::FileSystem.expects(:read).with("/my/template", :encoding => 'utf-8').returns "yay"
42
- ERB.expects(:new).with("yay", 0, "-").returns(@template)
41
+ expect(Puppet::FileSystem).to receive(:read).with("/my/template", :encoding => 'utf-8').and_return("yay")
42
+ expect(ERB).to receive(:new).with("yay", 0, "-").and_return(@template)
43
43
 
44
- @wrapper.stubs :set_resource_variables
44
+ allow(@wrapper).to receive(:set_resource_variables)
45
45
 
46
46
  @wrapper.evaluate
47
47
  end
48
48
 
49
49
  it "should return the result of the template" do
50
- @wrapper.stubs :set_resource_variables
50
+ allow(@wrapper).to receive(:set_resource_variables)
51
51
 
52
- @wrapper.expects(:binding).returns "mybinding"
53
- @template.expects(:result).with("mybinding").returns "myresult"
52
+ expect(@wrapper).to receive(:binding).and_return("mybinding")
53
+ expect(@template).to receive(:result).with("mybinding").and_return("myresult")
54
54
  expect(@wrapper.evaluate).to eq("myresult")
55
55
  end
56
56
  end
@@ -1,4 +1,3 @@
1
- #! /usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
 
4
3
  require 'puppet/util/retry_action'
@@ -23,8 +22,8 @@ describe Puppet::Util::RetryAction do
23
22
  end
24
23
 
25
24
  it 'should retry on any exception if no acceptable exceptions given' do
26
- Puppet::Util::RetryAction.expects(:sleep).with( (((2 ** 1) -1) * 0.1) )
27
- Puppet::Util::RetryAction.expects(:sleep).with( (((2 ** 2) -1) * 0.1) )
25
+ expect(Puppet::Util::RetryAction).to receive(:sleep).with( (((2 ** 1) -1) * 0.1) )
26
+ expect(Puppet::Util::RetryAction).to receive(:sleep).with( (((2 ** 2) -1) * 0.1) )
28
27
 
29
28
  expect do
30
29
  Puppet::Util::RetryAction.retry_action( :retries => 2 ) do
@@ -34,8 +33,8 @@ describe Puppet::Util::RetryAction do
34
33
  end
35
34
 
36
35
  it 'should retry on acceptable exceptions' do
37
- Puppet::Util::RetryAction.expects(:sleep).with( (((2 ** 1) -1) * 0.1) )
38
- Puppet::Util::RetryAction.expects(:sleep).with( (((2 ** 2) -1) * 0.1) )
36
+ expect(Puppet::Util::RetryAction).to receive(:sleep).with( (((2 ** 1) -1) * 0.1) )
37
+ expect(Puppet::Util::RetryAction).to receive(:sleep).with( (((2 ** 2) -1) * 0.1) )
39
38
 
40
39
  expect do
41
40
  Puppet::Util::RetryAction.retry_action( :retries => 2, :retry_exceptions => exceptions) do
@@ -45,7 +44,7 @@ describe Puppet::Util::RetryAction do
45
44
  end
46
45
 
47
46
  it 'should not retry on unacceptable exceptions' do
48
- Puppet::Util::RetryAction.expects(:sleep).never
47
+ expect(Puppet::Util::RetryAction).not_to receive(:sleep)
49
48
 
50
49
  expect do
51
50
  Puppet::Util::RetryAction.retry_action( :retries => 2, :retry_exceptions => exceptions) do
@@ -55,7 +54,7 @@ describe Puppet::Util::RetryAction do
55
54
  end
56
55
 
57
56
  it 'should succeed if nothing is raised' do
58
- Puppet::Util::RetryAction.expects(:sleep).never
57
+ expect(Puppet::Util::RetryAction).not_to receive(:sleep)
59
58
 
60
59
  Puppet::Util::RetryAction.retry_action( :retries => 2) do
61
60
  true
@@ -64,7 +63,7 @@ describe Puppet::Util::RetryAction do
64
63
 
65
64
  it 'should succeed if an expected exception is raised retried and succeeds' do
66
65
  should_retry = nil
67
- Puppet::Util::RetryAction.expects(:sleep).once
66
+ expect(Puppet::Util::RetryAction).to receive(:sleep).once
68
67
 
69
68
  Puppet::Util::RetryAction.retry_action( :retries => 2, :retry_exceptions => exceptions) do
70
69
  if should_retry
@@ -4,29 +4,29 @@ require 'puppet/util/rubygems'
4
4
  describe Puppet::Util::RubyGems::Source do
5
5
  let(:gem_path) { File.expand_path('/foo/gems') }
6
6
  let(:gem_lib) { File.join(gem_path, 'lib') }
7
- let(:fake_gem) { stub(:full_gem_path => gem_path) }
7
+ let(:fake_gem) { double(:full_gem_path => gem_path) }
8
8
 
9
9
  describe "::new" do
10
10
  it "returns NoGemsSource if rubygems is not present" do
11
- described_class.expects(:has_rubygems?).returns(false)
11
+ expect(described_class).to receive(:has_rubygems?).and_return(false)
12
12
  expect(described_class.new).to be_kind_of(Puppet::Util::RubyGems::NoGemsSource)
13
13
  end
14
14
 
15
15
  it "returns Gems18Source if Gem::Specification responds to latest_specs" do
16
- described_class.expects(:has_rubygems?).returns(true)
17
- Gem::Specification.expects(:respond_to?).with(:latest_specs).returns(true)
16
+ expect(described_class).to receive(:has_rubygems?).and_return(true)
17
+ expect(Gem::Specification).to receive(:respond_to?).with(:latest_specs).and_return(true)
18
18
  expect(described_class.new).to be_kind_of(Puppet::Util::RubyGems::Gems18Source)
19
19
  end
20
20
 
21
21
  it "returns Gems18Source if Gem::Specification does not respond to latest_specs" do
22
- described_class.expects(:has_rubygems?).returns(true)
23
- Gem::Specification.expects(:respond_to?).with(:latest_specs).returns(false)
22
+ expect(described_class).to receive(:has_rubygems?).and_return(true)
23
+ expect(Gem::Specification).to receive(:respond_to?).with(:latest_specs).and_return(false)
24
24
  expect(described_class.new).to be_kind_of(Puppet::Util::RubyGems::OldGemsSource)
25
25
  end
26
26
  end
27
27
 
28
28
  describe '::NoGemsSource' do
29
- before(:each) { described_class.stubs(:source).returns(Puppet::Util::RubyGems::NoGemsSource) }
29
+ before(:each) { allow(described_class).to receive(:source).and_return(Puppet::Util::RubyGems::NoGemsSource) }
30
30
 
31
31
  it "#directories returns an empty list" do
32
32
  expect(described_class.new.directories).to eq([])
@@ -38,25 +38,25 @@ describe Puppet::Util::RubyGems::Source do
38
38
  end
39
39
 
40
40
  describe '::Gems18Source' do
41
- before(:each) { described_class.stubs(:source).returns(Puppet::Util::RubyGems::Gems18Source) }
41
+ before(:each) { allow(described_class).to receive(:source).and_return(Puppet::Util::RubyGems::Gems18Source) }
42
42
 
43
43
  it "#directories returns the lib subdirs of Gem::Specification.latest_specs" do
44
- Gem::Specification.expects(:latest_specs).with(true).returns([fake_gem])
44
+ expect(Gem::Specification).to receive(:latest_specs).with(true).and_return([fake_gem])
45
45
 
46
46
  expect(described_class.new.directories).to eq([gem_lib])
47
47
  end
48
48
 
49
49
  it "#clear_paths calls Gem.clear_paths" do
50
- Gem.expects(:clear_paths)
50
+ expect(Gem).to receive(:clear_paths)
51
51
  described_class.new.clear_paths
52
52
  end
53
53
  end
54
54
 
55
55
  describe '::OldGemsSource' do
56
- before(:each) { described_class.stubs(:source).returns(Puppet::Util::RubyGems::OldGemsSource) }
56
+ before(:each) { allow(described_class).to receive(:source).and_return(Puppet::Util::RubyGems::OldGemsSource) }
57
57
 
58
58
  it "#directories returns the contents of Gem.latest_load_paths" do
59
- Gem.expects(:latest_load_paths).returns([gem_lib])
59
+ expect(Gem).to receive(:latest_load_paths).and_return([gem_lib])
60
60
 
61
61
  expect(described_class.new.directories).to eq([gem_lib])
62
62
  end
@@ -66,7 +66,7 @@ describe Puppet::Util::RubyGems::Source do
66
66
  # set of results we don't trigger this bug. This behavior was seen on ruby 1.8.7-p334
67
67
  # using rubygems v1.6.2
68
68
  it "caches the gem paths (works around a bug in older rubygems)" do
69
- Gem.expects(:latest_load_paths).returns([gem_lib]).once
69
+ expect(Gem).to receive(:latest_load_paths).and_return([gem_lib]).once
70
70
 
71
71
  source = described_class.new
72
72
 
@@ -74,7 +74,7 @@ describe Puppet::Util::RubyGems::Source do
74
74
  end
75
75
 
76
76
  it "#clear_paths calls Gem.clear_paths" do
77
- Gem.expects(:clear_paths)
77
+ expect(Gem).to receive(:clear_paths)
78
78
  described_class.new.clear_paths
79
79
  end
80
80
  end
@@ -1,8 +1,6 @@
1
- #! /usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
 
4
3
  describe Puppet::Util::RunMode do
5
-
6
4
  # Discriminator for tests that attempts to unset HOME since that, for reasons currently unknown,
7
5
  # doesn't work in Ruby >= 2.4.0
8
6
  def self.gte_ruby_2_4
@@ -31,6 +29,7 @@ describe Puppet::Util::RunMode do
31
29
  before do
32
30
  @run_mode = Puppet::Util::UnixRunMode.new('master')
33
31
  end
32
+
34
33
  it "has confdir ~/.puppetlabs/etc/puppet when run as non-root and master run mode" do
35
34
  as_non_root { expect(@run_mode.conf_dir).to eq(File.expand_path('~/.puppetlabs/etc/puppet')) }
36
35
  end
@@ -295,12 +294,12 @@ describe Puppet::Util::RunMode do
295
294
  end
296
295
 
297
296
  def as_root
298
- Puppet.features.stubs(:root?).returns(true)
297
+ allow(Puppet.features).to receive(:root?).and_return(true)
299
298
  yield
300
299
  end
301
300
 
302
301
  def as_non_root
303
- Puppet.features.stubs(:root?).returns(false)
302
+ allow(Puppet.features).to receive(:root?).and_return(false)
304
303
  yield
305
304
  end
306
305
 
@@ -1,9 +1,7 @@
1
- #! /usr/bin/env ruby
2
1
  require 'spec_helper'
3
2
 
4
3
  require 'pathname'
5
4
  require 'puppet/util/selinux'
6
- include Puppet::Util::SELinux
7
5
 
8
6
  unless defined?(Selinux)
9
7
  module Selinux
@@ -14,35 +12,42 @@ unless defined?(Selinux)
14
12
  end
15
13
 
16
14
  describe Puppet::Util::SELinux do
15
+ include Puppet::Util::SELinux
17
16
 
18
17
  describe "selinux_support?" do
19
- before do
20
- end
21
18
  it "should return :true if this system has SELinux enabled" do
22
- Selinux.expects(:is_selinux_enabled).returns 1
19
+ expect(Selinux).to receive(:is_selinux_enabled).and_return(1)
23
20
  expect(selinux_support?).to be_truthy
24
21
  end
25
22
 
26
23
  it "should return :false if this system lacks SELinux" do
27
- Selinux.expects(:is_selinux_enabled).returns 0
24
+ expect(Selinux).to receive(:is_selinux_enabled).and_return(0)
28
25
  expect(selinux_support?).to be_falsey
29
26
  end
30
27
 
31
28
  it "should return nil if /proc/mounts does not exist" do
32
- File.stubs(:open).with("/proc/mounts").raises("No such file or directory - /proc/mounts")
29
+ allow(File).to receive(:open).with("/proc/mounts").and_raise("No such file or directory - /proc/mounts")
33
30
  expect(read_mounts).to eq(nil)
34
31
  end
35
32
  end
36
33
 
37
34
  describe "read_mounts" do
38
35
  before :each do
39
- fh = stub 'fh', :close => nil
40
- File.stubs(:open).with("/proc/mounts").returns fh
41
- fh.expects(:read_nonblock).times(2).returns("rootfs / rootfs rw 0 0\n/dev/root / ext3 rw,relatime,errors=continue,user_xattr,acl,data=ordered 0 0\n/dev /dev tmpfs rw,relatime,mode=755 0 0\n/proc /proc proc rw,relatime 0 0\n/sys /sys sysfs rw,relatime 0 0\n192.168.1.1:/var/export /mnt/nfs nfs rw,relatime,vers=3,rsize=32768,wsize=32768,namlen=255,hard,nointr,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.1.1,mountvers=3,mountproto=udp,addr=192.168.1.1 0 0\n").then.raises EOFError
36
+ fh = double('fh', :close => nil)
37
+ allow(File).to receive(:open).and_call_original()
38
+ allow(File).to receive(:open).with("/proc/mounts").and_return(fh)
39
+ times_fh_called = 0
40
+ expect(fh).to receive(:read_nonblock) do
41
+ times_fh_called += 1
42
+ raise EOFError if times_fh_called > 1
43
+
44
+ "rootfs / rootfs rw 0 0\n/dev/root / ext3 rw,relatime,errors=continue,user_xattr,acl,data=ordered 0 0\n/dev /dev tmpfs rw,relatime,mode=755 0 0\n/proc /proc proc rw,relatime 0 0\n/sys /sys sysfs rw,relatime 0 0\n192.168.1.1:/var/export /mnt/nfs nfs rw,relatime,vers=3,rsize=32768,wsize=32768,namlen=255,hard,nointr,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.1.1,mountvers=3,mountproto=udp,addr=192.168.1.1 0 0\n"
45
+ end.twice()
42
46
  end
43
47
 
44
48
  it "should parse the contents of /proc/mounts" do
45
- expect(read_mounts).to eq({
49
+ result = read_mounts
50
+ expect(result).to eq({
46
51
  '/' => 'ext3',
47
52
  '/sys' => 'sysfs',
48
53
  '/mnt/nfs' => 'nfs',
@@ -53,7 +58,7 @@ describe Puppet::Util::SELinux do
53
58
 
54
59
  describe "filesystem detection" do
55
60
  before :each do
56
- self.stubs(:read_mounts).returns({
61
+ allow(self).to receive(:read_mounts).and_return({
57
62
  '/' => 'ext3',
58
63
  '/sys' => 'sysfs',
59
64
  '/mnt/nfs' => 'nfs',
@@ -84,10 +89,10 @@ describe Puppet::Util::SELinux do
84
89
  it "(#8714) don't follow symlinks when determining file systems", :unless => Puppet.features.microsoft_windows? do
85
90
  scratch = Pathname(PuppetSpec::Files.tmpdir('selinux'))
86
91
 
87
- self.stubs(:read_mounts).returns({
88
- '/' => 'ext3',
89
- scratch + 'nfs' => 'nfs',
90
- })
92
+ allow(self).to receive(:read_mounts).and_return({
93
+ '/' => 'ext3',
94
+ scratch + 'nfs' => 'nfs',
95
+ })
91
96
 
92
97
  (scratch + 'foo').make_symlink('nfs/bar')
93
98
  expect(selinux_label_support?(scratch + 'foo')).to be_truthy
@@ -101,73 +106,72 @@ describe Puppet::Util::SELinux do
101
106
 
102
107
  describe "get_selinux_current_context" do
103
108
  it "should return nil if no SELinux support" do
104
- self.expects(:selinux_support?).returns false
109
+ expect(self).to receive(:selinux_support?).and_return(false)
105
110
  expect(get_selinux_current_context("/foo")).to be_nil
106
111
  end
107
112
 
108
113
  it "should return a context" do
109
- self.expects(:selinux_support?).returns true
110
- Selinux.expects(:lgetfilecon).with("/foo").returns [0, "user_u:role_r:type_t:s0"]
114
+ expect(self).to receive(:selinux_support?).and_return(true)
115
+ expect(Selinux).to receive(:lgetfilecon).with("/foo").and_return([0, "user_u:role_r:type_t:s0"])
111
116
  expect(get_selinux_current_context("/foo")).to eq("user_u:role_r:type_t:s0")
112
117
  end
113
118
 
114
119
  it "should return nil if lgetfilecon fails" do
115
- self.expects(:selinux_support?).returns true
116
- Selinux.expects(:lgetfilecon).with("/foo").returns(-1)
120
+ expect(self).to receive(:selinux_support?).and_return(true)
121
+ expect(Selinux).to receive(:lgetfilecon).with("/foo").and_return(-1)
117
122
  expect(get_selinux_current_context("/foo")).to be_nil
118
123
  end
119
124
  end
120
125
 
121
126
  describe "get_selinux_default_context" do
122
127
  it "should return nil if no SELinux support" do
123
- self.expects(:selinux_support?).returns false
128
+ expect(self).to receive(:selinux_support?).and_return(false)
124
129
  expect(get_selinux_default_context("/foo")).to be_nil
125
130
  end
126
131
 
127
132
  it "should return a context if a default context exists" do
128
- self.expects(:selinux_support?).returns true
129
- fstat = stub 'File::Stat', :mode => 0
130
- Puppet::FileSystem.expects(:lstat).with('/foo').returns(fstat)
131
- self.expects(:find_fs).with("/foo").returns "ext3"
132
- Selinux.expects(:matchpathcon).with("/foo", 0).returns [0, "user_u:role_r:type_t:s0"]
133
+ expect(self).to receive(:selinux_support?).and_return(true)
134
+ fstat = double('File::Stat', :mode => 0)
135
+ expect(Puppet::FileSystem).to receive(:lstat).with('/foo').and_return(fstat)
136
+ expect(self).to receive(:find_fs).with("/foo").and_return("ext3")
137
+ expect(Selinux).to receive(:matchpathcon).with("/foo", 0).and_return([0, "user_u:role_r:type_t:s0"])
133
138
 
134
139
  expect(get_selinux_default_context("/foo")).to eq("user_u:role_r:type_t:s0")
135
140
  end
136
141
 
137
142
  it "handles permission denied errors by issuing a warning" do
138
- self.stubs(:selinux_support?).returns true
139
- self.stubs(:selinux_label_support?).returns true
140
- Selinux.stubs(:matchpathcon).with("/root/chuj", 0).returns(-1)
141
- self.stubs(:file_lstat).with("/root/chuj").raises(Errno::EACCES, "/root/chuj")
143
+ allow(self).to receive(:selinux_support?).and_return(true)
144
+ allow(self).to receive(:selinux_label_support?).and_return(true)
145
+ allow(Selinux).to receive(:matchpathcon).with("/root/chuj", 0).and_return(-1)
146
+ allow(self).to receive(:file_lstat).with("/root/chuj").and_raise(Errno::EACCES, "/root/chuj")
142
147
 
143
148
  expect(get_selinux_default_context("/root/chuj")).to be_nil
144
149
  end
145
150
 
146
151
  it "handles no such file or directory errors by issuing a warning" do
147
- self.stubs(:selinux_support?).returns true
148
- self.stubs(:selinux_label_support?).returns true
149
- Selinux.stubs(:matchpathcon).with("/root/chuj", 0).returns(-1)
150
- self.stubs(:file_lstat).with("/root/chuj").raises(Errno::ENOENT, "/root/chuj")
152
+ allow(self).to receive(:selinux_support?).and_return(true)
153
+ allow(self).to receive(:selinux_label_support?).and_return(true)
154
+ allow(Selinux).to receive(:matchpathcon).with("/root/chuj", 0).and_return(-1)
155
+ allow(self).to receive(:file_lstat).with("/root/chuj").and_raise(Errno::ENOENT, "/root/chuj")
151
156
 
152
157
  expect(get_selinux_default_context("/root/chuj")).to be_nil
153
158
  end
154
159
 
155
160
  it "should return nil if matchpathcon returns failure" do
156
- self.expects(:selinux_support?).returns true
157
- fstat = stub 'File::Stat', :mode => 0
158
- Puppet::FileSystem.expects(:lstat).with('/foo').returns(fstat)
159
- self.expects(:find_fs).with("/foo").returns "ext3"
160
- Selinux.expects(:matchpathcon).with("/foo", 0).returns(-1)
161
+ expect(self).to receive(:selinux_support?).and_return(true)
162
+ fstat = double('File::Stat', :mode => 0)
163
+ expect(Puppet::FileSystem).to receive(:lstat).with('/foo').and_return(fstat)
164
+ expect(self).to receive(:find_fs).with("/foo").and_return("ext3")
165
+ expect(Selinux).to receive(:matchpathcon).with("/foo", 0).and_return(-1)
161
166
 
162
167
  expect(get_selinux_default_context("/foo")).to be_nil
163
168
  end
164
169
 
165
170
  it "should return nil if selinux_label_support returns false" do
166
- self.expects(:selinux_support?).returns true
167
- self.expects(:find_fs).with("/foo").returns "nfs"
171
+ expect(self).to receive(:selinux_support?).and_return(true)
172
+ expect(self).to receive(:find_fs).with("/foo").and_return("nfs")
168
173
  expect(get_selinux_default_context("/foo")).to be_nil
169
174
  end
170
-
171
175
  end
172
176
 
173
177
  describe "parse_selinux_context" do
@@ -232,84 +236,87 @@ describe Puppet::Util::SELinux do
232
236
 
233
237
  describe "set_selinux_context" do
234
238
  before :each do
235
- fh = stub 'fh', :close => nil
236
- File.stubs(:open).with("/proc/mounts").returns fh
237
- fh.stubs(:read_nonblock).returns(
239
+ fh = double('fh', :close => nil)
240
+ allow(File).to receive(:open).with("/proc/mounts").and_return(fh)
241
+ times_fh_called = 0
242
+ allow(fh).to receive(:read_nonblock) do
243
+ times_fh_called += 1
244
+ raise EOFError if times_fh_called > 1
245
+
238
246
  "rootfs / rootfs rw 0 0\n/dev/root / ext3 rw,relatime,errors=continue,user_xattr,acl,data=ordered 0 0\n"+
239
247
  "/dev /dev tmpfs rw,relatime,mode=755 0 0\n/proc /proc proc rw,relatime 0 0\n"+
240
248
  "/sys /sys sysfs rw,relatime 0 0\n"
241
- ).then.raises EOFError
249
+ end
242
250
  end
243
251
 
244
252
  it "should return nil if there is no SELinux support" do
245
- self.expects(:selinux_support?).returns false
253
+ expect(self).to receive(:selinux_support?).and_return(false)
246
254
  expect(set_selinux_context("/foo", "user_u:role_r:type_t:s0")).to be_nil
247
255
  end
248
256
 
249
257
  it "should return nil if selinux_label_support returns false" do
250
- self.expects(:selinux_support?).returns true
251
- self.expects(:selinux_label_support?).with("/foo").returns false
258
+ expect(self).to receive(:selinux_support?).and_return(true)
259
+ expect(self).to receive(:selinux_label_support?).with("/foo").and_return(false)
252
260
  expect(set_selinux_context("/foo", "user_u:role_r:type_t:s0")).to be_nil
253
261
  end
254
262
 
255
263
  it "should use lsetfilecon to set a context" do
256
- self.expects(:selinux_support?).returns true
257
- Selinux.expects(:lsetfilecon).with("/foo", "user_u:role_r:type_t:s0").returns 0
264
+ expect(self).to receive(:selinux_support?).and_return(true)
265
+ expect(Selinux).to receive(:lsetfilecon).with("/foo", "user_u:role_r:type_t:s0").and_return(0)
258
266
  expect(set_selinux_context("/foo", "user_u:role_r:type_t:s0")).to be_truthy
259
267
  end
260
268
 
261
269
  it "should use lsetfilecon to set user_u user context" do
262
- self.expects(:selinux_support?).returns true
263
- Selinux.expects(:lgetfilecon).with("/foo").returns [0, "foo:role_r:type_t:s0"]
264
- Selinux.expects(:lsetfilecon).with("/foo", "user_u:role_r:type_t:s0").returns 0
270
+ expect(self).to receive(:selinux_support?).and_return(true)
271
+ expect(Selinux).to receive(:lgetfilecon).with("/foo").and_return([0, "foo:role_r:type_t:s0"])
272
+ expect(Selinux).to receive(:lsetfilecon).with("/foo", "user_u:role_r:type_t:s0").and_return(0)
265
273
  expect(set_selinux_context("/foo", "user_u", :seluser)).to be_truthy
266
274
  end
267
275
 
268
276
  it "should use lsetfilecon to set role_r role context" do
269
- self.expects(:selinux_support?).returns true
270
- Selinux.expects(:lgetfilecon).with("/foo").returns [0, "user_u:foo:type_t:s0"]
271
- Selinux.expects(:lsetfilecon).with("/foo", "user_u:role_r:type_t:s0").returns 0
277
+ expect(self).to receive(:selinux_support?).and_return(true)
278
+ expect(Selinux).to receive(:lgetfilecon).with("/foo").and_return([0, "user_u:foo:type_t:s0"])
279
+ expect(Selinux).to receive(:lsetfilecon).with("/foo", "user_u:role_r:type_t:s0").and_return(0)
272
280
  expect(set_selinux_context("/foo", "role_r", :selrole)).to be_truthy
273
281
  end
274
282
 
275
283
  it "should use lsetfilecon to set type_t type context" do
276
- self.expects(:selinux_support?).returns true
277
- Selinux.expects(:lgetfilecon).with("/foo").returns [0, "user_u:role_r:foo:s0"]
278
- Selinux.expects(:lsetfilecon).with("/foo", "user_u:role_r:type_t:s0").returns 0
284
+ expect(self).to receive(:selinux_support?).and_return(true)
285
+ expect(Selinux).to receive(:lgetfilecon).with("/foo").and_return([0, "user_u:role_r:foo:s0"])
286
+ expect(Selinux).to receive(:lsetfilecon).with("/foo", "user_u:role_r:type_t:s0").and_return(0)
279
287
  expect(set_selinux_context("/foo", "type_t", :seltype)).to be_truthy
280
288
  end
281
289
 
282
290
  it "should use lsetfilecon to set s0:c3,c5 range context" do
283
- self.expects(:selinux_support?).returns true
284
- Selinux.expects(:lgetfilecon).with("/foo").returns [0, "user_u:role_r:type_t:s0"]
285
- Selinux.expects(:lsetfilecon).with("/foo", "user_u:role_r:type_t:s0:c3,c5").returns 0
291
+ expect(self).to receive(:selinux_support?).and_return(true)
292
+ expect(Selinux).to receive(:lgetfilecon).with("/foo").and_return([0, "user_u:role_r:type_t:s0"])
293
+ expect(Selinux).to receive(:lsetfilecon).with("/foo", "user_u:role_r:type_t:s0:c3,c5").and_return(0)
286
294
  expect(set_selinux_context("/foo", "s0:c3,c5", :selrange)).to be_truthy
287
295
  end
288
296
  end
289
297
 
290
298
  describe "set_selinux_default_context" do
291
299
  it "should return nil if there is no SELinux support" do
292
- self.expects(:selinux_support?).returns false
300
+ expect(self).to receive(:selinux_support?).and_return(false)
293
301
  expect(set_selinux_default_context("/foo")).to be_nil
294
302
  end
295
303
 
296
304
  it "should return nil if no default context exists" do
297
- self.expects(:get_selinux_default_context).with("/foo").returns nil
305
+ expect(self).to receive(:get_selinux_default_context).with("/foo").and_return(nil)
298
306
  expect(set_selinux_default_context("/foo")).to be_nil
299
307
  end
300
308
 
301
309
  it "should do nothing and return nil if the current context matches the default context" do
302
- self.expects(:get_selinux_default_context).with("/foo").returns "user_u:role_r:type_t"
303
- self.expects(:get_selinux_current_context).with("/foo").returns "user_u:role_r:type_t"
310
+ expect(self).to receive(:get_selinux_default_context).with("/foo").and_return("user_u:role_r:type_t")
311
+ expect(self).to receive(:get_selinux_current_context).with("/foo").and_return("user_u:role_r:type_t")
304
312
  expect(set_selinux_default_context("/foo")).to be_nil
305
313
  end
306
314
 
307
315
  it "should set and return the default context if current and default do not match" do
308
- self.expects(:get_selinux_default_context).with("/foo").returns "user_u:role_r:type_t"
309
- self.expects(:get_selinux_current_context).with("/foo").returns "olduser_u:role_r:type_t"
310
- self.expects(:set_selinux_context).with("/foo", "user_u:role_r:type_t").returns true
316
+ expect(self).to receive(:get_selinux_default_context).with("/foo").and_return("user_u:role_r:type_t")
317
+ expect(self).to receive(:get_selinux_current_context).with("/foo").and_return("olduser_u:role_r:type_t")
318
+ expect(self).to receive(:set_selinux_context).with("/foo", "user_u:role_r:type_t").and_return(true)
311
319
  expect(set_selinux_default_context("/foo")).to eq("user_u:role_r:type_t")
312
320
  end
313
321
  end
314
-
315
322
  end