puppet 5.4.0-x86-mingw32 → 5.5.0-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 (441) hide show
  1. data/Gemfile +3 -3
  2. data/MAINTAINERS +0 -19
  3. data/README.md +5 -5
  4. data/Rakefile +26 -0
  5. data/conf/auth.conf +5 -0
  6. data/ext/project_data.yaml +1 -0
  7. data/ext/regexp_nodes/regexp_nodes.rb +3 -4
  8. data/lib/puppet/application/apply.rb +1 -1
  9. data/lib/puppet/application/cert.rb +3 -1
  10. data/lib/puppet/application/device.rb +100 -13
  11. data/lib/puppet/application/facts.rb +5 -0
  12. data/lib/puppet/application/lookup.rb +12 -2
  13. data/lib/puppet/configurer.rb +37 -17
  14. data/lib/puppet/confine.rb +4 -1
  15. data/lib/puppet/datatypes.rb +1 -1
  16. data/lib/puppet/environments.rb +1 -1
  17. data/lib/puppet/error.rb +6 -3
  18. data/lib/puppet/external/dot.rb +0 -7
  19. data/lib/puppet/external/nagios/parser.rb +1 -1
  20. data/lib/puppet/face/config.rb +92 -10
  21. data/lib/puppet/face/epp.rb +31 -6
  22. data/lib/puppet/face/facts.rb +49 -0
  23. data/lib/puppet/face/help.rb +33 -35
  24. data/lib/puppet/face/help/action.erb +1 -1
  25. data/lib/puppet/face/help/face.erb +1 -1
  26. data/lib/puppet/face/man.rb +55 -12
  27. data/lib/puppet/face/parser.rb +30 -3
  28. data/lib/puppet/file_bucket/file.rb +0 -2
  29. data/lib/puppet/file_serving/base.rb +10 -10
  30. data/lib/puppet/forge.rb +3 -3
  31. data/lib/puppet/forge/errors.rb +3 -3
  32. data/lib/puppet/functions.rb +1 -3
  33. data/lib/puppet/functions/alert.rb +1 -1
  34. data/lib/puppet/functions/all.rb +6 -6
  35. data/lib/puppet/functions/annotate.rb +10 -10
  36. data/lib/puppet/functions/any.rb +6 -6
  37. data/lib/puppet/functions/assert_type.rb +4 -4
  38. data/lib/puppet/functions/binary_file.rb +14 -2
  39. data/lib/puppet/functions/break.rb +31 -2
  40. data/lib/puppet/functions/call.rb +4 -4
  41. data/lib/puppet/functions/contain.rb +19 -3
  42. data/lib/puppet/functions/convert_to.rb +6 -5
  43. data/lib/puppet/functions/crit.rb +1 -1
  44. data/lib/puppet/functions/debug.rb +1 -1
  45. data/lib/puppet/functions/defined.rb +11 -9
  46. data/lib/puppet/functions/dig.rb +26 -2
  47. data/lib/puppet/functions/each.rb +8 -8
  48. data/lib/puppet/functions/emerg.rb +1 -1
  49. data/lib/puppet/functions/empty.rb +79 -0
  50. data/lib/puppet/functions/err.rb +1 -1
  51. data/lib/puppet/functions/eyaml_lookup_key.rb +3 -1
  52. data/lib/puppet/functions/filter.rb +7 -7
  53. data/lib/puppet/functions/find_file.rb +15 -1
  54. data/lib/puppet/functions/flatten.rb +64 -0
  55. data/lib/puppet/functions/hiera.rb +6 -6
  56. data/lib/puppet/functions/hiera_array.rb +6 -6
  57. data/lib/puppet/functions/hiera_hash.rb +6 -6
  58. data/lib/puppet/functions/hiera_include.rb +8 -8
  59. data/lib/puppet/functions/include.rb +28 -2
  60. data/lib/puppet/functions/info.rb +1 -1
  61. data/lib/puppet/functions/inline_epp.rb +2 -2
  62. data/lib/puppet/functions/join.rb +56 -0
  63. data/lib/puppet/functions/json_data.rb +2 -2
  64. data/lib/puppet/functions/keys.rb +25 -0
  65. data/lib/puppet/functions/length.rb +44 -0
  66. data/lib/puppet/functions/lest.rb +39 -1
  67. data/lib/puppet/functions/lookup.rb +2 -1
  68. data/lib/puppet/functions/map.rb +10 -9
  69. data/lib/puppet/functions/match.rb +6 -6
  70. data/lib/puppet/functions/new.rb +995 -2
  71. data/lib/puppet/functions/next.rb +1 -1
  72. data/lib/puppet/functions/notice.rb +1 -1
  73. data/lib/puppet/functions/reduce.rb +6 -6
  74. data/lib/puppet/functions/regsubst.rb +9 -3
  75. data/lib/puppet/functions/require.rb +36 -2
  76. data/lib/puppet/functions/return.rb +1 -1
  77. data/lib/puppet/functions/reverse_each.rb +71 -2
  78. data/lib/puppet/functions/slice.rb +23 -9
  79. data/lib/puppet/functions/split.rb +12 -10
  80. data/lib/puppet/functions/step.rb +73 -1
  81. data/lib/puppet/functions/strftime.rb +176 -2
  82. data/lib/puppet/functions/then.rb +65 -2
  83. data/lib/puppet/functions/tree_each.rb +19 -19
  84. data/lib/puppet/functions/type.rb +42 -1
  85. data/lib/puppet/functions/unique.rb +13 -13
  86. data/lib/puppet/functions/unwrap.rb +8 -4
  87. data/lib/puppet/functions/values.rb +25 -0
  88. data/lib/puppet/functions/versioncmp.rb +1 -1
  89. data/lib/puppet/functions/warning.rb +1 -1
  90. data/lib/puppet/functions/with.rb +6 -4
  91. data/lib/puppet/functions/yaml_data.rb +3 -1
  92. data/lib/puppet/indirector/certificate_status/file.rb +1 -1
  93. data/lib/puppet/indirector/facts/facter.rb +1 -3
  94. data/lib/puppet/indirector/facts/rest.rb +21 -0
  95. data/lib/puppet/indirector/facts/yaml.rb +0 -4
  96. data/lib/puppet/indirector/rest.rb +2 -2
  97. data/lib/puppet/module.rb +3 -3
  98. data/lib/puppet/module/task.rb +2 -3
  99. data/lib/puppet/module_tool/applications/application.rb +4 -4
  100. data/lib/puppet/module_tool/applications/builder.rb +2 -2
  101. data/lib/puppet/module_tool/applications/checksummer.rb +3 -3
  102. data/lib/puppet/module_tool/applications/unpacker.rb +2 -2
  103. data/lib/puppet/module_tool/metadata.rb +3 -3
  104. data/lib/puppet/network/authconfig.rb +1 -1
  105. data/lib/puppet/network/format_support.rb +1 -1
  106. data/lib/puppet/network/formats.rb +5 -7
  107. data/lib/puppet/network/http/api/indirected_routes.rb +1 -0
  108. data/lib/puppet/network/http/api/master/v3/environment.rb +2 -2
  109. data/lib/puppet/network/http/api/master/v3/environments.rb +2 -2
  110. data/lib/puppet/network/http/error.rb +3 -3
  111. data/lib/puppet/network/resolver.rb +1 -2
  112. data/lib/puppet/parser/compiler.rb +12 -5
  113. data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +1 -1
  114. data/lib/puppet/parser/functions/fqdn_rand.rb +15 -4
  115. data/lib/puppet/parser/functions/new.rb +31 -46
  116. data/lib/puppet/parser/parser_factory.rb +1 -1
  117. data/lib/puppet/parser/resource.rb +1 -1
  118. data/lib/puppet/parser/type_loader.rb +11 -11
  119. data/lib/puppet/pops/evaluator/closure.rb +1 -1
  120. data/lib/puppet/pops/evaluator/collector_transformer.rb +1 -1
  121. data/lib/puppet/pops/evaluator/epp_evaluator.rb +2 -2
  122. data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +2 -2
  123. data/lib/puppet/pops/evaluator/runtime3_support.rb +5 -2
  124. data/lib/puppet/pops/functions/dispatch.rb +1 -1
  125. data/lib/puppet/pops/issue_reporter.rb +18 -1
  126. data/lib/puppet/pops/issues.rb +6 -3
  127. data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +1 -2
  128. data/lib/puppet/pops/loader/ruby_function_instantiator.rb +1 -2
  129. data/lib/puppet/pops/loader/task_instantiator.rb +5 -5
  130. data/lib/puppet/pops/loader/type_definition_instantiator.rb +4 -1
  131. data/lib/puppet/pops/loaders.rb +18 -7
  132. data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
  133. data/lib/puppet/pops/lookup/lookup_adapter.rb +55 -6
  134. data/lib/puppet/pops/model/factory.rb +6 -3
  135. data/lib/puppet/pops/model/model_tree_dumper.rb +4 -0
  136. data/lib/puppet/pops/model/pn_transformer.rb +400 -0
  137. data/lib/puppet/pops/parser/egrammar.ra +1 -1
  138. data/lib/puppet/pops/parser/eparser.rb +1 -1
  139. data/lib/puppet/pops/parser/heredoc_support.rb +1 -1
  140. data/lib/puppet/pops/parser/lexer_support.rb +3 -2
  141. data/lib/puppet/pops/parser/locator.rb +0 -2
  142. data/lib/puppet/pops/parser/pn_parser.rb +316 -0
  143. data/lib/puppet/pops/pcore.rb +17 -17
  144. data/lib/puppet/pops/pn.rb +236 -0
  145. data/lib/puppet/pops/serialization/json.rb +7 -7
  146. data/lib/puppet/pops/types/class_loader.rb +6 -3
  147. data/lib/puppet/pops/types/implementation_registry.rb +28 -35
  148. data/lib/puppet/pops/types/p_object_type.rb +3 -3
  149. data/lib/puppet/pops/types/p_timespan_type.rb +2 -2
  150. data/lib/puppet/pops/types/p_type_set_type.rb +24 -1
  151. data/lib/puppet/pops/types/ruby_generator.rb +3 -4
  152. data/lib/puppet/pops/types/type_calculator.rb +1 -1
  153. data/lib/puppet/pops/types/type_factory.rb +0 -4
  154. data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -1
  155. data/lib/puppet/pops/types/type_parser.rb +14 -7
  156. data/lib/puppet/pops/types/types.rb +1 -1
  157. data/lib/puppet/pops/utils.rb +2 -2
  158. data/lib/puppet/pops/validation/checker4_0.rb +6 -2
  159. data/lib/puppet/provider/group/groupadd.rb +3 -1
  160. data/lib/puppet/provider/group/windows_adsi.rb +4 -7
  161. data/lib/puppet/provider/nameservice.rb +3 -3
  162. data/lib/puppet/provider/package/pacman.rb +4 -4
  163. data/lib/puppet/provider/package/pip.rb +3 -3
  164. data/lib/puppet/provider/package/pkgdmg.rb +3 -3
  165. data/lib/puppet/provider/package/pkgutil.rb +2 -2
  166. data/lib/puppet/provider/package/portage.rb +9 -9
  167. data/lib/puppet/provider/package/zypper.rb +2 -2
  168. data/lib/puppet/provider/service/base.rb +1 -1
  169. data/lib/puppet/provider/service/smf.rb +3 -2
  170. data/lib/puppet/provider/service/systemd.rb +1 -1
  171. data/lib/puppet/provider/user/useradd.rb +6 -2
  172. data/lib/puppet/provider/user/windows_adsi.rb +1 -1
  173. data/lib/puppet/provider/yumrepo/inifile.rb +20 -9
  174. data/lib/puppet/provider/zfs/zfs.rb +1 -1
  175. data/lib/puppet/reference/configuration.rb +2 -0
  176. data/lib/puppet/reference/type.rb +11 -11
  177. data/lib/puppet/resource.rb +1 -1
  178. data/lib/puppet/resource/capability_finder.rb +5 -5
  179. data/lib/puppet/resource/catalog.rb +6 -3
  180. data/lib/puppet/resource/status.rb +9 -2
  181. data/lib/puppet/resource/type.rb +1 -1
  182. data/lib/puppet/settings.rb +31 -19
  183. data/lib/puppet/settings/base_setting.rb +5 -0
  184. data/lib/puppet/settings/config_file.rb +1 -1
  185. data/lib/puppet/settings/ttl_setting.rb +5 -0
  186. data/lib/puppet/ssl/certificate_factory.rb +2 -2
  187. data/lib/puppet/ssl/certificate_request.rb +0 -2
  188. data/lib/puppet/syntax_checkers/json.rb +1 -1
  189. data/lib/puppet/transaction/additional_resource_generator.rb +2 -2
  190. data/lib/puppet/transaction/event.rb +1 -1
  191. data/lib/puppet/transaction/report.rb +18 -12
  192. data/lib/puppet/type.rb +9 -13
  193. data/lib/puppet/type/augeas.rb +2 -2
  194. data/lib/puppet/type/cron.rb +11 -6
  195. data/lib/puppet/type/exec.rb +1 -1
  196. data/lib/puppet/type/file.rb +4 -5
  197. data/lib/puppet/type/host.rb +1 -1
  198. data/lib/puppet/type/k5login.rb +30 -54
  199. data/lib/puppet/type/package.rb +3 -3
  200. data/lib/puppet/type/schedule.rb +12 -12
  201. data/lib/puppet/type/scheduled_task.rb +2 -2
  202. data/lib/puppet/type/ssh_authorized_key.rb +5 -5
  203. data/lib/puppet/type/sshkey.rb +2 -2
  204. data/lib/puppet/type/tidy.rb +1 -1
  205. data/lib/puppet/type/user.rb +1 -1
  206. data/lib/puppet/type/yumrepo.rb +26 -5
  207. data/lib/puppet/util.rb +0 -4
  208. data/lib/puppet/util/backups.rb +1 -1
  209. data/lib/puppet/util/inifile.rb +3 -4
  210. data/lib/puppet/util/json.rb +68 -0
  211. data/lib/puppet/util/json_lockfile.rb +3 -3
  212. data/lib/puppet/util/log.rb +2 -5
  213. data/lib/puppet/util/log/destinations.rb +2 -2
  214. data/lib/puppet/util/network_device/cisco/facts.rb +1 -1
  215. data/lib/puppet/util/plist.rb +1 -1
  216. data/lib/puppet/util/reference.rb +1 -8
  217. data/lib/puppet/util/tagging.rb +1 -1
  218. data/lib/puppet/util/warnings.rb +0 -2
  219. data/lib/puppet/util/windows/adsi.rb +15 -18
  220. data/lib/puppet/util/windows/com.rb +2 -1
  221. data/lib/puppet/util/windows/file.rb +2 -2
  222. data/lib/puppet/util/windows/principal.rb +7 -6
  223. data/lib/puppet/util/windows/sid.rb +60 -7
  224. data/lib/puppet/util/windows/taskscheduler.rb +0 -9
  225. data/lib/puppet/version.rb +1 -1
  226. data/lib/puppet_pal.rb +53 -48
  227. data/locales/ja/puppet.po +1357 -912
  228. data/locales/puppet.pot +549 -466
  229. data/man/man5/puppet.conf.5 +103 -20
  230. data/man/man8/puppet-agent.8 +6 -2
  231. data/man/man8/puppet-apply.8 +2 -2
  232. data/man/man8/puppet-ca.8 +1 -1
  233. data/man/man8/puppet-catalog.8 +1 -1
  234. data/man/man8/puppet-cert.8 +1 -1
  235. data/man/man8/puppet-certificate.8 +1 -1
  236. data/man/man8/puppet-certificate_request.8 +1 -1
  237. data/man/man8/puppet-certificate_revocation_list.8 +1 -1
  238. data/man/man8/puppet-config.8 +35 -1
  239. data/man/man8/puppet-describe.8 +1 -1
  240. data/man/man8/puppet-device.8 +33 -11
  241. data/man/man8/puppet-doc.8 +1 -1
  242. data/man/man8/puppet-epp.8 +34 -12
  243. data/man/man8/puppet-facts.8 +50 -1
  244. data/man/man8/puppet-filebucket.8 +38 -11
  245. data/man/man8/puppet-generate.8 +1 -1
  246. data/man/man8/puppet-help.8 +1 -1
  247. data/man/man8/puppet-key.8 +1 -1
  248. data/man/man8/puppet-lookup.8 +1 -1
  249. data/man/man8/puppet-man.8 +10 -4
  250. data/man/man8/puppet-master.8 +1 -1
  251. data/man/man8/puppet-module.8 +15 -6
  252. data/man/man8/puppet-node.8 +1 -1
  253. data/man/man8/puppet-parser.8 +31 -8
  254. data/man/man8/puppet-plugin.8 +1 -1
  255. data/man/man8/puppet-report.8 +1 -1
  256. data/man/man8/puppet-resource.8 +1 -1
  257. data/man/man8/puppet-script.8 +67 -0
  258. data/man/man8/puppet-status.8 +1 -1
  259. data/man/man8/puppet.8 +3 -3
  260. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome2/lib/puppet_x/awesome2/echo_scheme_handler.rb +1 -1
  261. data/spec/integration/application/apply_spec.rb +15 -15
  262. data/spec/integration/application/lookup_spec.rb +21 -0
  263. data/spec/integration/faces/config_spec.rb +16 -4
  264. data/spec/integration/network/http/api/indirected_routes_spec.rb +5 -5
  265. data/spec/integration/parser/catalog_spec.rb +1 -1
  266. data/spec/integration/parser/collection_spec.rb +2 -2
  267. data/spec/integration/parser/compiler_spec.rb +17 -18
  268. data/spec/integration/parser/pcore_resource_spec.rb +2 -2
  269. data/spec/integration/parser/scope_spec.rb +2 -2
  270. data/spec/integration/ssl/certificate_authority_spec.rb +7 -7
  271. data/spec/integration/ssl/certificate_revocation_list_spec.rb +1 -1
  272. data/spec/integration/ssl/key_spec.rb +1 -1
  273. data/spec/integration/transaction/report_spec.rb +3 -3
  274. data/spec/integration/transaction_spec.rb +0 -1
  275. data/spec/integration/type/file_spec.rb +10 -11
  276. data/spec/integration/type_spec.rb +1 -2
  277. data/spec/integration/util/windows/adsi_spec.rb +86 -1
  278. data/spec/integration/util/windows/principal_spec.rb +11 -2
  279. data/spec/integration/util/windows/security_spec.rb +2 -2
  280. data/spec/lib/matchers/json.rb +4 -4
  281. data/spec/lib/puppet_spec/language.rb +34 -35
  282. data/spec/lib/puppet_spec/module_tool/shared_functions.rb +2 -2
  283. data/spec/shared_behaviours/file_server_terminus.rb +0 -2
  284. data/spec/shared_behaviours/things_that_declare_options.rb +2 -2
  285. data/spec/spec_helper.rb +1 -1
  286. data/spec/unit/application/cert_spec.rb +21 -9
  287. data/spec/unit/application/device_spec.rb +96 -2
  288. data/spec/unit/application/face_base_spec.rb +2 -2
  289. data/spec/unit/application/lookup_spec.rb +0 -1
  290. data/spec/unit/configurer_spec.rb +14 -0
  291. data/spec/unit/confine_spec.rb +16 -0
  292. data/spec/unit/data_providers/hiera_data_provider_spec.rb +4 -4
  293. data/spec/unit/datatypes_spec.rb +49 -0
  294. data/spec/unit/environments_spec.rb +7 -0
  295. data/spec/unit/face/config_spec.rb +116 -12
  296. data/spec/unit/face/epp_face_spec.rb +53 -2
  297. data/spec/unit/face/facts_spec.rb +53 -0
  298. data/spec/unit/face/help_spec.rb +62 -69
  299. data/spec/unit/face/man_spec.rb +26 -0
  300. data/spec/unit/face/module/list_spec.rb +0 -1
  301. data/spec/unit/face/parser_spec.rb +78 -0
  302. data/spec/unit/file_bucket/dipper_spec.rb +0 -4
  303. data/spec/unit/file_serving/content_spec.rb +0 -1
  304. data/spec/unit/file_serving/fileset_spec.rb +0 -1
  305. data/spec/unit/file_serving/metadata_spec.rb +0 -1
  306. data/spec/unit/file_serving/terminus_selector_spec.rb +0 -2
  307. data/spec/unit/forge_spec.rb +1 -2
  308. data/spec/unit/functions/assert_type_spec.rb +1 -1
  309. data/spec/unit/functions/empty_spec.rb +77 -0
  310. data/spec/unit/functions/epp_spec.rb +1 -1
  311. data/spec/unit/functions/flatten_spec.rb +31 -0
  312. data/spec/unit/functions/include_spec.rb +2 -2
  313. data/spec/unit/functions/inline_epp_spec.rb +1 -1
  314. data/spec/unit/functions/join_spec.rb +33 -0
  315. data/spec/unit/functions/keys_spec.rb +31 -0
  316. data/spec/unit/functions/length_spec.rb +50 -0
  317. data/spec/unit/functions/lookup_fixture_spec.rb +1 -1
  318. data/spec/unit/functions/lookup_spec.rb +52 -0
  319. data/spec/unit/functions/shared.rb +1 -1
  320. data/spec/unit/functions/values_spec.rb +30 -0
  321. data/spec/unit/functions/versioncmp_spec.rb +1 -1
  322. data/spec/unit/functions4_spec.rb +30 -32
  323. data/spec/unit/graph/title_hash_prioritizer_spec.rb +2 -1
  324. data/spec/unit/indirector/catalog/compiler_spec.rb +0 -15
  325. data/spec/unit/indirector/facts/rest_spec.rb +45 -0
  326. data/spec/unit/indirector/facts/yaml_spec.rb +6 -0
  327. data/spec/unit/indirector/file_bucket_file/file_spec.rb +2 -2
  328. data/spec/unit/indirector/indirection_spec.rb +1 -1
  329. data/spec/unit/indirector/node/ldap_spec.rb +2 -2
  330. data/spec/unit/indirector/request_spec.rb +0 -2
  331. data/spec/unit/indirector/rest_spec.rb +2 -2
  332. data/spec/unit/indirector_spec.rb +0 -1
  333. data/spec/unit/info_service_spec.rb +1 -1
  334. data/spec/unit/interface/action_manager_spec.rb +1 -1
  335. data/spec/unit/interface/action_spec.rb +1 -1
  336. data/spec/unit/module_spec.rb +0 -5
  337. data/spec/unit/module_tool/applications/builder_spec.rb +1 -1
  338. data/spec/unit/module_tool/applications/unpacker_spec.rb +4 -4
  339. data/spec/unit/network/formats_spec.rb +5 -13
  340. data/spec/unit/network/http/api/indirected_routes_spec.rb +6 -2
  341. data/spec/unit/network/http/connection_spec.rb +1 -1
  342. data/spec/unit/network/http/handler_spec.rb +3 -2
  343. data/spec/unit/node/environment_spec.rb +1 -1
  344. data/spec/unit/node_spec.rb +3 -3
  345. data/spec/unit/parser/compiler_spec.rb +9 -2
  346. data/spec/unit/parser/environment_compiler_spec.rb +8 -8
  347. data/spec/unit/parser/functions/create_resources_spec.rb +1 -1
  348. data/spec/unit/parser/functions/fail_spec.rb +1 -1
  349. data/spec/unit/parser/functions/fqdn_rand_spec.rb +24 -0
  350. data/spec/unit/parser/functions/realize_spec.rb +1 -1
  351. data/spec/unit/parser/resource_spec.rb +0 -1
  352. data/spec/unit/parser/scope_spec.rb +3 -3
  353. data/spec/unit/parser/type_loader_spec.rb +1 -1
  354. data/spec/unit/pops/adaptable_spec.rb +0 -1
  355. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +0 -3
  356. data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +0 -4
  357. data/spec/unit/pops/factory_rspec_helper.rb +1 -1
  358. data/spec/unit/pops/factory_spec.rb +5 -5
  359. data/spec/unit/pops/issues_spec.rb +23 -8
  360. data/spec/unit/pops/loaders/loaders_spec.rb +24 -2
  361. data/spec/unit/pops/loaders/static_loader_spec.rb +1 -1
  362. data/spec/unit/pops/lookup/interpolation_spec.rb +5 -0
  363. data/spec/unit/pops/lookup/lookup_spec.rb +56 -0
  364. data/spec/unit/pops/model/pn_transformer_spec.rb +53 -0
  365. data/spec/unit/pops/parser/lexer2_spec.rb +14 -5
  366. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +9 -9
  367. data/spec/unit/pops/parser/parse_calls_spec.rb +1 -1
  368. data/spec/unit/pops/parser/parse_functions_spec.rb +1 -1
  369. data/spec/unit/pops/parser/parse_heredoc_spec.rb +3 -3
  370. data/spec/unit/pops/parser/parse_lambda_spec.rb +1 -1
  371. data/spec/unit/pops/parser/parse_resource_spec.rb +35 -35
  372. data/spec/unit/pops/parser/pn_parser_spec.rb +101 -0
  373. data/spec/unit/pops/pn_spec.rb +148 -0
  374. data/spec/unit/pops/types/iterable_spec.rb +1 -1
  375. data/spec/unit/pops/types/p_object_type_spec.rb +5 -5
  376. data/spec/unit/pops/types/p_timespan_type_spec.rb +11 -4
  377. data/spec/unit/pops/types/p_timestamp_type_spec.rb +9 -2
  378. data/spec/unit/pops/types/p_type_set_type_spec.rb +106 -2
  379. data/spec/unit/pops/types/ruby_generator_spec.rb +3 -8
  380. data/spec/unit/pops/types/string_converter_spec.rb +3 -3
  381. data/spec/unit/pops/types/type_calculator_spec.rb +1 -1
  382. data/spec/unit/pops/validator/validator_spec.rb +3 -1
  383. data/spec/unit/property_spec.rb +2 -2
  384. data/spec/unit/provider/aixobject_spec.rb +1 -1
  385. data/spec/unit/provider/cron/crontab_spec.rb +3 -3
  386. data/spec/unit/provider/exec/posix_spec.rb +6 -6
  387. data/spec/unit/provider/group/groupadd_spec.rb +4 -4
  388. data/spec/unit/provider/group/windows_adsi_spec.rb +79 -22
  389. data/spec/unit/provider/ldap_spec.rb +0 -1
  390. data/spec/unit/provider/nameservice_spec.rb +5 -5
  391. data/spec/unit/provider/package/rpm_spec.rb +3 -4
  392. data/spec/unit/provider/package/yum_spec.rb +6 -2
  393. data/spec/unit/provider/parsedfile_spec.rb +1 -1
  394. data/spec/unit/provider/service/base_spec.rb +2 -4
  395. data/spec/unit/provider/service/init_spec.rb +2 -2
  396. data/spec/unit/provider/service/openrc_spec.rb +2 -2
  397. data/spec/unit/provider/service/redhat_spec.rb +2 -2
  398. data/spec/unit/provider/service/smf_spec.rb +2 -0
  399. data/spec/unit/provider/service/systemd_spec.rb +3 -3
  400. data/spec/unit/provider/service/upstart_spec.rb +7 -7
  401. data/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +0 -4
  402. data/spec/unit/provider/sshkey/parsed_spec.rb +0 -2
  403. data/spec/unit/provider/user/useradd_spec.rb +15 -9
  404. data/spec/unit/provider/user/windows_adsi_spec.rb +4 -4
  405. data/spec/unit/provider/yumrepo/inifile_spec.rb +76 -0
  406. data/spec/unit/puppet_pal_2pec.rb +4 -5
  407. data/spec/unit/resource/catalog_spec.rb +8 -3
  408. data/spec/unit/resource/status_spec.rb +15 -4
  409. data/spec/unit/resource/type_spec.rb +2 -3
  410. data/spec/unit/settings_spec.rb +9 -4
  411. data/spec/unit/ssl/certificate_authority_spec.rb +1 -9
  412. data/spec/unit/ssl/certificate_request_spec.rb +1 -2
  413. data/spec/unit/transaction/report_spec.rb +41 -0
  414. data/spec/unit/transaction_spec.rb +1 -1
  415. data/spec/unit/type/exec_spec.rb +7 -9
  416. data/spec/unit/type/file/selinux_spec.rb +0 -1
  417. data/spec/unit/type/file_spec.rb +4 -3
  418. data/spec/unit/type/k5login_spec.rb +79 -10
  419. data/spec/unit/type/mount_spec.rb +1 -1
  420. data/spec/unit/type/nagios_spec.rb +6 -6
  421. data/spec/unit/type/user_spec.rb +1 -1
  422. data/spec/unit/type/yumrepo_spec.rb +18 -0
  423. data/spec/unit/type/zfs_spec.rb +1 -1
  424. data/spec/unit/type_spec.rb +14 -15
  425. data/spec/unit/util/docs_spec.rb +1 -1
  426. data/spec/unit/util/execution_spec.rb +0 -1
  427. data/spec/unit/util/inifile_spec.rb +35 -4
  428. data/spec/unit/util/log/destinations_spec.rb +2 -2
  429. data/spec/unit/util/log_spec.rb +6 -5
  430. data/spec/unit/util/network_device/cisco/device_spec.rb +2 -2
  431. data/spec/unit/util/plist_spec.rb +3 -3
  432. data/spec/unit/util/selinux_spec.rb +2 -2
  433. data/spec/unit/util/tagging_spec.rb +1 -7
  434. data/spec/unit/util/windows/adsi_spec.rb +31 -27
  435. data/spec/unit/util/windows/sid_spec.rb +86 -15
  436. data/spec/unit/util_spec.rb +2 -2
  437. data/spec/watchr.rb +0 -1
  438. data/tasks/benchmark.rake +37 -0
  439. data/tasks/manpages.rake +1 -1
  440. metadata +83 -11
  441. checksums.yaml +0 -7
