puppet 8.3.1-universal-darwin → 8.5.0-universal-darwin

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2270) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +4 -1
  3. data/Gemfile.lock +89 -64
  4. data/README.md +4 -4
  5. data/Rakefile +0 -27
  6. data/examples/enc/regexp_nodes/regexp_nodes.rb +1 -1
  7. data/ext/project_data.yaml +4 -4
  8. data/ext/windows/service/daemon.rb +12 -13
  9. data/lib/hiera/puppet_function.rb +7 -6
  10. data/lib/hiera/scope.rb +6 -5
  11. data/lib/hiera_puppet.rb +1 -4
  12. data/lib/puppet/agent/disabler.rb +4 -3
  13. data/lib/puppet/agent/locker.rb +1 -2
  14. data/lib/puppet/agent.rb +5 -4
  15. data/lib/puppet/application/agent.rb +301 -298
  16. data/lib/puppet/application/apply.rb +118 -114
  17. data/lib/puppet/application/catalog.rb +1 -0
  18. data/lib/puppet/application/config.rb +1 -0
  19. data/lib/puppet/application/describe.rb +40 -42
  20. data/lib/puppet/application/device.rb +122 -122
  21. data/lib/puppet/application/doc.rb +51 -50
  22. data/lib/puppet/application/epp.rb +1 -0
  23. data/lib/puppet/application/face_base.rb +10 -10
  24. data/lib/puppet/application/facts.rb +1 -0
  25. data/lib/puppet/application/filebucket.rb +168 -166
  26. data/lib/puppet/application/generate.rb +2 -1
  27. data/lib/puppet/application/help.rb +1 -0
  28. data/lib/puppet/application/indirection_base.rb +1 -0
  29. data/lib/puppet/application/lookup.rb +171 -174
  30. data/lib/puppet/application/module.rb +1 -0
  31. data/lib/puppet/application/node.rb +1 -0
  32. data/lib/puppet/application/parser.rb +1 -0
  33. data/lib/puppet/application/plugin.rb +1 -0
  34. data/lib/puppet/application/report.rb +1 -0
  35. data/lib/puppet/application/resource.rb +95 -92
  36. data/lib/puppet/application/script.rb +73 -74
  37. data/lib/puppet/application/ssl.rb +89 -88
  38. data/lib/puppet/application.rb +16 -15
  39. data/lib/puppet/application_support.rb +2 -2
  40. data/lib/puppet/coercion.rb +3 -2
  41. data/lib/puppet/compilable_resource_type.rb +3 -2
  42. data/lib/puppet/concurrent/lock.rb +1 -3
  43. data/lib/puppet/concurrent/synchronized.rb +1 -2
  44. data/lib/puppet/concurrent/thread_local_singleton.rb +1 -0
  45. data/lib/puppet/concurrent.rb +1 -0
  46. data/lib/puppet/configurer/downloader.rb +1 -1
  47. data/lib/puppet/configurer/fact_handler.rb +5 -4
  48. data/lib/puppet/configurer/plugin_handler.rb +1 -0
  49. data/lib/puppet/configurer.rb +24 -19
  50. data/lib/puppet/confine/any.rb +2 -1
  51. data/lib/puppet/confine/boolean.rb +2 -1
  52. data/lib/puppet/confine/exists.rb +2 -1
  53. data/lib/puppet/confine/false.rb +2 -1
  54. data/lib/puppet/confine/feature.rb +2 -2
  55. data/lib/puppet/confine/true.rb +2 -1
  56. data/lib/puppet/confine/variable.rb +2 -1
  57. data/lib/puppet/confine.rb +2 -0
  58. data/lib/puppet/confine_collection.rb +4 -2
  59. data/lib/puppet/confiner.rb +1 -0
  60. data/lib/puppet/context/trusted_information.rb +5 -4
  61. data/lib/puppet/context.rb +1 -0
  62. data/lib/puppet/daemon.rb +10 -7
  63. data/lib/puppet/data_binding.rb +2 -1
  64. data/lib/puppet/datatypes/error.rb +2 -1
  65. data/lib/puppet/datatypes/impl/error.rb +1 -0
  66. data/lib/puppet/datatypes.rb +8 -3
  67. data/lib/puppet/defaults.rb +31 -30
  68. data/lib/puppet/environments.rb +10 -9
  69. data/lib/puppet/error.rb +15 -12
  70. data/lib/puppet/etc.rb +9 -5
  71. data/lib/puppet/external/dot.rb +28 -47
  72. data/lib/puppet/face/catalog/select.rb +3 -2
  73. data/lib/puppet/face/catalog.rb +3 -2
  74. data/lib/puppet/face/config.rb +19 -21
  75. data/lib/puppet/face/epp.rb +14 -14
  76. data/lib/puppet/face/facts.rb +5 -4
  77. data/lib/puppet/face/generate.rb +3 -1
  78. data/lib/puppet/face/help.rb +24 -27
  79. data/lib/puppet/face/module/changes.rb +2 -0
  80. data/lib/puppet/face/module/install.rb +6 -4
  81. data/lib/puppet/face/module/list.rb +14 -16
  82. data/lib/puppet/face/module/uninstall.rb +1 -0
  83. data/lib/puppet/face/module/upgrade.rb +4 -3
  84. data/lib/puppet/face/module.rb +1 -0
  85. data/lib/puppet/face/node/clean.rb +2 -1
  86. data/lib/puppet/face/node.rb +2 -1
  87. data/lib/puppet/face/parser.rb +8 -8
  88. data/lib/puppet/face/plugin.rb +2 -1
  89. data/lib/puppet/face/report.rb +2 -1
  90. data/lib/puppet/face/resource.rb +1 -0
  91. data/lib/puppet/face.rb +1 -0
  92. data/lib/puppet/feature/base.rb +4 -3
  93. data/lib/puppet/feature/bolt.rb +1 -0
  94. data/lib/puppet/feature/cfpropertylist.rb +1 -0
  95. data/lib/puppet/feature/eventlog.rb +1 -0
  96. data/lib/puppet/feature/hiera_eyaml.rb +1 -0
  97. data/lib/puppet/feature/hocon.rb +1 -0
  98. data/lib/puppet/feature/libuser.rb +4 -3
  99. data/lib/puppet/feature/msgpack.rb +1 -0
  100. data/lib/puppet/feature/pe_license.rb +2 -1
  101. data/lib/puppet/feature/pson.rb +1 -0
  102. data/lib/puppet/feature/selinux.rb +1 -0
  103. data/lib/puppet/feature/ssh.rb +1 -0
  104. data/lib/puppet/feature/telnet.rb +1 -0
  105. data/lib/puppet/feature/zlib.rb +1 -0
  106. data/lib/puppet/ffi/posix/constants.rb +2 -1
  107. data/lib/puppet/ffi/posix/functions.rb +1 -1
  108. data/lib/puppet/ffi/posix.rb +1 -0
  109. data/lib/puppet/ffi/windows/api_types.rb +1 -0
  110. data/lib/puppet/ffi/windows/constants.rb +78 -77
  111. data/lib/puppet/ffi/windows/functions.rb +73 -73
  112. data/lib/puppet/ffi/windows/structs.rb +3 -3
  113. data/lib/puppet/ffi/windows.rb +1 -0
  114. data/lib/puppet/file_bucket/dipper.rb +15 -7
  115. data/lib/puppet/file_bucket/file.rb +3 -2
  116. data/lib/puppet/file_bucket.rb +1 -0
  117. data/lib/puppet/file_serving/base.rb +13 -6
  118. data/lib/puppet/file_serving/configuration/parser.rb +3 -1
  119. data/lib/puppet/file_serving/configuration.rb +6 -4
  120. data/lib/puppet/file_serving/content.rb +1 -0
  121. data/lib/puppet/file_serving/fileset.rb +9 -6
  122. data/lib/puppet/file_serving/http_metadata.rb +2 -4
  123. data/lib/puppet/file_serving/metadata.rb +13 -15
  124. data/lib/puppet/file_serving/mount/file.rb +6 -3
  125. data/lib/puppet/file_serving/mount/locales.rb +2 -1
  126. data/lib/puppet/file_serving/mount/modules.rb +2 -0
  127. data/lib/puppet/file_serving/mount/pluginfacts.rb +2 -1
  128. data/lib/puppet/file_serving/mount/plugins.rb +2 -1
  129. data/lib/puppet/file_serving/mount/scripts.rb +2 -0
  130. data/lib/puppet/file_serving/mount/tasks.rb +2 -0
  131. data/lib/puppet/file_serving/mount.rb +2 -0
  132. data/lib/puppet/file_serving/terminus_helper.rb +1 -0
  133. data/lib/puppet/file_serving/terminus_selector.rb +2 -1
  134. data/lib/puppet/file_serving.rb +1 -0
  135. data/lib/puppet/file_system/file_impl.rb +6 -6
  136. data/lib/puppet/file_system/jruby.rb +1 -0
  137. data/lib/puppet/file_system/memory_file.rb +2 -0
  138. data/lib/puppet/file_system/memory_impl.rb +3 -0
  139. data/lib/puppet/file_system/path_pattern.rb +1 -0
  140. data/lib/puppet/file_system/posix.rb +5 -1
  141. data/lib/puppet/file_system/uniquefile.rb +15 -15
  142. data/lib/puppet/file_system/windows.rb +11 -9
  143. data/lib/puppet/file_system.rb +4 -3
  144. data/lib/puppet/forge/cache.rb +2 -2
  145. data/lib/puppet/forge/errors.rb +1 -3
  146. data/lib/puppet/forge/repository.rb +3 -1
  147. data/lib/puppet/forge.rb +6 -3
  148. data/lib/puppet/functions/abs.rb +6 -4
  149. data/lib/puppet/functions/alert.rb +1 -0
  150. data/lib/puppet/functions/all.rb +2 -1
  151. data/lib/puppet/functions/annotate.rb +1 -0
  152. data/lib/puppet/functions/any.rb +2 -1
  153. data/lib/puppet/functions/assert_type.rb +4 -2
  154. data/lib/puppet/functions/binary_file.rb +3 -1
  155. data/lib/puppet/functions/break.rb +3 -2
  156. data/lib/puppet/functions/call.rb +1 -1
  157. data/lib/puppet/functions/camelcase.rb +3 -3
  158. data/lib/puppet/functions/capitalize.rb +3 -3
  159. data/lib/puppet/functions/ceiling.rb +2 -2
  160. data/lib/puppet/functions/chomp.rb +2 -2
  161. data/lib/puppet/functions/chop.rb +2 -2
  162. data/lib/puppet/functions/compare.rb +2 -1
  163. data/lib/puppet/functions/contain.rb +6 -4
  164. data/lib/puppet/functions/convert_to.rb +1 -0
  165. data/lib/puppet/functions/crit.rb +1 -0
  166. data/lib/puppet/functions/debug.rb +1 -0
  167. data/lib/puppet/functions/defined.rb +7 -4
  168. data/lib/puppet/functions/dig.rb +11 -9
  169. data/lib/puppet/functions/downcase.rb +3 -2
  170. data/lib/puppet/functions/each.rb +1 -0
  171. data/lib/puppet/functions/emerg.rb +1 -0
  172. data/lib/puppet/functions/empty.rb +1 -0
  173. data/lib/puppet/functions/epp.rb +1 -1
  174. data/lib/puppet/functions/err.rb +1 -0
  175. data/lib/puppet/functions/eyaml_lookup_key.rb +5 -3
  176. data/lib/puppet/functions/filter.rb +7 -7
  177. data/lib/puppet/functions/find_file.rb +1 -0
  178. data/lib/puppet/functions/find_template.rb +1 -0
  179. data/lib/puppet/functions/flatten.rb +1 -0
  180. data/lib/puppet/functions/floor.rb +2 -2
  181. data/lib/puppet/functions/get.rb +2 -1
  182. data/lib/puppet/functions/getvar.rb +6 -5
  183. data/lib/puppet/functions/group_by.rb +2 -2
  184. data/lib/puppet/functions/hiera.rb +1 -0
  185. data/lib/puppet/functions/hiera_array.rb +1 -0
  186. data/lib/puppet/functions/hiera_hash.rb +1 -0
  187. data/lib/puppet/functions/hiera_include.rb +2 -0
  188. data/lib/puppet/functions/hocon_data.rb +1 -0
  189. data/lib/puppet/functions/import.rb +1 -0
  190. data/lib/puppet/functions/include.rb +4 -2
  191. data/lib/puppet/functions/index.rb +3 -3
  192. data/lib/puppet/functions/info.rb +1 -0
  193. data/lib/puppet/functions/inline_epp.rb +1 -1
  194. data/lib/puppet/functions/join.rb +3 -2
  195. data/lib/puppet/functions/json_data.rb +1 -0
  196. data/lib/puppet/functions/keys.rb +1 -0
  197. data/lib/puppet/functions/length.rb +1 -1
  198. data/lib/puppet/functions/lest.rb +1 -0
  199. data/lib/puppet/functions/lookup.rb +10 -11
  200. data/lib/puppet/functions/lstrip.rb +2 -2
  201. data/lib/puppet/functions/map.rb +3 -2
  202. data/lib/puppet/functions/match.rb +7 -5
  203. data/lib/puppet/functions/max.rb +6 -6
  204. data/lib/puppet/functions/min.rb +6 -6
  205. data/lib/puppet/functions/module_directory.rb +1 -0
  206. data/lib/puppet/functions/new.rb +2 -1
  207. data/lib/puppet/functions/next.rb +2 -1
  208. data/lib/puppet/functions/notice.rb +1 -0
  209. data/lib/puppet/functions/reduce.rb +1 -1
  210. data/lib/puppet/functions/regsubst.rb +1 -0
  211. data/lib/puppet/functions/require.rb +5 -2
  212. data/lib/puppet/functions/return.rb +1 -0
  213. data/lib/puppet/functions/reverse_each.rb +1 -0
  214. data/lib/puppet/functions/round.rb +1 -0
  215. data/lib/puppet/functions/rstrip.rb +2 -2
  216. data/lib/puppet/functions/scanf.rb +1 -0
  217. data/lib/puppet/functions/size.rb +1 -2
  218. data/lib/puppet/functions/slice.rb +3 -1
  219. data/lib/puppet/functions/sort.rb +1 -0
  220. data/lib/puppet/functions/split.rb +1 -0
  221. data/lib/puppet/functions/step.rb +1 -0
  222. data/lib/puppet/functions/strftime.rb +4 -3
  223. data/lib/puppet/functions/strip.rb +2 -2
  224. data/lib/puppet/functions/then.rb +2 -0
  225. data/lib/puppet/functions/tree_each.rb +3 -3
  226. data/lib/puppet/functions/type.rb +1 -0
  227. data/lib/puppet/functions/unique.rb +9 -8
  228. data/lib/puppet/functions/unwrap.rb +1 -0
  229. data/lib/puppet/functions/upcase.rb +3 -2
  230. data/lib/puppet/functions/values.rb +1 -0
  231. data/lib/puppet/functions/versioncmp.rb +2 -2
  232. data/lib/puppet/functions/warning.rb +1 -0
  233. data/lib/puppet/functions/with.rb +1 -0
  234. data/lib/puppet/functions/yaml_data.rb +1 -0
  235. data/lib/puppet/functions.rb +26 -26
  236. data/lib/puppet/generate/models/type/property.rb +3 -1
  237. data/lib/puppet/generate/models/type/type.rb +4 -2
  238. data/lib/puppet/generate/type.rb +9 -4
  239. data/lib/puppet/gettext/config.rb +6 -0
  240. data/lib/puppet/gettext/module_translations.rb +1 -1
  241. data/lib/puppet/gettext/stubs.rb +1 -0
  242. data/lib/puppet/graph/key.rb +1 -0
  243. data/lib/puppet/graph/prioritizer.rb +1 -0
  244. data/lib/puppet/graph/rb_tree_map.rb +17 -7
  245. data/lib/puppet/graph/relationship_graph.rb +18 -17
  246. data/lib/puppet/graph/sequential_prioritizer.rb +1 -0
  247. data/lib/puppet/graph/simple_graph.rb +56 -49
  248. data/lib/puppet/graph.rb +1 -0
  249. data/lib/puppet/http/client.rb +8 -5
  250. data/lib/puppet/http/dns.rb +7 -8
  251. data/lib/puppet/http/errors.rb +3 -2
  252. data/lib/puppet/http/external_client.rb +2 -2
  253. data/lib/puppet/http/factory.rb +2 -1
  254. data/lib/puppet/http/pool.rb +2 -1
  255. data/lib/puppet/http/pool_entry.rb +1 -0
  256. data/lib/puppet/http/proxy.rb +5 -4
  257. data/lib/puppet/http/redirector.rb +2 -1
  258. data/lib/puppet/http/resolver/server_list.rb +4 -4
  259. data/lib/puppet/http/resolver/settings.rb +1 -1
  260. data/lib/puppet/http/resolver/srv.rb +1 -1
  261. data/lib/puppet/http/resolver.rb +1 -0
  262. data/lib/puppet/http/response.rb +1 -0
  263. data/lib/puppet/http/response_converter.rb +3 -3
  264. data/lib/puppet/http/response_net_http.rb +1 -1
  265. data/lib/puppet/http/retry_after_handler.rb +1 -1
  266. data/lib/puppet/http/service/ca.rb +4 -3
  267. data/lib/puppet/http/service/compiler.rb +11 -5
  268. data/lib/puppet/http/service/file_server.rb +2 -1
  269. data/lib/puppet/http/service/puppetserver.rb +2 -2
  270. data/lib/puppet/http/service/report.rb +1 -1
  271. data/lib/puppet/http/service.rb +7 -9
  272. data/lib/puppet/http/session.rb +2 -1
  273. data/lib/puppet/http/site.rb +1 -0
  274. data/lib/puppet/http.rb +1 -0
  275. data/lib/puppet/indirector/catalog/compiler.rb +62 -54
  276. data/lib/puppet/indirector/catalog/json.rb +1 -0
  277. data/lib/puppet/indirector/catalog/msgpack.rb +1 -0
  278. data/lib/puppet/indirector/catalog/rest.rb +9 -0
  279. data/lib/puppet/indirector/catalog/store_configs.rb +1 -2
  280. data/lib/puppet/indirector/catalog/yaml.rb +1 -0
  281. data/lib/puppet/indirector/code.rb +1 -0
  282. data/lib/puppet/indirector/data_binding/hiera.rb +1 -1
  283. data/lib/puppet/indirector/data_binding/none.rb +1 -0
  284. data/lib/puppet/indirector/direct_file_server.rb +3 -1
  285. data/lib/puppet/indirector/envelope.rb +1 -0
  286. data/lib/puppet/indirector/errors.rb +1 -0
  287. data/lib/puppet/indirector/exec.rb +2 -1
  288. data/lib/puppet/indirector/face.rb +7 -6
  289. data/lib/puppet/indirector/fact_search.rb +2 -1
  290. data/lib/puppet/indirector/facts/facter.rb +2 -0
  291. data/lib/puppet/indirector/facts/json.rb +2 -1
  292. data/lib/puppet/indirector/facts/memory.rb +1 -0
  293. data/lib/puppet/indirector/facts/network_device.rb +1 -0
  294. data/lib/puppet/indirector/facts/rest.rb +1 -0
  295. data/lib/puppet/indirector/facts/store_configs.rb +1 -1
  296. data/lib/puppet/indirector/facts/yaml.rb +1 -0
  297. data/lib/puppet/indirector/file_bucket_file/file.rb +15 -10
  298. data/lib/puppet/indirector/file_bucket_file/rest.rb +2 -0
  299. data/lib/puppet/indirector/file_bucket_file/selector.rb +1 -1
  300. data/lib/puppet/indirector/file_content/file.rb +1 -0
  301. data/lib/puppet/indirector/file_content/file_server.rb +1 -0
  302. data/lib/puppet/indirector/file_content/rest.rb +1 -0
  303. data/lib/puppet/indirector/file_content/selector.rb +1 -0
  304. data/lib/puppet/indirector/file_content.rb +1 -0
  305. data/lib/puppet/indirector/file_metadata/file.rb +1 -0
  306. data/lib/puppet/indirector/file_metadata/file_server.rb +1 -0
  307. data/lib/puppet/indirector/file_metadata/http.rb +3 -2
  308. data/lib/puppet/indirector/file_metadata/rest.rb +1 -0
  309. data/lib/puppet/indirector/file_metadata/selector.rb +1 -0
  310. data/lib/puppet/indirector/file_metadata.rb +1 -0
  311. data/lib/puppet/indirector/file_server.rb +2 -0
  312. data/lib/puppet/indirector/generic_http.rb +1 -0
  313. data/lib/puppet/indirector/hiera.rb +7 -7
  314. data/lib/puppet/indirector/indirection.rb +23 -13
  315. data/lib/puppet/indirector/json.rb +5 -3
  316. data/lib/puppet/indirector/memory.rb +2 -0
  317. data/lib/puppet/indirector/msgpack.rb +7 -4
  318. data/lib/puppet/indirector/node/exec.rb +5 -6
  319. data/lib/puppet/indirector/node/json.rb +1 -1
  320. data/lib/puppet/indirector/node/memory.rb +1 -0
  321. data/lib/puppet/indirector/node/msgpack.rb +1 -0
  322. data/lib/puppet/indirector/node/plain.rb +1 -0
  323. data/lib/puppet/indirector/node/rest.rb +1 -0
  324. data/lib/puppet/indirector/node/store_configs.rb +1 -2
  325. data/lib/puppet/indirector/node/yaml.rb +1 -0
  326. data/lib/puppet/indirector/none.rb +1 -1
  327. data/lib/puppet/indirector/plain.rb +1 -0
  328. data/lib/puppet/indirector/report/json.rb +2 -1
  329. data/lib/puppet/indirector/report/msgpack.rb +2 -1
  330. data/lib/puppet/indirector/report/processor.rb +2 -0
  331. data/lib/puppet/indirector/report/rest.rb +1 -0
  332. data/lib/puppet/indirector/report/yaml.rb +2 -1
  333. data/lib/puppet/indirector/request.rb +10 -8
  334. data/lib/puppet/indirector/resource/ral.rb +7 -6
  335. data/lib/puppet/indirector/resource/store_configs.rb +1 -0
  336. data/lib/puppet/indirector/resource/validator.rb +1 -0
  337. data/lib/puppet/indirector/rest.rb +2 -1
  338. data/lib/puppet/indirector/store_configs.rb +1 -0
  339. data/lib/puppet/indirector/terminus.rb +4 -1
  340. data/lib/puppet/indirector/yaml.rb +3 -2
  341. data/lib/puppet/indirector.rb +2 -0
  342. data/lib/puppet/info_service/class_information_service.rb +12 -12
  343. data/lib/puppet/info_service/plan_information_service.rb +4 -3
  344. data/lib/puppet/info_service/task_information_service.rb +4 -3
  345. data/lib/puppet/interface/action.rb +45 -40
  346. data/lib/puppet/interface/action_builder.rb +15 -15
  347. data/lib/puppet/interface/action_manager.rb +4 -2
  348. data/lib/puppet/interface/documentation.rb +35 -29
  349. data/lib/puppet/interface/face_collection.rb +10 -7
  350. data/lib/puppet/interface/option.rb +21 -10
  351. data/lib/puppet/interface/option_builder.rb +13 -9
  352. data/lib/puppet/interface/option_manager.rb +5 -4
  353. data/lib/puppet/interface.rb +4 -4
  354. data/lib/puppet/loaders.rb +1 -1
  355. data/lib/puppet/metatype/manager.rb +13 -13
  356. data/lib/puppet/module/plan.rb +13 -7
  357. data/lib/puppet/module/task.rb +24 -18
  358. data/lib/puppet/module.rb +19 -8
  359. data/lib/puppet/module_tool/applications/application.rb +6 -4
  360. data/lib/puppet/module_tool/applications/checksummer.rb +2 -3
  361. data/lib/puppet/module_tool/applications/installer.rb +35 -48
  362. data/lib/puppet/module_tool/applications/uninstaller.rb +23 -22
  363. data/lib/puppet/module_tool/applications/unpacker.rb +4 -1
  364. data/lib/puppet/module_tool/applications/upgrader.rb +32 -30
  365. data/lib/puppet/module_tool/applications.rb +1 -0
  366. data/lib/puppet/module_tool/checksums.rb +1 -1
  367. data/lib/puppet/module_tool/contents_description.rb +4 -5
  368. data/lib/puppet/module_tool/dependency.rb +3 -3
  369. data/lib/puppet/module_tool/errors/base.rb +1 -0
  370. data/lib/puppet/module_tool/errors/installer.rb +5 -5
  371. data/lib/puppet/module_tool/errors/shared.rb +15 -15
  372. data/lib/puppet/module_tool/errors/uninstaller.rb +2 -2
  373. data/lib/puppet/module_tool/errors/upgrader.rb +3 -3
  374. data/lib/puppet/module_tool/errors.rb +1 -0
  375. data/lib/puppet/module_tool/install_directory.rb +6 -4
  376. data/lib/puppet/module_tool/installed_modules.rb +4 -2
  377. data/lib/puppet/module_tool/local_tarball.rb +6 -3
  378. data/lib/puppet/module_tool/metadata.rb +23 -22
  379. data/lib/puppet/module_tool/shared_behaviors.rb +34 -32
  380. data/lib/puppet/module_tool/tar/gnu.rb +1 -0
  381. data/lib/puppet/module_tool/tar/mini.rb +2 -1
  382. data/lib/puppet/module_tool/tar.rb +3 -2
  383. data/lib/puppet/module_tool.rb +5 -5
  384. data/lib/puppet/network/authconfig.rb +1 -0
  385. data/lib/puppet/network/authorization.rb +1 -0
  386. data/lib/puppet/network/client_request.rb +1 -1
  387. data/lib/puppet/network/format.rb +6 -1
  388. data/lib/puppet/network/format_handler.rb +7 -6
  389. data/lib/puppet/network/format_support.rb +6 -6
  390. data/lib/puppet/network/formats.rb +27 -21
  391. data/lib/puppet/network/http/api/indirected_routes.rb +34 -22
  392. data/lib/puppet/network/http/api/indirection_type.rb +1 -1
  393. data/lib/puppet/network/http/api/master/v3/environments.rb +1 -1
  394. data/lib/puppet/network/http/api/master/v3.rb +1 -1
  395. data/lib/puppet/network/http/api/master.rb +1 -0
  396. data/lib/puppet/network/http/api/server/v3/environments.rb +20 -15
  397. data/lib/puppet/network/http/api/server/v3.rb +13 -13
  398. data/lib/puppet/network/http/api/server.rb +1 -0
  399. data/lib/puppet/network/http/api.rb +19 -18
  400. data/lib/puppet/network/http/connection.rb +4 -3
  401. data/lib/puppet/network/http/error.rb +4 -3
  402. data/lib/puppet/network/http/handler.rb +7 -6
  403. data/lib/puppet/network/http/issues.rb +1 -0
  404. data/lib/puppet/network/http/memory_response.rb +1 -0
  405. data/lib/puppet/network/http/request.rb +20 -9
  406. data/lib/puppet/network/http/response.rb +1 -0
  407. data/lib/puppet/network/http/route.rb +4 -2
  408. data/lib/puppet/network/http.rb +1 -0
  409. data/lib/puppet/network/http_pool.rb +3 -3
  410. data/lib/puppet/network/uri.rb +1 -0
  411. data/lib/puppet/network.rb +1 -0
  412. data/lib/puppet/node/environment.rb +25 -22
  413. data/lib/puppet/node/facts.rb +8 -9
  414. data/lib/puppet/node.rb +7 -8
  415. data/lib/puppet/pal/catalog_compiler.rb +1 -3
  416. data/lib/puppet/pal/compiler.rb +10 -6
  417. data/lib/puppet/pal/function_signature.rb +4 -3
  418. data/lib/puppet/pal/json_catalog_encoder.rb +5 -1
  419. data/lib/puppet/pal/pal_api.rb +1 -0
  420. data/lib/puppet/pal/pal_impl.rb +55 -59
  421. data/lib/puppet/pal/plan_signature.rb +3 -2
  422. data/lib/puppet/pal/script_compiler.rb +3 -2
  423. data/lib/puppet/pal/task_signature.rb +14 -9
  424. data/lib/puppet/parameter/boolean.rb +1 -0
  425. data/lib/puppet/parameter/package_options.rb +1 -0
  426. data/lib/puppet/parameter/path.rb +6 -3
  427. data/lib/puppet/parameter/value.rb +2 -1
  428. data/lib/puppet/parameter/value_collection.rb +8 -8
  429. data/lib/puppet/parameter.rb +8 -7
  430. data/lib/puppet/parser/abstract_compiler.rb +1 -3
  431. data/lib/puppet/parser/ast/block_expression.rb +1 -0
  432. data/lib/puppet/parser/ast/branch.rb +1 -0
  433. data/lib/puppet/parser/ast/hostclass.rb +2 -1
  434. data/lib/puppet/parser/ast/leaf.rb +2 -0
  435. data/lib/puppet/parser/ast/node.rb +1 -0
  436. data/lib/puppet/parser/ast/pops_bridge.rb +10 -10
  437. data/lib/puppet/parser/ast/resource.rb +3 -4
  438. data/lib/puppet/parser/ast/resource_instance.rb +2 -0
  439. data/lib/puppet/parser/ast/resourceparam.rb +7 -6
  440. data/lib/puppet/parser/ast/top_level_construct.rb +1 -0
  441. data/lib/puppet/parser/ast.rb +4 -3
  442. data/lib/puppet/parser/catalog_compiler.rb +2 -3
  443. data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +3 -2
  444. data/lib/puppet/parser/compiler/catalog_validator.rb +1 -0
  445. data/lib/puppet/parser/compiler.rb +20 -18
  446. data/lib/puppet/parser/e4_parser_adapter.rb +16 -16
  447. data/lib/puppet/parser/files.rb +3 -3
  448. data/lib/puppet/parser/functions/assert_type.rb +42 -41
  449. data/lib/puppet/parser/functions/binary_file.rb +15 -14
  450. data/lib/puppet/parser/functions/break.rb +28 -27
  451. data/lib/puppet/parser/functions/contain.rb +2 -1
  452. data/lib/puppet/parser/functions/create_resources.rb +14 -11
  453. data/lib/puppet/parser/functions/defined.rb +103 -102
  454. data/lib/puppet/parser/functions/dig.rb +25 -24
  455. data/lib/puppet/parser/functions/digest.rb +2 -1
  456. data/lib/puppet/parser/functions/each.rb +100 -99
  457. data/lib/puppet/parser/functions/epp.rb +3 -3
  458. data/lib/puppet/parser/functions/fail.rb +10 -9
  459. data/lib/puppet/parser/functions/file.rb +15 -14
  460. data/lib/puppet/parser/functions/filter.rb +56 -55
  461. data/lib/puppet/parser/functions/find_file.rb +18 -18
  462. data/lib/puppet/parser/functions/fqdn_rand.rb +24 -23
  463. data/lib/puppet/parser/functions/generate.rb +21 -21
  464. data/lib/puppet/parser/functions/hiera.rb +94 -93
  465. data/lib/puppet/parser/functions/hiera_array.rb +82 -82
  466. data/lib/puppet/parser/functions/hiera_hash.rb +92 -92
  467. data/lib/puppet/parser/functions/hiera_include.rb +92 -92
  468. data/lib/puppet/parser/functions/include.rb +4 -3
  469. data/lib/puppet/parser/functions/inline_epp.rb +3 -3
  470. data/lib/puppet/parser/functions/inline_template.rb +14 -13
  471. data/lib/puppet/parser/functions/lest.rb +35 -34
  472. data/lib/puppet/parser/functions/lookup.rb +131 -130
  473. data/lib/puppet/parser/functions/map.rb +53 -52
  474. data/lib/puppet/parser/functions/match.rb +30 -29
  475. data/lib/puppet/parser/functions/md5.rb +3 -2
  476. data/lib/puppet/parser/functions/new.rb +915 -915
  477. data/lib/puppet/parser/functions/next.rb +35 -34
  478. data/lib/puppet/parser/functions/realize.rb +12 -11
  479. data/lib/puppet/parser/functions/reduce.rb +133 -132
  480. data/lib/puppet/parser/functions/regsubst.rb +7 -5
  481. data/lib/puppet/parser/functions/require.rb +7 -5
  482. data/lib/puppet/parser/functions/return.rb +89 -88
  483. data/lib/puppet/parser/functions/reverse_each.rb +58 -57
  484. data/lib/puppet/parser/functions/scanf.rb +24 -23
  485. data/lib/puppet/parser/functions/sha1.rb +3 -2
  486. data/lib/puppet/parser/functions/sha256.rb +2 -1
  487. data/lib/puppet/parser/functions/shellquote.rb +1 -0
  488. data/lib/puppet/parser/functions/slice.rb +26 -25
  489. data/lib/puppet/parser/functions/split.rb +6 -6
  490. data/lib/puppet/parser/functions/sprintf.rb +7 -7
  491. data/lib/puppet/parser/functions/step.rb +61 -60
  492. data/lib/puppet/parser/functions/strftime.rb +174 -173
  493. data/lib/puppet/parser/functions/tag.rb +9 -7
  494. data/lib/puppet/parser/functions/tagged.rb +15 -13
  495. data/lib/puppet/parser/functions/template.rb +26 -24
  496. data/lib/puppet/parser/functions/then.rb +53 -52
  497. data/lib/puppet/parser/functions/type.rb +35 -34
  498. data/lib/puppet/parser/functions/versioncmp.rb +2 -2
  499. data/lib/puppet/parser/functions/with.rb +21 -20
  500. data/lib/puppet/parser/functions.rb +8 -6
  501. data/lib/puppet/parser/parser_factory.rb +1 -0
  502. data/lib/puppet/parser/relationship.rb +5 -2
  503. data/lib/puppet/parser/resource/param.rb +1 -0
  504. data/lib/puppet/parser/resource.rb +22 -21
  505. data/lib/puppet/parser/scope.rb +73 -64
  506. data/lib/puppet/parser/script_compiler.rb +10 -11
  507. data/lib/puppet/parser/templatewrapper.rb +2 -1
  508. data/lib/puppet/parser/type_loader.rb +21 -19
  509. data/lib/puppet/parser.rb +1 -0
  510. data/lib/puppet/plugins/configuration.rb +1 -0
  511. data/lib/puppet/plugins/syntax_checkers.rb +1 -1
  512. data/lib/puppet/plugins.rb +2 -1
  513. data/lib/puppet/pops/adaptable.rb +3 -2
  514. data/lib/puppet/pops/adapters.rb +3 -1
  515. data/lib/puppet/pops/evaluator/access_operator.rb +127 -115
  516. data/lib/puppet/pops/evaluator/callable_signature.rb +1 -1
  517. data/lib/puppet/pops/evaluator/closure.rb +271 -277
  518. data/lib/puppet/pops/evaluator/collector_transformer.rb +13 -11
  519. data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +2 -1
  520. data/lib/puppet/pops/evaluator/collectors/catalog_collector.rb +3 -3
  521. data/lib/puppet/pops/evaluator/collectors/exported_collector.rb +5 -5
  522. data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +3 -4
  523. data/lib/puppet/pops/evaluator/compare_operator.rb +27 -13
  524. data/lib/puppet/pops/evaluator/deferred_resolver.rb +19 -17
  525. data/lib/puppet/pops/evaluator/epp_evaluator.rb +16 -16
  526. data/lib/puppet/pops/evaluator/evaluator_impl.rb +197 -194
  527. data/lib/puppet/pops/evaluator/external_syntax_support.rb +2 -2
  528. data/lib/puppet/pops/evaluator/json_strict_literal_evaluator.rb +4 -4
  529. data/lib/puppet/pops/evaluator/literal_evaluator.rb +15 -7
  530. data/lib/puppet/pops/evaluator/puppet_proc.rb +5 -3
  531. data/lib/puppet/pops/evaluator/relationship_operator.rb +11 -9
  532. data/lib/puppet/pops/evaluator/runtime3_converter.rb +30 -27
  533. data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +31 -33
  534. data/lib/puppet/pops/evaluator/runtime3_support.rb +30 -32
  535. data/lib/puppet/pops/functions/dispatch.rb +6 -7
  536. data/lib/puppet/pops/functions/dispatcher.rb +5 -5
  537. data/lib/puppet/pops/functions/function.rb +3 -4
  538. data/lib/puppet/pops/issue_reporter.rb +22 -20
  539. data/lib/puppet/pops/issues.rb +13 -5
  540. data/lib/puppet/pops/label_provider.rb +3 -2
  541. data/lib/puppet/pops/loader/base_loader.rb +3 -4
  542. data/lib/puppet/pops/loader/dependency_loader.rb +5 -2
  543. data/lib/puppet/pops/loader/gem_support.rb +4 -2
  544. data/lib/puppet/pops/loader/generic_plan_instantiator.rb +1 -0
  545. data/lib/puppet/pops/loader/loader.rb +1 -2
  546. data/lib/puppet/pops/loader/loader_paths.rb +26 -26
  547. data/lib/puppet/pops/loader/module_loaders.rb +32 -37
  548. data/lib/puppet/pops/loader/predefined_loader.rb +2 -3
  549. data/lib/puppet/pops/loader/puppet_function_instantiator.rb +5 -2
  550. data/lib/puppet/pops/loader/puppet_plan_instantiator.rb +5 -2
  551. data/lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb +5 -5
  552. data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +4 -1
  553. data/lib/puppet/pops/loader/ruby_function_instantiator.rb +4 -1
  554. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +13 -8
  555. data/lib/puppet/pops/loader/runtime3_type_loader.rb +3 -3
  556. data/lib/puppet/pops/loader/simple_environment_loader.rb +2 -3
  557. data/lib/puppet/pops/loader/static_loader.rb +24 -23
  558. data/lib/puppet/pops/loader/task_instantiator.rb +3 -2
  559. data/lib/puppet/pops/loader/type_definition_instantiator.rb +8 -5
  560. data/lib/puppet/pops/loader/typed_name.rb +2 -1
  561. data/lib/puppet/pops/loader/uri_helper.rb +2 -1
  562. data/lib/puppet/pops/loaders.rb +24 -21
  563. data/lib/puppet/pops/lookup/configured_data_provider.rb +1 -0
  564. data/lib/puppet/pops/lookup/context.rb +31 -23
  565. data/lib/puppet/pops/lookup/data_adapter.rb +1 -0
  566. data/lib/puppet/pops/lookup/data_dig_function_provider.rb +4 -4
  567. data/lib/puppet/pops/lookup/data_hash_function_provider.rb +1 -0
  568. data/lib/puppet/pops/lookup/data_provider.rb +1 -0
  569. data/lib/puppet/pops/lookup/environment_data_provider.rb +1 -0
  570. data/lib/puppet/pops/lookup/explainer.rb +43 -42
  571. data/lib/puppet/pops/lookup/function_provider.rb +7 -6
  572. data/lib/puppet/pops/lookup/global_data_provider.rb +3 -3
  573. data/lib/puppet/pops/lookup/hiera_config.rb +153 -114
  574. data/lib/puppet/pops/lookup/interpolation.rb +9 -4
  575. data/lib/puppet/pops/lookup/invocation.rb +3 -0
  576. data/lib/puppet/pops/lookup/key_recorder.rb +4 -2
  577. data/lib/puppet/pops/lookup/location_resolver.rb +2 -1
  578. data/lib/puppet/pops/lookup/lookup_adapter.rb +25 -21
  579. data/lib/puppet/pops/lookup/lookup_key.rb +2 -1
  580. data/lib/puppet/pops/lookup/lookup_key_function_provider.rb +1 -0
  581. data/lib/puppet/pops/lookup/module_data_provider.rb +3 -1
  582. data/lib/puppet/pops/lookup/sub_lookup.rb +5 -2
  583. data/lib/puppet/pops/lookup.rb +13 -9
  584. data/lib/puppet/pops/merge_strategy.rb +15 -10
  585. data/lib/puppet/pops/migration/migration_checker.rb +6 -4
  586. data/lib/puppet/pops/model/ast.rb +786 -685
  587. data/lib/puppet/pops/model/ast_transformer.rb +10 -9
  588. data/lib/puppet/pops/model/factory.rb +29 -26
  589. data/lib/puppet/pops/model/model_label_provider.rb +4 -2
  590. data/lib/puppet/pops/model/model_tree_dumper.rb +31 -30
  591. data/lib/puppet/pops/model/pn_transformer.rb +4 -6
  592. data/lib/puppet/pops/model/tree_dumper.rb +5 -3
  593. data/lib/puppet/pops/parser/code_merger.rb +2 -3
  594. data/lib/puppet/pops/parser/epp_parser.rb +3 -3
  595. data/lib/puppet/pops/parser/epp_support.rb +7 -7
  596. data/lib/puppet/pops/parser/evaluating_parser.rb +9 -6
  597. data/lib/puppet/pops/parser/heredoc_support.rb +9 -10
  598. data/lib/puppet/pops/parser/interpolation_support.rb +22 -23
  599. data/lib/puppet/pops/parser/lexer2.rb +55 -51
  600. data/lib/puppet/pops/parser/lexer_support.rb +56 -57
  601. data/lib/puppet/pops/parser/locatable.rb +1 -2
  602. data/lib/puppet/pops/parser/locator.rb +42 -39
  603. data/lib/puppet/pops/parser/parser_support.rb +9 -7
  604. data/lib/puppet/pops/parser/pn_parser.rb +2 -2
  605. data/lib/puppet/pops/parser/slurp_support.rb +38 -37
  606. data/lib/puppet/pops/patterns.rb +2 -3
  607. data/lib/puppet/pops/pcore.rb +3 -3
  608. data/lib/puppet/pops/pn.rb +4 -2
  609. data/lib/puppet/pops/puppet_stack.rb +1 -0
  610. data/lib/puppet/pops/resource/param.rb +12 -12
  611. data/lib/puppet/pops/resource/resource_type_impl.rb +45 -44
  612. data/lib/puppet/pops/semantic_error.rb +2 -1
  613. data/lib/puppet/pops/serialization/abstract_reader.rb +3 -2
  614. data/lib/puppet/pops/serialization/abstract_writer.rb +7 -6
  615. data/lib/puppet/pops/serialization/deserializer.rb +2 -0
  616. data/lib/puppet/pops/serialization/extension.rb +7 -0
  617. data/lib/puppet/pops/serialization/from_data_converter.rb +15 -9
  618. data/lib/puppet/pops/serialization/instance_reader.rb +1 -0
  619. data/lib/puppet/pops/serialization/instance_writer.rb +1 -0
  620. data/lib/puppet/pops/serialization/json.rb +8 -5
  621. data/lib/puppet/pops/serialization/json_path.rb +1 -0
  622. data/lib/puppet/pops/serialization/object.rb +5 -3
  623. data/lib/puppet/pops/serialization/serializer.rb +19 -16
  624. data/lib/puppet/pops/serialization/time_factory.rb +1 -1
  625. data/lib/puppet/pops/serialization/to_data_converter.rb +7 -5
  626. data/lib/puppet/pops/serialization/to_stringified_converter.rb +7 -7
  627. data/lib/puppet/pops/serialization.rb +1 -0
  628. data/lib/puppet/pops/time/timespan.rb +19 -8
  629. data/lib/puppet/pops/time/timestamp.rb +8 -2
  630. data/lib/puppet/pops/types/annotatable.rb +1 -1
  631. data/lib/puppet/pops/types/annotation.rb +4 -3
  632. data/lib/puppet/pops/types/class_loader.rb +12 -9
  633. data/lib/puppet/pops/types/implementation_registry.rb +3 -1
  634. data/lib/puppet/pops/types/iterable.rb +22 -13
  635. data/lib/puppet/pops/types/p_binary_type.rb +4 -5
  636. data/lib/puppet/pops/types/p_init_type.rb +13 -11
  637. data/lib/puppet/pops/types/p_meta_type.rb +2 -2
  638. data/lib/puppet/pops/types/p_object_type.rb +87 -63
  639. data/lib/puppet/pops/types/p_object_type_extension.rb +10 -8
  640. data/lib/puppet/pops/types/p_runtime_type.rb +11 -10
  641. data/lib/puppet/pops/types/p_sem_ver_range_type.rb +1 -1
  642. data/lib/puppet/pops/types/p_sem_ver_type.rb +7 -8
  643. data/lib/puppet/pops/types/p_sensitive_type.rb +2 -5
  644. data/lib/puppet/pops/types/p_timespan_type.rb +6 -5
  645. data/lib/puppet/pops/types/p_timestamp_type.rb +3 -3
  646. data/lib/puppet/pops/types/p_type_set_type.rb +42 -36
  647. data/lib/puppet/pops/types/p_uri_type.rb +30 -23
  648. data/lib/puppet/pops/types/puppet_object.rb +1 -1
  649. data/lib/puppet/pops/types/recursion_guard.rb +7 -2
  650. data/lib/puppet/pops/types/ruby_generator.rb +14 -10
  651. data/lib/puppet/pops/types/ruby_method.rb +7 -7
  652. data/lib/puppet/pops/types/string_converter.rb +93 -88
  653. data/lib/puppet/pops/types/tree_iterators.rb +11 -14
  654. data/lib/puppet/pops/types/type_acceptor.rb +1 -0
  655. data/lib/puppet/pops/types/type_asserter.rb +4 -3
  656. data/lib/puppet/pops/types/type_assertion_error.rb +0 -1
  657. data/lib/puppet/pops/types/type_calculator.rb +46 -40
  658. data/lib/puppet/pops/types/type_conversion_error.rb +1 -10
  659. data/lib/puppet/pops/types/type_factory.rb +16 -12
  660. data/lib/puppet/pops/types/type_formatter.rb +40 -43
  661. data/lib/puppet/pops/types/type_mismatch_describer.rb +37 -29
  662. data/lib/puppet/pops/types/type_parser.rb +123 -117
  663. data/lib/puppet/pops/types/type_set_reference.rb +2 -0
  664. data/lib/puppet/pops/types/type_with_members.rb +1 -2
  665. data/lib/puppet/pops/types/types.rb +243 -230
  666. data/lib/puppet/pops/utils.rb +3 -2
  667. data/lib/puppet/pops/validation/checker4_0.rb +68 -49
  668. data/lib/puppet/pops/validation/tasks_checker.rb +5 -4
  669. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -2
  670. data/lib/puppet/pops/validation.rb +21 -19
  671. data/lib/puppet/pops/visitable.rb +1 -0
  672. data/lib/puppet/pops/visitor.rb +15 -2
  673. data/lib/puppet/pops.rb +2 -0
  674. data/lib/puppet/property/boolean.rb +1 -0
  675. data/lib/puppet/property/ensure.rb +4 -2
  676. data/lib/puppet/property/keyvalue.rb +10 -10
  677. data/lib/puppet/property/list.rb +6 -6
  678. data/lib/puppet/property/ordered_list.rb +4 -4
  679. data/lib/puppet/property.rb +21 -21
  680. data/lib/puppet/provider/aix_object.rb +14 -9
  681. data/lib/puppet/provider/command.rb +1 -0
  682. data/lib/puppet/provider/confine.rb +1 -0
  683. data/lib/puppet/provider/exec/posix.rb +3 -1
  684. data/lib/puppet/provider/exec/shell.rb +1 -0
  685. data/lib/puppet/provider/exec/windows.rb +2 -1
  686. data/lib/puppet/provider/exec.rb +4 -3
  687. data/lib/puppet/provider/file/posix.rb +1 -0
  688. data/lib/puppet/provider/file/windows.rb +13 -9
  689. data/lib/puppet/provider/group/aix.rb +1 -0
  690. data/lib/puppet/provider/group/directoryservice.rb +1 -1
  691. data/lib/puppet/provider/group/groupadd.rb +11 -6
  692. data/lib/puppet/provider/group/ldap.rb +2 -0
  693. data/lib/puppet/provider/group/pw.rb +1 -1
  694. data/lib/puppet/provider/group/windows_adsi.rb +5 -3
  695. data/lib/puppet/provider/ldap.rb +4 -3
  696. data/lib/puppet/provider/nameservice/directoryservice.rb +39 -30
  697. data/lib/puppet/provider/nameservice/objectadd.rb +1 -0
  698. data/lib/puppet/provider/nameservice/pw.rb +6 -6
  699. data/lib/puppet/provider/nameservice.rb +17 -14
  700. data/lib/puppet/provider/network_device.rb +1 -2
  701. data/lib/puppet/provider/package/aix.rb +8 -7
  702. data/lib/puppet/provider/package/appdmg.rb +22 -21
  703. data/lib/puppet/provider/package/apple.rb +4 -3
  704. data/lib/puppet/provider/package/apt.rb +10 -6
  705. data/lib/puppet/provider/package/aptitude.rb +1 -0
  706. data/lib/puppet/provider/package/aptrpm.rb +8 -5
  707. data/lib/puppet/provider/package/blastwave.rb +9 -9
  708. data/lib/puppet/provider/package/dnf.rb +7 -0
  709. data/lib/puppet/provider/package/dnfmodule.rb +9 -8
  710. data/lib/puppet/provider/package/dpkg.rb +12 -12
  711. data/lib/puppet/provider/package/fink.rb +2 -1
  712. data/lib/puppet/provider/package/freebsd.rb +3 -2
  713. data/lib/puppet/provider/package/gem.rb +12 -9
  714. data/lib/puppet/provider/package/hpux.rb +6 -5
  715. data/lib/puppet/provider/package/macports.rb +2 -1
  716. data/lib/puppet/provider/package/nim.rb +16 -18
  717. data/lib/puppet/provider/package/openbsd.rb +14 -12
  718. data/lib/puppet/provider/package/opkg.rb +8 -6
  719. data/lib/puppet/provider/package/pacman.rb +14 -14
  720. data/lib/puppet/provider/package/pip.rb +11 -9
  721. data/lib/puppet/provider/package/pip2.rb +2 -2
  722. data/lib/puppet/provider/package/pip3.rb +2 -2
  723. data/lib/puppet/provider/package/pkg.rb +33 -29
  724. data/lib/puppet/provider/package/pkgdmg.rb +12 -7
  725. data/lib/puppet/provider/package/pkgin.rb +11 -11
  726. data/lib/puppet/provider/package/pkgng.rb +12 -8
  727. data/lib/puppet/provider/package/pkgutil.rb +18 -17
  728. data/lib/puppet/provider/package/portage.rb +14 -9
  729. data/lib/puppet/provider/package/ports.rb +6 -5
  730. data/lib/puppet/provider/package/portupgrade.rb +11 -19
  731. data/lib/puppet/provider/package/puppet_gem.rb +3 -2
  732. data/lib/puppet/provider/package/puppetserver_gem.rb +5 -4
  733. data/lib/puppet/provider/package/rpm.rb +19 -15
  734. data/lib/puppet/provider/package/rug.rb +2 -1
  735. data/lib/puppet/provider/package/sun.rb +22 -19
  736. data/lib/puppet/provider/package/sunfreeware.rb +1 -0
  737. data/lib/puppet/provider/package/tdnf.rb +7 -1
  738. data/lib/puppet/provider/package/up2date.rb +2 -1
  739. data/lib/puppet/provider/package/urpmi.rb +1 -0
  740. data/lib/puppet/provider/package/windows/exe_package.rb +3 -2
  741. data/lib/puppet/provider/package/windows/msi_package.rb +1 -0
  742. data/lib/puppet/provider/package/windows/package.rb +8 -6
  743. data/lib/puppet/provider/package/windows.rb +5 -3
  744. data/lib/puppet/provider/package/yum.rb +34 -20
  745. data/lib/puppet/provider/package/zypper.rb +22 -21
  746. data/lib/puppet/provider/package.rb +8 -7
  747. data/lib/puppet/provider/package_targetable.rb +3 -2
  748. data/lib/puppet/provider/parsedfile.rb +12 -9
  749. data/lib/puppet/provider/service/base.rb +2 -2
  750. data/lib/puppet/provider/service/bsd.rb +1 -0
  751. data/lib/puppet/provider/service/daemontools.rb +17 -15
  752. data/lib/puppet/provider/service/debian.rb +6 -5
  753. data/lib/puppet/provider/service/freebsd.rb +16 -19
  754. data/lib/puppet/provider/service/gentoo.rb +5 -4
  755. data/lib/puppet/provider/service/init.rb +12 -14
  756. data/lib/puppet/provider/service/launchd.rb +13 -7
  757. data/lib/puppet/provider/service/openbsd.rb +4 -4
  758. data/lib/puppet/provider/service/openrc.rb +2 -2
  759. data/lib/puppet/provider/service/openwrt.rb +1 -1
  760. data/lib/puppet/provider/service/rcng.rb +1 -0
  761. data/lib/puppet/provider/service/redhat.rb +5 -3
  762. data/lib/puppet/provider/service/runit.rb +10 -10
  763. data/lib/puppet/provider/service/service.rb +1 -1
  764. data/lib/puppet/provider/service/smf.rb +9 -6
  765. data/lib/puppet/provider/service/src.rb +19 -20
  766. data/lib/puppet/provider/service/systemd.rb +11 -6
  767. data/lib/puppet/provider/service/upstart.rb +14 -15
  768. data/lib/puppet/provider/service/windows.rb +37 -41
  769. data/lib/puppet/provider/user/aix.rb +17 -16
  770. data/lib/puppet/provider/user/directoryservice.rb +60 -52
  771. data/lib/puppet/provider/user/hpux.rb +23 -22
  772. data/lib/puppet/provider/user/ldap.rb +12 -10
  773. data/lib/puppet/provider/user/openbsd.rb +21 -20
  774. data/lib/puppet/provider/user/pw.rb +4 -4
  775. data/lib/puppet/provider/user/user_role_add.rb +23 -18
  776. data/lib/puppet/provider/user/useradd.rb +53 -43
  777. data/lib/puppet/provider/user/windows_adsi.rb +10 -7
  778. data/lib/puppet/provider.rb +11 -11
  779. data/lib/puppet/reference/configuration.rb +48 -46
  780. data/lib/puppet/reference/function.rb +1 -0
  781. data/lib/puppet/reference/indirection.rb +28 -27
  782. data/lib/puppet/reference/metaparameter.rb +1 -0
  783. data/lib/puppet/reference/providers.rb +4 -2
  784. data/lib/puppet/reference/report.rb +1 -0
  785. data/lib/puppet/reference/type.rb +5 -4
  786. data/lib/puppet/relationship.rb +5 -4
  787. data/lib/puppet/reports/http.rb +1 -1
  788. data/lib/puppet/reports/log.rb +1 -1
  789. data/lib/puppet/reports/store.rb +5 -3
  790. data/lib/puppet/reports.rb +4 -3
  791. data/lib/puppet/resource/catalog.rb +40 -40
  792. data/lib/puppet/resource/status.rb +5 -4
  793. data/lib/puppet/resource/type.rb +35 -26
  794. data/lib/puppet/resource/type_collection.rb +9 -5
  795. data/lib/puppet/resource.rb +50 -37
  796. data/lib/puppet/runtime.rb +1 -0
  797. data/lib/puppet/scheduler/job.rb +1 -0
  798. data/lib/puppet/scheduler/scheduler.rb +2 -1
  799. data/lib/puppet/scheduler/splay_job.rb +1 -0
  800. data/lib/puppet/scheduler/timer.rb +1 -0
  801. data/lib/puppet/scheduler.rb +2 -1
  802. data/lib/puppet/settings/alias_setting.rb +1 -0
  803. data/lib/puppet/settings/array_setting.rb +1 -1
  804. data/lib/puppet/settings/autosign_setting.rb +1 -1
  805. data/lib/puppet/settings/base_setting.rb +11 -7
  806. data/lib/puppet/settings/boolean_setting.rb +2 -1
  807. data/lib/puppet/settings/certificate_revocation_setting.rb +1 -1
  808. data/lib/puppet/settings/config_file.rb +5 -5
  809. data/lib/puppet/settings/directory_setting.rb +1 -0
  810. data/lib/puppet/settings/duration_setting.rb +3 -3
  811. data/lib/puppet/settings/enum_setting.rb +2 -1
  812. data/lib/puppet/settings/environment_conf.rb +15 -12
  813. data/lib/puppet/settings/errors.rb +5 -3
  814. data/lib/puppet/settings/file_or_directory_setting.rb +1 -5
  815. data/lib/puppet/settings/file_setting.rb +3 -13
  816. data/lib/puppet/settings/http_extra_headers_setting.rb +1 -1
  817. data/lib/puppet/settings/ini_file.rb +1 -0
  818. data/lib/puppet/settings/integer_setting.rb +2 -1
  819. data/lib/puppet/settings/path_setting.rb +1 -0
  820. data/lib/puppet/settings/port_setting.rb +2 -1
  821. data/lib/puppet/settings/priority_setting.rb +12 -12
  822. data/lib/puppet/settings/server_list_setting.rb +6 -6
  823. data/lib/puppet/settings/string_setting.rb +1 -0
  824. data/lib/puppet/settings/symbolic_enum_setting.rb +2 -1
  825. data/lib/puppet/settings/terminus_setting.rb +1 -0
  826. data/lib/puppet/settings/ttl_setting.rb +5 -4
  827. data/lib/puppet/settings/value_translator.rb +8 -7
  828. data/lib/puppet/settings.rb +123 -97
  829. data/lib/puppet/ssl/base.rb +6 -2
  830. data/lib/puppet/ssl/certificate.rb +5 -4
  831. data/lib/puppet/ssl/certificate_request.rb +14 -12
  832. data/lib/puppet/ssl/certificate_request_attributes.rb +4 -2
  833. data/lib/puppet/ssl/certificate_signer.rb +2 -3
  834. data/lib/puppet/ssl/digest.rb +1 -0
  835. data/lib/puppet/ssl/error.rb +2 -0
  836. data/lib/puppet/ssl/oids.rb +7 -7
  837. data/lib/puppet/ssl/openssl_loader.rb +1 -0
  838. data/lib/puppet/ssl/ssl_context.rb +11 -15
  839. data/lib/puppet/ssl/ssl_provider.rb +10 -7
  840. data/lib/puppet/ssl/state_machine.rb +12 -11
  841. data/lib/puppet/ssl/verifier.rb +2 -2
  842. data/lib/puppet/ssl.rb +1 -0
  843. data/lib/puppet/syntax_checkers/base64.rb +3 -2
  844. data/lib/puppet/syntax_checkers/epp.rb +3 -3
  845. data/lib/puppet/syntax_checkers/json.rb +3 -4
  846. data/lib/puppet/syntax_checkers/pp.rb +3 -3
  847. data/lib/puppet/syntax_checkers.rb +2 -1
  848. data/lib/puppet/test/test_helper.rb +26 -23
  849. data/lib/puppet/thread_local.rb +1 -0
  850. data/lib/puppet/transaction/additional_resource_generator.rb +10 -6
  851. data/lib/puppet/transaction/event.rb +5 -3
  852. data/lib/puppet/transaction/event_manager.rb +6 -6
  853. data/lib/puppet/transaction/persistence.rb +3 -2
  854. data/lib/puppet/transaction/report.rb +28 -22
  855. data/lib/puppet/transaction/resource_harness.rb +7 -4
  856. data/lib/puppet/transaction.rb +22 -17
  857. data/lib/puppet/trusted_external.rb +9 -5
  858. data/lib/puppet/type/component.rb +11 -5
  859. data/lib/puppet/type/exec.rb +33 -21
  860. data/lib/puppet/type/file/checksum.rb +1 -0
  861. data/lib/puppet/type/file/checksum_value.rb +4 -3
  862. data/lib/puppet/type/file/content.rb +17 -14
  863. data/lib/puppet/type/file/ctime.rb +2 -2
  864. data/lib/puppet/type/file/data_sync.rb +6 -4
  865. data/lib/puppet/type/file/ensure.rb +11 -14
  866. data/lib/puppet/type/file/group.rb +2 -1
  867. data/lib/puppet/type/file/mode.rb +4 -2
  868. data/lib/puppet/type/file/mtime.rb +2 -1
  869. data/lib/puppet/type/file/owner.rb +2 -2
  870. data/lib/puppet/type/file/selcontext.rb +2 -3
  871. data/lib/puppet/type/file/source.rb +14 -12
  872. data/lib/puppet/type/file/target.rb +4 -5
  873. data/lib/puppet/type/file/type.rb +2 -2
  874. data/lib/puppet/type/file.rb +40 -35
  875. data/lib/puppet/type/filebucket.rb +1 -0
  876. data/lib/puppet/type/group.rb +10 -10
  877. data/lib/puppet/type/notify.rb +1 -1
  878. data/lib/puppet/type/package.rb +29 -29
  879. data/lib/puppet/type/resources.rb +33 -28
  880. data/lib/puppet/type/schedule.rb +13 -14
  881. data/lib/puppet/type/service.rb +13 -11
  882. data/lib/puppet/type/stage.rb +1 -0
  883. data/lib/puppet/type/tidy.rb +16 -11
  884. data/lib/puppet/type/user.rb +48 -43
  885. data/lib/puppet/type/whit.rb +1 -1
  886. data/lib/puppet/type.rb +115 -110
  887. data/lib/puppet/util/at_fork/noop.rb +1 -0
  888. data/lib/puppet/util/at_fork/solaris.rb +6 -5
  889. data/lib/puppet/util/at_fork.rb +2 -1
  890. data/lib/puppet/util/autoload.rb +7 -2
  891. data/lib/puppet/util/backups.rb +6 -5
  892. data/lib/puppet/util/character_encoding.rb +1 -0
  893. data/lib/puppet/util/checksums.rb +12 -10
  894. data/lib/puppet/util/classgen.rb +10 -16
  895. data/lib/puppet/util/colors.rb +65 -64
  896. data/lib/puppet/util/command_line/puppet_option_parser.rb +17 -16
  897. data/lib/puppet/util/command_line/trollop.rb +696 -689
  898. data/lib/puppet/util/command_line.rb +2 -1
  899. data/lib/puppet/util/constant_inflector.rb +3 -3
  900. data/lib/puppet/util/diff.rb +16 -16
  901. data/lib/puppet/util/docs.rb +6 -3
  902. data/lib/puppet/util/errors.rb +3 -2
  903. data/lib/puppet/util/execution.rb +27 -28
  904. data/lib/puppet/util/execution_stub.rb +1 -0
  905. data/lib/puppet/util/feature.rb +7 -8
  906. data/lib/puppet/util/file_watcher.rb +2 -0
  907. data/lib/puppet/util/fileparsing.rb +11 -12
  908. data/lib/puppet/util/filetype.rb +6 -3
  909. data/lib/puppet/util/http_proxy.rb +1 -0
  910. data/lib/puppet/util/inifile.rb +4 -4
  911. data/lib/puppet/util/instance_loader.rb +2 -0
  912. data/lib/puppet/util/json.rb +1 -0
  913. data/lib/puppet/util/json_lockfile.rb +3 -1
  914. data/lib/puppet/util/ldap/connection.rb +19 -18
  915. data/lib/puppet/util/ldap/generator.rb +1 -0
  916. data/lib/puppet/util/ldap/manager.rb +9 -9
  917. data/lib/puppet/util/ldap.rb +1 -0
  918. data/lib/puppet/util/libuser.rb +2 -2
  919. data/lib/puppet/util/limits.rb +1 -0
  920. data/lib/puppet/util/lockfile.rb +1 -0
  921. data/lib/puppet/util/log/destination.rb +1 -1
  922. data/lib/puppet/util/log/destinations.rb +15 -16
  923. data/lib/puppet/util/log.rb +28 -23
  924. data/lib/puppet/util/logging.rb +24 -21
  925. data/lib/puppet/util/metaid.rb +1 -1
  926. data/lib/puppet/util/metric.rb +5 -3
  927. data/lib/puppet/util/monkey_patches.rb +2 -1
  928. data/lib/puppet/util/multi_match.rb +8 -5
  929. data/lib/puppet/util/network_device/base.rb +2 -2
  930. data/lib/puppet/util/network_device/config.rb +5 -6
  931. data/lib/puppet/util/network_device/transport/base.rb +0 -1
  932. data/lib/puppet/util/network_device/transport.rb +1 -0
  933. data/lib/puppet/util/network_device.rb +1 -0
  934. data/lib/puppet/util/package/version/debian.rb +5 -3
  935. data/lib/puppet/util/package/version/gem.rb +2 -0
  936. data/lib/puppet/util/package/version/pip.rb +9 -4
  937. data/lib/puppet/util/package/version/range/eq.rb +2 -0
  938. data/lib/puppet/util/package/version/range/gt.rb +2 -0
  939. data/lib/puppet/util/package/version/range/gt_eq.rb +2 -0
  940. data/lib/puppet/util/package/version/range/lt.rb +3 -1
  941. data/lib/puppet/util/package/version/range/lt_eq.rb +2 -0
  942. data/lib/puppet/util/package/version/range/min_max.rb +4 -0
  943. data/lib/puppet/util/package/version/range/simple.rb +1 -0
  944. data/lib/puppet/util/package/version/range.rb +8 -5
  945. data/lib/puppet/util/package/version/rpm.rb +6 -4
  946. data/lib/puppet/util/package.rb +4 -1
  947. data/lib/puppet/util/pidlock.rb +8 -8
  948. data/lib/puppet/util/platform.rb +1 -0
  949. data/lib/puppet/util/plist.rb +7 -6
  950. data/lib/puppet/util/posix.rb +10 -8
  951. data/lib/puppet/util/profiler/aggregate.rb +3 -7
  952. data/lib/puppet/util/profiler/around_profiler.rb +1 -1
  953. data/lib/puppet/util/profiler/logging.rb +2 -1
  954. data/lib/puppet/util/profiler/object_counts.rb +1 -0
  955. data/lib/puppet/util/profiler/wall_clock.rb +3 -3
  956. data/lib/puppet/util/profiler.rb +1 -0
  957. data/lib/puppet/util/provider_features.rb +5 -2
  958. data/lib/puppet/util/psych_support.rb +1 -0
  959. data/lib/puppet/util/rdoc/code_objects.rb +14 -17
  960. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +70 -80
  961. data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +50 -68
  962. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +21 -19
  963. data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -0
  964. data/lib/puppet/util/rdoc/parser.rb +1 -0
  965. data/lib/puppet/util/rdoc.rb +9 -9
  966. data/lib/puppet/util/reference.rb +3 -3
  967. data/lib/puppet/util/resource_template.rb +2 -1
  968. data/lib/puppet/util/retry_action.rb +4 -4
  969. data/lib/puppet/util/rpm_compare.rb +13 -10
  970. data/lib/puppet/util/rubygems.rb +1 -2
  971. data/lib/puppet/util/run_mode.rb +5 -4
  972. data/lib/puppet/util/selinux.rb +25 -14
  973. data/lib/puppet/util/skip_tags.rb +1 -0
  974. data/lib/puppet/util/splayer.rb +1 -0
  975. data/lib/puppet/util/storage.rb +2 -1
  976. data/lib/puppet/util/suidmanager.rb +21 -20
  977. data/lib/puppet/util/symbolic_file_mode.rb +11 -8
  978. data/lib/puppet/util/tag_set.rb +1 -0
  979. data/lib/puppet/util/tagging.rb +4 -3
  980. data/lib/puppet/util/terminal.rb +1 -0
  981. data/lib/puppet/util/user_attr.rb +2 -1
  982. data/lib/puppet/util/warnings.rb +3 -0
  983. data/lib/puppet/util/watched_file.rb +3 -1
  984. data/lib/puppet/util/watcher/change_watcher.rb +1 -0
  985. data/lib/puppet/util/watcher/periodic_watcher.rb +1 -1
  986. data/lib/puppet/util/watcher/timer.rb +1 -0
  987. data/lib/puppet/util/watcher.rb +1 -0
  988. data/lib/puppet/util/windows/access_control_entry.rb +1 -0
  989. data/lib/puppet/util/windows/access_control_list.rb +7 -5
  990. data/lib/puppet/util/windows/adsi.rb +46 -39
  991. data/lib/puppet/util/windows/com.rb +7 -5
  992. data/lib/puppet/util/windows/daemon.rb +39 -39
  993. data/lib/puppet/util/windows/error.rb +3 -2
  994. data/lib/puppet/util/windows/eventlog.rb +12 -9
  995. data/lib/puppet/util/windows/file.rb +43 -33
  996. data/lib/puppet/util/windows/monkey_patches/process.rb +1 -2
  997. data/lib/puppet/util/windows/principal.rb +31 -29
  998. data/lib/puppet/util/windows/process.rb +33 -26
  999. data/lib/puppet/util/windows/registry.rb +84 -49
  1000. data/lib/puppet/util/windows/root_certs.rb +2 -1
  1001. data/lib/puppet/util/windows/security.rb +61 -60
  1002. data/lib/puppet/util/windows/security_descriptor.rb +1 -0
  1003. data/lib/puppet/util/windows/service.rb +16 -5
  1004. data/lib/puppet/util/windows/sid.rb +14 -13
  1005. data/lib/puppet/util/windows/string.rb +1 -0
  1006. data/lib/puppet/util/windows/user.rb +37 -35
  1007. data/lib/puppet/util/windows.rb +7 -1
  1008. data/lib/puppet/util/yaml.rb +1 -0
  1009. data/lib/puppet/util.rb +32 -36
  1010. data/lib/puppet/vendor.rb +2 -1
  1011. data/lib/puppet/version.rb +3 -1
  1012. data/lib/puppet/x509/cert_provider.rb +19 -13
  1013. data/lib/puppet/x509/pem_store.rb +1 -0
  1014. data/lib/puppet/x509.rb +1 -0
  1015. data/lib/puppet.rb +9 -7
  1016. data/lib/puppet_pal.rb +1 -0
  1017. data/lib/puppet_x.rb +1 -0
  1018. data/locales/puppet.pot +2013 -2013
  1019. data/man/man5/puppet.conf.5 +2 -2
  1020. data/man/man8/puppet-agent.8 +1 -1
  1021. data/man/man8/puppet-apply.8 +1 -1
  1022. data/man/man8/puppet-catalog.8 +1 -1
  1023. data/man/man8/puppet-config.8 +1 -1
  1024. data/man/man8/puppet-describe.8 +1 -1
  1025. data/man/man8/puppet-device.8 +1 -1
  1026. data/man/man8/puppet-doc.8 +1 -1
  1027. data/man/man8/puppet-epp.8 +1 -1
  1028. data/man/man8/puppet-facts.8 +1 -1
  1029. data/man/man8/puppet-filebucket.8 +1 -1
  1030. data/man/man8/puppet-generate.8 +1 -1
  1031. data/man/man8/puppet-help.8 +1 -1
  1032. data/man/man8/puppet-lookup.8 +1 -1
  1033. data/man/man8/puppet-module.8 +1 -1
  1034. data/man/man8/puppet-node.8 +1 -1
  1035. data/man/man8/puppet-parser.8 +1 -1
  1036. data/man/man8/puppet-plugin.8 +1 -1
  1037. data/man/man8/puppet-report.8 +1 -1
  1038. data/man/man8/puppet-resource.8 +1 -1
  1039. data/man/man8/puppet-script.8 +1 -1
  1040. data/man/man8/puppet-ssl.8 +1 -1
  1041. data/man/man8/puppet.8 +2 -2
  1042. data/tasks/generate_cert_fixtures.rake +1 -0
  1043. metadata +3 -2456
  1044. data/CONTRIBUTING.md +0 -161
  1045. data/spec/fixtures/faulty_face/puppet/face/syntax.rb +0 -8
  1046. data/spec/fixtures/hiera.yaml +0 -9
  1047. data/spec/fixtures/integration/application/agent/cached_deferred_catalog.json +0 -92
  1048. data/spec/fixtures/integration/application/agent/lib/facter/agent_spec_role.rb +0 -3
  1049. data/spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/provider/applytest/applytest.rb +0 -2
  1050. data/spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/type/applytest.rb +0 -25
  1051. data/spec/fixtures/integration/application/module/environments/direnv/modules/nginx/README +0 -3
  1052. data/spec/fixtures/integration/application/module/environments/direnv/modules/nginx/manifests/init.pp +0 -17
  1053. data/spec/fixtures/integration/application/module/environments/direnv/modules/nginx/metadata.json +0 -20
  1054. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Gemfile +0 -4
  1055. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Rakefile +0 -3
  1056. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/lib/puppet/functions/l10n.rb +0 -8
  1057. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/config.yaml +0 -25
  1058. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/ja/puppet-l10n.po +0 -19
  1059. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/puppet-l10n.pot +0 -20
  1060. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/metadata.json +0 -8
  1061. data/spec/fixtures/integration/node/environment/sitedir/00_a.pp +0 -2
  1062. data/spec/fixtures/integration/node/environment/sitedir/01_b.pp +0 -6
  1063. data/spec/fixtures/integration/node/environment/sitedir/03_empty.pp +0 -0
  1064. data/spec/fixtures/integration/node/environment/sitedir/04_include.pp +0 -2
  1065. data/spec/fixtures/integration/node/environment/sitedir2/00_a.pp +0 -2
  1066. data/spec/fixtures/integration/node/environment/sitedir2/02_folder/01_b.pp +0 -6
  1067. data/spec/fixtures/integration/node/environment/sitedir2/03_c.pp +0 -1
  1068. data/spec/fixtures/integration/node/environment/sitedir2/04_include.pp +0 -2
  1069. data/spec/fixtures/java.tgz +0 -0
  1070. data/spec/fixtures/manifests/site.pp +0 -0
  1071. data/spec/fixtures/module.tar.gz +0 -0
  1072. data/spec/fixtures/releases/jamtur01-apache/Modulefile +0 -2
  1073. data/spec/fixtures/releases/jamtur01-apache/files/httpd +0 -24
  1074. data/spec/fixtures/releases/jamtur01-apache/files/test.vhost +0 -18
  1075. data/spec/fixtures/releases/jamtur01-apache/lib/puppet/provider/a2mod/debian.rb +0 -21
  1076. data/spec/fixtures/releases/jamtur01-apache/lib/puppet/type/a2mod.rb +0 -12
  1077. data/spec/fixtures/releases/jamtur01-apache/manifests/dev.pp +0 -5
  1078. data/spec/fixtures/releases/jamtur01-apache/manifests/init.pp +0 -34
  1079. data/spec/fixtures/releases/jamtur01-apache/manifests/params.pp +0 -17
  1080. data/spec/fixtures/releases/jamtur01-apache/manifests/php.pp +0 -5
  1081. data/spec/fixtures/releases/jamtur01-apache/manifests/ssl.pp +0 -15
  1082. data/spec/fixtures/releases/jamtur01-apache/manifests/vhost.pp +0 -15
  1083. data/spec/fixtures/releases/jamtur01-apache/metadata.json +0 -1
  1084. data/spec/fixtures/releases/jamtur01-apache/templates/vhost-default.conf.erb +0 -20
  1085. data/spec/fixtures/releases/jamtur01-apache/tests/apache.pp +0 -1
  1086. data/spec/fixtures/releases/jamtur01-apache/tests/dev.pp +0 -1
  1087. data/spec/fixtures/releases/jamtur01-apache/tests/init.pp +0 -1
  1088. data/spec/fixtures/releases/jamtur01-apache/tests/php.pp +0 -1
  1089. data/spec/fixtures/releases/jamtur01-apache/tests/ssl.pp +0 -1
  1090. data/spec/fixtures/releases/jamtur01-apache/tests/vhost.pp +0 -2
  1091. data/spec/fixtures/ssl/127.0.0.1-key.pem +0 -117
  1092. data/spec/fixtures/ssl/127.0.0.1.pem +0 -70
  1093. data/spec/fixtures/ssl/bad-basic-constraints.pem +0 -81
  1094. data/spec/fixtures/ssl/bad-int-basic-constraints.pem +0 -81
  1095. data/spec/fixtures/ssl/ca.pem +0 -81
  1096. data/spec/fixtures/ssl/crl.pem +0 -40
  1097. data/spec/fixtures/ssl/ec-key-openssl.pem +0 -8
  1098. data/spec/fixtures/ssl/ec-key-pk8.pem +0 -5
  1099. data/spec/fixtures/ssl/ec-key.pem +0 -18
  1100. data/spec/fixtures/ssl/ec.pem +0 -50
  1101. data/spec/fixtures/ssl/encrypted-ec-key.pem +0 -21
  1102. data/spec/fixtures/ssl/encrypted-key.pem +0 -120
  1103. data/spec/fixtures/ssl/intermediate-agent-crl.pem +0 -40
  1104. data/spec/fixtures/ssl/intermediate-agent.pem +0 -81
  1105. data/spec/fixtures/ssl/intermediate-crl.pem +0 -46
  1106. data/spec/fixtures/ssl/intermediate.pem +0 -81
  1107. data/spec/fixtures/ssl/netlock-arany-utf8.pem +0 -23
  1108. data/spec/fixtures/ssl/oid-key.pem +0 -117
  1109. data/spec/fixtures/ssl/oid.pem +0 -70
  1110. data/spec/fixtures/ssl/pluto-key.pem +0 -117
  1111. data/spec/fixtures/ssl/pluto.pem +0 -67
  1112. data/spec/fixtures/ssl/renewed.pem +0 -67
  1113. data/spec/fixtures/ssl/request-key.pem +0 -117
  1114. data/spec/fixtures/ssl/request.pem +0 -62
  1115. data/spec/fixtures/ssl/revoked-key.pem +0 -117
  1116. data/spec/fixtures/ssl/revoked.pem +0 -67
  1117. data/spec/fixtures/ssl/signed-key.pem +0 -117
  1118. data/spec/fixtures/ssl/signed.pem +0 -67
  1119. data/spec/fixtures/ssl/tampered-cert.pem +0 -67
  1120. data/spec/fixtures/ssl/tampered-csr.pem +0 -62
  1121. data/spec/fixtures/ssl/trusted_oid_mapping.yaml +0 -5
  1122. data/spec/fixtures/ssl/unknown-127.0.0.1-key.pem +0 -117
  1123. data/spec/fixtures/ssl/unknown-127.0.0.1.pem +0 -70
  1124. data/spec/fixtures/ssl/unknown-ca-key.pem +0 -117
  1125. data/spec/fixtures/ssl/unknown-ca.pem +0 -81
  1126. data/spec/fixtures/stdlib.tgz +0 -0
  1127. data/spec/fixtures/unit/application/environments/production/data/common.yaml +0 -24
  1128. data/spec/fixtures/unit/application/environments/production/environment.conf +0 -1
  1129. data/spec/fixtures/unit/application/environments/production/manifests/site.pp +0 -1
  1130. data/spec/fixtures/unit/application/environments/puppet_func_provider/environment.conf +0 -1
  1131. data/spec/fixtures/unit/application/environments/puppet_func_provider/functions/environment/data.pp +0 -10
  1132. data/spec/fixtures/unit/application/environments/puppet_func_provider/manifests/site.pp +0 -1
  1133. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_json/data/bad.json +0 -3
  1134. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_json/environment.conf +0 -2
  1135. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_json/hiera.yaml +0 -5
  1136. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_json/manifests/site.pp +0 -5
  1137. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_yaml/data/bad.yaml +0 -3
  1138. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_yaml/environment.conf +0 -2
  1139. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_yaml/hiera.yaml +0 -5
  1140. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_yaml/manifests/site.pp +0 -5
  1141. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/data/common.yaml +0 -2
  1142. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/environment.conf +0 -2
  1143. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/manifests/site.pp +0 -1
  1144. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/modules/one/data/common.yaml +0 -2
  1145. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/modules/one/manifests/init.pp +0 -5
  1146. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/modules/one/metadata.json +0 -9
  1147. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/first.json +0 -3
  1148. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/name.yaml +0 -2
  1149. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/second.json +0 -3
  1150. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/single.yaml +0 -2
  1151. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/third_utf8.json +0 -3
  1152. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/utf8.yaml +0 -3
  1153. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data2/single.yaml +0 -2
  1154. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/environment.conf +0 -2
  1155. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/hiera.yaml +0 -22
  1156. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/manifests/site.pp +0 -5
  1157. data/spec/fixtures/unit/data_providers/environments/hiera_misc/data/common.yaml +0 -48
  1158. data/spec/fixtures/unit/data_providers/environments/hiera_misc/environment.conf +0 -2
  1159. data/spec/fixtures/unit/data_providers/environments/hiera_misc/manifests/site.pp +0 -1
  1160. data/spec/fixtures/unit/data_providers/environments/hiera_misc/modules/one/data/common.yaml +0 -30
  1161. data/spec/fixtures/unit/data_providers/environments/hiera_misc/modules/one/manifests/init.pp +0 -13
  1162. data/spec/fixtures/unit/data_providers/environments/hiera_misc/modules/one/metadata.json +0 -9
  1163. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/data/common.yaml +0 -4
  1164. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/data/specific.yaml +0 -4
  1165. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/environment.conf +0 -2
  1166. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/hiera.yaml +0 -7
  1167. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/manifests/site.pp +0 -1
  1168. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/first.json +0 -3
  1169. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/name.yaml +0 -2
  1170. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/second.json +0 -3
  1171. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/server1.yaml +0 -1
  1172. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/server2.yaml +0 -1
  1173. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/single.yaml +0 -2
  1174. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data2/single.yaml +0 -2
  1175. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/hiera.yaml +0 -20
  1176. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/manifests/init.pp +0 -5
  1177. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/metadata.json +0 -9
  1178. data/spec/fixtures/unit/data_providers/environments/hiera_modules/data/common.yaml +0 -4
  1179. data/spec/fixtures/unit/data_providers/environments/hiera_modules/data/specific.yaml +0 -4
  1180. data/spec/fixtures/unit/data_providers/environments/hiera_modules/environment.conf +0 -2
  1181. data/spec/fixtures/unit/data_providers/environments/hiera_modules/hiera.yaml +0 -7
  1182. data/spec/fixtures/unit/data_providers/environments/hiera_modules/manifests/site.pp +0 -1
  1183. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/data/common.yaml +0 -6
  1184. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/hiera.yaml +0 -5
  1185. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/manifests/init.pp +0 -2
  1186. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/metadata.json +0 -9
  1187. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/data/common.yaml +0 -4
  1188. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/hiera.yaml +0 -5
  1189. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/manifests/init.pp +0 -3
  1190. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/metadata.json +0 -9
  1191. data/spec/fixtures/unit/data_providers/environments/production/environment.conf +0 -2
  1192. data/spec/fixtures/unit/data_providers/environments/production/lib/puppet/functions/environment/data.rb +0 -9
  1193. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/lib/puppet/functions/abc/data.rb +0 -9
  1194. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/manifests/init.pp +0 -10
  1195. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/metadata.json +0 -9
  1196. data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/functions/data.pp +0 -6
  1197. data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/manifests/init.pp +0 -9
  1198. data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/metadata.json +0 -9
  1199. data/spec/fixtures/unit/forge/bacula-releases.json +0 -128
  1200. data/spec/fixtures/unit/forge/bacula.json +0 -76
  1201. data/spec/fixtures/unit/forge/bacula.tar.gz +0 -0
  1202. data/spec/fixtures/unit/functions/hiera/hiera/backend/hieraspec_backend.rb +0 -22
  1203. data/spec/fixtures/unit/functions/lookup/data/common.yaml +0 -19
  1204. data/spec/fixtures/unit/functions/lookup/hiera/backend/custom_backend.rb +0 -18
  1205. data/spec/fixtures/unit/functions/lookup/hiera/backend/other_backend.rb +0 -7
  1206. data/spec/fixtures/unit/functions/lookup_fixture/data/common.yaml +0 -19
  1207. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/environment.conf +0 -2
  1208. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/lib/puppet/functions/environment/data.rb +0 -13
  1209. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/abc/lib/puppet/functions/abc/data.rb +0 -9
  1210. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/abc/manifests/init.pp +0 -8
  1211. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/abc/metadata.json +0 -9
  1212. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bad_data/lib/puppet/functions/bad_data/data.rb +0 -7
  1213. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bad_data/manifests/init.pp +0 -2
  1214. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bad_data/metadata.json +0 -9
  1215. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bca/lib/puppet/functions/bca/data.rb +0 -9
  1216. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bca/manifests/init.pp +0 -2
  1217. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bca/metadata.json +0 -9
  1218. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_json/data/empty.json +0 -0
  1219. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_json/hiera.yaml +0 -5
  1220. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_json/manifests/init.pp +0 -2
  1221. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_json/metadata.json +0 -9
  1222. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_json/data/empty_key.json +0 -1
  1223. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_json/hiera.yaml +0 -5
  1224. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_json/manifests/init.pp +0 -2
  1225. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_json/metadata.json +0 -9
  1226. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_yaml/data/empty_key.yaml +0 -1
  1227. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_yaml/hiera.yaml +0 -5
  1228. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_yaml/manifests/init.pp +0 -2
  1229. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_yaml/metadata.json +0 -9
  1230. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_yaml/data/empty.yaml +0 -2
  1231. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_yaml/hiera.yaml +0 -5
  1232. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_yaml/manifests/init.pp +0 -2
  1233. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_yaml/metadata.json +0 -9
  1234. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/hieraprovider/data/first.json +0 -4
  1235. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/hieraprovider/hiera.yaml +0 -8
  1236. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/hieraprovider/manifests/init.pp +0 -5
  1237. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/hieraprovider/metadata.json +0 -9
  1238. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/meta/lib/puppet/functions/meta/data.rb +0 -9
  1239. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/meta/manifests/init.pp +0 -3
  1240. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/meta/metadata.json +0 -9
  1241. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/no_provider/manifests/init.pp +0 -2
  1242. data/spec/fixtures/unit/indirector/data_binding/hiera/global.yaml +0 -10
  1243. data/spec/fixtures/unit/indirector/data_binding/hiera/invalid.yaml +0 -1
  1244. data/spec/fixtures/unit/indirector/hiera/global.yaml +0 -10
  1245. data/spec/fixtures/unit/indirector/hiera/invalid.yaml +0 -1
  1246. data/spec/fixtures/unit/module/trailing-comma.json +0 -24
  1247. data/spec/fixtures/unit/parser/functions/create_resources/foo/manifests/init.pp +0 -3
  1248. data/spec/fixtures/unit/parser/functions/create_resources/foo/manifests/wrongdefine.pp +0 -3
  1249. data/spec/fixtures/unit/parser/lexer/aliastest.pp +0 -16
  1250. data/spec/fixtures/unit/parser/lexer/append.pp +0 -11
  1251. data/spec/fixtures/unit/parser/lexer/argumentdefaults.pp +0 -14
  1252. data/spec/fixtures/unit/parser/lexer/arithmetic_expression.pp +0 -8
  1253. data/spec/fixtures/unit/parser/lexer/arraytrailingcomma.pp +0 -3
  1254. data/spec/fixtures/unit/parser/lexer/casestatement.pp +0 -65
  1255. data/spec/fixtures/unit/parser/lexer/classheirarchy.pp +0 -15
  1256. data/spec/fixtures/unit/parser/lexer/classincludes.pp +0 -17
  1257. data/spec/fixtures/unit/parser/lexer/classpathtest.pp +0 -11
  1258. data/spec/fixtures/unit/parser/lexer/collection.pp +0 -10
  1259. data/spec/fixtures/unit/parser/lexer/collection_override.pp +0 -8
  1260. data/spec/fixtures/unit/parser/lexer/collection_within_virtual_definitions.pp +0 -20
  1261. data/spec/fixtures/unit/parser/lexer/componentmetaparams.pp +0 -11
  1262. data/spec/fixtures/unit/parser/lexer/componentrequire.pp +0 -8
  1263. data/spec/fixtures/unit/parser/lexer/deepclassheirarchy.pp +0 -23
  1264. data/spec/fixtures/unit/parser/lexer/defineoverrides.pp +0 -17
  1265. data/spec/fixtures/unit/parser/lexer/emptyclass.pp +0 -9
  1266. data/spec/fixtures/unit/parser/lexer/emptyexec.pp +0 -3
  1267. data/spec/fixtures/unit/parser/lexer/emptyifelse.pp +0 -9
  1268. data/spec/fixtures/unit/parser/lexer/falsevalues.pp +0 -3
  1269. data/spec/fixtures/unit/parser/lexer/filecreate.pp +0 -11
  1270. data/spec/fixtures/unit/parser/lexer/fqdefinition.pp +0 -5
  1271. data/spec/fixtures/unit/parser/lexer/fqparents.pp +0 -11
  1272. data/spec/fixtures/unit/parser/lexer/funccomma.pp +0 -5
  1273. data/spec/fixtures/unit/parser/lexer/hash.pp +0 -33
  1274. data/spec/fixtures/unit/parser/lexer/ifexpression.pp +0 -12
  1275. data/spec/fixtures/unit/parser/lexer/implicititeration.pp +0 -15
  1276. data/spec/fixtures/unit/parser/lexer/multilinecomments.pp +0 -10
  1277. data/spec/fixtures/unit/parser/lexer/multipleclass.pp +0 -9
  1278. data/spec/fixtures/unit/parser/lexer/multipleinstances.pp +0 -7
  1279. data/spec/fixtures/unit/parser/lexer/multisubs.pp +0 -13
  1280. data/spec/fixtures/unit/parser/lexer/namevartest.pp +0 -9
  1281. data/spec/fixtures/unit/parser/lexer/scopetest.pp +0 -13
  1282. data/spec/fixtures/unit/parser/lexer/selectorvalues.pp +0 -49
  1283. data/spec/fixtures/unit/parser/lexer/simpledefaults.pp +0 -5
  1284. data/spec/fixtures/unit/parser/lexer/simpleselector.pp +0 -38
  1285. data/spec/fixtures/unit/parser/lexer/singleary.pp +0 -19
  1286. data/spec/fixtures/unit/parser/lexer/singlequote.pp +0 -11
  1287. data/spec/fixtures/unit/parser/lexer/singleselector.pp +0 -22
  1288. data/spec/fixtures/unit/parser/lexer/subclass_name_duplication.pp +0 -11
  1289. data/spec/fixtures/unit/parser/lexer/tag.pp +0 -9
  1290. data/spec/fixtures/unit/parser/lexer/tagged.pp +0 -35
  1291. data/spec/fixtures/unit/parser/lexer/virtualresources.pp +0 -14
  1292. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/binder_config.yaml +0 -10
  1293. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/lib/puppet/bindings/confdirtest.rb +0 -10
  1294. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome2/lib/puppet/bindings/awesome2/default.rb +0 -20
  1295. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome2/lib/puppet_x/awesome2/echo_scheme_handler.rb +0 -18
  1296. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/bad/lib/puppet/bindings/bad/default.rb +0 -5
  1297. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/good/lib/puppet/bindings/good/default.rb +0 -6
  1298. data/spec/fixtures/unit/pops/binder/config/binder_config/nolayer/binder_config.yaml +0 -6
  1299. data/spec/fixtures/unit/pops/binder/config/binder_config/ok/binder_config.yaml +0 -9
  1300. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/functions/usee_puppet.pp +0 -3
  1301. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/functions/usee/callee.rb +0 -5
  1302. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/functions/usee/usee_ruby.rb +0 -6
  1303. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/type/usee_type.rb +0 -5
  1304. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/manifests/init.pp +0 -8
  1305. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/types/zero.pp +0 -1
  1306. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee2/lib/puppet/functions/usee2/callee.rb +0 -5
  1307. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/functions/puppet_calling_puppet.pp +0 -5
  1308. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/functions/puppet_calling_puppet_init.pp +0 -5
  1309. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/functions/puppet_calling_ruby.pp +0 -5
  1310. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/caller.rb +0 -5
  1311. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/caller2.rb +0 -5
  1312. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/ruby_calling_puppet.rb +0 -5
  1313. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/ruby_calling_puppet_init.rb +0 -5
  1314. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/ruby_calling_ruby.rb +0 -5
  1315. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/manifests/init.pp +0 -87
  1316. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/metadata.json +0 -10
  1317. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/types/withuseeone.pp +0 -1
  1318. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/types/withuseezero.pp +0 -1
  1319. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load.rb +0 -11
  1320. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load2.rb +0 -11
  1321. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load3.rb +0 -11
  1322. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load4.rb +0 -11
  1323. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load5.rb +0 -12
  1324. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/callee.rb +0 -8
  1325. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/callee_ws.rb +0 -8
  1326. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/func_with_syntax_error.rb +0 -9
  1327. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/good_func_load.rb +0 -9
  1328. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/metadata.json +0 -9
  1329. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/functions/puppetcalled.pp +0 -3
  1330. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/functions/puppetcaller.pp +0 -3
  1331. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/functions/puppetcaller4.pp +0 -3
  1332. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/lib/puppet/functions/user/caller.rb +0 -5
  1333. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/lib/puppet/functions/user/caller_ws.rb +0 -12
  1334. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/lib/puppet/functions/user/callingpuppet.rb +0 -5
  1335. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/metadata.json +0 -9
  1336. data/spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/functions/hello.pp +0 -3
  1337. data/spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/manifests/init.pp +0 -3
  1338. data/spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/metadata.json +0 -10
  1339. data/spec/fixtures/unit/pops/loaders/loaders/no_modules/manifests/site.pp +0 -10
  1340. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/functions/hello.pp +0 -3
  1341. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/functions/subspace/hello.pp +0 -3
  1342. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/lib/puppet/functions/modulea/rb_func_a.rb +0 -5
  1343. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/lib/puppet/functions/rb_func_a.rb +0 -5
  1344. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/manifests/init.pp +0 -3
  1345. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/metadata.json +0 -10
  1346. data/spec/fixtures/unit/pops/loaders/loaders/wo_metadata_module/modules/moduleb/lib/puppet/functions/moduleb/rb_func_b.rb +0 -6
  1347. data/spec/fixtures/unit/pops/loaders/loaders/wo_metadata_module/modules/moduleb/manifests/init.pp +0 -3
  1348. data/spec/fixtures/unit/pops/parser/lexer/aliastest.pp +0 -16
  1349. data/spec/fixtures/unit/pops/parser/lexer/append.pp +0 -11
  1350. data/spec/fixtures/unit/pops/parser/lexer/argumentdefaults.pp +0 -14
  1351. data/spec/fixtures/unit/pops/parser/lexer/arithmetic_expression.pp +0 -8
  1352. data/spec/fixtures/unit/pops/parser/lexer/arraytrailingcomma.pp +0 -3
  1353. data/spec/fixtures/unit/pops/parser/lexer/casestatement.pp +0 -65
  1354. data/spec/fixtures/unit/pops/parser/lexer/classheirarchy.pp +0 -15
  1355. data/spec/fixtures/unit/pops/parser/lexer/classincludes.pp +0 -17
  1356. data/spec/fixtures/unit/pops/parser/lexer/classpathtest.pp +0 -11
  1357. data/spec/fixtures/unit/pops/parser/lexer/collection.pp +0 -10
  1358. data/spec/fixtures/unit/pops/parser/lexer/collection_override.pp +0 -8
  1359. data/spec/fixtures/unit/pops/parser/lexer/collection_within_virtual_definitions.pp +0 -20
  1360. data/spec/fixtures/unit/pops/parser/lexer/componentmetaparams.pp +0 -11
  1361. data/spec/fixtures/unit/pops/parser/lexer/componentrequire.pp +0 -8
  1362. data/spec/fixtures/unit/pops/parser/lexer/deepclassheirarchy.pp +0 -23
  1363. data/spec/fixtures/unit/pops/parser/lexer/defineoverrides.pp +0 -17
  1364. data/spec/fixtures/unit/pops/parser/lexer/emptyclass.pp +0 -9
  1365. data/spec/fixtures/unit/pops/parser/lexer/emptyexec.pp +0 -3
  1366. data/spec/fixtures/unit/pops/parser/lexer/emptyifelse.pp +0 -9
  1367. data/spec/fixtures/unit/pops/parser/lexer/falsevalues.pp +0 -3
  1368. data/spec/fixtures/unit/pops/parser/lexer/filecreate.pp +0 -11
  1369. data/spec/fixtures/unit/pops/parser/lexer/fqdefinition.pp +0 -5
  1370. data/spec/fixtures/unit/pops/parser/lexer/fqparents.pp +0 -11
  1371. data/spec/fixtures/unit/pops/parser/lexer/funccomma.pp +0 -5
  1372. data/spec/fixtures/unit/pops/parser/lexer/hash.pp +0 -33
  1373. data/spec/fixtures/unit/pops/parser/lexer/ifexpression.pp +0 -12
  1374. data/spec/fixtures/unit/pops/parser/lexer/implicititeration.pp +0 -15
  1375. data/spec/fixtures/unit/pops/parser/lexer/multilinecomments.pp +0 -10
  1376. data/spec/fixtures/unit/pops/parser/lexer/multipleclass.pp +0 -9
  1377. data/spec/fixtures/unit/pops/parser/lexer/multipleinstances.pp +0 -7
  1378. data/spec/fixtures/unit/pops/parser/lexer/multisubs.pp +0 -13
  1379. data/spec/fixtures/unit/pops/parser/lexer/namevartest.pp +0 -9
  1380. data/spec/fixtures/unit/pops/parser/lexer/scopetest.pp +0 -13
  1381. data/spec/fixtures/unit/pops/parser/lexer/selectorvalues.pp +0 -49
  1382. data/spec/fixtures/unit/pops/parser/lexer/simpledefaults.pp +0 -5
  1383. data/spec/fixtures/unit/pops/parser/lexer/simpleselector.pp +0 -38
  1384. data/spec/fixtures/unit/pops/parser/lexer/singleary.pp +0 -19
  1385. data/spec/fixtures/unit/pops/parser/lexer/singlequote.pp +0 -11
  1386. data/spec/fixtures/unit/pops/parser/lexer/singleselector.pp +0 -22
  1387. data/spec/fixtures/unit/pops/parser/lexer/subclass_name_duplication.pp +0 -11
  1388. data/spec/fixtures/unit/pops/parser/lexer/tag.pp +0 -9
  1389. data/spec/fixtures/unit/pops/parser/lexer/tagged.pp +0 -35
  1390. data/spec/fixtures/unit/pops/parser/lexer/virtualresources.pp +0 -14
  1391. data/spec/fixtures/unit/provider/aix_object/aix_colon_list_real_world_input.out +0 -1
  1392. data/spec/fixtures/unit/provider/aix_object/aix_colon_list_real_world_output.out +0 -1
  1393. data/spec/fixtures/unit/provider/cron/crontab/single_line.yaml +0 -272
  1394. data/spec/fixtures/unit/provider/cron/crontab/vixie_header.txt +0 -3
  1395. data/spec/fixtures/unit/provider/cron/parsed/managed +0 -6
  1396. data/spec/fixtures/unit/provider/cron/parsed/simple +0 -9
  1397. data/spec/fixtures/unit/provider/package/dnfmodule/dnf-module-list.txt +0 -19
  1398. data/spec/fixtures/unit/provider/package/gem/gem-list-single-package +0 -4
  1399. data/spec/fixtures/unit/provider/package/gem/line-with-1.8.5-warning +0 -14
  1400. data/spec/fixtures/unit/provider/package/openbsd/pkginfo.detail +0 -19
  1401. data/spec/fixtures/unit/provider/package/openbsd/pkginfo.list +0 -10
  1402. data/spec/fixtures/unit/provider/package/openbsd/pkginfo.query +0 -1
  1403. data/spec/fixtures/unit/provider/package/openbsd/pkginfo_flavors.list +0 -2
  1404. data/spec/fixtures/unit/provider/package/pkg/dummy_implicit_version +0 -3
  1405. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris10 +0 -1
  1406. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.certificate_warning +0 -2
  1407. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.ifo.installed +0 -1
  1408. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.ifo.known +0 -1
  1409. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.installed +0 -1
  1410. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.known +0 -1
  1411. data/spec/fixtures/unit/provider/package/pkg/incomplete +0 -1
  1412. data/spec/fixtures/unit/provider/package/pkg/solaris11 +0 -2
  1413. data/spec/fixtures/unit/provider/package/pkg/unknown_status +0 -12
  1414. data/spec/fixtures/unit/provider/package/pkgng/pkg.query +0 -7
  1415. data/spec/fixtures/unit/provider/package/pkgng/pkg.query.zsh +0 -1
  1416. data/spec/fixtures/unit/provider/package/pkgng/pkg.version +0 -5
  1417. data/spec/fixtures/unit/provider/package/puppetserver_gem/gem-list-local-packages +0 -30
  1418. data/spec/fixtures/unit/provider/package/sun/dummy.server +0 -12
  1419. data/spec/fixtures/unit/provider/package/sun/simple +0 -24
  1420. data/spec/fixtures/unit/provider/package/yum/yum-check-update-broken-notices.txt +0 -187
  1421. data/spec/fixtures/unit/provider/package/yum/yum-check-update-multiline.txt +0 -201
  1422. data/spec/fixtures/unit/provider/package/yum/yum-check-update-obsoletes.txt +0 -195
  1423. data/spec/fixtures/unit/provider/package/yum/yum-check-update-plugin-output.txt +0 -36
  1424. data/spec/fixtures/unit/provider/package/yum/yum-check-update-security.txt +0 -184
  1425. data/spec/fixtures/unit/provider/package/yum/yum-check-update-simple.txt +0 -13
  1426. data/spec/fixtures/unit/provider/package/yum/yum-check-update-subscription-manager.txt +0 -9
  1427. data/spec/fixtures/unit/provider/package/zypper/zypper-list-updates-SLES11sp1.out +0 -369
  1428. data/spec/fixtures/unit/provider/package/zypper/zypper-list-updates-empty.out +0 -3
  1429. data/spec/fixtures/unit/provider/package/zypper/zypper-search-uninstalled.out +0 -13
  1430. data/spec/fixtures/unit/provider/parsedfile/aliases.txt +0 -2
  1431. data/spec/fixtures/unit/provider/parsedfile/simple.txt +0 -7
  1432. data/spec/fixtures/unit/provider/service/base/ps_ef.mixed_encoding +0 -3
  1433. data/spec/fixtures/unit/provider/service/gentoo/rc_update_show +0 -30
  1434. data/spec/fixtures/unit/provider/service/openbsd/rcctl_getall +0 -6
  1435. data/spec/fixtures/unit/provider/service/openrc/rcservice_list +0 -8
  1436. data/spec/fixtures/unit/provider/service/openrc/rcstatus +0 -43
  1437. data/spec/fixtures/unit/provider/service/smf/svcs_fmri.out +0 -6
  1438. data/spec/fixtures/unit/provider/service/smf/svcs_instances.out +0 -4
  1439. data/spec/fixtures/unit/provider/service/smf/svcs_multiple_fmris.out +0 -13
  1440. data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services +0 -16
  1441. data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services_vendor_preset +0 -9
  1442. data/spec/fixtures/unit/provider/user/aix/aix_passwd_file.out +0 -36
  1443. data/spec/fixtures/unit/reports/tagmail/tagmail_email.conf +0 -2
  1444. data/spec/fixtures/unit/reports/tagmail/tagmail_failers.conf +0 -3
  1445. data/spec/fixtures/unit/reports/tagmail/tagmail_passers.conf +0 -30
  1446. data/spec/fixtures/unit/ssl/certificate/old-style-cert-exts.pem +0 -33
  1447. data/spec/fixtures/unit/ssl/certificate_request/old-style-cert-request.pem +0 -28
  1448. data/spec/fixtures/unit/type/user/authorized_keys +0 -6
  1449. data/spec/fixtures/unit/util/filetype/aixtab_output +0 -44
  1450. data/spec/fixtures/unit/util/filetype/suntab_output +0 -9
  1451. data/spec/fixtures/unit/util/monkey_patches/x509.pem +0 -32
  1452. data/spec/fixtures/unit/util/rdoc/basic.pp +0 -16
  1453. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_md5/should_fetch_if_not_on_the_local_disk.yml +0 -104
  1454. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_md5/should_not_update_if_content_on_disk_is_up-to-date.yml +0 -108
  1455. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_md5/should_update_if_content_differs_on_disk.yml +0 -108
  1456. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_fetch_if_mtime_is_older_on_disk.yml +0 -104
  1457. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_fetch_if_no_header_specified.yml +0 -100
  1458. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_fetch_if_not_on_the_local_disk.yml +0 -104
  1459. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_not_update_if_mtime_is_newer_on_disk.yml +0 -104
  1460. data/spec/fixtures/yaml/report2.6.x.yaml +0 -190
  1461. data/spec/fixtures/yaml/test.local.yaml +0 -16
  1462. data/spec/integration/agent/logging_spec.rb +0 -179
  1463. data/spec/integration/application/agent_spec.rb +0 -1054
  1464. data/spec/integration/application/apply_spec.rb +0 -781
  1465. data/spec/integration/application/doc_spec.rb +0 -24
  1466. data/spec/integration/application/filebucket_spec.rb +0 -255
  1467. data/spec/integration/application/help_spec.rb +0 -44
  1468. data/spec/integration/application/lookup_spec.rb +0 -275
  1469. data/spec/integration/application/module_spec.rb +0 -230
  1470. data/spec/integration/application/plugin_spec.rb +0 -145
  1471. data/spec/integration/application/resource_spec.rb +0 -68
  1472. data/spec/integration/application/ssl_spec.rb +0 -20
  1473. data/spec/integration/configurer_spec.rb +0 -166
  1474. data/spec/integration/data_binding_spec.rb +0 -278
  1475. data/spec/integration/defaults_spec.rb +0 -279
  1476. data/spec/integration/directory_environments_spec.rb +0 -67
  1477. data/spec/integration/environments/default_manifest_spec.rb +0 -215
  1478. data/spec/integration/environments/setting_hooks_spec.rb +0 -27
  1479. data/spec/integration/environments/settings_interpolation_spec.rb +0 -106
  1480. data/spec/integration/environments/settings_spec.rb +0 -128
  1481. data/spec/integration/http/client_spec.rb +0 -229
  1482. data/spec/integration/indirector/catalog/compiler_spec.rb +0 -75
  1483. data/spec/integration/indirector/direct_file_server_spec.rb +0 -90
  1484. data/spec/integration/indirector/facts/facter_spec.rb +0 -168
  1485. data/spec/integration/indirector/file_content/file_server_spec.rb +0 -106
  1486. data/spec/integration/indirector/file_metadata/file_server_spec.rb +0 -75
  1487. data/spec/integration/l10n/compiler_spec.rb +0 -37
  1488. data/spec/integration/network/formats_spec.rb +0 -90
  1489. data/spec/integration/network/http/api/indirected_routes_spec.rb +0 -60
  1490. data/spec/integration/network/http_pool_spec.rb +0 -275
  1491. data/spec/integration/node/environment_spec.rb +0 -170
  1492. data/spec/integration/node/facts_spec.rb +0 -40
  1493. data/spec/integration/node_spec.rb +0 -77
  1494. data/spec/integration/parser/catalog_spec.rb +0 -68
  1495. data/spec/integration/parser/class_spec.rb +0 -33
  1496. data/spec/integration/parser/collection_spec.rb +0 -362
  1497. data/spec/integration/parser/compiler_spec.rb +0 -1221
  1498. data/spec/integration/parser/conditionals_spec.rb +0 -95
  1499. data/spec/integration/parser/dynamic_scoping_spec.rb +0 -66
  1500. data/spec/integration/parser/environment_spec.rb +0 -47
  1501. data/spec/integration/parser/node_spec.rb +0 -163
  1502. data/spec/integration/parser/parameter_defaults_spec.rb +0 -358
  1503. data/spec/integration/parser/pcore_resource_spec.rb +0 -243
  1504. data/spec/integration/parser/resource_expressions_spec.rb +0 -222
  1505. data/spec/integration/parser/scope_spec.rb +0 -735
  1506. data/spec/integration/parser/script_compiler_spec.rb +0 -113
  1507. data/spec/integration/parser/undef_param_spec.rb +0 -95
  1508. data/spec/integration/provider/file/windows_spec.rb +0 -162
  1509. data/spec/integration/resource/catalog_spec.rb +0 -47
  1510. data/spec/integration/resource/type_collection_spec.rb +0 -88
  1511. data/spec/integration/transaction/report_spec.rb +0 -706
  1512. data/spec/integration/transaction_spec.rb +0 -553
  1513. data/spec/integration/type/exec_spec.rb +0 -114
  1514. data/spec/integration/type/file_spec.rb +0 -2012
  1515. data/spec/integration/type/notify_spec.rb +0 -46
  1516. data/spec/integration/type/package_spec.rb +0 -200
  1517. data/spec/integration/type/tidy_spec.rb +0 -45
  1518. data/spec/integration/type_spec.rb +0 -30
  1519. data/spec/integration/util/autoload_spec.rb +0 -104
  1520. data/spec/integration/util/execution_spec.rb +0 -104
  1521. data/spec/integration/util/rdoc/parser_spec.rb +0 -171
  1522. data/spec/integration/util/settings_spec.rb +0 -115
  1523. data/spec/integration/util/windows/adsi_spec.rb +0 -207
  1524. data/spec/integration/util/windows/monkey_patches/process_spec.rb +0 -231
  1525. data/spec/integration/util/windows/principal_spec.rb +0 -279
  1526. data/spec/integration/util/windows/process_spec.rb +0 -96
  1527. data/spec/integration/util/windows/registry_spec.rb +0 -334
  1528. data/spec/integration/util/windows/security_spec.rb +0 -1010
  1529. data/spec/integration/util/windows/user_spec.rb +0 -226
  1530. data/spec/integration/util_spec.rb +0 -104
  1531. data/spec/lib/matchers/containment_matchers.rb +0 -52
  1532. data/spec/lib/matchers/include_in_order.rb +0 -20
  1533. data/spec/lib/matchers/include_in_order_spec.rb +0 -30
  1534. data/spec/lib/matchers/json.rb +0 -132
  1535. data/spec/lib/matchers/match_tokens2.rb +0 -74
  1536. data/spec/lib/matchers/relationship_graph_matchers.rb +0 -48
  1537. data/spec/lib/matchers/resource.rb +0 -74
  1538. data/spec/lib/puppet/certificate_factory.rb +0 -218
  1539. data/spec/lib/puppet/face/1.0.0/huzzah.rb +0 -8
  1540. data/spec/lib/puppet/face/basetest.rb +0 -51
  1541. data/spec/lib/puppet/face/huzzah/obsolete.rb +0 -6
  1542. data/spec/lib/puppet/face/huzzah.rb +0 -8
  1543. data/spec/lib/puppet/face/version_matching.rb +0 -12
  1544. data/spec/lib/puppet/indirector/indirector_testing/json.rb +0 -6
  1545. data/spec/lib/puppet/indirector/indirector_testing/memory.rb +0 -7
  1546. data/spec/lib/puppet/indirector/indirector_testing/msgpack.rb +0 -6
  1547. data/spec/lib/puppet/indirector_proxy.rb +0 -34
  1548. data/spec/lib/puppet/indirector_testing.rb +0 -31
  1549. data/spec/lib/puppet/test_ca.rb +0 -157
  1550. data/spec/lib/puppet_spec/character_encoding.rb +0 -12
  1551. data/spec/lib/puppet_spec/compiler.rb +0 -112
  1552. data/spec/lib/puppet_spec/files.rb +0 -107
  1553. data/spec/lib/puppet_spec/fixtures.rb +0 -52
  1554. data/spec/lib/puppet_spec/handler.rb +0 -53
  1555. data/spec/lib/puppet_spec/https.rb +0 -95
  1556. data/spec/lib/puppet_spec/language.rb +0 -75
  1557. data/spec/lib/puppet_spec/matchers.rb +0 -68
  1558. data/spec/lib/puppet_spec/module_tool/shared_functions.rb +0 -56
  1559. data/spec/lib/puppet_spec/module_tool/stub_source.rb +0 -136
  1560. data/spec/lib/puppet_spec/modules.rb +0 -82
  1561. data/spec/lib/puppet_spec/network.rb +0 -127
  1562. data/spec/lib/puppet_spec/pops.rb +0 -29
  1563. data/spec/lib/puppet_spec/puppetserver.rb +0 -179
  1564. data/spec/lib/puppet_spec/scope.rb +0 -13
  1565. data/spec/lib/puppet_spec/settings.rb +0 -39
  1566. data/spec/lib/puppet_spec/ssl.rb +0 -265
  1567. data/spec/lib/puppet_spec/unindent.rb +0 -5
  1568. data/spec/lib/puppet_spec/verbose.rb +0 -18
  1569. data/spec/shared_behaviours/all_parsedfile_providers.rb +0 -21
  1570. data/spec/shared_behaviours/an_indirector_face.rb +0 -6
  1571. data/spec/shared_behaviours/documentation_on_faces.rb +0 -261
  1572. data/spec/shared_behaviours/file_server_terminus.rb +0 -38
  1573. data/spec/shared_behaviours/file_serving.rb +0 -73
  1574. data/spec/shared_behaviours/hiera_indirections.rb +0 -98
  1575. data/spec/shared_behaviours/iterative_functions.rb +0 -68
  1576. data/spec/shared_behaviours/memory_terminus.rb +0 -28
  1577. data/spec/shared_behaviours/path_parameters.rb +0 -160
  1578. data/spec/shared_behaviours/store_configs_terminus.rb +0 -21
  1579. data/spec/shared_behaviours/things_that_declare_options.rb +0 -262
  1580. data/spec/shared_contexts/checksum.rb +0 -65
  1581. data/spec/shared_contexts/digests.rb +0 -100
  1582. data/spec/shared_contexts/https.rb +0 -29
  1583. data/spec/shared_contexts/l10n.rb +0 -32
  1584. data/spec/shared_contexts/provider.rb +0 -16
  1585. data/spec/shared_contexts/types_setup.rb +0 -204
  1586. data/spec/shared_examples/rhel_package_provider.rb +0 -398
  1587. data/spec/spec_helper.rb +0 -240
  1588. data/spec/unit/agent/disabler_spec.rb +0 -63
  1589. data/spec/unit/agent/locker_spec.rb +0 -99
  1590. data/spec/unit/agent_spec.rb +0 -416
  1591. data/spec/unit/application/agent_spec.rb +0 -640
  1592. data/spec/unit/application/apply_spec.rb +0 -559
  1593. data/spec/unit/application/config_spec.rb +0 -232
  1594. data/spec/unit/application/describe_spec.rb +0 -135
  1595. data/spec/unit/application/device_spec.rb +0 -616
  1596. data/spec/unit/application/doc_spec.rb +0 -333
  1597. data/spec/unit/application/face_base_spec.rb +0 -454
  1598. data/spec/unit/application/facts_spec.rb +0 -139
  1599. data/spec/unit/application/filebucket_spec.rb +0 -319
  1600. data/spec/unit/application/indirection_base_spec.rb +0 -50
  1601. data/spec/unit/application/lookup_spec.rb +0 -698
  1602. data/spec/unit/application/resource_spec.rb +0 -229
  1603. data/spec/unit/application/ssl_spec.rb +0 -507
  1604. data/spec/unit/application_spec.rb +0 -730
  1605. data/spec/unit/certificate_factory_spec.rb +0 -170
  1606. data/spec/unit/concurrent/lock_spec.rb +0 -29
  1607. data/spec/unit/concurrent/thread_local_singleton_spec.rb +0 -39
  1608. data/spec/unit/configurer/downloader_spec.rb +0 -252
  1609. data/spec/unit/configurer/fact_handler_spec.rb +0 -147
  1610. data/spec/unit/configurer/plugin_handler_spec.rb +0 -152
  1611. data/spec/unit/configurer_spec.rb +0 -1488
  1612. data/spec/unit/confine/exists_spec.rb +0 -82
  1613. data/spec/unit/confine/false_spec.rb +0 -78
  1614. data/spec/unit/confine/feature_spec.rb +0 -59
  1615. data/spec/unit/confine/true_spec.rb +0 -78
  1616. data/spec/unit/confine/variable_spec.rb +0 -105
  1617. data/spec/unit/confine_collection_spec.rb +0 -132
  1618. data/spec/unit/confine_spec.rb +0 -99
  1619. data/spec/unit/confiner_spec.rb +0 -61
  1620. data/spec/unit/context/trusted_information_spec.rb +0 -213
  1621. data/spec/unit/context_spec.rb +0 -217
  1622. data/spec/unit/daemon_spec.rb +0 -193
  1623. data/spec/unit/data_binding_spec.rb +0 -11
  1624. data/spec/unit/data_providers/function_data_provider_spec.rb +0 -122
  1625. data/spec/unit/data_providers/hiera_data_provider_spec.rb +0 -362
  1626. data/spec/unit/datatypes_spec.rb +0 -352
  1627. data/spec/unit/defaults_spec.rb +0 -182
  1628. data/spec/unit/environments_spec.rb +0 -1186
  1629. data/spec/unit/etc_spec.rb +0 -465
  1630. data/spec/unit/external/pson_spec.rb +0 -58
  1631. data/spec/unit/face/config_spec.rb +0 -402
  1632. data/spec/unit/face/epp_face_spec.rb +0 -385
  1633. data/spec/unit/face/facts_spec.rb +0 -78
  1634. data/spec/unit/face/generate_spec.rb +0 -293
  1635. data/spec/unit/face/help_spec.rb +0 -208
  1636. data/spec/unit/face/module/install_spec.rb +0 -40
  1637. data/spec/unit/face/module/list_spec.rb +0 -256
  1638. data/spec/unit/face/module/uninstall_spec.rb +0 -45
  1639. data/spec/unit/face/module/upgrade_spec.rb +0 -26
  1640. data/spec/unit/face/node_spec.rb +0 -129
  1641. data/spec/unit/face/parser_spec.rb +0 -310
  1642. data/spec/unit/face/plugin_spec.rb +0 -158
  1643. data/spec/unit/face_spec.rb +0 -1
  1644. data/spec/unit/facter_impl_spec.rb +0 -31
  1645. data/spec/unit/file_bucket/dipper_spec.rb +0 -405
  1646. data/spec/unit/file_bucket/file_spec.rb +0 -58
  1647. data/spec/unit/file_serving/base_spec.rb +0 -164
  1648. data/spec/unit/file_serving/configuration/parser_spec.rb +0 -206
  1649. data/spec/unit/file_serving/configuration_spec.rb +0 -240
  1650. data/spec/unit/file_serving/content_spec.rb +0 -98
  1651. data/spec/unit/file_serving/fileset_spec.rb +0 -417
  1652. data/spec/unit/file_serving/http_metadata_spec.rb +0 -109
  1653. data/spec/unit/file_serving/metadata_spec.rb +0 -551
  1654. data/spec/unit/file_serving/mount/file_spec.rb +0 -188
  1655. data/spec/unit/file_serving/mount/locales_spec.rb +0 -72
  1656. data/spec/unit/file_serving/mount/modules_spec.rb +0 -69
  1657. data/spec/unit/file_serving/mount/pluginfacts_spec.rb +0 -72
  1658. data/spec/unit/file_serving/mount/plugins_spec.rb +0 -72
  1659. data/spec/unit/file_serving/mount/scripts_spec.rb +0 -69
  1660. data/spec/unit/file_serving/mount/tasks_spec.rb +0 -71
  1661. data/spec/unit/file_serving/mount_spec.rb +0 -30
  1662. data/spec/unit/file_serving/terminus_helper_spec.rb +0 -114
  1663. data/spec/unit/file_serving/terminus_selector_spec.rb +0 -84
  1664. data/spec/unit/file_system/path_pattern_spec.rb +0 -153
  1665. data/spec/unit/file_system/uniquefile_spec.rb +0 -245
  1666. data/spec/unit/file_system_spec.rb +0 -1198
  1667. data/spec/unit/forge/errors_spec.rb +0 -80
  1668. data/spec/unit/forge/forge_spec.rb +0 -69
  1669. data/spec/unit/forge/module_release_spec.rb +0 -331
  1670. data/spec/unit/forge/repository_spec.rb +0 -154
  1671. data/spec/unit/forge_spec.rb +0 -210
  1672. data/spec/unit/functions/abs_spec.rb +0 -70
  1673. data/spec/unit/functions/all_spec.rb +0 -97
  1674. data/spec/unit/functions/annotate_spec.rb +0 -175
  1675. data/spec/unit/functions/any_spec.rb +0 -109
  1676. data/spec/unit/functions/assert_type_spec.rb +0 -97
  1677. data/spec/unit/functions/binary_file_spec.rb +0 -46
  1678. data/spec/unit/functions/break_spec.rb +0 -207
  1679. data/spec/unit/functions/call_spec.rb +0 -131
  1680. data/spec/unit/functions/camelcase_spec.rb +0 -34
  1681. data/spec/unit/functions/capitalize_spec.rb +0 -34
  1682. data/spec/unit/functions/ceiling_spec.rb +0 -65
  1683. data/spec/unit/functions/chomp_spec.rb +0 -46
  1684. data/spec/unit/functions/chop_spec.rb +0 -38
  1685. data/spec/unit/functions/compare_spec.rb +0 -147
  1686. data/spec/unit/functions/contain_spec.rb +0 -297
  1687. data/spec/unit/functions/convert_to_spec.rb +0 -25
  1688. data/spec/unit/functions/defined_spec.rb +0 -288
  1689. data/spec/unit/functions/dig_spec.rb +0 -58
  1690. data/spec/unit/functions/downcase_spec.rb +0 -34
  1691. data/spec/unit/functions/each_spec.rb +0 -107
  1692. data/spec/unit/functions/empty_spec.rb +0 -87
  1693. data/spec/unit/functions/epp_spec.rb +0 -178
  1694. data/spec/unit/functions/filter_spec.rb +0 -145
  1695. data/spec/unit/functions/find_file_spec.rb +0 -69
  1696. data/spec/unit/functions/find_template_spec.rb +0 -69
  1697. data/spec/unit/functions/flatten_spec.rb +0 -31
  1698. data/spec/unit/functions/floor_spec.rb +0 -65
  1699. data/spec/unit/functions/get_spec.rb +0 -135
  1700. data/spec/unit/functions/getvar_spec.rb +0 -121
  1701. data/spec/unit/functions/group_by_spec.rb +0 -40
  1702. data/spec/unit/functions/hiera_spec.rb +0 -495
  1703. data/spec/unit/functions/include_spec.rb +0 -186
  1704. data/spec/unit/functions/index_spec.rb +0 -184
  1705. data/spec/unit/functions/inline_epp_spec.rb +0 -120
  1706. data/spec/unit/functions/join_spec.rb +0 -33
  1707. data/spec/unit/functions/keys_spec.rb +0 -31
  1708. data/spec/unit/functions/length_spec.rb +0 -50
  1709. data/spec/unit/functions/lest_spec.rb +0 -34
  1710. data/spec/unit/functions/logging_spec.rb +0 -62
  1711. data/spec/unit/functions/lookup_fixture_spec.rb +0 -687
  1712. data/spec/unit/functions/lookup_spec.rb +0 -3415
  1713. data/spec/unit/functions/lstrip_spec.rb +0 -30
  1714. data/spec/unit/functions/map_spec.rb +0 -163
  1715. data/spec/unit/functions/match_spec.rb +0 -74
  1716. data/spec/unit/functions/max_spec.rb +0 -158
  1717. data/spec/unit/functions/min_spec.rb +0 -158
  1718. data/spec/unit/functions/module_directory_spec.rb +0 -43
  1719. data/spec/unit/functions/new_spec.rb +0 -776
  1720. data/spec/unit/functions/next_spec.rb +0 -93
  1721. data/spec/unit/functions/partition_spec.rb +0 -40
  1722. data/spec/unit/functions/reduce_spec.rb +0 -85
  1723. data/spec/unit/functions/regsubst_spec.rb +0 -114
  1724. data/spec/unit/functions/require_spec.rb +0 -82
  1725. data/spec/unit/functions/return_spec.rb +0 -109
  1726. data/spec/unit/functions/reverse_each_spec.rb +0 -108
  1727. data/spec/unit/functions/round_spec.rb +0 -41
  1728. data/spec/unit/functions/rstrip_spec.rb +0 -30
  1729. data/spec/unit/functions/scanf_spec.rb +0 -32
  1730. data/spec/unit/functions/shared.rb +0 -94
  1731. data/spec/unit/functions/size_spec.rb +0 -50
  1732. data/spec/unit/functions/slice_spec.rb +0 -136
  1733. data/spec/unit/functions/sort_spec.rb +0 -79
  1734. data/spec/unit/functions/split_spec.rb +0 -59
  1735. data/spec/unit/functions/step_spec.rb +0 -113
  1736. data/spec/unit/functions/strftime_spec.rb +0 -152
  1737. data/spec/unit/functions/strip_spec.rb +0 -30
  1738. data/spec/unit/functions/then_spec.rb +0 -40
  1739. data/spec/unit/functions/tree_each_spec.rb +0 -493
  1740. data/spec/unit/functions/type_spec.rb +0 -35
  1741. data/spec/unit/functions/unique_spec.rb +0 -111
  1742. data/spec/unit/functions/unwrap_spec.rb +0 -37
  1743. data/spec/unit/functions/upcase_spec.rb +0 -34
  1744. data/spec/unit/functions/values_spec.rb +0 -30
  1745. data/spec/unit/functions/versioncmp_spec.rb +0 -70
  1746. data/spec/unit/functions/with_spec.rb +0 -31
  1747. data/spec/unit/functions4_spec.rb +0 -1046
  1748. data/spec/unit/gettext/config_spec.rb +0 -156
  1749. data/spec/unit/gettext/module_loading_spec.rb +0 -53
  1750. data/spec/unit/graph/key_spec.rb +0 -41
  1751. data/spec/unit/graph/rb_tree_map_spec.rb +0 -570
  1752. data/spec/unit/graph/relationship_graph_spec.rb +0 -401
  1753. data/spec/unit/graph/sequential_prioritizer_spec.rb +0 -32
  1754. data/spec/unit/graph/simple_graph_spec.rb +0 -759
  1755. data/spec/unit/hiera/scope_spec.rb +0 -105
  1756. data/spec/unit/hiera_puppet_spec.rb +0 -159
  1757. data/spec/unit/http/client_spec.rb +0 -937
  1758. data/spec/unit/http/dns_spec.rb +0 -281
  1759. data/spec/unit/http/external_client_spec.rb +0 -201
  1760. data/spec/unit/http/factory_spec.rb +0 -160
  1761. data/spec/unit/http/pool_entry_spec.rb +0 -49
  1762. data/spec/unit/http/pool_spec.rb +0 -401
  1763. data/spec/unit/http/proxy_spec.rb +0 -347
  1764. data/spec/unit/http/resolver_spec.rb +0 -133
  1765. data/spec/unit/http/response_spec.rb +0 -75
  1766. data/spec/unit/http/service/ca_spec.rb +0 -281
  1767. data/spec/unit/http/service/compiler_spec.rb +0 -746
  1768. data/spec/unit/http/service/file_server_spec.rb +0 -309
  1769. data/spec/unit/http/service/puppetserver_spec.rb +0 -112
  1770. data/spec/unit/http/service/report_spec.rb +0 -107
  1771. data/spec/unit/http/service_spec.rb +0 -137
  1772. data/spec/unit/http/session_spec.rb +0 -309
  1773. data/spec/unit/http/site_spec.rb +0 -96
  1774. data/spec/unit/indirector/catalog/compiler_spec.rb +0 -1221
  1775. data/spec/unit/indirector/catalog/json_spec.rb +0 -66
  1776. data/spec/unit/indirector/catalog/msgpack_spec.rb +0 -11
  1777. data/spec/unit/indirector/catalog/rest_spec.rb +0 -74
  1778. data/spec/unit/indirector/catalog/store_configs_spec.rb +0 -16
  1779. data/spec/unit/indirector/catalog/yaml_spec.rb +0 -23
  1780. data/spec/unit/indirector/data_binding/hiera_spec.rb +0 -19
  1781. data/spec/unit/indirector/data_binding/none_spec.rb +0 -28
  1782. data/spec/unit/indirector/direct_file_server_spec.rb +0 -87
  1783. data/spec/unit/indirector/envelope_spec.rb +0 -32
  1784. data/spec/unit/indirector/exec_spec.rb +0 -63
  1785. data/spec/unit/indirector/face_spec.rb +0 -80
  1786. data/spec/unit/indirector/facts/facter_spec.rb +0 -290
  1787. data/spec/unit/indirector/facts/json_spec.rb +0 -255
  1788. data/spec/unit/indirector/facts/network_device_spec.rb +0 -77
  1789. data/spec/unit/indirector/facts/rest_spec.rb +0 -99
  1790. data/spec/unit/indirector/facts/store_configs_spec.rb +0 -16
  1791. data/spec/unit/indirector/facts/yaml_spec.rb +0 -255
  1792. data/spec/unit/indirector/file_bucket_file/file_spec.rb +0 -426
  1793. data/spec/unit/indirector/file_bucket_file/rest_spec.rb +0 -89
  1794. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +0 -46
  1795. data/spec/unit/indirector/file_content/file_server_spec.rb +0 -13
  1796. data/spec/unit/indirector/file_content/file_spec.rb +0 -13
  1797. data/spec/unit/indirector/file_content/rest_spec.rb +0 -60
  1798. data/spec/unit/indirector/file_content/selector_spec.rb +0 -9
  1799. data/spec/unit/indirector/file_metadata/file_server_spec.rb +0 -13
  1800. data/spec/unit/indirector/file_metadata/file_spec.rb +0 -57
  1801. data/spec/unit/indirector/file_metadata/http_spec.rb +0 -194
  1802. data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -116
  1803. data/spec/unit/indirector/file_metadata/selector_spec.rb +0 -10
  1804. data/spec/unit/indirector/file_server_spec.rb +0 -288
  1805. data/spec/unit/indirector/hiera_spec.rb +0 -22
  1806. data/spec/unit/indirector/indirection_spec.rb +0 -916
  1807. data/spec/unit/indirector/json_spec.rb +0 -200
  1808. data/spec/unit/indirector/memory_spec.rb +0 -26
  1809. data/spec/unit/indirector/msgpack_spec.rb +0 -199
  1810. data/spec/unit/indirector/node/exec_spec.rb +0 -107
  1811. data/spec/unit/indirector/node/json_spec.rb +0 -33
  1812. data/spec/unit/indirector/node/memory_spec.rb +0 -16
  1813. data/spec/unit/indirector/node/msgpack_spec.rb +0 -23
  1814. data/spec/unit/indirector/node/plain_spec.rb +0 -34
  1815. data/spec/unit/indirector/node/rest_spec.rb +0 -66
  1816. data/spec/unit/indirector/node/store_configs_spec.rb +0 -16
  1817. data/spec/unit/indirector/node/yaml_spec.rb +0 -23
  1818. data/spec/unit/indirector/none_spec.rb +0 -33
  1819. data/spec/unit/indirector/plain_spec.rb +0 -26
  1820. data/spec/unit/indirector/report/json_spec.rb +0 -72
  1821. data/spec/unit/indirector/report/msgpack_spec.rb +0 -27
  1822. data/spec/unit/indirector/report/processor_spec.rb +0 -99
  1823. data/spec/unit/indirector/report/rest_spec.rb +0 -58
  1824. data/spec/unit/indirector/report/yaml_spec.rb +0 -91
  1825. data/spec/unit/indirector/request_spec.rb +0 -295
  1826. data/spec/unit/indirector/resource/ral_spec.rb +0 -89
  1827. data/spec/unit/indirector/resource/store_configs_spec.rb +0 -20
  1828. data/spec/unit/indirector/rest_spec.rb +0 -149
  1829. data/spec/unit/indirector/terminus_spec.rb +0 -264
  1830. data/spec/unit/indirector/yaml_spec.rb +0 -188
  1831. data/spec/unit/indirector_spec.rb +0 -148
  1832. data/spec/unit/info_service_spec.rb +0 -575
  1833. data/spec/unit/interface/action_builder_spec.rb +0 -216
  1834. data/spec/unit/interface/action_manager_spec.rb +0 -254
  1835. data/spec/unit/interface/action_spec.rb +0 -670
  1836. data/spec/unit/interface/documentation_spec.rb +0 -32
  1837. data/spec/unit/interface/face_collection_spec.rb +0 -219
  1838. data/spec/unit/interface/option_builder_spec.rb +0 -86
  1839. data/spec/unit/interface/option_spec.rb +0 -156
  1840. data/spec/unit/interface_spec.rb +0 -305
  1841. data/spec/unit/module_spec.rb +0 -985
  1842. data/spec/unit/module_tool/application_spec.rb +0 -25
  1843. data/spec/unit/module_tool/applications/checksummer_spec.rb +0 -115
  1844. data/spec/unit/module_tool/applications/installer_spec.rb +0 -473
  1845. data/spec/unit/module_tool/applications/uninstaller_spec.rb +0 -181
  1846. data/spec/unit/module_tool/applications/unpacker_spec.rb +0 -75
  1847. data/spec/unit/module_tool/applications/upgrader_spec.rb +0 -337
  1848. data/spec/unit/module_tool/install_directory_spec.rb +0 -70
  1849. data/spec/unit/module_tool/installed_modules_spec.rb +0 -49
  1850. data/spec/unit/module_tool/metadata_spec.rb +0 -330
  1851. data/spec/unit/module_tool/tar/gnu_spec.rb +0 -23
  1852. data/spec/unit/module_tool/tar/mini_spec.rb +0 -109
  1853. data/spec/unit/module_tool/tar_spec.rb +0 -36
  1854. data/spec/unit/module_tool_spec.rb +0 -304
  1855. data/spec/unit/network/authconfig_spec.rb +0 -8
  1856. data/spec/unit/network/authorization_spec.rb +0 -8
  1857. data/spec/unit/network/format_handler_spec.rb +0 -93
  1858. data/spec/unit/network/format_spec.rb +0 -205
  1859. data/spec/unit/network/format_support_spec.rb +0 -199
  1860. data/spec/unit/network/formats_spec.rb +0 -584
  1861. data/spec/unit/network/http/api/indirected_routes_spec.rb +0 -425
  1862. data/spec/unit/network/http/api/master_spec.rb +0 -38
  1863. data/spec/unit/network/http/api/server/v3/environments_spec.rb +0 -51
  1864. data/spec/unit/network/http/api/server/v3_spec.rb +0 -78
  1865. data/spec/unit/network/http/api_spec.rb +0 -109
  1866. data/spec/unit/network/http/connection_spec.rb +0 -636
  1867. data/spec/unit/network/http/error_spec.rb +0 -30
  1868. data/spec/unit/network/http/handler_spec.rb +0 -164
  1869. data/spec/unit/network/http/request_spec.rb +0 -108
  1870. data/spec/unit/network/http/response_spec.rb +0 -106
  1871. data/spec/unit/network/http/route_spec.rb +0 -90
  1872. data/spec/unit/network/http_pool_spec.rb +0 -145
  1873. data/spec/unit/network/uri_spec.rb +0 -47
  1874. data/spec/unit/node/environment_spec.rb +0 -612
  1875. data/spec/unit/node/facts_spec.rb +0 -225
  1876. data/spec/unit/node_spec.rb +0 -434
  1877. data/spec/unit/other/selinux_spec.rb +0 -27
  1878. data/spec/unit/parameter/boolean_spec.rb +0 -35
  1879. data/spec/unit/parameter/package_options_spec.rb +0 -43
  1880. data/spec/unit/parameter/path_spec.rb +0 -23
  1881. data/spec/unit/parameter/value_collection_spec.rb +0 -160
  1882. data/spec/unit/parameter/value_spec.rb +0 -82
  1883. data/spec/unit/parameter_spec.rb +0 -272
  1884. data/spec/unit/parser/ast/block_expression_spec.rb +0 -66
  1885. data/spec/unit/parser/ast/leaf_spec.rb +0 -136
  1886. data/spec/unit/parser/compiler_spec.rb +0 -1020
  1887. data/spec/unit/parser/files_spec.rb +0 -101
  1888. data/spec/unit/parser/functions/create_resources_spec.rb +0 -326
  1889. data/spec/unit/parser/functions/digest_spec.rb +0 -26
  1890. data/spec/unit/parser/functions/fail_spec.rb +0 -23
  1891. data/spec/unit/parser/functions/file_spec.rb +0 -99
  1892. data/spec/unit/parser/functions/fqdn_rand_spec.rb +0 -87
  1893. data/spec/unit/parser/functions/generate_spec.rb +0 -124
  1894. data/spec/unit/parser/functions/hiera_array_spec.rb +0 -12
  1895. data/spec/unit/parser/functions/hiera_hash_spec.rb +0 -12
  1896. data/spec/unit/parser/functions/hiera_include_spec.rb +0 -12
  1897. data/spec/unit/parser/functions/hiera_spec.rb +0 -12
  1898. data/spec/unit/parser/functions/inline_template_spec.rb +0 -36
  1899. data/spec/unit/parser/functions/lookup_spec.rb +0 -14
  1900. data/spec/unit/parser/functions/realize_spec.rb +0 -70
  1901. data/spec/unit/parser/functions/regsubst_spec.rb +0 -19
  1902. data/spec/unit/parser/functions/scanf_spec.rb +0 -25
  1903. data/spec/unit/parser/functions/shellquote_spec.rb +0 -66
  1904. data/spec/unit/parser/functions/split_spec.rb +0 -13
  1905. data/spec/unit/parser/functions/sprintf_spec.rb +0 -68
  1906. data/spec/unit/parser/functions/tag_spec.rb +0 -30
  1907. data/spec/unit/parser/functions/tagged_spec.rb +0 -36
  1908. data/spec/unit/parser/functions/template_spec.rb +0 -93
  1909. data/spec/unit/parser/functions/versioncmp_spec.rb +0 -28
  1910. data/spec/unit/parser/functions_spec.rb +0 -156
  1911. data/spec/unit/parser/relationship_spec.rb +0 -74
  1912. data/spec/unit/parser/resource/param_spec.rb +0 -32
  1913. data/spec/unit/parser/resource_spec.rb +0 -657
  1914. data/spec/unit/parser/scope_spec.rb +0 -698
  1915. data/spec/unit/parser/templatewrapper_spec.rb +0 -111
  1916. data/spec/unit/parser/type_loader_spec.rb +0 -202
  1917. data/spec/unit/plan_spec.rb +0 -65
  1918. data/spec/unit/pops/adaptable_spec.rb +0 -139
  1919. data/spec/unit/pops/benchmark_spec.rb +0 -123
  1920. data/spec/unit/pops/containment_spec.rb +0 -0
  1921. data/spec/unit/pops/evaluator/access_ops_spec.rb +0 -560
  1922. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +0 -317
  1923. data/spec/unit/pops/evaluator/basic_expressions_spec.rb +0 -101
  1924. data/spec/unit/pops/evaluator/collections_ops_spec.rb +0 -108
  1925. data/spec/unit/pops/evaluator/comparison_ops_spec.rb +0 -267
  1926. data/spec/unit/pops/evaluator/conditionals_spec.rb +0 -189
  1927. data/spec/unit/pops/evaluator/deferred_resolver_spec.rb +0 -46
  1928. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +0 -1639
  1929. data/spec/unit/pops/evaluator/evaluator_rspec_helper.rb +0 -75
  1930. data/spec/unit/pops/evaluator/json_strict_literal_evaluator_spec.rb +0 -63
  1931. data/spec/unit/pops/evaluator/literal_evaluator_spec.rb +0 -43
  1932. data/spec/unit/pops/evaluator/logical_ops_spec.rb +0 -89
  1933. data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +0 -181
  1934. data/spec/unit/pops/evaluator/string_interpolation_spec.rb +0 -43
  1935. data/spec/unit/pops/evaluator/variables_spec.rb +0 -88
  1936. data/spec/unit/pops/factory_rspec_helper.rb +0 -65
  1937. data/spec/unit/pops/factory_spec.rb +0 -309
  1938. data/spec/unit/pops/issues_spec.rb +0 -210
  1939. data/spec/unit/pops/label_provider_spec.rb +0 -46
  1940. data/spec/unit/pops/loaders/dependency_loader_spec.rb +0 -122
  1941. data/spec/unit/pops/loaders/environment_loader_spec.rb +0 -172
  1942. data/spec/unit/pops/loaders/loader_paths_spec.rb +0 -43
  1943. data/spec/unit/pops/loaders/loader_spec.rb +0 -516
  1944. data/spec/unit/pops/loaders/loaders_spec.rb +0 -863
  1945. data/spec/unit/pops/loaders/module_loaders_spec.rb +0 -268
  1946. data/spec/unit/pops/loaders/static_loader_spec.rb +0 -85
  1947. data/spec/unit/pops/lookup/context_spec.rb +0 -333
  1948. data/spec/unit/pops/lookup/interpolation_spec.rb +0 -389
  1949. data/spec/unit/pops/lookup/lookup_spec.rb +0 -375
  1950. data/spec/unit/pops/merge_strategy_spec.rb +0 -17
  1951. data/spec/unit/pops/migration_spec.rb +0 -51
  1952. data/spec/unit/pops/model/model_spec.rb +0 -41
  1953. data/spec/unit/pops/model/pn_transformer_spec.rb +0 -56
  1954. data/spec/unit/pops/parser/epp_parser_spec.rb +0 -115
  1955. data/spec/unit/pops/parser/evaluating_parser_spec.rb +0 -89
  1956. data/spec/unit/pops/parser/lexer2_spec.rb +0 -942
  1957. data/spec/unit/pops/parser/locator_spec.rb +0 -86
  1958. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -380
  1959. data/spec/unit/pops/parser/parse_calls_spec.rb +0 -171
  1960. data/spec/unit/pops/parser/parse_conditionals_spec.rb +0 -184
  1961. data/spec/unit/pops/parser/parse_containers_spec.rb +0 -247
  1962. data/spec/unit/pops/parser/parse_functions_spec.rb +0 -19
  1963. data/spec/unit/pops/parser/parse_heredoc_spec.rb +0 -276
  1964. data/spec/unit/pops/parser/parse_lambda_spec.rb +0 -19
  1965. data/spec/unit/pops/parser/parse_plan_spec.rb +0 -47
  1966. data/spec/unit/pops/parser/parse_resource_spec.rb +0 -328
  1967. data/spec/unit/pops/parser/parser_rspec_helper.rb +0 -17
  1968. data/spec/unit/pops/parser/parser_spec.rb +0 -211
  1969. data/spec/unit/pops/parser/parsing_typed_parameters_spec.rb +0 -65
  1970. data/spec/unit/pops/parser/pn_parser_spec.rb +0 -100
  1971. data/spec/unit/pops/pn_spec.rb +0 -147
  1972. data/spec/unit/pops/puppet_stack_spec.rb +0 -108
  1973. data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -37
  1974. data/spec/unit/pops/serialization/packer_spec.rb +0 -162
  1975. data/spec/unit/pops/serialization/serialization_spec.rb +0 -458
  1976. data/spec/unit/pops/serialization/to_from_hr_spec.rb +0 -649
  1977. data/spec/unit/pops/serialization/to_stringified_spec.rb +0 -162
  1978. data/spec/unit/pops/time/timespan_spec.rb +0 -121
  1979. data/spec/unit/pops/time/timestamp_spec.rb +0 -13
  1980. data/spec/unit/pops/types/class_loader_spec.rb +0 -10
  1981. data/spec/unit/pops/types/deferred_spec.rb +0 -87
  1982. data/spec/unit/pops/types/error_spec.rb +0 -207
  1983. data/spec/unit/pops/types/iterable_spec.rb +0 -262
  1984. data/spec/unit/pops/types/p_binary_type_spec.rb +0 -243
  1985. data/spec/unit/pops/types/p_init_type_spec.rb +0 -383
  1986. data/spec/unit/pops/types/p_object_type_spec.rb +0 -1730
  1987. data/spec/unit/pops/types/p_sem_ver_type_spec.rb +0 -340
  1988. data/spec/unit/pops/types/p_sensitive_type_spec.rb +0 -191
  1989. data/spec/unit/pops/types/p_timespan_type_spec.rb +0 -323
  1990. data/spec/unit/pops/types/p_timestamp_type_spec.rb +0 -391
  1991. data/spec/unit/pops/types/p_type_set_type_spec.rb +0 -549
  1992. data/spec/unit/pops/types/p_uri_type_spec.rb +0 -191
  1993. data/spec/unit/pops/types/recursion_guard_spec.rb +0 -93
  1994. data/spec/unit/pops/types/ruby_generator_spec.rb +0 -874
  1995. data/spec/unit/pops/types/string_converter_spec.rb +0 -1202
  1996. data/spec/unit/pops/types/task_spec.rb +0 -411
  1997. data/spec/unit/pops/types/type_acceptor_spec.rb +0 -106
  1998. data/spec/unit/pops/types/type_asserter_spec.rb +0 -43
  1999. data/spec/unit/pops/types/type_calculator_spec.rb +0 -2504
  2000. data/spec/unit/pops/types/type_factory_spec.rb +0 -322
  2001. data/spec/unit/pops/types/type_formatter_spec.rb +0 -427
  2002. data/spec/unit/pops/types/type_mismatch_describer_spec.rb +0 -424
  2003. data/spec/unit/pops/types/type_parser_spec.rb +0 -445
  2004. data/spec/unit/pops/types/types_spec.rb +0 -755
  2005. data/spec/unit/pops/utils_spec.rb +0 -70
  2006. data/spec/unit/pops/validation_spec.rb +0 -66
  2007. data/spec/unit/pops/validator/validator_spec.rb +0 -1029
  2008. data/spec/unit/pops/visitor_spec.rb +0 -93
  2009. data/spec/unit/property/boolean_spec.rb +0 -24
  2010. data/spec/unit/property/ensure_spec.rb +0 -11
  2011. data/spec/unit/property/keyvalue_spec.rb +0 -259
  2012. data/spec/unit/property/list_spec.rb +0 -172
  2013. data/spec/unit/property/ordered_list_spec.rb +0 -59
  2014. data/spec/unit/property_spec.rb +0 -563
  2015. data/spec/unit/provider/README.markdown +0 -4
  2016. data/spec/unit/provider/aix_object_spec.rb +0 -821
  2017. data/spec/unit/provider/command_spec.rb +0 -62
  2018. data/spec/unit/provider/exec/posix_spec.rb +0 -232
  2019. data/spec/unit/provider/exec/shell_spec.rb +0 -53
  2020. data/spec/unit/provider/exec/windows_spec.rb +0 -105
  2021. data/spec/unit/provider/exec_spec.rb +0 -244
  2022. data/spec/unit/provider/file/posix_spec.rb +0 -230
  2023. data/spec/unit/provider/file/windows_spec.rb +0 -152
  2024. data/spec/unit/provider/group/aix_spec.rb +0 -91
  2025. data/spec/unit/provider/group/directoryservice_spec.rb +0 -33
  2026. data/spec/unit/provider/group/groupadd_spec.rb +0 -284
  2027. data/spec/unit/provider/group/ldap_spec.rb +0 -98
  2028. data/spec/unit/provider/group/pw_spec.rb +0 -78
  2029. data/spec/unit/provider/group/windows_adsi_spec.rb +0 -398
  2030. data/spec/unit/provider/ldap_spec.rb +0 -242
  2031. data/spec/unit/provider/nameservice/directoryservice_spec.rb +0 -157
  2032. data/spec/unit/provider/nameservice_spec.rb +0 -398
  2033. data/spec/unit/provider/package/aix_spec.rb +0 -158
  2034. data/spec/unit/provider/package/appdmg_spec.rb +0 -42
  2035. data/spec/unit/provider/package/apt_spec.rb +0 -302
  2036. data/spec/unit/provider/package/aptitude_spec.rb +0 -46
  2037. data/spec/unit/provider/package/aptrpm_spec.rb +0 -42
  2038. data/spec/unit/provider/package/base_spec.rb +0 -19
  2039. data/spec/unit/provider/package/dnf_spec.rb +0 -55
  2040. data/spec/unit/provider/package/dnfmodule_spec.rb +0 -256
  2041. data/spec/unit/provider/package/dpkg_spec.rb +0 -444
  2042. data/spec/unit/provider/package/freebsd_spec.rb +0 -51
  2043. data/spec/unit/provider/package/gem_spec.rb +0 -487
  2044. data/spec/unit/provider/package/hpux_spec.rb +0 -48
  2045. data/spec/unit/provider/package/macports_spec.rb +0 -142
  2046. data/spec/unit/provider/package/nim_spec.rb +0 -267
  2047. data/spec/unit/provider/package/openbsd_spec.rb +0 -417
  2048. data/spec/unit/provider/package/opkg_spec.rb +0 -180
  2049. data/spec/unit/provider/package/pacman_spec.rb +0 -438
  2050. data/spec/unit/provider/package/pip2_spec.rb +0 -38
  2051. data/spec/unit/provider/package/pip3_spec.rb +0 -38
  2052. data/spec/unit/provider/package/pip_spec.rb +0 -504
  2053. data/spec/unit/provider/package/pkg_spec.rb +0 -473
  2054. data/spec/unit/provider/package/pkgdmg_spec.rb +0 -166
  2055. data/spec/unit/provider/package/pkgin_spec.rb +0 -185
  2056. data/spec/unit/provider/package/pkgng_spec.rb +0 -228
  2057. data/spec/unit/provider/package/pkgutil_spec.rb +0 -231
  2058. data/spec/unit/provider/package/portage_spec.rb +0 -226
  2059. data/spec/unit/provider/package/puppet_gem_spec.rb +0 -130
  2060. data/spec/unit/provider/package/puppetserver_gem_spec.rb +0 -139
  2061. data/spec/unit/provider/package/rpm_spec.rb +0 -674
  2062. data/spec/unit/provider/package/sun_spec.rb +0 -112
  2063. data/spec/unit/provider/package/tdnf_spec.rb +0 -15
  2064. data/spec/unit/provider/package/up2date_spec.rb +0 -22
  2065. data/spec/unit/provider/package/urpmi_spec.rb +0 -84
  2066. data/spec/unit/provider/package/windows/exe_package_spec.rb +0 -114
  2067. data/spec/unit/provider/package/windows/msi_package_spec.rb +0 -111
  2068. data/spec/unit/provider/package/windows/package_spec.rb +0 -180
  2069. data/spec/unit/provider/package/windows_spec.rb +0 -272
  2070. data/spec/unit/provider/package/yum_spec.rb +0 -512
  2071. data/spec/unit/provider/package/zypper_spec.rb +0 -327
  2072. data/spec/unit/provider/package_targetable_spec.rb +0 -60
  2073. data/spec/unit/provider/parsedfile_spec.rb +0 -263
  2074. data/spec/unit/provider/service/base_spec.rb +0 -109
  2075. data/spec/unit/provider/service/bsd_spec.rb +0 -127
  2076. data/spec/unit/provider/service/daemontools_spec.rb +0 -190
  2077. data/spec/unit/provider/service/debian_spec.rb +0 -158
  2078. data/spec/unit/provider/service/freebsd_spec.rb +0 -92
  2079. data/spec/unit/provider/service/gentoo_spec.rb +0 -250
  2080. data/spec/unit/provider/service/init_spec.rb +0 -316
  2081. data/spec/unit/provider/service/launchd_spec.rb +0 -425
  2082. data/spec/unit/provider/service/openbsd_spec.rb +0 -196
  2083. data/spec/unit/provider/service/openrc_spec.rb +0 -231
  2084. data/spec/unit/provider/service/openwrt_spec.rb +0 -101
  2085. data/spec/unit/provider/service/rcng_spec.rb +0 -40
  2086. data/spec/unit/provider/service/redhat_spec.rb +0 -190
  2087. data/spec/unit/provider/service/runit_spec.rb +0 -164
  2088. data/spec/unit/provider/service/smf_spec.rb +0 -526
  2089. data/spec/unit/provider/service/src_spec.rb +0 -186
  2090. data/spec/unit/provider/service/systemd_spec.rb +0 -576
  2091. data/spec/unit/provider/service/upstart_spec.rb +0 -681
  2092. data/spec/unit/provider/service/windows_spec.rb +0 -475
  2093. data/spec/unit/provider/user/aix_spec.rb +0 -320
  2094. data/spec/unit/provider/user/directoryservice_spec.rb +0 -1256
  2095. data/spec/unit/provider/user/hpux_spec.rb +0 -72
  2096. data/spec/unit/provider/user/ldap_spec.rb +0 -286
  2097. data/spec/unit/provider/user/openbsd_spec.rb +0 -76
  2098. data/spec/unit/provider/user/pw_spec.rb +0 -252
  2099. data/spec/unit/provider/user/user_role_add_spec.rb +0 -374
  2100. data/spec/unit/provider/user/useradd_spec.rb +0 -849
  2101. data/spec/unit/provider/user/windows_adsi_spec.rb +0 -407
  2102. data/spec/unit/provider_spec.rb +0 -904
  2103. data/spec/unit/puppet_pal_2pec.rb +0 -1033
  2104. data/spec/unit/puppet_pal_catalog_spec.rb +0 -962
  2105. data/spec/unit/puppet_pal_spec.rb +0 -3
  2106. data/spec/unit/puppet_spec.rb +0 -127
  2107. data/spec/unit/relationship_spec.rb +0 -202
  2108. data/spec/unit/reports/http_spec.rb +0 -119
  2109. data/spec/unit/reports/store_spec.rb +0 -69
  2110. data/spec/unit/reports_spec.rb +0 -68
  2111. data/spec/unit/resource/catalog_spec.rb +0 -1160
  2112. data/spec/unit/resource/status_spec.rb +0 -216
  2113. data/spec/unit/resource/type_collection_spec.rb +0 -332
  2114. data/spec/unit/resource/type_spec.rb +0 -876
  2115. data/spec/unit/resource_spec.rb +0 -1189
  2116. data/spec/unit/scheduler/job_spec.rb +0 -78
  2117. data/spec/unit/scheduler/scheduler_spec.rb +0 -115
  2118. data/spec/unit/scheduler/splay_job_spec.rb +0 -34
  2119. data/spec/unit/settings/array_setting_spec.rb +0 -39
  2120. data/spec/unit/settings/autosign_setting_spec.rb +0 -104
  2121. data/spec/unit/settings/certificate_revocation_setting_spec.rb +0 -37
  2122. data/spec/unit/settings/config_file_spec.rb +0 -147
  2123. data/spec/unit/settings/directory_setting_spec.rb +0 -27
  2124. data/spec/unit/settings/duration_setting_spec.rb +0 -48
  2125. data/spec/unit/settings/enum_setting_spec.rb +0 -27
  2126. data/spec/unit/settings/environment_conf_spec.rb +0 -133
  2127. data/spec/unit/settings/file_setting_spec.rb +0 -344
  2128. data/spec/unit/settings/http_extra_headers_spec.rb +0 -62
  2129. data/spec/unit/settings/ini_file_spec.rb +0 -550
  2130. data/spec/unit/settings/integer_setting_spec.rb +0 -42
  2131. data/spec/unit/settings/path_setting_spec.rb +0 -29
  2132. data/spec/unit/settings/port_setting_spec.rb +0 -31
  2133. data/spec/unit/settings/priority_setting_spec.rb +0 -65
  2134. data/spec/unit/settings/server_list_setting_spec.rb +0 -21
  2135. data/spec/unit/settings/string_setting_spec.rb +0 -74
  2136. data/spec/unit/settings/terminus_setting_spec.rb +0 -27
  2137. data/spec/unit/settings/value_translator_spec.rb +0 -75
  2138. data/spec/unit/settings_spec.rb +0 -2343
  2139. data/spec/unit/ssl/base_spec.rb +0 -125
  2140. data/spec/unit/ssl/certificate_request_attributes_spec.rb +0 -80
  2141. data/spec/unit/ssl/certificate_request_spec.rb +0 -373
  2142. data/spec/unit/ssl/certificate_signer_spec.rb +0 -17
  2143. data/spec/unit/ssl/certificate_spec.rb +0 -183
  2144. data/spec/unit/ssl/digest_spec.rb +0 -34
  2145. data/spec/unit/ssl/oids_spec.rb +0 -73
  2146. data/spec/unit/ssl/ssl_provider_spec.rb +0 -657
  2147. data/spec/unit/ssl/state_machine_spec.rb +0 -1117
  2148. data/spec/unit/ssl/verifier_spec.rb +0 -102
  2149. data/spec/unit/task_spec.rb +0 -345
  2150. data/spec/unit/test/test_helper_spec.rb +0 -17
  2151. data/spec/unit/transaction/additional_resource_generator_spec.rb +0 -534
  2152. data/spec/unit/transaction/event_manager_spec.rb +0 -365
  2153. data/spec/unit/transaction/event_spec.rb +0 -198
  2154. data/spec/unit/transaction/persistence_spec.rb +0 -276
  2155. data/spec/unit/transaction/report_spec.rb +0 -772
  2156. data/spec/unit/transaction/resource_harness_spec.rb +0 -625
  2157. data/spec/unit/transaction_spec.rb +0 -1037
  2158. data/spec/unit/type/README.markdown +0 -4
  2159. data/spec/unit/type/component_spec.rb +0 -52
  2160. data/spec/unit/type/exec_spec.rb +0 -932
  2161. data/spec/unit/type/file/checksum_spec.rb +0 -104
  2162. data/spec/unit/type/file/checksum_value_spec.rb +0 -285
  2163. data/spec/unit/type/file/content_spec.rb +0 -440
  2164. data/spec/unit/type/file/ctime_spec.rb +0 -33
  2165. data/spec/unit/type/file/ensure_spec.rb +0 -121
  2166. data/spec/unit/type/file/group_spec.rb +0 -65
  2167. data/spec/unit/type/file/mode_spec.rb +0 -220
  2168. data/spec/unit/type/file/mtime_spec.rb +0 -33
  2169. data/spec/unit/type/file/owner_spec.rb +0 -63
  2170. data/spec/unit/type/file/selinux_spec.rb +0 -86
  2171. data/spec/unit/type/file/source_spec.rb +0 -730
  2172. data/spec/unit/type/file/type_spec.rb +0 -18
  2173. data/spec/unit/type/file_spec.rb +0 -1746
  2174. data/spec/unit/type/filebucket_spec.rb +0 -104
  2175. data/spec/unit/type/group_spec.rb +0 -105
  2176. data/spec/unit/type/noop_metaparam_spec.rb +0 -37
  2177. data/spec/unit/type/package/package_settings_spec.rb +0 -156
  2178. data/spec/unit/type/package_spec.rb +0 -396
  2179. data/spec/unit/type/resources_spec.rb +0 -362
  2180. data/spec/unit/type/schedule_spec.rb +0 -621
  2181. data/spec/unit/type/service_spec.rb +0 -458
  2182. data/spec/unit/type/stage_spec.rb +0 -7
  2183. data/spec/unit/type/tidy_spec.rb +0 -493
  2184. data/spec/unit/type/user_spec.rb +0 -553
  2185. data/spec/unit/type/whit_spec.rb +0 -9
  2186. data/spec/unit/type_spec.rb +0 -1473
  2187. data/spec/unit/util/at_fork_spec.rb +0 -150
  2188. data/spec/unit/util/autoload_spec.rb +0 -330
  2189. data/spec/unit/util/backups_spec.rb +0 -130
  2190. data/spec/unit/util/character_encoding_spec.rb +0 -186
  2191. data/spec/unit/util/checksums_spec.rb +0 -223
  2192. data/spec/unit/util/colors_spec.rb +0 -44
  2193. data/spec/unit/util/command_line_spec.rb +0 -200
  2194. data/spec/unit/util/command_line_utils/puppet_option_parser_spec.rb +0 -129
  2195. data/spec/unit/util/constant_inflector_spec.rb +0 -55
  2196. data/spec/unit/util/diff_spec.rb +0 -46
  2197. data/spec/unit/util/docs_spec.rb +0 -100
  2198. data/spec/unit/util/errors_spec.rb +0 -36
  2199. data/spec/unit/util/execution_spec.rb +0 -943
  2200. data/spec/unit/util/execution_stub_spec.rb +0 -38
  2201. data/spec/unit/util/feature_spec.rb +0 -129
  2202. data/spec/unit/util/filetype_spec.rb +0 -223
  2203. data/spec/unit/util/inifile_spec.rb +0 -510
  2204. data/spec/unit/util/json_lockfile_spec.rb +0 -48
  2205. data/spec/unit/util/json_spec.rb +0 -126
  2206. data/spec/unit/util/ldap/connection_spec.rb +0 -162
  2207. data/spec/unit/util/ldap/generator_spec.rb +0 -49
  2208. data/spec/unit/util/ldap/manager_spec.rb +0 -612
  2209. data/spec/unit/util/lockfile_spec.rb +0 -117
  2210. data/spec/unit/util/log/destinations_spec.rb +0 -258
  2211. data/spec/unit/util/log_spec.rb +0 -479
  2212. data/spec/unit/util/logging_spec.rb +0 -618
  2213. data/spec/unit/util/metric_spec.rb +0 -89
  2214. data/spec/unit/util/monkey_patches_spec.rb +0 -161
  2215. data/spec/unit/util/multi_match_spec.rb +0 -38
  2216. data/spec/unit/util/network_device/config_spec.rb +0 -91
  2217. data/spec/unit/util/network_device/transport/base_spec.rb +0 -40
  2218. data/spec/unit/util/network_device_spec.rb +0 -43
  2219. data/spec/unit/util/package/version/debian_spec.rb +0 -83
  2220. data/spec/unit/util/package/version/pip_spec.rb +0 -464
  2221. data/spec/unit/util/package/version/range_spec.rb +0 -175
  2222. data/spec/unit/util/package/version/rpm_spec.rb +0 -121
  2223. data/spec/unit/util/package_spec.rb +0 -19
  2224. data/spec/unit/util/pidlock_spec.rb +0 -333
  2225. data/spec/unit/util/plist_spec.rb +0 -168
  2226. data/spec/unit/util/posix_spec.rb +0 -630
  2227. data/spec/unit/util/profiler/aggregate_spec.rb +0 -55
  2228. data/spec/unit/util/profiler/around_profiler_spec.rb +0 -61
  2229. data/spec/unit/util/profiler/logging_spec.rb +0 -70
  2230. data/spec/unit/util/profiler/object_counts_spec.rb +0 -13
  2231. data/spec/unit/util/profiler/wall_clock_spec.rb +0 -13
  2232. data/spec/unit/util/profiler_spec.rb +0 -47
  2233. data/spec/unit/util/rdoc_spec.rb +0 -55
  2234. data/spec/unit/util/reference_spec.rb +0 -38
  2235. data/spec/unit/util/resource_template_spec.rb +0 -57
  2236. data/spec/unit/util/retry_action_spec.rb +0 -84
  2237. data/spec/unit/util/rpm_compare_spec.rb +0 -196
  2238. data/spec/unit/util/rubygems_spec.rb +0 -47
  2239. data/spec/unit/util/run_mode_spec.rb +0 -185
  2240. data/spec/unit/util/selinux_spec.rb +0 -422
  2241. data/spec/unit/util/skip_tags_spec.rb +0 -14
  2242. data/spec/unit/util/splayer_spec.rb +0 -44
  2243. data/spec/unit/util/storage_spec.rb +0 -330
  2244. data/spec/unit/util/suidmanager_spec.rb +0 -278
  2245. data/spec/unit/util/symbolic_file_mode_spec.rb +0 -180
  2246. data/spec/unit/util/tag_set_spec.rb +0 -52
  2247. data/spec/unit/util/tagging_spec.rb +0 -246
  2248. data/spec/unit/util/terminal_spec.rb +0 -41
  2249. data/spec/unit/util/user_attr_spec.rb +0 -45
  2250. data/spec/unit/util/warnings_spec.rb +0 -45
  2251. data/spec/unit/util/watched_file_spec.rb +0 -52
  2252. data/spec/unit/util/watcher/periodic_watcher_spec.rb +0 -52
  2253. data/spec/unit/util/watcher_spec.rb +0 -86
  2254. data/spec/unit/util/windows/access_control_entry_spec.rb +0 -66
  2255. data/spec/unit/util/windows/access_control_list_spec.rb +0 -132
  2256. data/spec/unit/util/windows/adsi_spec.rb +0 -704
  2257. data/spec/unit/util/windows/api_types_spec.rb +0 -184
  2258. data/spec/unit/util/windows/eventlog_spec.rb +0 -120
  2259. data/spec/unit/util/windows/file_spec.rb +0 -88
  2260. data/spec/unit/util/windows/root_certs_spec.rb +0 -16
  2261. data/spec/unit/util/windows/security_descriptor_spec.rb +0 -115
  2262. data/spec/unit/util/windows/service_spec.rb +0 -677
  2263. data/spec/unit/util/windows/sid_spec.rb +0 -338
  2264. data/spec/unit/util/windows/string_spec.rb +0 -55
  2265. data/spec/unit/util/windows_spec.rb +0 -23
  2266. data/spec/unit/util/yaml_spec.rb +0 -171
  2267. data/spec/unit/util_spec.rb +0 -960
  2268. data/spec/unit/version_spec.rb +0 -61
  2269. data/spec/unit/x509/cert_provider_spec.rb +0 -663
  2270. data/spec/unit/x509/pem_store_spec.rb +0 -160