@@ -40,23 +40,36 @@ describe Puppet::Type.type(:group).provider(:windows_adsi), :if => Puppet.featur
40
40
  let(:invalid_user) { SecureRandom.uuid }
41
41
 
42
42
  before :each do
43
- Puppet::Util::Windows::SID.stubs(:name_to_sid_object).with('user1').returns(user1)
44
- Puppet::Util::Windows::SID.stubs(:name_to_sid_object).with('user2').returns(user2)
45
- Puppet::Util::Windows::SID.stubs(:name_to_sid_object).with('user3').returns(user3)
46
- Puppet::Util::Windows::SID.stubs(:name_to_sid_object).with(invalid_user).returns(nil)
43
+ Puppet::Util::Windows::SID.stubs(:name_to_principal).with('user1').returns(user1)
44
+ Puppet::Util::Windows::SID.stubs(:name_to_principal).with('user2').returns(user2)
45
+ Puppet::Util::Windows::SID.stubs(:name_to_principal).with('user3').returns(user3)
46
+ Puppet::Util::Windows::SID.stubs(:name_to_principal).with(invalid_user).returns(nil)
47
47
  end
48
48
 
49
49
  describe "#members_insync?" do
50
50
  it "should return true for same lists of members" do
51
- expect(provider.members_insync?(['user1', 'user2'], ['user1', 'user2'])).to be_truthy
51
+ current = [
52
+ Puppet::Util::Windows::SID.name_to_principal('user1'),
53
+ Puppet::Util::Windows::SID.name_to_principal('user2'),
54
+ ]
55
+ expect(provider.members_insync?(current, ['user1', 'user2'])).to be_truthy
52
56
  end
53
57
 
54
58
  it "should return true for same lists of unordered members" do
55
- expect(provider.members_insync?(['user1', 'user2'], ['user2', 'user1'])).to be_truthy
59
+ current = [
60
+ Puppet::Util::Windows::SID.name_to_principal('user1'),
61
+ Puppet::Util::Windows::SID.name_to_principal('user2'),
62
+ ]
63
+ expect(provider.members_insync?(current, ['user2', 'user1'])).to be_truthy
56
64
  end
57
65
 
58
66
  it "should return true for same lists of members irrespective of duplicates" do
59
- expect(provider.members_insync?(['user1', 'user2', 'user2'], ['user2', 'user1', 'user1'])).to be_truthy
67
+ current = [
68
+ Puppet::Util::Windows::SID.name_to_principal('user1'),
69
+ Puppet::Util::Windows::SID.name_to_principal('user2'),
70
+ Puppet::Util::Windows::SID.name_to_principal('user2'),
71
+ ]
72
+ expect(provider.members_insync?(current, ['user2', 'user1', 'user1'])).to be_truthy
60
73
  end
61
74
 
62
75
  it "should return true when current and should members are empty lists" do
@@ -77,7 +90,12 @@ describe Puppet::Type.type(:group).provider(:windows_adsi), :if => Puppet.featur
77
90
  end