@@ -1,2012 +0,0 @@
1
- # coding: utf-8
2
- require 'spec_helper'
3
-
4
- require 'puppet_spec/files'
5
-
6
- if Puppet::Util::Platform.windows?
7
- require 'puppet/util/windows'
8
- class WindowsSecurity
9
- extend Puppet::Util::Windows::Security
10
- end
11
- end
12
-
13
- describe Puppet::Type.type(:file), :uses_checksums => true do
14
- include PuppetSpec::Files
15
- include_context 'with supported checksum types'
16
-
17
- let(:catalog) { Puppet::Resource::Catalog.new }
18
- let(:path) do
19
- # we create a directory first so backups of :path that are stored in
20
- # the same directory will also be removed after the tests
21
- parent = tmpdir('file_spec')
22
- File.join(parent, 'file_testing')
23
- end
24
-
25
- let(:path_protected) do
26
- # we create a file inside windows protected folders (C:\Windows, C:\Windows\system32, etc)
27
- # the file will also be removed after the tests
28
- parent = 'C:\Windows'
29
- File.join(parent, 'file_testing')
30
- end
31
-
32
- let(:dir) do
33
- # we create a directory first so backups of :path that are stored in
34
- # the same directory will also be removed after the tests
35
- parent = tmpdir('file_spec')
36
- File.join(parent, 'dir_testing')
37
- end
38
-
39
- if Puppet.features.posix?
40
- def set_mode(mode, file)
41
- File.chmod(mode, file)
42
- end
43
-
44
- def get_mode(file)
45
- Puppet::FileSystem.lstat(file).mode
46
- end
47
-
48
- def get_owner(file)
49
- Puppet::FileSystem.lstat(file).uid
50
- end
51
-
52
- def get_group(file)
53
- Puppet::FileSystem.lstat(file).gid
54
- end
55
- else
56
- class SecurityHelper
57
- extend Puppet::Util::Windows::Security
58
- end
59
-
60
- def set_mode(mode, file)
61
- SecurityHelper.set_mode(mode, file)
62
- end
63
-
64
- def get_mode(file)
65
- SecurityHelper.get_mode(file)
66
- end
67
-
68
- def get_owner(file)
69
- SecurityHelper.get_owner(file)
70
- end
71
-
72
- def get_group(file)
73
- SecurityHelper.get_group(file)
74
- end
75
-
76
- def get_aces_for_path_by_sid(path, sid)
77
- SecurityHelper.get_aces_for_path_by_sid(path, sid)
78
- end
79
- end
80
-
81
- around :each do |example|
82
- Puppet.override(:environments => Puppet::Environments::Static.new) do
83
- example.run
84
- end
85
- end
86
-
87
- before do
88
- # stub this to not try to create state.yaml
89
- allow(Puppet::Util::Storage).to receive(:store)
90
-
91
- allow_any_instance_of(Puppet::Type.type(:file)).to receive(:file).and_return('my/file.pp')
92
- allow_any_instance_of(Puppet::Type.type(:file)).to receive(:line).and_return(5)
93
- end
94
-
95
- it "should not attempt to manage files that do not exist if no means of creating the file is specified" do
96
- source = tmpfile('source')
97
-
98
- catalog.add_resource described_class.new :path => source, :mode => '0755'
99
-
100
- status = catalog.apply.report.resource_statuses["File[#{source}]"]
101
- expect(status).not_to be_failed
102
- expect(status).not_to be_changed
103
- expect(Puppet::FileSystem.exist?(source)).to be_falsey
104
- end
105
-
106
- describe "when ensure is present using an empty file" do
107
- before(:each) do
108
- catalog.add_resource(described_class.new(:path => path, :ensure => :present, :backup => :false))
109
- end
110
-
111
- context "file is present" do
112
- before(:each) do
113
- FileUtils.touch(path)
114
- end
115
-
116
- it "should do nothing" do
117
- report = catalog.apply.report
118
- expect(report.resource_statuses["File[#{path}]"]).not_to be_failed
119
- expect(Puppet::FileSystem.exist?(path)).to be_truthy
120
- end
121
-
122
- it "should log nothing" do
123
- logs = catalog.apply.report.logs
124
- expect(logs).to be_empty
125
- end
126
- end
127
-
128
- context "file is not present" do
129
- it "should create the file" do
130
- report = catalog.apply.report
131
- expect(report.resource_statuses["File[#{path}]"]).not_to be_failed
132
- expect(Puppet::FileSystem.exist?(path)).to be_truthy
133
- end
134
-
135
- it "should log that the file was created" do
136
- logs = catalog.apply.report.logs
137
- expect(logs.first.source).to eq("/File[#{path}]/ensure")
138
- expect(logs.first.message).to eq("created")
139
- end
140
- end
141
- end
142
-
143
- describe "when ensure is absent" do
144
- before(:each) do
145
- catalog.add_resource(described_class.new(:path => path, :ensure => :absent, :backup => :false))
146
- end
147
-
148
- context "file is present" do
149
- before(:each) do
150
- FileUtils.touch(path)
151
- end
152
-
153
- it "should remove the file" do
154
- report = catalog.apply.report
155
- expect(report.resource_statuses["File[#{path}]"]).not_to be_failed
156
- expect(Puppet::FileSystem.exist?(path)).to be_falsey
157
- end
158
-
159
- it "should log that the file was removed" do
160
- logs = catalog.apply.report.logs
161
- expect(logs.first.source).to eq("/File[#{path}]/ensure")
162
- expect(logs.first.message).to eq("removed")
163
- end
164
- end
165
-
166
- context "file is not present" do
167
- it "should do nothing" do
168
- report = catalog.apply.report
169
- expect(report.resource_statuses["File[#{path}]"]).not_to be_failed
170
- expect(Puppet::FileSystem.exist?(path)).to be_falsey
171
- end
172
-
173
- it "should log nothing" do
174
- logs = catalog.apply.report.logs
175
- expect(logs).to be_empty
176
- end
177
- end
178
-
179
- # issue #14599
180
- it "should not fail if parts of path aren't directories" do
181
- FileUtils.touch(path)
182
- catalog.add_resource(described_class.new(:path => File.join(path,'no_such_file'), :ensure => :absent, :backup => :false))
183
- report = catalog.apply.report
184
- expect(report.resource_statuses["File[#{File.join(path,'no_such_file')}]"]).not_to be_failed
185
- end
186
- end
187
-
188
- describe "when setting permissions" do
189
- it "should set the owner" do
190
- target = tmpfile_with_contents('target', '')
191
- owner = get_owner(target)
192
-
193
- catalog.add_resource described_class.new(
194
- :name => target,
195
- :owner => owner
196
- )
197
-
198
- catalog.apply
199
-
200
- expect(get_owner(target)).to eq(owner)
201
- end
202
-
203
- it "should set the group" do
204
- target = tmpfile_with_contents('target', '')
205
- group = get_group(target)
206
-
207
- catalog.add_resource described_class.new(
208
- :name => target,
209
- :group => group
210
- )
211
-
212
- catalog.apply
213
-
214
- expect(get_group(target)).to eq(group)
215
- end
216
-
217
- describe "when setting mode" do
218
- describe "for directories" do
219
- let(:target) { tmpdir('dir_mode') }
220
-
221
- it "should set executable bits for newly created directories" do
222
- catalog.add_resource described_class.new(:path => target, :ensure => :directory, :mode => '0600')
223
-
224
- catalog.apply
225
-
226
- expect(get_mode(target) & 07777).to eq(0700)
227
- end
228
-
229
- it "should set executable bits for existing readable directories" do
230
- set_mode(0600, target)
231
-
232
- catalog.add_resource described_class.new(:path => target, :ensure => :directory, :mode => '0644')
233
- catalog.apply
234
-
235
- expect(get_mode(target) & 07777).to eq(0755)
236
- end
237
-
238
- it "should not set executable bits for unreadable directories" do
239
- begin
240
- catalog.add_resource described_class.new(:path => target, :ensure => :directory, :mode => '0300')
241
-
242
- catalog.apply
243
-
244
- expect(get_mode(target) & 07777).to eq(0300)
245
- ensure
246
- # so we can cleanup
247
- set_mode(0700, target)
248
- end
249
- end
250
-
251
- it "should set user, group, and other executable bits" do
252
- catalog.add_resource described_class.new(:path => target, :ensure => :directory, :mode => '0664')
253
-
254
- catalog.apply
255
-
256
- expect(get_mode(target) & 07777).to eq(0775)
257
- end
258
-
259
- it "should set executable bits when overwriting a non-executable file" do
260
- target_path = tmpfile_with_contents('executable', '')
261
- set_mode(0444, target_path)
262
-
263
- catalog.add_resource described_class.new(:path => target_path, :ensure => :directory, :mode => '0666', :backup => false)
264
- catalog.apply
265
-
266
- expect(get_mode(target_path) & 07777).to eq(0777)
267
- expect(File).to be_directory(target_path)
268
- end
269
- end
270
-
271
- describe "for files" do
272
- it "should not set executable bits" do
273
- catalog.add_resource described_class.new(:path => path, :ensure => :file, :mode => '0666')
274
- catalog.apply
275
-
276
- expect(get_mode(path) & 07777).to eq(0666)
277
- end
278
-
279
- context "file is in protected windows directory", :if => Puppet.features.microsoft_windows? do
280
- after { FileUtils.rm(path_protected) }
281
-
282
- it "should set and get the correct mode for files inside protected windows folders" do
283
- catalog.add_resource described_class.new(:path => path_protected, :ensure => :file, :mode => '0640')
284
- catalog.apply
285
-
286
- expect(get_mode(path_protected) & 07777).to eq(0640)
287
- end
288
-
289
- it "should not change resource's status inside protected windows folders if mode is the same" do
290
- FileUtils.touch(path_protected)
291
- set_mode(0644, path_protected)
292
- catalog.add_resource described_class.new(:path => path_protected, :ensure => :file, :mode => '0644')
293
- result = catalog.apply
294
- status = result.report.resource_statuses["File[#{path_protected}]"]
295
- expect(status).not_to be_failed
296
- expect(status).not_to be_changed
297
- end
298
- end
299
-
300
- it "should not set executable bits when replacing an executable directory (#10365)" do
301
- pending("bug #10365")
302
-
303
- FileUtils.mkdir(path)
304
- set_mode(0777, path)
305
-
306
- catalog.add_resource described_class.new(:path => path, :ensure => :file, :mode => '0666', :backup => false, :force => true)
307
- catalog.apply
308
-
309
- expect(get_mode(path) & 07777).to eq(0666)
310
- end
311
- end
312
-
313
- describe "for links", :if => described_class.defaultprovider.feature?(:manages_symlinks) do
314
- let(:link) { tmpfile('link_mode') }
315
-
316
- describe "when managing links" do
317
- let(:link_target) { tmpfile('target') }
318
-
319
- before :each do
320
- FileUtils.touch(link_target)
321
- File.chmod(0444, link_target)
322
-
323
- Puppet::FileSystem.symlink(link_target, link)
324
- end
325
-
326
- it "should not set the executable bit on the link target" do
327
- catalog.add_resource described_class.new(:path => link, :ensure => :link, :mode => '0666', :target => link_target, :links => :manage)
328
-
329
- catalog.apply
330
-
331
- expected_target_permissions = Puppet::Util::Platform.windows? ? 0700 : 0444
332
-
333
- expect(Puppet::FileSystem.stat(link_target).mode & 07777).to eq(expected_target_permissions)
334
- end
335
-
336
- it "should ignore dangling symlinks (#6856)" do
337
- File.delete(link_target)
338
-
339
- catalog.add_resource described_class.new(:path => link, :ensure => :link, :mode => '0666', :target => link_target, :links => :manage)
340
- catalog.apply
341
-
342
- expect(Puppet::FileSystem.exist?(link)).to be_falsey
343
- end
344
-
345
- it "should create a link to the target if ensure is omitted" do
346
- FileUtils.touch(link_target)
347
- catalog.add_resource described_class.new(:path => link, :target => link_target)
348
- catalog.apply
349
-
350
- expect(Puppet::FileSystem.exist?(link)).to be_truthy
351
- expect(Puppet::FileSystem.lstat(link).ftype).to eq('link')
352
- expect(Puppet::FileSystem.readlink(link)).to eq(link_target)
353
- end
354
- end
355
-
356
- describe "when following links" do
357
- it "should ignore dangling symlinks (#6856)" do
358
- target = tmpfile('dangling')
359
-
360
- FileUtils.touch(target)
361
- Puppet::FileSystem.symlink(target, link)
362
- File.delete(target)
363
-
364
- catalog.add_resource described_class.new(:path => path, :source => link, :mode => '0600', :links => :follow)
365
- catalog.apply
366
- end
367
-
368
- describe "to a directory" do
369
- let(:link_target) { tmpdir('dir_target') }
370
-
371
- before :each do
372
- File.chmod(0600, link_target)
373
-
374
- Puppet::FileSystem.symlink(link_target, link)
375
- end
376
-
377
- after :each do
378
- File.chmod(0750, link_target)
379
- end
380
-
381
- describe "that is readable" do
382
- it "should set the executable bits when creating the destination (#10315)" do
383
- catalog.add_resource described_class.new(:path => path, :source => link, :mode => '0666', :links => :follow)
384
- catalog.apply
385
-
386
- expect(File).to be_directory(path)
387
- expect(get_mode(path) & 07777).to eq(0777)
388
- end
389
-
390
- it "should set the executable bits when overwriting the destination (#10315)" do
391
- FileUtils.touch(path)
392
-
393
- catalog.add_resource described_class.new(:path => path, :source => link, :mode => '0666', :links => :follow, :backup => false)
394
- catalog.apply
395
-
396
- expect(File).to be_directory(path)
397
- expect(get_mode(path) & 07777).to eq(0777)
398
- end
399
- end
400
-
401
- describe "that is not readable" do
402
- before :each do
403
- set_mode(0300, link_target)
404
- end
405
-
406
- # so we can cleanup
407
- after :each do
408
- set_mode(0700, link_target)
409
- end
410
-
411
- it "should set executable bits when creating the destination (#10315)" do
412
- catalog.add_resource described_class.new(:path => path, :source => link, :mode => '0666', :links => :follow)
413
- catalog.apply
414
-
415
- expect(File).to be_directory(path)
416
- expect(get_mode(path) & 07777).to eq(0777)
417
- end
418
-
419
- it "should set executable bits when overwriting the destination" do
420
- FileUtils.touch(path)
421
-
422
- catalog.add_resource described_class.new(:path => path, :source => link, :mode => '0666', :links => :follow, :backup => false)
423
- catalog.apply
424
-
425
- expect(File).to be_directory(path)
426
- expect(get_mode(path) & 07777).to eq(0777)
427
- end
428
- end
429
- end
430
-
431
- describe "to a file" do
432
- let(:link_target) { tmpfile('file_target') }
433
-
434
- before :each do
435
- FileUtils.touch(link_target)
436
-
437
- Puppet::FileSystem.symlink(link_target, link)
438
- end
439
-
440
- it "should create the file, not a symlink (#2817, #10315)" do
441
- catalog.add_resource described_class.new(:path => path, :source => link, :mode => '0600', :links => :follow)
442
- catalog.apply
443
-
444
- expect(File).to be_file(path)
445
- expect(get_mode(path) & 07777).to eq(0600)
446
- end
447
-
448
- it "should not give a deprecation warning about using a checksum in content when using source to define content" do
449
- FileUtils.touch(path)
450
- expect(Puppet).not_to receive(:puppet_deprecation_warning)
451
- catalog.add_resource described_class.new(:path => path, :source => link, :links => :follow)
452
- catalog.apply
453
- end
454
-
455
- context "overwriting a file" do
456
- before :each do
457
- FileUtils.touch(path)
458
- set_mode(0644, path)
459
- catalog.add_resource described_class.new(:path => path, :source => link, :mode => '0600', :links => :follow)
460
- end
461
-
462
- it "should overwrite the file" do
463
- catalog.apply
464
-
465
- expect(File).to be_file(path)
466
- expect(get_mode(path) & 07777).to eq(0600)
467
- end
468
-
469
- it "should log that the mode changed" do
470
- report = catalog.apply.report
471
-
472
- expect(report.logs.first.message).to eq("mode changed '0644' to '0600'")
473
- expect(report.logs.first.source).to eq("/File[#{path}]/mode")
474
- end
475
- end
476
- end
477
-
478
- describe "to a link to a directory" do
479
- let(:real_target) { tmpdir('real_target') }
480
- let(:target) { tmpfile('target') }
481
-
482
- before :each do
483
- File.chmod(0666, real_target)
484
-
485
- # link -> target -> real_target
486
- Puppet::FileSystem.symlink(real_target, target)
487
- Puppet::FileSystem.symlink(target, link)
488
- end
489
-
490
- after :each do
491
- File.chmod(0750, real_target)
492
- end
493
-
494
- describe "when following all links" do
495
- it "should create the destination and apply executable bits (#10315)" do
496
- catalog.add_resource described_class.new(:path => path, :source => link, :mode => '0600', :links => :follow)
497
- catalog.apply
498
-
499
- expect(File).to be_directory(path)
500
- expect(get_mode(path) & 07777).to eq(0700)
501
- end
502
-
503
- it "should overwrite the destination and apply executable bits" do
504
- FileUtils.mkdir(path)
505
-
506
- catalog.add_resource described_class.new(:path => path, :source => link, :mode => '0600', :links => :follow)
507
- catalog.apply
508
-
509
- expect(File).to be_directory(path)
510
- expect(get_mode(path) & 0111).to eq(0100)
511
- end
512
- end
513
- end
514
- end
515
- end
516
- end
517
- end
518
-
519
- describe "when writing files" do
520
- shared_examples "files are backed up" do |resource_options|
521
- it "should backup files to a filebucket when one is configured" do |example|
522
- if Puppet::Util::Platform.windows? && ['sha512', 'sha384'].include?(example.metadata[:digest_algorithm])
523
- skip "PUP-8257: Skip file bucket test on windows for #{example.metadata[:digest_algorithm]} due to long path names"
524
- end
525
-
526
- filebucket = Puppet::Type.type(:filebucket).new :path => tmpfile("filebucket"), :name => "mybucket"
527
- file = described_class.new({:path => path, :backup => "mybucket", :content => "foo"}.merge(resource_options))
528
- catalog.add_resource file
529
- catalog.add_resource filebucket
530
-
531
- File.open(file[:path], "w") { |f| f.write("bar") }
532
-
533
- d = filebucket_digest.call(IO.binread(file[:path]))
534
-
535
- catalog.apply
536
-
537
- expect(filebucket.bucket.getfile(d)).to eq("bar")
538
- end
539
-
540
- it "should backup files in the local directory when a backup string is provided" do
541
- file = described_class.new({:path => path, :backup => ".bak", :content => "foo"}.merge(resource_options))
542
- catalog.add_resource file
543
-
544
- File.open(file[:path], "w") { |f| f.puts "bar" }
545
-
546
- catalog.apply
547
-
548
- backup = file[:path] + ".bak"
549
- expect(Puppet::FileSystem.exist?(backup)).to be_truthy
550
- expect(File.read(backup)).to eq("bar\n")
551
- end
552
-
553
- it "should fail if no backup can be performed" do
554
- dir = tmpdir("backups")
555
-
556
- file = described_class.new({:path => File.join(dir, "testfile"), :backup => ".bak", :content => "foo"}.merge(resource_options))
557
- catalog.add_resource file
558
-
559
- File.open(file[:path], 'w') { |f| f.puts "bar" }
560
-
561
- # Create a directory where the backup should be so that writing to it fails
562
- Dir.mkdir(File.join(dir, "testfile.bak"))
563
-
564
- allow(Puppet::Util::Log).to receive(:newmessage)
565
-
566
- catalog.apply
567
-
568
- expect(File.read(file[:path])).to eq("bar\n")
569
- end
570
-
571
- it "should not backup symlinks", :if => described_class.defaultprovider.feature?(:manages_symlinks) do
572
- link = tmpfile("link")
573
- dest1 = tmpfile("dest1")
574
- dest2 = tmpfile("dest2")
575
- bucket = Puppet::Type.type(:filebucket).new :path => tmpfile("filebucket"), :name => "mybucket"
576
- file = described_class.new({:path => link, :target => dest2, :ensure => :link, :backup => "mybucket"}.merge(resource_options))
577
- catalog.add_resource file
578
- catalog.add_resource bucket
579
-
580
- File.open(dest1, "w") { |f| f.puts "whatever" }
581
- Puppet::FileSystem.symlink(dest1, link)
582
-
583
- catalog.apply
584
-
585
- expect(Puppet::FileSystem.readlink(link)).to eq(dest2)
586
- expect(Puppet::FileSystem.exist?(bucket[:path])).to be_falsey
587
- end
588
-
589
- it "should backup directories to the local filesystem by copying the whole directory" do
590
- file = described_class.new({:path => path, :backup => ".bak", :content => "foo", :force => true}.merge(resource_options))
591
- catalog.add_resource file
592
-
593
- Dir.mkdir(path)
594
-
595
- otherfile = File.join(path, "foo")
596
- File.open(otherfile, "w") { |f| f.print "yay" }
597
-
598
- catalog.apply
599
-
600
- backup = "#{path}.bak"
601
- expect(FileTest).to be_directory(backup)
602
-
603
- expect(File.read(File.join(backup, "foo"))).to eq("yay")
604
- end
605
-
606
- it "should backup directories to filebuckets by backing up each file separately" do |example|
607
- if Puppet::Util::Platform.windows? && ['sha512', 'sha384'].include?(example.metadata[:digest_algorithm])
608
- skip "PUP-8257: Skip file bucket test on windows for #{example.metadata[:digest_algorithm]} due to long path names"
609
- end
610
-
611
- bucket = Puppet::Type.type(:filebucket).new :path => tmpfile("filebucket"), :name => "mybucket"
612
- file = described_class.new({:path => tmpfile("bucket_backs"), :backup => "mybucket", :content => "foo", :force => true}.merge(resource_options))
613
- catalog.add_resource file
614
- catalog.add_resource bucket
615
-
616
- Dir.mkdir(file[:path])
617
- foofile = File.join(file[:path], "foo")
618
- barfile = File.join(file[:path], "bar")
619
- File.open(foofile, "w") { |f| f.print "fooyay" }
620
- File.open(barfile, "w") { |f| f.print "baryay" }
621
-
622
-
623
- food = filebucket_digest.call(File.read(foofile))
624
- bard = filebucket_digest.call(File.read(barfile))
625
-
626
- catalog.apply
627
-
628
- expect(bucket.bucket.getfile(food)).to eq("fooyay")
629
- expect(bucket.bucket.getfile(bard)).to eq("baryay")
630
- end
631
- end
632
-
633
- it "should not give a checksum deprecation warning when given actual content" do
634
- expect(Puppet).not_to receive(:puppet_deprecation_warning)
635
- catalog.add_resource described_class.new(:path => path, :content => 'this is content')
636
- catalog.apply
637
- end
638
-
639
- with_digest_algorithms do
640
- it_should_behave_like "files are backed up", {} do
641
- let(:filebucket_digest) { method(:digest) }
642
- end
643
-
644
- it "should give a checksum deprecation warning" do
645
- expect(Puppet).to receive(:puppet_deprecation_warning).with('Using a checksum in a file\'s "content" property is deprecated. The ability to use a checksum to retrieve content from the filebucket using the "content" property will be removed in a future release. The literal value of the "content" property will be written to the file. The checksum retrieval functionality is being replaced by the use of static catalogs. See https://puppet.com/docs/puppet/latest/static_catalogs.html for more information.', {:file => 'my/file.pp', :line => 5})
646
- d = digest("this is some content")
647
- catalog.add_resource described_class.new(:path => path, :content => "{#{digest_algorithm}}#{d}")
648
- catalog.apply
649
- end
650
-
651
- it "should not give a checksum deprecation warning when no content is specified while checksum and checksum value are used" do
652
- expect(Puppet).not_to receive(:puppet_deprecation_warning)
653
- d = digest("this is some content")
654
- catalog.add_resource described_class.new(:path => path, :checksum => digest_algorithm, :checksum_value => d)
655
- catalog.apply
656
- end
657
- end
658
-
659
- CHECKSUM_TYPES_TO_TRY.each do |checksum_type, checksum|
660
- describe "when checksum_type is #{checksum_type}" do
661
- # FileBucket uses the globally configured default for lookup by digest, which right now is SHA256.
662
- it_should_behave_like "files are backed up", {:checksum => checksum_type} do
663
- let(:filebucket_digest) { Proc.new {|x| Puppet::Util::Checksums.sha256(x)} }
664
- end
665
- end
666
- end
667
- end
668
-
669
- describe "when recursing" do
670
- def build_path(dir)
671
- Dir.mkdir(dir)
672
- File.chmod(0750, dir)
673
-
674
- @dirs = [dir]
675
- @files = []
676
-
677
- %w{one two}.each do |subdir|
678
- fdir = File.join(dir, subdir)
679
- Dir.mkdir(fdir)
680
- File.chmod(0750, fdir)
681
- @dirs << fdir
682
-
683
- %w{three}.each do |file|
684
- ffile = File.join(fdir, file)
685
- @files << ffile
686
- File.open(ffile, "w") { |f| f.puts "test #{file}" }
687
- File.chmod(0640, ffile)
688
- end
689
- end
690
- end
691
-
692
- it "should be able to recurse over a nonexistent file" do
693
- @file = described_class.new(
694
- :name => path,
695
- :mode => '0644',
696
- :recurse => true,
697
- :backup => false
698
- )
699
-
700
- catalog.add_resource @file
701
-
702
- expect { @file.eval_generate }.not_to raise_error
703
- end
704
-
705
- it "should be able to recursively set properties on existing files" do
706
- path = tmpfile("file_integration_tests")
707
-
708
- build_path(path)
709
-
710
- file = described_class.new(
711
- :name => path,
712
- :mode => '0644',
713
- :recurse => true,
714
- :backup => false
715
- )
716
-
717
- catalog.add_resource file
718
-
719
- catalog.apply
720
-
721
- expect(@dirs).not_to be_empty
722
- @dirs.each do |dir|
723
- expect(get_mode(dir) & 007777).to eq(0755)
724
- end
725
-
726
- expect(@files).not_to be_empty
727
- @files.each do |dir|
728
- expect(get_mode(dir) & 007777).to eq(0644)
729
- end
730
- end
731
-
732
- it "should be able to recursively make links to other files", :if => described_class.defaultprovider.feature?(:manages_symlinks) do
733
- source = tmpfile("file_link_integration_source")
734
-
735
- build_path(source)
736
-
737
- dest = tmpfile("file_link_integration_dest")
738
-
739
- @file = described_class.new(:name => dest, :target => source, :recurse => true, :ensure => :link, :backup => false)
740
-
741
- catalog.add_resource @file
742
-
743
- catalog.apply
744
-
745
- @dirs.each do |path|
746
- link_path = path.sub(source, dest)
747
-
748
- expect(Puppet::FileSystem.lstat(link_path)).to be_directory
749
- end
750
-
751
- @files.each do |path|
752
- link_path = path.sub(source, dest)
753
-
754
- expect(Puppet::FileSystem.lstat(link_path).ftype).to eq("link")
755
- end
756
- end
757
-
758
- it "should be able to recursively copy files" do
759
- source = tmpfile("file_source_integration_source")
760
-
761
- build_path(source)
762
-
763
- dest = tmpfile("file_source_integration_dest")
764
-
765
- @file = described_class.new(:name => dest, :source => source, :recurse => true, :backup => false)
766
-
767
- catalog.add_resource @file
768
-
769
- catalog.apply
770
-
771
- @dirs.each do |path|
772
- newpath = path.sub(source, dest)
773
-
774
- expect(Puppet::FileSystem.lstat(newpath)).to be_directory
775
- end
776
-
777
- @files.each do |path|
778
- newpath = path.sub(source, dest)
779
-
780
- expect(Puppet::FileSystem.lstat(newpath).ftype).to eq("file")
781
- end
782
- end
783
-
784
- it "should not recursively manage files set to be ignored" do
785
- srcdir = tmpfile("ignore_vs_recurse_1")
786
- dstdir = tmpfile("ignore_vs_recurse_2")
787
-
788
- FileUtils.mkdir_p(srcdir)
789
- FileUtils.mkdir_p(dstdir)
790
-
791
- srcfile = File.join(srcdir, "file.src")
792
- cpyfile = File.join(dstdir, "file.src")
793
- ignfile = File.join(srcdir, "file.ign")
794
-
795
- File.open(srcfile, "w") { |f| f.puts "don't ignore me" }
796
- File.open(ignfile, "w") { |f| f.puts "you better ignore me" }
797
-
798
-
799
- catalog.add_resource described_class.new(
800
- :name => srcdir,
801
- :ensure => 'directory',
802
- :mode => '0755',)
803
-
804
- catalog.add_resource described_class.new(
805
- :name => dstdir,
806
- :ensure => 'directory',
807
- :mode => "755",
808
- :source => srcdir,
809
- :recurse => true,
810
- :ignore => '*.ign',)
811
-
812
- catalog.apply
813
- expect(Puppet::FileSystem.exist?(srcdir)).to be_truthy
814
- expect(Puppet::FileSystem.exist?(dstdir)).to be_truthy
815
- expect(File.read(srcfile).strip).to eq("don't ignore me")
816
- expect(File.read(cpyfile).strip).to eq("don't ignore me")
817
- expect(Puppet::FileSystem.exist?("#{dstdir}/file.ign")).to be_falsey
818
- end
819
-
820
- it "should not recursively manage files managed by a more specific explicit file" do
821
- dir = tmpfile("recursion_vs_explicit_1")
822
-
823
- subdir = File.join(dir, "subdir")
824
- file = File.join(subdir, "file")
825
-
826
- FileUtils.mkdir_p(subdir)
827
- File.open(file, "w") { |f| f.puts "" }
828
-
829
- base = described_class.new(:name => dir, :recurse => true, :backup => false, :mode => "755")
830
- sub = described_class.new(:name => subdir, :recurse => true, :backup => false, :mode => "644")
831
-
832
- catalog.add_resource base
833
- catalog.add_resource sub
834
-
835
- catalog.apply
836
-
837
- expect(get_mode(file) & 007777).to eq(0644)
838
- end
839
-
840
- it "should recursively manage files even if there is an explicit file whose name is a prefix of the managed file" do
841
- managed = File.join(path, "file")
842
- generated = File.join(path, "file_with_a_name_starting_with_the_word_file")
843
-
844
- FileUtils.mkdir_p(path)
845
- FileUtils.touch(managed)
846
- FileUtils.touch(generated)
847
-
848
- catalog.add_resource described_class.new(:name => path, :recurse => true, :backup => false, :mode => '0700')
849
- catalog.add_resource described_class.new(:name => managed, :recurse => true, :backup => false, :mode => "644")
850
-
851
- catalog.apply
852
-
853
- expect(get_mode(generated) & 007777).to eq(0700)
854
- end
855
-
856
- describe "when recursing remote directories" do
857
- describe "for the 2nd time" do
858
- with_checksum_types "one", "x" do
859
- let(:target_file) { File.join(path, 'x') }
860
- let(:second_catalog) { Puppet::Resource::Catalog.new }
861
- before(:each) do
862
- @options = {
863
- :path => path,
864
- :ensure => :directory,
865
- :backup => false,
866
- :recurse => true,
867
- :checksum => checksum_type,
868
- :source => env_path
869
- }
870
- end
871
-
872
- it "should not update the target directory" do
873
- # Ensure the test believes the source file was written in the past.
874
- FileUtils.touch checksum_file, :mtime => Time.now - 20
875
- catalog.add_resource Puppet::Type.send(:newfile, @options)
876
- catalog.apply
877
- expect(File).to be_directory(path)
878
- expect(Puppet::FileSystem.exist?(target_file)).to be_truthy
879
-
880
- # The 2nd time the resource should not change.
881
- second_catalog.add_resource Puppet::Type.send(:newfile, @options)
882
- result = second_catalog.apply
883
- status = result.report.resource_statuses["File[#{target_file}]"]
884
- expect(status).not_to be_failed
885
- expect(status).not_to be_changed
886
- end
887
-
888
- it "should update the target directory if contents change" do
889
- pending "a way to appropriately mock ctime checks for a particular file" if checksum_type == 'ctime'
890
-
891
- catalog.add_resource Puppet::Type.send(:newfile, @options)
892
- catalog.apply
893
- expect(File).to be_directory(path)
894
- expect(Puppet::FileSystem.exist?(target_file)).to be_truthy
895
-
896
- # Change the source file.
897
- File.open(checksum_file, "wb") { |f| f.write "some content" }
898
- FileUtils.touch target_file, mtime: Time.now - 20
899
-
900
- # The 2nd time should update the resource.
901
- second_catalog.add_resource Puppet::Type.send(:newfile, @options)
902
- result = second_catalog.apply
903
- status = result.report.resource_statuses["File[#{target_file}]"]
904
- expect(status).not_to be_failed
905
- expect(status).to be_changed
906
- end
907
- end
908
- end
909
-
910
- describe "when sourceselect first" do
911
- describe "for a directory" do
912
- it "should recursively copy the first directory that exists" do
913
- one = File.expand_path('thisdoesnotexist')
914
- two = tmpdir('two')
915
-
916
- FileUtils.mkdir_p(File.join(two, 'three'))
917
- FileUtils.touch(File.join(two, 'three', 'four'))
918
-
919
- catalog.add_resource Puppet::Type.newfile(
920
- :path => path,
921
- :ensure => :directory,
922
- :backup => false,
923
- :recurse => true,
924
- :sourceselect => :first,
925
- :source => [one, two]
926
- )
927
-
928
- catalog.apply
929
-
930
- expect(File).to be_directory(path)
931
- expect(Puppet::FileSystem.exist?(File.join(path, 'one'))).to be_falsey
932
- expect(Puppet::FileSystem.exist?(File.join(path, 'three', 'four'))).to be_truthy
933
- end
934
-
935
- it "should recursively copy an empty directory" do
936
- one = File.expand_path('thisdoesnotexist')
937
- two = tmpdir('two')
938
- three = tmpdir('three')
939
- file_in_dir_with_contents(three, 'a', '')
940
-
941
- catalog.add_resource Puppet::Type.newfile(
942
- :path => path,
943
- :ensure => :directory,
944
- :backup => false,
945
- :recurse => true,
946
- :sourceselect => :first,
947
- :source => [one, two, three]
948
- )
949
-
950
- catalog.apply
951
-
952
- expect(File).to be_directory(path)
953
- expect(Puppet::FileSystem.exist?(File.join(path, 'a'))).to be_falsey
954
- end
955
-
956
- it "should only recurse one level" do
957
- one = tmpdir('one')
958
- FileUtils.mkdir_p(File.join(one, 'a', 'b'))
959
- FileUtils.touch(File.join(one, 'a', 'b', 'c'))
960
-
961
- two = tmpdir('two')
962
- FileUtils.mkdir_p(File.join(two, 'z'))
963
- FileUtils.touch(File.join(two, 'z', 'y'))
964
-
965
- catalog.add_resource Puppet::Type.newfile(
966
- :path => path,
967
- :ensure => :directory,
968
- :backup => false,
969
- :recurse => true,
970
- :recurselimit => 1,
971
- :sourceselect => :first,
972
- :source => [one, two]
973
- )
974
-
975
- catalog.apply
976
-
977
- expect(Puppet::FileSystem.exist?(File.join(path, 'a'))).to be_truthy
978
- expect(Puppet::FileSystem.exist?(File.join(path, 'a', 'b'))).to be_falsey
979
- expect(Puppet::FileSystem.exist?(File.join(path, 'z'))).to be_falsey
980
- end
981
- end
982
-
983
- describe "for a file" do
984
- it "should copy the first file that exists" do
985
- one = File.expand_path('thisdoesnotexist')
986
- two = tmpfile_with_contents('two', 'yay')
987
- three = tmpfile_with_contents('three', 'no')
988
-
989
- catalog.add_resource Puppet::Type.newfile(
990
- :path => path,
991
- :ensure => :file,
992
- :backup => false,
993
- :sourceselect => :first,
994
- :source => [one, two, three]
995
- )
996
-
997
- catalog.apply
998
-
999
- expect(File.read(path)).to eq('yay')
1000
- end
1001
-
1002
- it "should copy an empty file" do
1003
- one = File.expand_path('thisdoesnotexist')
1004
- two = tmpfile_with_contents('two', '')
1005
- three = tmpfile_with_contents('three', 'no')
1006
-
1007
- catalog.add_resource Puppet::Type.newfile(
1008
- :path => path,
1009
- :ensure => :file,
1010
- :backup => false,
1011
- :sourceselect => :first,
1012
- :source => [one, two, three]
1013
- )
1014
-
1015
- catalog.apply
1016
-
1017
- expect(File.read(path)).to eq('')
1018
- end
1019
- end
1020
- end
1021
-
1022
- describe "when sourceselect all" do
1023
- describe "for a directory" do
1024
- it "should recursively copy all sources from the first valid source" do
1025
- dest = tmpdir('dest')
1026
- one = tmpdir('one')
1027
- two = tmpdir('two')
1028
- three = tmpdir('three')
1029
- four = tmpdir('four')
1030
-
1031
- file_in_dir_with_contents(one, 'a', one)
1032
- file_in_dir_with_contents(two, 'a', two)
1033
- file_in_dir_with_contents(two, 'b', two)
1034
- file_in_dir_with_contents(three, 'a', three)
1035
- file_in_dir_with_contents(three, 'c', three)
1036
-
1037
- obj = Puppet::Type.newfile(
1038
- :path => dest,
1039
- :ensure => :directory,
1040
- :backup => false,
1041
- :recurse => true,
1042
- :sourceselect => :all,
1043
- :source => [one, two, three, four]
1044
- )
1045
-
1046
- catalog.add_resource obj
1047
- catalog.apply
1048
-
1049
- expect(File.read(File.join(dest, 'a'))).to eq(one)
1050
- expect(File.read(File.join(dest, 'b'))).to eq(two)
1051
- expect(File.read(File.join(dest, 'c'))).to eq(three)
1052
- end
1053
-
1054
- it "should only recurse one level from each valid source" do
1055
- one = tmpdir('one')
1056
- FileUtils.mkdir_p(File.join(one, 'a', 'b'))
1057
- FileUtils.touch(File.join(one, 'a', 'b', 'c'))
1058
-
1059
- two = tmpdir('two')
1060
- FileUtils.mkdir_p(File.join(two, 'z'))
1061
- FileUtils.touch(File.join(two, 'z', 'y'))
1062
-
1063
- obj = Puppet::Type.newfile(
1064
- :path => path,
1065
- :ensure => :directory,
1066
- :backup => false,
1067
- :recurse => true,
1068
- :recurselimit => 1,
1069
- :sourceselect => :all,
1070
- :source => [one, two]
1071
- )
1072
-
1073
- catalog.add_resource obj
1074
- catalog.apply
1075
-
1076
- expect(Puppet::FileSystem.exist?(File.join(path, 'a'))).to be_truthy
1077
- expect(Puppet::FileSystem.exist?(File.join(path, 'a', 'b'))).to be_falsey
1078
- expect(Puppet::FileSystem.exist?(File.join(path, 'z'))).to be_truthy
1079
- expect(Puppet::FileSystem.exist?(File.join(path, 'z', 'y'))).to be_falsey
1080
- end
1081
- end
1082
- end
1083
- end
1084
- end
1085
-
1086
- describe "when generating resources" do
1087
- before do
1088
- source = tmpdir("generating_in_catalog_source")
1089
-
1090
- file_in_dir_with_contents(source, "one", "uno")
1091
- file_in_dir_with_contents(source, "two", "dos")
1092
-
1093
- @file = described_class.new(
1094
- :name => path,
1095
- :source => source,
1096
- :recurse => true,
1097
- :backup => false
1098
- )
1099
-
1100
- catalog.add_resource @file
1101
- end
1102
-
1103
- it "should add each generated resource to the catalog" do
1104
- catalog.apply do |trans|
1105
- expect(catalog.resource(:file, File.join(path, "one"))).to be_a(described_class)
1106
- expect(catalog.resource(:file, File.join(path, "two"))).to be_a(described_class)
1107
- end
1108
- end
1109
-
1110
- it "should have an edge to each resource in the relationship graph" do
1111
- catalog.apply do |trans|
1112
- one = catalog.resource(:file, File.join(path, "one"))
1113
- expect(catalog.relationship_graph).to be_edge(@file, one)
1114
-
1115
- two = catalog.resource(:file, File.join(path, "two"))
1116
- expect(catalog.relationship_graph).to be_edge(@file, two)
1117
- end
1118
- end
1119
- end
1120
-
1121
- describe "when copying files" do
1122
- it "should be able to copy files with pound signs in their names (#285)" do
1123
- source = tmpfile_with_contents("filewith#signs", "foo")
1124
- dest = tmpfile("destwith#signs")
1125
- catalog.add_resource described_class.new(:name => dest, :source => source)
1126
-
1127
- catalog.apply
1128
-
1129
- expect(File.read(dest)).to eq("foo")
1130
- end
1131
-
1132
- it "should be able to copy files with spaces in their names" do
1133
- dest = tmpfile("destwith spaces")
1134
- source = tmpfile_with_contents("filewith spaces", "foo")
1135
- catalog.add_resource described_class.new(:path => dest, :source => source)
1136
-
1137
- catalog.apply
1138
-
1139
- expect(File.read(dest)).to eq("foo")
1140
- end
1141
-
1142
- it "should maintain source URIs as UTF-8 with Unicode characters in their names and be able to copy such files" do
1143
- # different UTF-8 widths
1144
- # 1-byte A
1145
- # 2-byte ۿ - http://www.fileformat.info/info/unicode/char/06ff/index.htm - 0xDB 0xBF / 219 191
1146
- # 3-byte ᚠ - http://www.fileformat.info/info/unicode/char/16A0/index.htm - 0xE1 0x9A 0xA0 / 225 154 160
1147
- # 4-byte <U+070E> - http://www.fileformat.info/info/unicode/char/2070E/index.htm - 0xF0 0xA0 0x9C 0x8E / 240 160 156 142
1148
- mixed_utf8 = "A\u06FF\u16A0\u{2070E}" # Aۿᚠ<U+070E>
1149
-
1150
- dest = tmpfile("destwith #{mixed_utf8}")
1151
- source = tmpfile_with_contents("filewith #{mixed_utf8}", "foo")
1152
- catalog.add_resource described_class.new(:path => dest, :source => source)
1153
-
1154
- catalog.apply
1155
-
1156
- # find the resource and verify
1157
- resource = catalog.resources.first { |r| r.title == "File[#{dest}]" }
1158
- uri_path = resource.parameters[:source].uri.path
1159
-
1160
- # note that Windows file:// style URIs get an extra / in front of c:/ like /c:/
1161
- source_prefix = Puppet::Util::Platform.windows? ? '/' : ''
1162
-
1163
- # the URI can be round-tripped through unescape
1164
- expect(Puppet::Util.uri_unescape(uri_path)).to eq(source_prefix + source)
1165
- # and is properly UTF-8
1166
- expect(uri_path.encoding).to eq (Encoding::UTF_8)
1167
-
1168
- expect(File.read(dest)).to eq('foo')
1169
- end
1170
-
1171
- it "should be able to copy individual files even if recurse has been specified" do
1172
- source = tmpfile_with_contents("source", "foo")
1173
- dest = tmpfile("dest")
1174
- catalog.add_resource described_class.new(:name => dest, :source => source, :recurse => true)
1175
-
1176
- catalog.apply
1177
-
1178
- expect(File.read(dest)).to eq("foo")
1179
- end
1180
- end
1181
-
1182
- CHECKSUM_TYPES_TO_TRY.each do |checksum_type, checksum|
1183
- describe "when checksum_type is #{checksum_type}" do
1184
- before(:each) do
1185
- @options = {:path => path, :content => CHECKSUM_PLAINTEXT, :checksum => checksum_type}
1186
- end
1187
-
1188
- context "when changing the content" do
1189
- before :each do
1190
- FileUtils.touch(path)
1191
- catalog.add_resource described_class.send(:new, @options)
1192
- end
1193
-
1194
- it "should overwrite contents" do
1195
- catalog.apply
1196
- expect(Puppet::FileSystem.binread(path)).to eq(CHECKSUM_PLAINTEXT)
1197
- end
1198
-
1199
- it "should log that content changed" do
1200
- report = catalog.apply.report
1201
- expect(report.logs.first.source).to eq("/File[#{path}]/content")
1202
- expect(report.logs.first.message).to match(/content changed '{#{checksum_type}}[0-9a-f]*' to '{#{checksum_type}}#{checksum}'/)
1203
- end
1204
- end
1205
-
1206
- context "ensure is present" do
1207
- before(:each) do
1208
- @options[:ensure] = "present"
1209
- end
1210
-
1211
- it "should create a file with content" do
1212
- catalog.add_resource described_class.send(:new, @options)
1213
- catalog.apply
1214
- expect(Puppet::FileSystem.binread(path)).to eq(CHECKSUM_PLAINTEXT)
1215
-
1216
- second_catalog = Puppet::Resource::Catalog.new
1217
- second_catalog.add_resource described_class.send(:new, @options)
1218
- status = second_catalog.apply.report.resource_statuses["File[#{path}]"]
1219
- expect(status).not_to be_failed
1220
- expect(status).not_to be_changed
1221
- end
1222
-
1223
- it "should log the content checksum" do
1224
- catalog.add_resource described_class.send(:new, @options)
1225
- report = catalog.apply.report
1226
- expect(report.logs.first.source).to eq("/File[#{path}]/ensure")
1227
- expect(report.logs.first.message).to eq("defined content as '{#{checksum_type}}#{checksum}'")
1228
-
1229
- second_catalog = Puppet::Resource::Catalog.new
1230
- second_catalog.add_resource described_class.send(:new, @options)
1231
- logs = second_catalog.apply.report.logs
1232
- expect(logs).to be_empty
1233
- end
1234
- end
1235
-
1236
- context "ensure is omitted" do
1237
- it "should create a file with content" do
1238
- catalog.add_resource described_class.send(:new, @options)
1239
- catalog.apply
1240
- expect(Puppet::FileSystem.binread(path)).to eq(CHECKSUM_PLAINTEXT)
1241
-
1242
- second_catalog = Puppet::Resource::Catalog.new
1243
- second_catalog.add_resource described_class.send(:new, @options)
1244
- status = second_catalog.apply.report.resource_statuses["File[#{path}]"]
1245
- expect(status).not_to be_failed
1246
- expect(status).not_to be_changed
1247
- end
1248
-
1249
- it "should log the content checksum" do
1250
- catalog.add_resource described_class.send(:new, @options)
1251
- report = catalog.apply.report
1252
- expect(report.logs.first.source).to eq("/File[#{path}]/ensure")
1253
- expect(report.logs.first.message).to eq("defined content as '{#{checksum_type}}#{checksum}'")
1254
-
1255
- second_catalog = Puppet::Resource::Catalog.new
1256
- second_catalog.add_resource described_class.send(:new, @options)
1257
- logs = second_catalog.apply.report.logs
1258
- expect(logs).to be_empty
1259
- end
1260
- end
1261
-
1262
- context "both content and ensure are set" do
1263
- before(:each) do
1264
- @options[:ensure] = "file"
1265
- end
1266
-
1267
- it "should create files with content" do
1268
- catalog.add_resource described_class.send(:new, @options)
1269
- catalog.apply
1270
- expect(Puppet::FileSystem.binread(path)).to eq(CHECKSUM_PLAINTEXT)
1271
-
1272
- second_catalog = Puppet::Resource::Catalog.new
1273
- second_catalog.add_resource described_class.send(:new, @options)
1274
- status = second_catalog.apply.report.resource_statuses["File[#{path}]"]
1275
- expect(status).not_to be_failed
1276
- expect(status).not_to be_changed
1277
- end
1278
-
1279
- it "should log the content checksum" do
1280
- catalog.add_resource described_class.send(:new, @options)
1281
- report = catalog.apply.report
1282
- expect(report.logs.first.source).to eq("/File[#{path}]/ensure")
1283
- expect(report.logs.first.message).to eq("defined content as '{#{checksum_type}}#{checksum}'")
1284
-
1285
- second_catalog = Puppet::Resource::Catalog.new
1286
- second_catalog.add_resource described_class.send(:new, @options)
1287
- logs = second_catalog.apply.report.logs
1288
- expect(logs).to be_empty
1289
- end
1290
- end
1291
- end
1292
- end
1293
-
1294
- it "should delete files with sources but that are set for deletion" do
1295
- source = tmpfile_with_contents("source_source_with_ensure", "yay")
1296
- dest = tmpfile_with_contents("source_source_with_ensure", "boo")
1297
-
1298
- file = described_class.new(
1299
- :path => dest,
1300
- :ensure => :absent,
1301
- :source => source,
1302
- :backup => false
1303
- )
1304
-
1305
- catalog.add_resource file
1306
- catalog.apply
1307
-
1308
- expect(Puppet::FileSystem.exist?(dest)).to be_falsey
1309
- end
1310
-
1311
- describe "when sourcing" do
1312
- it "should give a deprecation warning when the user sets source_permissions" do
1313
- expect(Puppet).to receive(:puppet_deprecation_warning).with(
1314
- 'The `source_permissions` parameter is deprecated. Explicitly set `owner`, `group`, and `mode`.',
1315
- {:file => 'my/file.pp', :line => 5})
1316
-
1317
- catalog.add_resource described_class.new(:path => path, :content => 'this is content', :source_permissions => :use_when_creating)
1318
- catalog.apply
1319
- end
1320
-
1321
- it "should not give a deprecation warning when the user does not set source_permissions" do
1322
- expect(Puppet).not_to receive(:puppet_deprecation_warning)
1323
- catalog.add_resource described_class.new(:path => path, :content => 'this is content')
1324
- catalog.apply
1325
- end
1326
-
1327
- with_checksum_types "source", "default_values" do
1328
- before(:each) do
1329
- set_mode(0770, checksum_file)
1330
- @options = {
1331
- :path => path,
1332
- :ensure => :file,
1333
- :source => checksum_file,
1334
- :checksum => checksum_type,
1335
- :backup => false
1336
- }
1337
- end
1338
-
1339
- describe "on POSIX systems", :if => Puppet.features.posix? do
1340
- it "should apply the source metadata values" do
1341
- @options[:source_permissions] = :use
1342
-
1343
- catalog.add_resource described_class.send(:new, @options)
1344
- catalog.apply
1345
- expect(get_owner(path)).to eq(get_owner(checksum_file))
1346
- expect(get_group(path)).to eq(get_group(checksum_file))
1347
- expect(get_mode(path) & 07777).to eq(0770)
1348
-
1349
- second_catalog = Puppet::Resource::Catalog.new
1350
- second_catalog.add_resource described_class.send(:new, @options)
1351
- status = second_catalog.apply.report.resource_statuses["File[#{path}]"]
1352
- expect(status).not_to be_failed
1353
- expect(status).not_to be_changed
1354
- end
1355
- end
1356
-
1357
- it "should override the default metadata values" do
1358
- @options[:mode] = '0440'
1359
-
1360
- catalog.add_resource described_class.send(:new, @options)
1361
- catalog.apply
1362
- expect(get_mode(path) & 07777).to eq(0440)
1363
-
1364
- second_catalog = Puppet::Resource::Catalog.new
1365
- second_catalog.add_resource described_class.send(:new, @options)
1366
- status = second_catalog.apply.report.resource_statuses["File[#{path}]"]
1367
- expect(status).not_to be_failed
1368
- expect(status).not_to be_changed
1369
- end
1370
- end
1371
-
1372
- let(:source) { tmpfile_with_contents("source_default_values", "yay") }
1373
-
1374
- describe "from http" do
1375
- let(:http_source) { "http://my-server/file" }
1376
- let(:httppath) { "#{path}http" }
1377
-
1378
- context "using mtime", :vcr => true do
1379
- let(:resource) do
1380
- described_class.new(
1381
- :path => httppath,
1382
- :ensure => :file,
1383
- :source => http_source,
1384
- :backup => false,
1385
- :checksum => :mtime
1386
- )
1387
- end
1388
-
1389
- it "should fetch if not on the local disk" do
1390
- catalog.add_resource resource
1391
- catalog.apply
1392
- expect(Puppet::FileSystem.exist?(httppath)).to be_truthy
1393
- expect(File.read(httppath)).to eq "Content via HTTP\n"
1394
- end
1395
-
1396
- # The fixture has neither last-modified nor content-checksum headers.
1397
- # Such upstream ressources are treated as "really fresh" and get
1398
- # downloaded during every run.
1399
- it "should fetch if no header specified" do
1400
- File.open(httppath, "wb") { |f| f.puts "Content originally on disk\n" }
1401
- # make sure the mtime is not "right now", lest we get a race
1402
- FileUtils.touch httppath, mtime: Time.parse("Sun, 22 Mar 2015 22:57:43 GMT")
1403
- catalog.add_resource resource
1404
- catalog.apply
1405
- expect(Puppet::FileSystem.exist?(httppath)).to be_truthy
1406
- expect(File.read(httppath)).to eq "Content via HTTP\n"
1407
- end
1408
-
1409
- it "should fetch if mtime is older on disk" do
1410
- File.open(httppath, "wb") { |f| f.puts "Content originally on disk\n" }
1411
- # fixture has Last-Modified: Sun, 22 Mar 2015 22:25:34 GMT
1412
- FileUtils.touch httppath, mtime: Time.parse("Sun, 22 Mar 2015 22:22:34 GMT")
1413
- catalog.add_resource resource
1414
- catalog.apply
1415
- expect(Puppet::FileSystem.exist?(httppath)).to be_truthy
1416
- expect(File.read(httppath)).to eq "Content via HTTP\n"
1417
- end
1418
-
1419
- it "should not update if mtime is newer on disk" do
1420
- File.open(httppath, "wb") { |f| f.puts "Content via HTTP\n" }
1421
- mtime = File.stat(httppath).mtime
1422
- catalog.add_resource resource
1423
- catalog.apply
1424
- expect(Puppet::FileSystem.exist?(httppath)).to be_truthy
1425
- expect(File.read(httppath)).to eq "Content via HTTP\n"
1426
- expect(File.stat(httppath).mtime).to eq mtime
1427
- end
1428
- end
1429
-
1430
- context "using md5", :vcr => true do
1431
- let(:resource) do
1432
- described_class.new(
1433
- :path => httppath,
1434
- :ensure => :file,
1435
- :source => http_source,
1436
- :backup => false,
1437
- )
1438
- end
1439
-
1440
- it "should fetch if not on the local disk" do
1441
- catalog.add_resource resource
1442
- catalog.apply
1443
- expect(Puppet::FileSystem.exist?(httppath)).to be_truthy
1444
- expect(File.read(httppath)).to eq "Content via HTTP\n"
1445
- end
1446
-
1447
- it "should update if content differs on disk" do
1448
- File.open(httppath, "wb") { |f| f.puts "Content originally on disk\n" }
1449
- catalog.add_resource resource
1450
- catalog.apply
1451
- expect(Puppet::FileSystem.exist?(httppath)).to be_truthy
1452
- expect(File.read(httppath)).to eq "Content via HTTP\n"
1453
- end
1454
-
1455
- it "should not update if content on disk is up-to-date" do
1456
- File.open(httppath, "wb") { |f| f.puts "Content via HTTP\n" }
1457
- disk_mtime = Time.parse("Sun, 22 Mar 2015 22:22:34 GMT")
1458
- FileUtils.touch httppath, mtime: disk_mtime
1459
- catalog.add_resource resource
1460
- catalog.apply
1461
- expect(Puppet::FileSystem.exist?(httppath)).to be_truthy
1462
- expect(File.read(httppath)).to eq "Content via HTTP\n"
1463
- expect(File.stat(httppath).mtime).to eq disk_mtime
1464
- end
1465
-
1466
- end
1467
- end
1468
-
1469
- describe "on Windows systems", :if => Puppet::Util::Platform.windows? do
1470
- def expects_sid_granted_full_access_explicitly(path, sid)
1471
- inherited_ace = Puppet::Util::Windows::AccessControlEntry::INHERITED_ACE
1472
-
1473
- aces = get_aces_for_path_by_sid(path, sid)
1474
- expect(aces).not_to be_empty
1475
-
1476
- aces.each do |ace|
1477
- expect(ace.mask).to eq(Puppet::Util::Windows::File::FILE_ALL_ACCESS)
1478
- expect(ace.flags & inherited_ace).not_to eq(inherited_ace)
1479
- end
1480
- end
1481
-
1482
- def expects_system_granted_full_access_explicitly(path)
1483
- expects_sid_granted_full_access_explicitly(path, @sids[:system])
1484
- end
1485
-
1486
- def expects_at_least_one_inherited_ace_grants_full_access(path, sid)
1487
- inherited_ace = Puppet::Util::Windows::AccessControlEntry::INHERITED_ACE
1488
-
1489
- aces = get_aces_for_path_by_sid(path, sid)
1490
- expect(aces).not_to be_empty
1491
-
1492
- expect(aces.any? do |ace|
1493
- ace.mask == Puppet::Util::Windows::File::FILE_ALL_ACCESS &&
1494
- (ace.flags & inherited_ace) == inherited_ace
1495
- end).to be_truthy
1496
- end
1497
-
1498
- def expects_at_least_one_inherited_system_ace_grants_full_access(path)
1499
- expects_at_least_one_inherited_ace_grants_full_access(path, @sids[:system])
1500
- end
1501
-
1502
- describe "when processing SYSTEM ACEs" do
1503
- before do
1504
- @sids = {
1505
- :current_user => Puppet::Util::Windows::ADSI::User.current_user_sid.sid,
1506
- :system => Puppet::Util::Windows::SID::LocalSystem,
1507
- :users => Puppet::Util::Windows::SID::BuiltinUsers,
1508
- :power_users => Puppet::Util::Windows::SID::PowerUsers,
1509
- :none => Puppet::Util::Windows::SID::Nobody
1510
- }
1511
- end
1512
-
1513
- describe "on files" do
1514
- before :each do
1515
- @file = described_class.new(
1516
- :path => path,
1517
- :ensure => :file,
1518
- :source => source,
1519
- :backup => false
1520
- )
1521
- catalog.add_resource @file
1522
- end
1523
-
1524
- describe "when permissions are not insync?" do
1525
- before :each do
1526
- @file[:owner] = @sids[:none]
1527
- @file[:group] = @sids[:none]
1528
- end
1529
-
1530
- it "preserves the inherited SYSTEM ACE for an existing file" do
1531
- FileUtils.touch(path)
1532
-
1533
- expects_at_least_one_inherited_system_ace_grants_full_access(path)
1534
-
1535
- catalog.apply
1536
-
1537
- expects_at_least_one_inherited_system_ace_grants_full_access(path)
1538
- end
1539
-
1540
- it "applies the inherited SYSTEM ACEs for a new file" do
1541
- catalog.apply
1542
-
1543
- expects_at_least_one_inherited_system_ace_grants_full_access(path)
1544
- end
1545
- end
1546
-
1547
- describe "created with SYSTEM as the group" do
1548
- before :each do
1549
- @file[:owner] = @sids[:users]
1550
- @file[:group] = @sids[:system]
1551
- @file[:mode] = '0644'
1552
-
1553
- catalog.apply
1554
- end
1555
-
1556
- it "prepends SYSTEM ace when changing group from system to power users" do
1557
- @file[:group] = @sids[:power_users]
1558
- catalog.apply
1559
-
1560
- system_aces = get_aces_for_path_by_sid(path, @sids[:system])
1561
- expect(system_aces.size).to eq(1)
1562
- end
1563
- end
1564
-
1565
- describe "with :links set to :follow" do
1566
- it "should not fail to apply" do
1567
- # at minimal, we need an owner and/or group
1568
- @file[:owner] = @sids[:users]
1569
- @file[:links] = :follow
1570
-
1571
- catalog.apply do |transaction|
1572
- if transaction.any_failed?
1573
- pretty_transaction_error(transaction)
1574
- end
1575
- end
1576
- end
1577
- end
1578
- end
1579
-
1580
- describe "on directories" do
1581
- before :each do
1582
- @directory = described_class.new(
1583
- :path => dir,
1584
- :ensure => :directory
1585
- )
1586
- catalog.add_resource @directory
1587
- end
1588
-
1589
- def grant_everyone_full_access(path)
1590
- sd = Puppet::Util::Windows::Security.get_security_descriptor(path)
1591
- sd.dacl.allow(
1592
- 'S-1-1-0', #everyone
1593
- Puppet::Util::Windows::File::FILE_ALL_ACCESS,
1594
- Puppet::Util::Windows::AccessControlEntry::OBJECT_INHERIT_ACE |
1595
- Puppet::Util::Windows::AccessControlEntry::CONTAINER_INHERIT_ACE)
1596
- Puppet::Util::Windows::Security.set_security_descriptor(path, sd)
1597
- end
1598
-
1599
- after :each do
1600
- grant_everyone_full_access(dir)
1601
- end
1602
-
1603
- describe "when permissions are not insync?" do
1604
- before :each do
1605
- @directory[:owner] = @sids[:none]
1606
- @directory[:group] = @sids[:none]
1607
- end
1608
-
1609
- it "preserves the inherited SYSTEM ACEs for an existing directory" do
1610
- FileUtils.mkdir(dir)
1611
-
1612
- expects_at_least_one_inherited_system_ace_grants_full_access(dir)
1613
-
1614
- catalog.apply
1615
-
1616
- expects_at_least_one_inherited_system_ace_grants_full_access(dir)
1617
- end
1618
-
1619
- it "applies the inherited SYSTEM ACEs for a new directory" do
1620
- catalog.apply
1621
-
1622
- expects_at_least_one_inherited_system_ace_grants_full_access(dir)
1623
- end
1624
-
1625
- describe "created with SYSTEM as the group" do
1626
- before :each do
1627
- @directory[:owner] = @sids[:users]
1628
- @directory[:group] = @sids[:system]
1629
- @directory[:mode] = '0644'
1630
-
1631
- catalog.apply
1632
- end
1633
-
1634
- it "prepends SYSTEM ace when changing group from system to power users" do
1635
- @directory[:group] = @sids[:power_users]
1636
- catalog.apply
1637
-
1638
- system_aces = get_aces_for_path_by_sid(dir, @sids[:system])
1639
- expect(system_aces.size).to eq(1)
1640
- end
1641
- end
1642
-
1643
- describe "with :links set to :follow" do
1644
- it "should not fail to apply" do
1645
- # at minimal, we need an owner and/or group
1646
- @directory[:owner] = @sids[:users]
1647
- @directory[:links] = :follow
1648
-
1649
- catalog.apply do |transaction|
1650
- if transaction.any_failed?
1651
- pretty_transaction_error(transaction)
1652
- end
1653
- end
1654
- end
1655
- end
1656
- end
1657
- end
1658
- end
1659
- end
1660
- end
1661
-
1662
- describe "when purging files" do
1663
- before do
1664
- sourcedir = tmpdir("purge_source")
1665
- destdir = tmpdir("purge_dest")
1666
- sourcefile = File.join(sourcedir, "sourcefile")
1667
-
1668
- @copiedfile = File.join(destdir, "sourcefile")
1669
- @localfile = File.join(destdir, "localfile")
1670
- @purgee = File.join(destdir, "to_be_purged")
1671
-
1672
- File.open(@localfile, "w") { |f| f.print "oldtest" }
1673
- File.open(sourcefile, "w") { |f| f.print "funtest" }
1674
- # this file should get removed
1675
- File.open(@purgee, "w") { |f| f.print "footest" }
1676
-
1677
- lfobj = Puppet::Type.newfile(
1678
- :title => "localfile",
1679
- :path => @localfile,
1680
- :content => "rahtest",
1681
- :ensure => :file,
1682
- :backup => false
1683
- )
1684
-
1685
- destobj = Puppet::Type.newfile(
1686
- :title => "destdir",
1687
- :path => destdir,
1688
- :source => sourcedir,
1689
- :backup => false,
1690
- :purge => true,
1691
- :recurse => true
1692
- )
1693
-
1694
- catalog.add_resource lfobj, destobj
1695
- catalog.apply
1696
- end
1697
-
1698
- it "should still copy remote files" do
1699
- expect(File.read(@copiedfile)).to eq('funtest')
1700
- end
1701
-
1702
- it "should not purge managed, local files" do
1703
- expect(File.read(@localfile)).to eq('rahtest')
1704
- end
1705
-
1706
- it "should purge files that are neither remote nor otherwise managed" do
1707
- expect(Puppet::FileSystem.exist?(@purgee)).to be_falsey
1708
- end
1709
- end
1710
-
1711
- describe "when using validate_cmd" do
1712
- test_cmd = '/bin/test'
1713
- if Puppet.runtime[:facter].value('os.family') == 'Debian'
1714
- test_cmd = '/usr/bin/test'
1715
- end
1716
-
1717
- if Puppet.runtime[:facter].value('os.name') == 'Darwin'
1718
- stat_cmd = "stat -f '%Lp'"
1719
- else
1720
- stat_cmd = "stat --format=%a"
1721
- end
1722
-
1723
- it "sets the default mode of the temporary file to '0644'", :unless => Puppet::Util::Platform.windows? || Puppet::Util::Platform.jruby? do
1724
- catalog.add_resource(described_class.new(:path => path, :content => "foo",
1725
- :validate_replacement => '^',
1726
- :validate_cmd => %Q{
1727
- echo "The permissions of the file ($(#{stat_cmd} ^)) should equal 644";
1728
- #{test_cmd} "644" == "$(#{stat_cmd} ^)"
1729
- }))
1730
- report = catalog.apply.report
1731
- expect(report.resource_statuses["File[#{path}]"].events.first.message).to match(/defined content as '{sha256}/)
1732
- expect(report.resource_statuses["File[#{path}]"]).not_to be_failed
1733
- expect(Puppet::FileSystem.exist?(path)).to be_truthy
1734
- end
1735
-
1736
- it "should change the permissions of the temp file to match the final file permissions", :unless => Puppet::Util::Platform.windows? || Puppet::Util::Platform.jruby?do
1737
- catalog.add_resource(described_class.new(:path => path, :content => "foo",
1738
- :mode => '0555',
1739
- :validate_replacement => '^',
1740
- :validate_cmd => %Q{
1741
- echo "The permissions of the file ($(#{stat_cmd} ^)) should equal 555";
1742
- #{test_cmd} "555" == "$(#{stat_cmd} ^)"
1743
- }))
1744
- report = catalog.apply.report
1745
- expect(report.resource_statuses["File[#{path}]"].events.first.message).to match(/defined content as '{sha256}/)
1746
- expect(report.resource_statuses["File[#{path}]"]).not_to be_failed
1747
- expect(Puppet::FileSystem.exist?(path)).to be_truthy
1748
- end
1749
-
1750
- it "should fail the file resource if command fails" do
1751
- catalog.add_resource(described_class.new(:path => path, :content => "foo", :validate_cmd => "/usr/bin/env false"))
1752
- expect(Puppet::Util::Execution).to receive(:execute).with("/usr/bin/env false", {:combine => true, :failonfail => true}).and_raise(Puppet::ExecutionFailure, "Failed")
1753
- report = catalog.apply.report
1754
- expect(report.resource_statuses["File[#{path}]"]).to be_failed
1755
- expect(Puppet::FileSystem.exist?(path)).to be_falsey
1756
- end
1757
-
1758
- it "should succeed the file resource if command succeeds" do
1759
- catalog.add_resource(described_class.new(:path => path, :content => "foo", :validate_cmd => "/usr/bin/env true"))
1760
- expect(Puppet::Util::Execution).to receive(:execute)
1761
- .with("/usr/bin/env true", {:combine => true, :failonfail => true})
1762
- .and_return(Puppet::Util::Execution::ProcessOutput.new('', 0))
1763
- report = catalog.apply.report
1764
- expect(report.resource_statuses["File[#{path}]"]).not_to be_failed
1765
- expect(Puppet::FileSystem.exist?(path)).to be_truthy
1766
- end
1767
- end
1768
-
1769
- def tmpfile_with_contents(name, contents)
1770
- file = tmpfile(name)
1771
- File.open(file, "w") { |f| f.write contents }
1772
- file
1773
- end
1774
-
1775
- def file_in_dir_with_contents(dir, name, contents)
1776
- full_name = File.join(dir, name)
1777
- File.open(full_name, "w") { |f| f.write contents }
1778
- full_name
1779
- end
1780
-
1781
- def pretty_transaction_error(transaction)
1782
- report = transaction.report
1783
- status_failures = report.resource_statuses.values.select { |r| r.failed? }
1784
- status_fail_msg = status_failures.
1785
- collect(&:events).
1786
- flatten.
1787
- select { |event| event.status == 'failure' }.
1788
- collect { |event| "#{event.resource}: #{event.message}" }.join("; ")
1789
-
1790
- raise "Got #{status_failures.length} failure(s) while applying: #{status_fail_msg}"
1791
- end
1792
-
1793
- describe "copying a file that is a link to a file", :if => Puppet.features.manages_symlinks? do
1794
- let(:target) { tmpfile('target') }
1795
- let(:link) { tmpfile('link') }
1796
- let(:copy) { tmpfile('copy') }
1797
- it "should copy the target of the link if :links => follow" do
1798
- catalog.add_resource described_class.new(
1799
- :name => target,
1800
- :ensure => "present",
1801
- :content => "Jenny I got your number / I need to make you mine")
1802
- catalog.add_resource described_class.new(
1803
- :name => link,
1804
- :ensure => "link",
1805
- :target => target)
1806
- catalog.add_resource described_class.new(
1807
- :name => copy,
1808
- :ensure => "present",
1809
- :source => link,
1810
- :links => "follow")
1811
- catalog.apply
1812
- expect(Puppet::FileSystem).to be_file(copy)
1813
- expect(File.read(target)).to eq(File.read(copy))
1814
- end
1815
-
1816
- it "should copy the link itself if :links => manage" do
1817
- catalog.add_resource described_class.new(
1818
- :name => target,
1819
- :ensure => "present",
1820
- :content => "Jenny I got your number / I need to make you mine")
1821
- catalog.add_resource described_class.new(
1822
- :name => link,
1823
- :ensure => "link",
1824
- :target => target)
1825
- catalog.add_resource described_class.new(
1826
- :name => copy,
1827
- :ensure => "present",
1828
- :source => link,
1829
- :links => "manage")
1830
- catalog.apply
1831
- expect(Puppet::FileSystem).to be_symlink(copy)
1832
- expect(File.read(link)).to eq(File.read(copy))
1833
- end
1834
- end
1835
-
1836
- describe "copying a file that is a link to a directory", :if => Puppet.features.manages_symlinks? do
1837
- let(:target) { tmpdir('target') }
1838
- let(:link) { tmpfile('link') }
1839
- let(:copy) { tmpfile('copy') }
1840
- context "when the recurse attribute is false" do
1841
- it "should copy the top-level directory if :links => follow" do
1842
- catalog.add_resource described_class.new(
1843
- :name => target,
1844
- :ensure => "directory")
1845
- catalog.add_resource described_class.new(
1846
- :name => link,
1847
- :ensure => "link",
1848
- :target => target)
1849
- catalog.add_resource described_class.new(
1850
- :name => copy,
1851
- :ensure => "present",
1852
- :source => link,
1853
- :recurse => false,
1854
- :links => "follow")
1855
- catalog.apply
1856
- expect(Puppet::FileSystem).to be_directory(copy)
1857
- end
1858
-
1859
- it "should copy the link itself if :links => manage" do
1860
- catalog.add_resource described_class.new(
1861
- :name => target,
1862
- :ensure => "directory")
1863
- catalog.add_resource described_class.new(
1864
- :name => link,
1865
- :ensure => "link",
1866
- :target => target)
1867
- catalog.add_resource described_class.new(
1868
- :name => copy,
1869
- :ensure => "present",
1870
- :source => link,
1871
- :recurse => false,
1872
- :links => "manage")
1873
- catalog.apply
1874
- expect(Puppet::FileSystem).to be_symlink(copy)
1875
- expect(Dir.entries(link)).to eq(Dir.entries(copy))
1876
- end
1877
- end
1878
-
1879
- context "and the recurse attribute is true" do
1880
- it "should recursively copy the directory if :links => follow" do
1881
- catalog.add_resource described_class.new(
1882
- :name => target,
1883
- :ensure => "directory")
1884
- catalog.add_resource described_class.new(
1885
- :name => link,
1886
- :ensure => "link",
1887
- :target => target)
1888
- catalog.add_resource described_class.new(
1889
- :name => copy,
1890
- :ensure => "present",
1891
- :source => link,
1892
- :recurse => true,
1893
- :links => "follow")
1894
- catalog.apply
1895
- expect(Puppet::FileSystem).to be_directory(copy)
1896
- expect(Dir.entries(target)).to eq(Dir.entries(copy))
1897
- end
1898
-
1899
- it "should copy the link itself if :links => manage" do
1900
- catalog.add_resource described_class.new(
1901
- :name => target,
1902
- :ensure => "directory")
1903
- catalog.add_resource described_class.new(
1904
- :name => link,
1905
- :ensure => "link",
1906
- :target => target)
1907
- catalog.add_resource described_class.new(
1908
- :name => copy,
1909
- :ensure => "present",
1910
- :source => link,
1911
- :recurse => true,
1912
- :links => "manage")
1913
- catalog.apply
1914
- expect(Puppet::FileSystem).to be_symlink(copy)
1915
- expect(Dir.entries(link)).to eq(Dir.entries(copy))
1916
- end
1917
- end
1918
- end
1919
-
1920
- [:md5, :sha256, :md5lite, :sha256lite, :sha384, :sha512, :sha224].each do |checksum|
1921
- describe "setting checksum_value explicitly with checksum #{checksum}" do
1922
- let(:path) { tmpfile('target') }
1923
- let(:contents) { 'yay' }
1924
-
1925
- before :each do
1926
- @options = {
1927
- :path => path,
1928
- :ensure => :file,
1929
- :checksum => checksum,
1930
- :checksum_value => Puppet::Util::Checksums.send(checksum, contents)
1931
- }
1932
- end
1933
-
1934
- def verify_file(transaction)
1935
- status = transaction.report.resource_statuses["File[#{path}]"]
1936
- expect(status).not_to be_failed
1937
- expect(Puppet::FileSystem).to be_file(path)
1938
- expect(File.read(path)).to eq(contents)
1939
- status
1940
- end
1941
-
1942
- [:source, :content].each do |prop|
1943
- context "from #{prop}" do
1944
- let(:source) { tmpfile_with_contents("source_default_values", contents) }
1945
-
1946
- before :each do
1947
- @options[prop] = {:source => source, :content => contents}[prop]
1948
- end
1949
-
1950
- it "should create a new file" do
1951
- catalog.add_resource described_class.new(@options)
1952
- status = verify_file catalog.apply
1953
- expect(status).to be_changed
1954
- end
1955
-
1956
- it "should overwrite an existing file" do
1957
- File.open(path, "w") { |f| f.write('bar') }
1958
- catalog.add_resource described_class.new(@options)
1959
- status = verify_file catalog.apply
1960
- expect(status).to be_changed
1961
- end
1962
-
1963
- it "should not overwrite the same file" do
1964
- File.open(path, "w") { |f| f.write(contents) }
1965
- catalog.add_resource described_class.new(@options)
1966
- status = verify_file catalog.apply
1967
- expect(status).to_not be_changed
1968
- end
1969
-
1970
- it "should not create a file when ensuring absent" do
1971
- @options[:ensure] = :absent
1972
- catalog.add_resource described_class.new(@options)
1973
- catalog.apply
1974
- expect(Puppet::FileSystem).to_not be_file(path)
1975
- end
1976
- end
1977
- end
1978
- end
1979
- end
1980
-
1981
- describe "setting checksum_value explicitly with checksum mtime" do
1982
- let(:path) { tmpfile('target_dir') }
1983
- let(:time) { Time.now }
1984
-
1985
- before :each do
1986
- @options = {
1987
- :path => path,
1988
- :ensure => :directory,
1989
- :checksum => :mtime,
1990
- :checksum_value => time
1991
- }
1992
- end
1993
-
1994
- it "should create a new directory" do
1995
- catalog.add_resource described_class.new(@options)
1996
- status = catalog.apply.report.resource_statuses["File[#{path}]"]
1997
- expect(status).not_to be_failed
1998
- expect(status).to be_changed
1999
- expect(Puppet::FileSystem).to be_directory(path)
2000
- end
2001
-
2002
- it "should not update mtime on an old directory" do
2003
- disk_mtime = Time.parse("Sun, 22 Mar 2015 22:22:34 GMT")
2004
- FileUtils.mkdir_p path
2005
- FileUtils.touch path, mtime: disk_mtime
2006
- status = catalog.apply.report.resource_statuses["File[#{path}]"]
2007
- expect(status).to be_nil
2008
- expect(Puppet::FileSystem).to be_directory(path)
2009
- expect(File.stat(path).mtime).to eq(disk_mtime)
2010
- end
2011
- end
2012
- end