78
91
 
79
92
  it "should return true when current and should contain the same users in a different order" do
80
- expect(provider.members_insync?(['user1', 'user2', 'user3'], ['user3', 'user1', 'user2'])).to be_truthy
93
+ current = [
94
+ Puppet::Util::Windows::SID.name_to_principal('user1'),
95
+ Puppet::Util::Windows::SID.name_to_principal('user2'),
96
+ Puppet::Util::Windows::SID.name_to_principal('user3'),
97
+ ]
98
+ expect(provider.members_insync?(current, ['user3', 'user1', 'user2'])).to be_truthy
81
99
  end
82
100
 
83
101
  it "should return false when current is nil" do
@@ -85,15 +103,24 @@ describe Puppet::Type.type(:group).provider(:windows_adsi), :if => Puppet.featur
85
103
  end
86
104
 
87
105
  it "should return false when should is nil" do
88
- expect(provider.members_insync?(['user1'], nil)).to be_falsey
106
+ current = [
107
+ Puppet::Util::Windows::SID.name_to_principal('user1'),
108
+ ]
109
+ expect(provider.members_insync?(current, nil)).to be_falsey
89
110
  end
90
111
 
91
112
  it "should return false when current contains different users than should" do
92
- expect(provider.members_insync?(['user1'], ['user2'])).to be_falsey
113
+ current = [
114
+ Puppet::Util::Windows::SID.name_to_principal('user1'),
115
+ ]
116
+ expect(provider.members_insync?(current, ['user2'])).to be_falsey
93
117
  end
94
118
 
95
119
  it "should return false when current contains members and should is empty" do
96
- expect(provider.members_insync?(['user1'], [])).to be_falsey
120
+ current = [
121
+ Puppet::Util::Windows::SID.name_to_principal('user1'),
122
+ ]
123
+ expect(provider.members_insync?(current, [])).to be_falsey
97
124
  end
98
125
 
99
126
  it "should return false when current is empty and should contains members" do
@@ -101,11 +128,19 @@ describe Puppet::Type.type(:group).provider(:windows_adsi), :if => Puppet.featur
101
128
  end
102
129
 
103
130
  it "should return false when should user(s) are not the only items in the current" do
104
- expect(provider.members_insync?(['user1', 'user2'], ['user1'])).to be_falsey
131
+ current = [
132
+ Puppet::Util::Windows::SID.name_to_principal('user1'),
133
+ Puppet::Util::Windows::SID.name_to_principal('user2'),
134
+ ]
135
+ expect(provider.members_insync?(current, ['user1'])).to be_falsey
105
136
  end
106
137
 
107
138
  it "should return false when current user(s) is not empty and should is an empty list" do
108
- expect(provider.members_insync?(['user1','user2'], [])).to be_falsey
139
+ current = [
140
+ Puppet::Util::Windows::SID.name_to_principal('user1'),
141
+ Puppet::Util::Windows::SID.name_to_principal('user2'),
142
+ ]
143
+ expect(provider.members_insync?(current, [])).to be_falsey
109
144
  end
110
145
  end
111
146
 
@@ -120,15 +155,24 @@ describe Puppet::Type.type(:group).provider(:windows_adsi), :if => Puppet.featur
120
155
  end
121
156
 
122
157
  it "should return true when should is nil" do
123
- expect(provider.members_insync?(['user1'], nil)).to be_truthy
158
+ current = [
159
+ Puppet::Util::Windows::SID.name_to_principal('user1'),
160
+ ]
161
+ expect(provider.members_insync?(current, nil)).to be_truthy
124
162
  end
125
163
 
126
164
  it "should return false when current contains different users than should" do
127
- expect(provider.members_insync?(['user1'], ['user2'])).to be_falsey
165
+ current = [
166
+ Puppet::Util::Windows::SID.name_to_principal('user1'),
167
+ ]
168
+ expect(provider.members_insync?(current, ['user2'])).to be_falsey
128
169
  end
129
170
 
130
171
  it "should return true when current contains members and should is empty" do
131
- expect(provider.members_insync?(['user1'], [])).to be_truthy
172
+ current = [
173
+ Puppet::Util::Windows::SID.name_to_principal('user1'),
174
+ ]
175
+ expect(provider.members_insync?(current, [])).to be_truthy
132
176
  end
133
177
 
134
178
  it "should return false when current is empty and should contains members" do
@@ -136,15 +180,28 @@ describe Puppet::Type.type(:group).provider(:windows_adsi), :if => Puppet.featur
136
180
  end
137
181
 
138
182
  it "should return true when current user(s) contains at least the should list" do
139
- expect(provider.members_insync?(['user1','user2'], ['user1'])).to be_truthy
183
+ current = [
184
+ Puppet::Util::Windows::SID.name_to_principal('user1'),
185
+ Puppet::Util::Windows::SID.name_to_principal('user2'),
186
+ ]
187
+ expect(provider.members_insync?(current, ['user1'])).to be_truthy
140
188
  end
141
189
 
142
190
  it "should return true when current user(s) is not empty and should is an empty list" do
143
- expect(provider.members_insync?(['user1','user2'], [])).to be_truthy
191
+ current = [
192
+ Puppet::Util::Windows::SID.name_to_principal('user1'),
193
+ Puppet::Util::Windows::SID.name_to_principal('user2'),
194
+ ]
195
+ expect(provider.members_insync?(current, [])).to be_truthy
144
196
  end
145
197
 
146
198
  it "should return true when current user(s) contains at least the should list, even unordered" do
147
- expect(provider.members_insync?(['user3','user1','user2'], ['user2','user1'])).to be_truthy
199
+ current = [
200
+ Puppet::Util::Windows::SID.name_to_principal('user3'),
201
+ Puppet::Util::Windows::SID.name_to_principal('user1'),
202
+ Puppet::Util::Windows::SID.name_to_principal('user2'),
203
+ ]
204
+ expect(provider.members_insync?(current, ['user2','user1'])).to be_truthy
148
205
  end
149
206
  end
150
207
  end
@@ -196,8 +253,8 @@ describe Puppet::Type.type(:group).provider(:windows_adsi), :if => Puppet.featur
196
253
 
197
254
  provider.group.stubs(:member_sids).returns(member_sids[0..1])
198
255
 
199
- Puppet::Util::Windows::SID.expects(:name_to_sid_object).with('user2').returns(member_sids[1])
200
- Puppet::Util::Windows::SID.expects(:name_to_sid_object).with('user3').returns(member_sids[2])
256
+ Puppet::Util::Windows::SID.expects(:name_to_principal).with('user2').returns(member_sids[1])
257
+ Puppet::Util::Windows::SID.expects(:name_to_principal).with('user3').returns(member_sids[2])
201
258
 
202
259
  provider.group.expects(:remove_member_sids).with(member_sids[0])
203
260
  provider.group.expects(:add_member_sids).with(member_sids[2])
@@ -247,7 +304,7 @@ describe Puppet::Type.type(:group).provider(:windows_adsi), :if => Puppet.featur
247
304
  end
248
305
 
249
306
  it "should be able to test whether a group exists" do
250
- Puppet::Util::Windows::SID.stubs(:name_to_sid_object).returns(nil)
307
+ Puppet::Util::Windows::SID.stubs(:name_to_principal).returns(nil)
251
308
  Puppet::Util::Windows::ADSI.stubs(:connect).returns stub('connection', :Class => 'Group')
252
309
  expect(provider).to be_exists
253
310
 
@@ -72,7 +72,6 @@ describe Puppet::Provider::Ldap do
72
72
 
73
73
  describe "resources that do not exist" do
74
74
  it "should create a provider with :ensure => :absent" do
75
- result = mock 'result'
76
75
  @manager.expects(:find).with("one").returns nil
77
76
 
78
77
  @class.expects(:new).with(:ensure => :absent).returns "myprovider"
@@ -160,7 +160,7 @@ describe Puppet::Provider::NameService do
160
160
  it "should return a list of users if resource_type is user" do
161
161
  described_class.resource_type = Puppet::Type.type(:user)
162
162
  Puppet::Etc.expects(:setpwent)
163
- Puppet::Etc.stubs(:getpwent).returns *users
163
+ Puppet::Etc.stubs(:getpwent).returns(*users)
164
164
  Puppet::Etc.expects(:endpwent)
165
165
  expect(described_class.listbyname).to eq(%w{root foo})
166
166
  end
@@ -172,7 +172,7 @@ describe Puppet::Provider::NameService do
172
172
  # the same name on disk, but each name is stored on disk in a different
173
173
  # encoding
174
174
  it "should return names with invalid byte sequences replaced with '?'" do
175
- Etc.stubs(:getpwent).returns *utf_8_mixed_users
175
+ Etc.stubs(:getpwent).returns(*utf_8_mixed_users)
176
176
  expect(invalid_utf_8_jose).to_not be_valid_encoding
177
177
  result = PuppetSpec::CharacterEncoding.with_external_encoding(Encoding::UTF_8) do
178
178
  described_class.listbyname
@@ -181,7 +181,7 @@ describe Puppet::Provider::NameService do
181
181
  end
182
182
 
183
183
  it "should return names in their original encoding/bytes if they would not be valid UTF-8" do
184
- Etc.stubs(:getpwent).returns *latin_1_mixed_users
184
+ Etc.stubs(:getpwent).returns(*latin_1_mixed_users)
185
185
  result = PuppetSpec::CharacterEncoding.with_external_encoding(Encoding::ISO_8859_1) do
186
186
  described_class.listbyname
187
187
  end
@@ -192,7 +192,7 @@ describe Puppet::Provider::NameService do
192
192
  it "should return a list of groups if resource_type is group", :unless => Puppet.features.microsoft_windows? do
193
193
  described_class.resource_type = Puppet::Type.type(:group)
194
194
  Puppet::Etc.expects(:setgrent)
195
- Puppet::Etc.stubs(:getgrent).returns *groups
195
+ Puppet::Etc.stubs(:getgrent).returns(*groups)
196
196
  Puppet::Etc.expects(:endgrent)
197
197
  expect(described_class.listbyname).to eq(%w{root bin})
198
198
  end
@@ -201,7 +201,7 @@ describe Puppet::Provider::NameService do
201
201
  yield_results = []
202
202
  described_class.resource_type = Puppet::Type.type(:user)
203
203
  Puppet::Etc.expects(:setpwent)
204
- Puppet::Etc.stubs(:getpwent).returns *users
204
+ Puppet::Etc.stubs(:getpwent).returns(*users)
205
205
  Puppet::Etc.expects(:endpwent)
206
206
  described_class.listbyname {|x| yield_results << x }
207
207
  expect(yield_results).to eq(%w{root foo})
@@ -4,7 +4,6 @@ require 'spec_helper'
4
4
  provider_class = Puppet::Type.type(:package).provider(:rpm)
5
5
 
6
6
  describe provider_class do
7
-
8
7
  let (:packages) do
9
8
  <<-RPM_OUTPUT
10
9
  'cracklib-dicts 0 2.8.9 3.3 x86_64
@@ -58,7 +57,7 @@ describe provider_class do
58
57
  it "includes all the modern flags" do
59
58
  Puppet::Util::Execution.expects(:execpipe).with("/bin/rpm -qa --nosignature --nodigest --qf '#{nevra_format}'").yields(packages)
60
59
 
61
- installed_packages = provider_class.instances
60
+ provider_class.instances
62
61
  end
63
62
  end
64
63
 
@@ -67,7 +66,7 @@ describe provider_class do
67
66
  it "excludes the --nosignature flag" do
68
67
  Puppet::Util::Execution.expects(:execpipe).with("/bin/rpm -qa --nodigest --qf '#{nevra_format}'").yields(packages)
69
68
 
70
- installed_packages = provider_class.instances
69
+ provider_class.instances
71
70
  end
72
71
  end
73
72
 
@@ -76,7 +75,7 @@ describe provider_class do
76
75
  it "excludes the --nodigest flag" do
77
76
  Puppet::Util::Execution.expects(:execpipe).with("/bin/rpm -qa --qf '#{nevra_format}'").yields(packages)
78
77
 
79
- installed_packages = provider_class.instances
78
+ provider_class.instances
80
79
  end
81
80
  end
82
81
 
@@ -29,7 +29,9 @@ describe provider_class do
29
29
  it "should use the supplied source as the explicit path to a package to install" do
30
30
  resource[:ensure] = :present
31
31
  resource[:source] = "/foo/bar/baz-1.1.0.rpm"
32
- provider.expects(:execute).with(["/usr/bin/yum", "-d", "0", "-e", "0", "-y", :install, "/foo/bar/baz-1.1.0.rpm"])
32
+ provider.expects(:execute).with do |arr|
33
+ expect(arr[-2..-1]).to eq([:install, "/foo/bar/baz-1.1.0.rpm"])
34
+ end
33
35
  provider.install
34
36
  end
35
37
  end
@@ -41,7 +43,9 @@ describe provider_class do
41
43
  provider.expects(:query).twice.returns({:ensure => "1.1.0"}, {:ensure => "1.2.0"})
42
44
  resource[:ensure] = "1.2.0"
43
45
  resource[:source] = "http://foo.repo.com/baz-1.2.0.rpm"
44
- provider.expects(:execute).with(["/usr/bin/yum", "-d", "0", "-e", "0", "-y", 'update', "http://foo.repo.com/baz-1.2.0.rpm"])
46
+ provider.expects(:execute).with do |arr|
47
+ expect(arr[-2..-1]).to eq(['update', "http://foo.repo.com/baz-1.2.0.rpm"])
48
+ end
45
49
  provider.install
46
50
  end
47
51
  end
@@ -212,7 +212,7 @@ describe "A very basic provider based on ParsedFile" do
212
212
  end
213
213
 
214
214
  it "should move the native header to the top" do
215
- expect(provider.to_file(input_records)).not_to match /\A#{provider.header}/
215
+ expect(provider.to_file(input_records)).not_to match(/\A#{provider.header}/)
216
216
  end
217
217
 
218
218
  context "and dropping native headers found in input" do
@@ -3,8 +3,6 @@ require 'spec_helper'
3
3
  require 'rbconfig'
4
4
  require 'fileutils'
5
5
 
6
- provider_class = Puppet::Type.type(:service).provider(:init)
7
-
8
6
  describe "base service provider" do
9
7
  include PuppetSpec::Files
10
8
 
@@ -19,8 +17,8 @@ describe "base service provider" do
19
17
 
20
18
  if Puppet.features.microsoft_windows?
21
19
  # Get a pid for $CHILD_STATUS to latch on to
22
- command = "cmd.exe /c \"exit 0\""
23
- Puppet::Util::Execution.execute(command, {:failonfail => false})
20
+ cmd = "cmd.exe /c \"exit 0\""
21
+ Puppet::Util::Execution.execute(cmd, {:failonfail => false})
24
22
  end
25
23
 
26
24
  context "basic operations" do
@@ -9,8 +9,8 @@ describe Puppet::Type.type(:service).provider(:init) do
9
9
 
10
10
  if Puppet.features.microsoft_windows?
11
11
  # Get a pid for $CHILD_STATUS to latch on to
12
- command = "cmd.exe /c \"exit 0\""
13
- Puppet::Util::Execution.execute(command, {:failonfail => false})
12
+ cmd = "cmd.exe /c \"exit 0\""
13
+ Puppet::Util::Execution.execute(cmd, {:failonfail => false})
14
14
  end
15
15
 
16
16
  before do
@@ -6,8 +6,8 @@ describe Puppet::Type.type(:service).provider(:openrc) do
6
6
 
7
7
  if Puppet.features.microsoft_windows?
8
8
  # Get a pid for $CHILD_STATUS to latch on to
9
- command = "cmd.exe /c \"exit 0\""
10
- Puppet::Util::Execution.execute(command, {:failonfail => false})
9
+ cmd = "cmd.exe /c \"exit 0\""
10
+ Puppet::Util::Execution.execute(cmd, {:failonfail => false})
11
11
  end
12
12
 
13
13
  before :each do
@@ -23,9 +23,9 @@ describe provider_class, :if => Puppet.features.posix? do
23
23
  Facter.stubs(:value).with(:osfamily).returns 'RedHat'
24
24
  end
25
25
 
26
- osfamily = [ 'RedHat' ]
26
+ osfamilies = [ 'RedHat' ]
27
27
 
28
- osfamily.each do |osfamily|
28
+ osfamilies.each do |osfamily|
29
29
  it "should be the default provider on #{osfamily}" do
30
30
  Facter.expects(:value).with(:osfamily).returns(osfamily)
31
31
  expect(provider_class.default?).to be_truthy
@@ -151,6 +151,7 @@ describe provider_class, :if => Puppet.features.posix? do
151
151
  end
152
152
 
153
153
  it "should import the manifest if service is missing" do
154
+ @provider.expects(:svcs).with('-l', '/system/myservice').raises(Puppet::ExecutionFailure, "Exited 1")
154
155
  @provider.expects(:svccfg).with(:import, "/tmp/myservice.xml")
155
156
  @provider.expects(:texecute).with(:start, ["/usr/sbin/svcadm", :enable, '-rs', "/system/myservice"], true)
156
157
  @provider.expects(:wait).with('online')
@@ -159,6 +160,7 @@ describe provider_class, :if => Puppet.features.posix? do
159
160
  end
160
161
 
161
162
  it "should handle failures if importing a manifest" do
163
+ @provider.expects(:svcs).with('-l', '/system/myservice').raises(Puppet::ExecutionFailure, "Exited 1")
162
164
  @provider.expects(:svccfg).raises(Puppet::ExecutionFailure.new("can't svccfg import"))
163
165
  expect { @provider.start }.to raise_error(Puppet::Error, "Cannot config /system/myservice to enable it: can't svccfg import")
164
166
  end
@@ -21,9 +21,9 @@ describe Puppet::Type.type(:service).provider(:systemd) do
21
21
  described_class.new(:name => 'sshd.service')
22
22
  end
23
23
 
24
- osfamily = [ 'archlinux', 'coreos' ]
24
+ osfamilies = [ 'archlinux', 'coreos' ]
25
25
 
26
- osfamily.each do |osfamily|
26
+ osfamilies.each do |osfamily|
27
27
  it "should be the default provider on #{osfamily}" do
28
28
  Facter.stubs(:value).with(:osfamily).returns(osfamily)
29
29
  expect(described_class).to be_default
@@ -126,7 +126,7 @@ describe Puppet::Type.type(:service).provider(:systemd) do
126
126
  expect(described_class).not_to be_default
127
127
  end
128
128
 
129
- [ '15.04', '15.10', '16.04', '16.10' ].each do |ver|
129
+ [ '15.04', '15.10', '16.04', '16.10', '17.04', '17.10' ].each do |ver|
130
130
  it "should be the default provider on ubuntu#{ver}" do
131
131
  Facter.stubs(:value).with(:osfamily).returns(:debian)
132
132
  Facter.stubs(:value).with(:operatingsystem).returns(:ubuntu)
@@ -14,8 +14,8 @@ describe Puppet::Type.type(:service).provider(:upstart) do
14
14
  end
15
15
 
16
16
  def given_contents_of(file, content)
17
- File.open(file, 'w') do |file|
18
- file.write(content)
17
+ File.open(file, 'w') do |f|
18
+ f.write(content)
19
19
  end
20
20
  end
21
21
 
@@ -234,20 +234,20 @@ describe Puppet::Type.type(:service).provider(:upstart) do
234
234
 
235
235
  describe "inheritance" do
236
236
  let :resource do
237
- resource = Puppet::Type.type(:service).new(:name => "foo", :provider => :upstart)
237
+ Puppet::Type.type(:service).new(:name => "foo", :provider => :upstart)
238
238
  end
239
239
 
240
240
  let :provider do
241
- provider = provider_class.new(resource)
241
+ provider_class.new(resource)
242
242
  end
243
243
 
244
244
  describe "when upstart job" do
245
245
  before(:each) do
246
246
  provider.stubs(:is_upstart?).returns(true)
247
247
  end
248
- ["start", "stop"].each do |command|
249
- it "should return the #{command}cmd of its parent provider" do
250
- expect(provider.send("#{command}cmd".to_sym)).to eq([provider.command(command.to_sym), resource.name])
248
+ ["start", "stop"].each do |action|
249
+ it "should return the #{action}cmd of its parent provider" do
250
+ expect(provider.send("#{action}cmd".to_sym)).to eq([provider.command(action.to_sym), resource.name])
251
251
  end
252
252
  end
253
253
  it "should return nil for the statuscmd" do
@@ -188,13 +188,11 @@ describe provider_class, :unless => Puppet.features.microsoft_windows? do
188
188
  end
189
189
 
190
190
  it "should absolutely not chown the directory to the user" do
191
- uid = Puppet::Util.uid("random_bob")
192
191
  File.expects(:chown).never
193
192
  @provider.flush
194
193
  end
195
194
 
196
195
  it "should absolutely not chown the key file to the user" do
197
- uid = Puppet::Util.uid("random_bob")
198
196
  File.expects(:chown).never
199
197
  @provider.flush
200
198
  end
@@ -233,7 +231,6 @@ describe provider_class, :unless => Puppet.features.microsoft_windows? do
233
231
  it "should absolutely not chown the directory to the user if it creates it" do
234
232
  Puppet::FileSystem.stubs(:exist?).with(@dir).returns false
235
233
  Dir.stubs(:mkdir).with(@dir,0700)
236
- uid = Puppet::Util.uid("nobody")
237
234
  File.expects(:chown).never
238
235
  @provider.flush
239
236
  end
@@ -246,7 +243,6 @@ describe provider_class, :unless => Puppet.features.microsoft_windows? do
246
243
  end
247
244
 
248
245
  it "should absolutely not chown the key file to the user" do
249
- uid = Puppet::Util.uid("nobody")
250
246
  File.expects(:chown).never
251
247
  @provider.flush
252
248
  end