puppet 6.0.5-x64-mingw32 → 8.8.1-x64-mingw32

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 (2449) hide show
  1. checksums.yaml +4 -4
  2. data/CODEOWNERS +11 -0
  3. data/CODE_OF_CONDUCT.md +70 -0
  4. data/Gemfile +31 -21
  5. data/Gemfile.lock +232 -105
  6. data/Guardfile.example +76 -0
  7. data/LICENSE +189 -4
  8. data/README.md +24 -32
  9. data/Rakefile +47 -59
  10. data/bin/puppet +1 -0
  11. data/conf/fileserver.conf +5 -10
  12. data/examples/enc/regexp_nodes/regexp_nodes.rb +270 -0
  13. data/examples/hiera/README.md +68 -57
  14. data/examples/hiera/data/common.yaml +12 -0
  15. data/examples/hiera/data/dc1.yaml +6 -0
  16. data/examples/hiera/hiera.yaml +15 -0
  17. data/examples/hiera/modules/ntp/data/common.yaml +4 -0
  18. data/examples/hiera/modules/ntp/hiera.yaml +9 -0
  19. data/examples/hiera/modules/ntp/manifests/config.pp +16 -4
  20. data/examples/hiera/modules/ntp/templates/ntp.conf.epp +3 -0
  21. data/examples/hiera/modules/users/manifests/common.pp +7 -2
  22. data/examples/hiera/modules/users/manifests/dc1.pp +7 -2
  23. data/examples/hiera/site.pp +1 -1
  24. data/examples/nagios/check_puppet.rb +123 -0
  25. data/ext/README.md +13 -0
  26. data/ext/build_defaults.yaml +1 -1
  27. data/ext/osx/puppet.plist +2 -0
  28. data/ext/project_data.yaml +0 -55
  29. data/ext/solaris/smf/puppet.xml +2 -0
  30. data/ext/systemd/puppet.service +2 -1
  31. data/ext/windows/service/daemon.rb +85 -53
  32. data/install.rb +54 -72
  33. data/lib/hiera/puppet_function.rb +8 -6
  34. data/lib/hiera/scope.rb +21 -12
  35. data/lib/hiera_puppet.rb +7 -8
  36. data/lib/puppet/agent/disabler.rb +6 -4
  37. data/lib/puppet/agent/locker.rb +4 -11
  38. data/lib/puppet/agent.rb +77 -33
  39. data/lib/puppet/application/agent.rb +348 -290
  40. data/lib/puppet/application/apply.rb +164 -139
  41. data/lib/puppet/application/catalog.rb +3 -1
  42. data/lib/puppet/application/config.rb +3 -1
  43. data/lib/puppet/application/describe.rb +57 -62
  44. data/lib/puppet/application/device.rb +242 -205
  45. data/lib/puppet/application/doc.rb +66 -67
  46. data/lib/puppet/application/epp.rb +4 -2
  47. data/lib/puppet/application/face_base.rb +41 -32
  48. data/lib/puppet/application/facts.rb +3 -1
  49. data/lib/puppet/application/filebucket.rb +188 -167
  50. data/lib/puppet/application/generate.rb +4 -2
  51. data/lib/puppet/application/help.rb +3 -1
  52. data/lib/puppet/application/indirection_base.rb +3 -1
  53. data/lib/puppet/application/lookup.rb +258 -196
  54. data/lib/puppet/application/module.rb +3 -1
  55. data/lib/puppet/application/node.rb +3 -1
  56. data/lib/puppet/application/parser.rb +4 -2
  57. data/lib/puppet/application/plugin.rb +4 -1
  58. data/lib/puppet/application/report.rb +3 -1
  59. data/lib/puppet/application/resource.rb +131 -104
  60. data/lib/puppet/application/script.rb +85 -82
  61. data/lib/puppet/application/ssl.rb +236 -128
  62. data/lib/puppet/application.rb +217 -135
  63. data/lib/puppet/application_support.rb +15 -7
  64. data/lib/puppet/coercion.rb +5 -3
  65. data/lib/puppet/compilable_resource_type.rb +5 -3
  66. data/lib/puppet/concurrent/lock.rb +15 -0
  67. data/lib/puppet/concurrent/synchronized.rb +15 -0
  68. data/lib/puppet/concurrent/thread_local_singleton.rb +18 -0
  69. data/lib/puppet/concurrent.rb +4 -0
  70. data/lib/puppet/configurer/downloader.rb +46 -22
  71. data/lib/puppet/configurer/fact_handler.rb +20 -19
  72. data/lib/puppet/configurer/plugin_handler.rb +24 -11
  73. data/lib/puppet/configurer.rb +427 -152
  74. data/lib/puppet/confine/any.rb +4 -2
  75. data/lib/puppet/confine/boolean.rb +47 -0
  76. data/lib/puppet/confine/exists.rb +4 -2
  77. data/lib/puppet/confine/false.rb +10 -2
  78. data/lib/puppet/confine/feature.rb +4 -3
  79. data/lib/puppet/confine/true.rb +10 -2
  80. data/lib/puppet/confine/variable.rb +6 -4
  81. data/lib/puppet/confine.rb +8 -5
  82. data/lib/puppet/confine_collection.rb +9 -5
  83. data/lib/puppet/confiner.rb +6 -4
  84. data/lib/puppet/context/trusted_information.rb +57 -11
  85. data/lib/puppet/context.rb +123 -49
  86. data/lib/puppet/daemon.rb +30 -39
  87. data/lib/puppet/data_binding.rb +4 -2
  88. data/lib/puppet/datatypes/error.rb +4 -2
  89. data/lib/puppet/datatypes/impl/error.rb +2 -0
  90. data/lib/puppet/datatypes.rb +12 -7
  91. data/lib/puppet/defaults.rb +584 -267
  92. data/lib/puppet/environments.rb +206 -112
  93. data/lib/puppet/error.rb +41 -16
  94. data/lib/puppet/etc.rb +11 -6
  95. data/lib/puppet/external/dot.rb +65 -75
  96. data/lib/puppet/face/catalog/select.rb +4 -2
  97. data/lib/puppet/face/catalog.rb +25 -4
  98. data/lib/puppet/face/config.rb +88 -87
  99. data/lib/puppet/face/epp.rb +46 -35
  100. data/lib/puppet/face/facts.rb +104 -15
  101. data/lib/puppet/face/generate.rb +8 -3
  102. data/lib/puppet/face/help.rb +61 -36
  103. data/lib/puppet/face/module/changes.rb +6 -4
  104. data/lib/puppet/face/module/install.rb +9 -6
  105. data/lib/puppet/face/module/list.rb +65 -57
  106. data/lib/puppet/face/module/uninstall.rb +3 -1
  107. data/lib/puppet/face/module/upgrade.rb +6 -4
  108. data/lib/puppet/face/module.rb +5 -3
  109. data/lib/puppet/face/node/clean.rb +14 -4
  110. data/lib/puppet/face/node.rb +7 -5
  111. data/lib/puppet/face/parser.rb +64 -25
  112. data/lib/puppet/face/plugin.rb +11 -5
  113. data/lib/puppet/face/report.rb +9 -9
  114. data/lib/puppet/face/resource.rb +3 -1
  115. data/lib/puppet/face.rb +3 -1
  116. data/lib/puppet/facter_impl.rb +96 -0
  117. data/lib/puppet/feature/base.rb +15 -15
  118. data/lib/puppet/feature/bolt.rb +3 -1
  119. data/lib/puppet/feature/cfpropertylist.rb +3 -1
  120. data/lib/puppet/feature/eventlog.rb +3 -1
  121. data/lib/puppet/feature/hiera_eyaml.rb +3 -1
  122. data/lib/puppet/feature/hocon.rb +3 -1
  123. data/lib/puppet/feature/libuser.rb +7 -5
  124. data/lib/puppet/feature/msgpack.rb +3 -1
  125. data/lib/puppet/feature/pe_license.rb +5 -3
  126. data/lib/puppet/feature/pson.rb +6 -0
  127. data/lib/puppet/feature/selinux.rb +3 -1
  128. data/lib/puppet/feature/ssh.rb +4 -2
  129. data/lib/puppet/feature/telnet.rb +6 -6
  130. data/lib/puppet/feature/zlib.rb +4 -2
  131. data/lib/puppet/ffi/posix/constants.rb +16 -0
  132. data/lib/puppet/ffi/posix/functions.rb +25 -0
  133. data/lib/puppet/ffi/posix.rb +12 -0
  134. data/lib/puppet/ffi/windows/api_types.rb +313 -0
  135. data/lib/puppet/ffi/windows/constants.rb +406 -0
  136. data/lib/puppet/ffi/windows/functions.rb +629 -0
  137. data/lib/puppet/ffi/windows/structs.rb +339 -0
  138. data/lib/puppet/ffi/windows.rb +14 -0
  139. data/lib/puppet/file_bucket/dipper.rb +27 -17
  140. data/lib/puppet/file_bucket/file.rb +11 -9
  141. data/lib/puppet/file_bucket.rb +2 -0
  142. data/lib/puppet/file_serving/base.rb +19 -11
  143. data/lib/puppet/file_serving/configuration/parser.rb +23 -44
  144. data/lib/puppet/file_serving/configuration.rb +24 -23
  145. data/lib/puppet/file_serving/content.rb +5 -3
  146. data/lib/puppet/file_serving/fileset.rb +38 -22
  147. data/lib/puppet/file_serving/http_metadata.rb +24 -9
  148. data/lib/puppet/file_serving/metadata.rb +40 -30
  149. data/lib/puppet/file_serving/mount/file.rb +18 -13
  150. data/lib/puppet/file_serving/mount/locales.rb +8 -8
  151. data/lib/puppet/file_serving/mount/modules.rb +8 -3
  152. data/lib/puppet/file_serving/mount/pluginfacts.rb +8 -8
  153. data/lib/puppet/file_serving/mount/plugins.rb +8 -8
  154. data/lib/puppet/file_serving/mount/scripts.rb +27 -0
  155. data/lib/puppet/file_serving/mount/tasks.rb +8 -3
  156. data/lib/puppet/file_serving/mount.rb +9 -7
  157. data/lib/puppet/file_serving/terminus_helper.rb +4 -2
  158. data/lib/puppet/file_serving/terminus_selector.rb +10 -9
  159. data/lib/puppet/file_serving.rb +2 -0
  160. data/lib/puppet/file_system/file_impl.rb +50 -15
  161. data/lib/puppet/file_system/jruby.rb +25 -0
  162. data/lib/puppet/file_system/memory_file.rb +18 -2
  163. data/lib/puppet/file_system/memory_impl.rb +18 -1
  164. data/lib/puppet/file_system/path_pattern.rb +14 -17
  165. data/lib/puppet/file_system/posix.rb +11 -5
  166. data/lib/puppet/file_system/uniquefile.rb +41 -41
  167. data/lib/puppet/file_system/windows.rb +113 -19
  168. data/lib/puppet/file_system.rb +42 -25
  169. data/lib/puppet/forge/cache.rb +7 -6
  170. data/lib/puppet/forge/errors.rb +8 -9
  171. data/lib/puppet/forge/repository.rb +36 -93
  172. data/lib/puppet/forge.rb +53 -40
  173. data/lib/puppet/functions/abs.rb +8 -5
  174. data/lib/puppet/functions/alert.rb +2 -0
  175. data/lib/puppet/functions/all.rb +4 -2
  176. data/lib/puppet/functions/annotate.rb +2 -0
  177. data/lib/puppet/functions/any.rb +3 -1
  178. data/lib/puppet/functions/assert_type.rb +5 -2
  179. data/lib/puppet/functions/binary_file.rb +4 -1
  180. data/lib/puppet/functions/break.rb +4 -2
  181. data/lib/puppet/functions/call.rb +5 -3
  182. data/lib/puppet/functions/camelcase.rb +7 -6
  183. data/lib/puppet/functions/capitalize.rb +7 -6
  184. data/lib/puppet/functions/ceiling.rb +3 -2
  185. data/lib/puppet/functions/chomp.rb +3 -2
  186. data/lib/puppet/functions/chop.rb +3 -2
  187. data/lib/puppet/functions/compare.rb +5 -3
  188. data/lib/puppet/functions/contain.rb +7 -4
  189. data/lib/puppet/functions/convert_to.rb +2 -0
  190. data/lib/puppet/functions/crit.rb +2 -0
  191. data/lib/puppet/functions/debug.rb +2 -0
  192. data/lib/puppet/functions/defined.rb +10 -6
  193. data/lib/puppet/functions/dig.rb +13 -10
  194. data/lib/puppet/functions/downcase.rb +6 -4
  195. data/lib/puppet/functions/each.rb +13 -13
  196. data/lib/puppet/functions/emerg.rb +2 -0
  197. data/lib/puppet/functions/empty.rb +10 -0
  198. data/lib/puppet/functions/epp.rb +7 -5
  199. data/lib/puppet/functions/err.rb +2 -0
  200. data/lib/puppet/functions/eyaml_lookup_key.rb +29 -23
  201. data/lib/puppet/functions/filter.rb +12 -18
  202. data/lib/puppet/functions/find_file.rb +11 -9
  203. data/lib/puppet/functions/find_template.rb +65 -0
  204. data/lib/puppet/functions/flatten.rb +2 -0
  205. data/lib/puppet/functions/floor.rb +3 -2
  206. data/lib/puppet/functions/get.rb +9 -7
  207. data/lib/puppet/functions/getvar.rb +7 -5
  208. data/lib/puppet/functions/group_by.rb +62 -0
  209. data/lib/puppet/functions/hiera.rb +2 -0
  210. data/lib/puppet/functions/hiera_array.rb +2 -0
  211. data/lib/puppet/functions/hiera_hash.rb +2 -0
  212. data/lib/puppet/functions/hiera_include.rb +3 -0
  213. data/lib/puppet/functions/hocon_data.rb +5 -5
  214. data/lib/puppet/functions/import.rb +3 -1
  215. data/lib/puppet/functions/include.rb +5 -2
  216. data/lib/puppet/functions/index.rb +168 -0
  217. data/lib/puppet/functions/info.rb +2 -0
  218. data/lib/puppet/functions/inline_epp.rb +8 -6
  219. data/lib/puppet/functions/join.rb +4 -2
  220. data/lib/puppet/functions/json_data.rb +6 -6
  221. data/lib/puppet/functions/keys.rb +2 -0
  222. data/lib/puppet/functions/length.rb +2 -1
  223. data/lib/puppet/functions/lest.rb +3 -1
  224. data/lib/puppet/functions/lookup.rb +11 -11
  225. data/lib/puppet/functions/lstrip.rb +7 -6
  226. data/lib/puppet/functions/map.rb +9 -8
  227. data/lib/puppet/functions/match.rb +10 -8
  228. data/lib/puppet/functions/max.rb +75 -8
  229. data/lib/puppet/functions/min.rb +75 -8
  230. data/lib/puppet/functions/module_directory.rb +2 -0
  231. data/lib/puppet/functions/new.rb +113 -106
  232. data/lib/puppet/functions/next.rb +20 -1
  233. data/lib/puppet/functions/notice.rb +2 -0
  234. data/lib/puppet/functions/partition.rb +62 -0
  235. data/lib/puppet/functions/reduce.rb +10 -15
  236. data/lib/puppet/functions/regsubst.rb +60 -42
  237. data/lib/puppet/functions/require.rb +12 -8
  238. data/lib/puppet/functions/return.rb +2 -0
  239. data/lib/puppet/functions/reverse_each.rb +3 -1
  240. data/lib/puppet/functions/round.rb +2 -0
  241. data/lib/puppet/functions/rstrip.rb +7 -6
  242. data/lib/puppet/functions/scanf.rb +2 -0
  243. data/lib/puppet/functions/size.rb +2 -2
  244. data/lib/puppet/functions/slice.rb +4 -1
  245. data/lib/puppet/functions/sort.rb +5 -3
  246. data/lib/puppet/functions/split.rb +30 -1
  247. data/lib/puppet/functions/step.rb +3 -1
  248. data/lib/puppet/functions/strftime.rb +6 -3
  249. data/lib/puppet/functions/strip.rb +7 -6
  250. data/lib/puppet/functions/then.rb +3 -0
  251. data/lib/puppet/functions/tree_each.rb +11 -13
  252. data/lib/puppet/functions/type.rb +6 -4
  253. data/lib/puppet/functions/unique.rb +10 -8
  254. data/lib/puppet/functions/unwrap.rb +19 -2
  255. data/lib/puppet/functions/upcase.rb +6 -4
  256. data/lib/puppet/functions/values.rb +2 -0
  257. data/lib/puppet/functions/versioncmp.rb +10 -5
  258. data/lib/puppet/functions/warning.rb +2 -0
  259. data/lib/puppet/functions/with.rb +2 -0
  260. data/lib/puppet/functions/yaml_data.rb +16 -15
  261. data/lib/puppet/functions.rb +59 -64
  262. data/lib/puppet/generate/models/type/property.rb +4 -1
  263. data/lib/puppet/generate/models/type/type.rb +10 -4
  264. data/lib/puppet/generate/type.rb +25 -9
  265. data/lib/puppet/gettext/config.rb +24 -17
  266. data/lib/puppet/gettext/module_translations.rb +8 -7
  267. data/lib/puppet/gettext/stubs.rb +2 -0
  268. data/lib/puppet/graph/key.rb +2 -0
  269. data/lib/puppet/graph/prioritizer.rb +2 -0
  270. data/lib/puppet/graph/rb_tree_map.rb +45 -26
  271. data/lib/puppet/graph/relationship_graph.rb +34 -31
  272. data/lib/puppet/graph/sequential_prioritizer.rb +2 -0
  273. data/lib/puppet/graph/simple_graph.rb +72 -63
  274. data/lib/puppet/graph.rb +8 -6
  275. data/lib/puppet/http/client.rb +529 -0
  276. data/lib/puppet/http/dns.rb +159 -0
  277. data/lib/puppet/http/errors.rb +50 -0
  278. data/lib/puppet/http/external_client.rb +89 -0
  279. data/lib/puppet/http/factory.rb +53 -0
  280. data/lib/puppet/http/pool.rb +174 -0
  281. data/lib/puppet/http/pool_entry.rb +19 -0
  282. data/lib/puppet/http/proxy.rb +139 -0
  283. data/lib/puppet/http/redirector.rb +87 -0
  284. data/lib/puppet/http/resolver/server_list.rb +88 -0
  285. data/lib/puppet/http/resolver/settings.rb +24 -0
  286. data/lib/puppet/http/resolver/srv.rb +42 -0
  287. data/lib/puppet/http/resolver.rb +50 -0
  288. data/lib/puppet/http/response.rb +104 -0
  289. data/lib/puppet/http/response_converter.rb +25 -0
  290. data/lib/puppet/http/response_net_http.rb +43 -0
  291. data/lib/puppet/http/retry_after_handler.rb +78 -0
  292. data/lib/puppet/http/service/ca.rb +133 -0
  293. data/lib/puppet/http/service/compiler.rb +356 -0
  294. data/lib/puppet/http/service/file_server.rb +200 -0
  295. data/lib/puppet/http/service/puppetserver.rb +54 -0
  296. data/lib/puppet/http/service/report.rb +62 -0
  297. data/lib/puppet/http/service.rb +177 -0
  298. data/lib/puppet/http/session.rb +124 -0
  299. data/lib/puppet/http/site.rb +44 -0
  300. data/lib/puppet/http.rb +48 -0
  301. data/lib/puppet/indirector/catalog/compiler.rb +129 -113
  302. data/lib/puppet/indirector/catalog/json.rb +12 -5
  303. data/lib/puppet/indirector/catalog/msgpack.rb +4 -2
  304. data/lib/puppet/indirector/catalog/rest.rb +47 -2
  305. data/lib/puppet/indirector/catalog/store_configs.rb +5 -5
  306. data/lib/puppet/indirector/catalog/yaml.rb +4 -2
  307. data/lib/puppet/indirector/code.rb +3 -1
  308. data/lib/puppet/indirector/data_binding/hiera.rb +3 -2
  309. data/lib/puppet/indirector/data_binding/none.rb +3 -1
  310. data/lib/puppet/indirector/direct_file_server.rb +6 -3
  311. data/lib/puppet/indirector/envelope.rb +3 -1
  312. data/lib/puppet/indirector/errors.rb +3 -1
  313. data/lib/puppet/indirector/exec.rb +8 -6
  314. data/lib/puppet/indirector/face.rb +20 -31
  315. data/lib/puppet/indirector/fact_search.rb +62 -0
  316. data/lib/puppet/indirector/facts/facter.rb +49 -17
  317. data/lib/puppet/indirector/facts/json.rb +29 -0
  318. data/lib/puppet/indirector/facts/memory.rb +4 -2
  319. data/lib/puppet/indirector/facts/network_device.rb +4 -2
  320. data/lib/puppet/indirector/facts/rest.rb +36 -11
  321. data/lib/puppet/indirector/facts/store_configs.rb +5 -4
  322. data/lib/puppet/indirector/facts/yaml.rb +8 -61
  323. data/lib/puppet/indirector/file_bucket_file/file.rb +38 -32
  324. data/lib/puppet/indirector/file_bucket_file/rest.rb +47 -2
  325. data/lib/puppet/indirector/file_bucket_file/selector.rb +3 -2
  326. data/lib/puppet/indirector/file_content/file.rb +5 -3
  327. data/lib/puppet/indirector/file_content/file_server.rb +5 -3
  328. data/lib/puppet/indirector/file_content/rest.rb +32 -4
  329. data/lib/puppet/indirector/file_content/selector.rb +6 -4
  330. data/lib/puppet/indirector/file_content.rb +3 -1
  331. data/lib/puppet/indirector/file_metadata/file.rb +5 -3
  332. data/lib/puppet/indirector/file_metadata/file_server.rb +5 -3
  333. data/lib/puppet/indirector/file_metadata/http.rb +33 -11
  334. data/lib/puppet/indirector/file_metadata/rest.rb +53 -4
  335. data/lib/puppet/indirector/file_metadata/selector.rb +6 -4
  336. data/lib/puppet/indirector/file_metadata.rb +3 -1
  337. data/lib/puppet/indirector/file_server.rb +12 -14
  338. data/lib/puppet/indirector/generic_http.rb +3 -12
  339. data/lib/puppet/indirector/hiera.rb +15 -8
  340. data/lib/puppet/indirector/indirection.rb +98 -57
  341. data/lib/puppet/indirector/json.rb +15 -8
  342. data/lib/puppet/indirector/memory.rb +6 -3
  343. data/lib/puppet/indirector/msgpack.rb +14 -10
  344. data/lib/puppet/indirector/node/exec.rb +10 -9
  345. data/lib/puppet/indirector/node/json.rb +9 -0
  346. data/lib/puppet/indirector/node/memory.rb +4 -2
  347. data/lib/puppet/indirector/node/msgpack.rb +4 -2
  348. data/lib/puppet/indirector/node/plain.rb +4 -2
  349. data/lib/puppet/indirector/node/rest.rb +26 -2
  350. data/lib/puppet/indirector/node/store_configs.rb +5 -5
  351. data/lib/puppet/indirector/node/yaml.rb +4 -2
  352. data/lib/puppet/indirector/none.rb +4 -3
  353. data/lib/puppet/indirector/plain.rb +3 -1
  354. data/lib/puppet/indirector/report/json.rb +36 -0
  355. data/lib/puppet/indirector/report/msgpack.rb +5 -3
  356. data/lib/puppet/indirector/report/processor.rb +10 -6
  357. data/lib/puppet/indirector/report/rest.rb +17 -14
  358. data/lib/puppet/indirector/report/yaml.rb +28 -3
  359. data/lib/puppet/indirector/request.rb +26 -107
  360. data/lib/puppet/indirector/resource/ral.rb +18 -15
  361. data/lib/puppet/indirector/resource/store_configs.rb +5 -3
  362. data/lib/puppet/indirector/resource/validator.rb +3 -1
  363. data/lib/puppet/indirector/rest.rb +13 -248
  364. data/lib/puppet/indirector/store_configs.rb +2 -0
  365. data/lib/puppet/indirector/terminus.rb +23 -12
  366. data/lib/puppet/indirector/yaml.rb +10 -8
  367. data/lib/puppet/indirector.rb +11 -8
  368. data/lib/puppet/info_service/class_information_service.rb +21 -23
  369. data/lib/puppet/info_service/plan_information_service.rb +38 -0
  370. data/lib/puppet/info_service/task_information_service.rb +14 -5
  371. data/lib/puppet/info_service.rb +12 -2
  372. data/lib/puppet/interface/action.rb +62 -51
  373. data/lib/puppet/interface/action_builder.rb +16 -15
  374. data/lib/puppet/interface/action_manager.rb +11 -7
  375. data/lib/puppet/interface/documentation.rb +51 -41
  376. data/lib/puppet/interface/face_collection.rb +24 -17
  377. data/lib/puppet/interface/option.rb +30 -17
  378. data/lib/puppet/interface/option_builder.rb +14 -9
  379. data/lib/puppet/interface/option_manager.rb +16 -12
  380. data/lib/puppet/interface.rb +23 -20
  381. data/lib/puppet/loaders.rb +24 -21
  382. data/lib/puppet/metatype/manager.rb +91 -90
  383. data/lib/puppet/module/plan.rb +166 -0
  384. data/lib/puppet/module/task.rb +59 -29
  385. data/lib/puppet/module.rb +98 -52
  386. data/lib/puppet/module_tool/applications/application.rb +21 -15
  387. data/lib/puppet/module_tool/applications/checksummer.rb +5 -5
  388. data/lib/puppet/module_tool/applications/installer.rb +146 -98
  389. data/lib/puppet/module_tool/applications/uninstaller.rb +27 -26
  390. data/lib/puppet/module_tool/applications/unpacker.rb +13 -11
  391. data/lib/puppet/module_tool/applications/upgrader.rb +75 -67
  392. data/lib/puppet/module_tool/applications.rb +9 -8
  393. data/lib/puppet/module_tool/checksums.rb +5 -4
  394. data/lib/puppet/module_tool/contents_description.rb +8 -7
  395. data/lib/puppet/module_tool/dependency.rb +7 -6
  396. data/lib/puppet/module_tool/errors/base.rb +3 -1
  397. data/lib/puppet/module_tool/errors/installer.rb +6 -5
  398. data/lib/puppet/module_tool/errors/shared.rb +50 -17
  399. data/lib/puppet/module_tool/errors/uninstaller.rb +3 -2
  400. data/lib/puppet/module_tool/errors/upgrader.rb +4 -3
  401. data/lib/puppet/module_tool/errors.rb +8 -6
  402. data/lib/puppet/module_tool/install_directory.rb +10 -7
  403. data/lib/puppet/module_tool/installed_modules.rb +7 -4
  404. data/lib/puppet/module_tool/local_tarball.rb +12 -10
  405. data/lib/puppet/module_tool/metadata.rb +42 -37
  406. data/lib/puppet/module_tool/shared_behaviors.rb +67 -48
  407. data/lib/puppet/module_tool/tar/gnu.rb +12 -8
  408. data/lib/puppet/module_tool/tar/mini.rb +18 -6
  409. data/lib/puppet/module_tool/tar.rb +8 -6
  410. data/lib/puppet/module_tool.rb +23 -21
  411. data/lib/puppet/network/authconfig.rb +3 -93
  412. data/lib/puppet/network/authorization.rb +14 -34
  413. data/lib/puppet/network/client_request.rb +7 -4
  414. data/lib/puppet/network/format.rb +10 -4
  415. data/lib/puppet/network/format_handler.rb +12 -10
  416. data/lib/puppet/network/format_support.rb +11 -10
  417. data/lib/puppet/network/formats.rb +97 -19
  418. data/lib/puppet/network/http/api/indirected_routes.rb +47 -63
  419. data/lib/puppet/network/http/api/indirection_type.rb +2 -1
  420. data/lib/puppet/network/http/api/master/v3/environments.rb +3 -34
  421. data/lib/puppet/network/http/api/master/v3.rb +3 -27
  422. data/lib/puppet/network/http/api/master.rb +5 -2
  423. data/lib/puppet/network/http/api/server/v3/environments.rb +54 -0
  424. data/lib/puppet/network/http/api/server/v3.rb +40 -0
  425. data/lib/puppet/network/http/api/server.rb +12 -0
  426. data/lib/puppet/network/http/api.rb +26 -20
  427. data/lib/puppet/network/http/connection.rb +250 -281
  428. data/lib/puppet/network/http/error.rb +6 -4
  429. data/lib/puppet/network/http/handler.rb +16 -18
  430. data/lib/puppet/network/http/issues.rb +2 -0
  431. data/lib/puppet/network/http/memory_response.rb +3 -1
  432. data/lib/puppet/network/http/request.rb +24 -11
  433. data/lib/puppet/network/http/response.rb +2 -0
  434. data/lib/puppet/network/http/route.rb +17 -13
  435. data/lib/puppet/network/http.rb +21 -19
  436. data/lib/puppet/network/http_pool.rb +42 -25
  437. data/lib/puppet/network/uri.rb +20 -0
  438. data/lib/puppet/network.rb +2 -0
  439. data/lib/puppet/node/environment.rb +140 -77
  440. data/lib/puppet/node/facts.rb +30 -13
  441. data/lib/puppet/node/server_facts.rb +43 -0
  442. data/lib/puppet/node.rb +25 -50
  443. data/lib/puppet/pal/catalog_compiler.rb +107 -0
  444. data/lib/puppet/pal/compiler.rb +227 -0
  445. data/lib/puppet/pal/function_signature.rb +54 -0
  446. data/lib/puppet/pal/json_catalog_encoder.rb +76 -0
  447. data/lib/puppet/pal/pal_api.rb +17 -0
  448. data/lib/puppet/pal/pal_impl.rb +585 -0
  449. data/lib/puppet/pal/plan_signature.rb +73 -0
  450. data/lib/puppet/pal/script_compiler.rb +75 -0
  451. data/lib/puppet/pal/task_signature.rb +64 -0
  452. data/lib/puppet/parameter/boolean.rb +3 -1
  453. data/lib/puppet/parameter/package_options.rb +4 -2
  454. data/lib/puppet/parameter/path.rb +8 -4
  455. data/lib/puppet/parameter/value.rb +6 -4
  456. data/lib/puppet/parameter/value_collection.rb +25 -24
  457. data/lib/puppet/parameter.rb +44 -26
  458. data/lib/puppet/parser/abstract_compiler.rb +2 -3
  459. data/lib/puppet/parser/ast/block_expression.rb +4 -2
  460. data/lib/puppet/parser/ast/branch.rb +2 -0
  461. data/lib/puppet/parser/ast/hostclass.rb +5 -3
  462. data/lib/puppet/parser/ast/leaf.rb +10 -6
  463. data/lib/puppet/parser/ast/node.rb +2 -0
  464. data/lib/puppet/parser/ast/pops_bridge.rb +23 -69
  465. data/lib/puppet/parser/ast/resource.rb +8 -8
  466. data/lib/puppet/parser/ast/resource_instance.rb +3 -0
  467. data/lib/puppet/parser/ast/resourceparam.rb +10 -8
  468. data/lib/puppet/parser/ast/top_level_construct.rb +2 -0
  469. data/lib/puppet/parser/ast.rb +25 -24
  470. data/lib/puppet/parser/catalog_compiler.rb +5 -5
  471. data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +18 -41
  472. data/lib/puppet/parser/compiler/catalog_validator.rb +2 -0
  473. data/lib/puppet/parser/compiler.rb +88 -270
  474. data/lib/puppet/parser/e4_parser_adapter.rb +18 -17
  475. data/lib/puppet/parser/files.rb +10 -7
  476. data/lib/puppet/parser/functions/assert_type.rb +43 -41
  477. data/lib/puppet/parser/functions/binary_file.rb +16 -14
  478. data/lib/puppet/parser/functions/break.rb +29 -27
  479. data/lib/puppet/parser/functions/contain.rb +3 -1
  480. data/lib/puppet/parser/functions/create_resources.rb +28 -20
  481. data/lib/puppet/parser/functions/defined.rb +104 -102
  482. data/lib/puppet/parser/functions/dig.rb +26 -24
  483. data/lib/puppet/parser/functions/digest.rb +4 -2
  484. data/lib/puppet/parser/functions/each.rb +101 -99
  485. data/lib/puppet/parser/functions/epp.rb +7 -6
  486. data/lib/puppet/parser/functions/fail.rb +12 -3
  487. data/lib/puppet/parser/functions/file.rb +17 -15
  488. data/lib/puppet/parser/functions/filter.rb +57 -54
  489. data/lib/puppet/parser/functions/find_file.rb +19 -18
  490. data/lib/puppet/parser/functions/fqdn_rand.rb +31 -21
  491. data/lib/puppet/parser/functions/generate.rb +30 -27
  492. data/lib/puppet/parser/functions/hiera.rb +95 -93
  493. data/lib/puppet/parser/functions/hiera_array.rb +83 -82
  494. data/lib/puppet/parser/functions/hiera_hash.rb +93 -92
  495. data/lib/puppet/parser/functions/hiera_include.rb +93 -92
  496. data/lib/puppet/parser/functions/include.rb +5 -3
  497. data/lib/puppet/parser/functions/inline_epp.rb +8 -7
  498. data/lib/puppet/parser/functions/inline_template.rb +15 -13
  499. data/lib/puppet/parser/functions/lest.rb +36 -34
  500. data/lib/puppet/parser/functions/lookup.rb +132 -130
  501. data/lib/puppet/parser/functions/map.rb +54 -52
  502. data/lib/puppet/parser/functions/match.rb +31 -29
  503. data/lib/puppet/parser/functions/md5.rb +4 -2
  504. data/lib/puppet/parser/functions/new.rb +916 -915
  505. data/lib/puppet/parser/functions/next.rb +36 -34
  506. data/lib/puppet/parser/functions/realize.rb +13 -11
  507. data/lib/puppet/parser/functions/reduce.rb +134 -132
  508. data/lib/puppet/parser/functions/regsubst.rb +8 -5
  509. data/lib/puppet/parser/functions/require.rb +8 -5
  510. data/lib/puppet/parser/functions/return.rb +90 -88
  511. data/lib/puppet/parser/functions/reverse_each.rb +59 -57
  512. data/lib/puppet/parser/functions/scanf.rb +25 -23
  513. data/lib/puppet/parser/functions/sha1.rb +4 -2
  514. data/lib/puppet/parser/functions/sha256.rb +3 -1
  515. data/lib/puppet/parser/functions/shellquote.rb +2 -0
  516. data/lib/puppet/parser/functions/slice.rb +27 -25
  517. data/lib/puppet/parser/functions/split.rb +7 -6
  518. data/lib/puppet/parser/functions/sprintf.rb +8 -7
  519. data/lib/puppet/parser/functions/step.rb +62 -60
  520. data/lib/puppet/parser/functions/strftime.rb +175 -173
  521. data/lib/puppet/parser/functions/tag.rb +10 -7
  522. data/lib/puppet/parser/functions/tagged.rb +16 -13
  523. data/lib/puppet/parser/functions/template.rb +27 -24
  524. data/lib/puppet/parser/functions/then.rb +54 -52
  525. data/lib/puppet/parser/functions/type.rb +36 -34
  526. data/lib/puppet/parser/functions/versioncmp.rb +4 -3
  527. data/lib/puppet/parser/functions/with.rb +22 -20
  528. data/lib/puppet/parser/functions.rb +36 -23
  529. data/lib/puppet/parser/parser_factory.rb +4 -2
  530. data/lib/puppet/parser/relationship.rb +11 -4
  531. data/lib/puppet/parser/resource/param.rb +9 -1
  532. data/lib/puppet/parser/resource.rb +53 -116
  533. data/lib/puppet/parser/scope.rb +105 -87
  534. data/lib/puppet/parser/script_compiler.rb +14 -14
  535. data/lib/puppet/parser/templatewrapper.rb +10 -7
  536. data/lib/puppet/parser/type_loader.rb +33 -31
  537. data/lib/puppet/parser.rb +12 -10
  538. data/lib/puppet/plugins/configuration.rb +10 -4
  539. data/lib/puppet/plugins/syntax_checkers.rb +2 -1
  540. data/lib/puppet/plugins.rb +3 -1
  541. data/lib/puppet/pops/adaptable.rb +13 -20
  542. data/lib/puppet/pops/adapters.rb +12 -5
  543. data/lib/puppet/pops/evaluator/access_operator.rb +135 -122
  544. data/lib/puppet/pops/evaluator/callable_signature.rb +6 -5
  545. data/lib/puppet/pops/evaluator/closure.rb +272 -275
  546. data/lib/puppet/pops/evaluator/collector_transformer.rb +18 -15
  547. data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +11 -11
  548. data/lib/puppet/pops/evaluator/collectors/catalog_collector.rb +5 -4
  549. data/lib/puppet/pops/evaluator/collectors/exported_collector.rb +9 -7
  550. data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +11 -10
  551. data/lib/puppet/pops/evaluator/compare_operator.rb +36 -21
  552. data/lib/puppet/pops/evaluator/deferred_resolver.rb +120 -23
  553. data/lib/puppet/pops/evaluator/epp_evaluator.rb +19 -18
  554. data/lib/puppet/pops/evaluator/evaluator_impl.rb +285 -267
  555. data/lib/puppet/pops/evaluator/external_syntax_support.rb +10 -8
  556. data/lib/puppet/pops/evaluator/json_strict_literal_evaluator.rb +6 -5
  557. data/lib/puppet/pops/evaluator/literal_evaluator.rb +21 -8
  558. data/lib/puppet/pops/evaluator/puppet_proc.rb +6 -3
  559. data/lib/puppet/pops/evaluator/relationship_operator.rb +15 -12
  560. data/lib/puppet/pops/evaluator/runtime3_converter.rb +36 -32
  561. data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +40 -38
  562. data/lib/puppet/pops/evaluator/runtime3_support.rb +44 -50
  563. data/lib/puppet/pops/functions/dispatch.rb +7 -7
  564. data/lib/puppet/pops/functions/dispatcher.rb +17 -12
  565. data/lib/puppet/pops/functions/function.rb +19 -23
  566. data/lib/puppet/pops/issue_reporter.rb +25 -22
  567. data/lib/puppet/pops/issues.rb +21 -9
  568. data/lib/puppet/pops/label_provider.rb +6 -4
  569. data/lib/puppet/pops/loader/base_loader.rb +45 -33
  570. data/lib/puppet/pops/loader/dependency_loader.rb +15 -12
  571. data/lib/puppet/pops/loader/gem_support.rb +9 -4
  572. data/lib/puppet/pops/loader/generic_plan_instantiator.rb +30 -0
  573. data/lib/puppet/pops/loader/loader.rb +25 -13
  574. data/lib/puppet/pops/loader/loader_paths.rb +87 -51
  575. data/lib/puppet/pops/loader/module_loaders.rb +57 -54
  576. data/lib/puppet/pops/loader/predefined_loader.rb +7 -3
  577. data/lib/puppet/pops/loader/puppet_function_instantiator.rb +6 -2
  578. data/lib/puppet/pops/loader/puppet_plan_instantiator.rb +18 -5
  579. data/lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb +6 -5
  580. data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +6 -2
  581. data/lib/puppet/pops/loader/ruby_function_instantiator.rb +6 -2
  582. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +74 -7
  583. data/lib/puppet/pops/loader/runtime3_type_loader.rb +9 -6
  584. data/lib/puppet/pops/loader/simple_environment_loader.rb +3 -3
  585. data/lib/puppet/pops/loader/static_loader.rb +33 -27
  586. data/lib/puppet/pops/loader/task_instantiator.rb +9 -3
  587. data/lib/puppet/pops/loader/type_definition_instantiator.rb +9 -5
  588. data/lib/puppet/pops/loader/typed_name.rb +4 -2
  589. data/lib/puppet/pops/loader/uri_helper.rb +3 -1
  590. data/lib/puppet/pops/loaders.rb +60 -43
  591. data/lib/puppet/pops/lookup/configured_data_provider.rb +2 -0
  592. data/lib/puppet/pops/lookup/context.rb +36 -28
  593. data/lib/puppet/pops/lookup/data_adapter.rb +2 -0
  594. data/lib/puppet/pops/lookup/data_dig_function_provider.rb +8 -7
  595. data/lib/puppet/pops/lookup/data_hash_function_provider.rb +5 -3
  596. data/lib/puppet/pops/lookup/data_provider.rb +2 -0
  597. data/lib/puppet/pops/lookup/environment_data_provider.rb +2 -0
  598. data/lib/puppet/pops/lookup/explainer.rb +47 -45
  599. data/lib/puppet/pops/lookup/function_provider.rb +8 -6
  600. data/lib/puppet/pops/lookup/global_data_provider.rb +4 -3
  601. data/lib/puppet/pops/lookup/hiera_config.rb +216 -154
  602. data/lib/puppet/pops/lookup/interpolation.rb +22 -10
  603. data/lib/puppet/pops/lookup/invocation.rb +14 -3
  604. data/lib/puppet/pops/lookup/key_recorder.rb +21 -0
  605. data/lib/puppet/pops/lookup/location_resolver.rb +4 -2
  606. data/lib/puppet/pops/lookup/lookup_adapter.rb +47 -34
  607. data/lib/puppet/pops/lookup/lookup_key.rb +3 -1
  608. data/lib/puppet/pops/lookup/lookup_key_function_provider.rb +4 -2
  609. data/lib/puppet/pops/lookup/module_data_provider.rb +12 -9
  610. data/lib/puppet/pops/lookup/sub_lookup.rb +8 -4
  611. data/lib/puppet/pops/lookup.rb +17 -11
  612. data/lib/puppet/pops/merge_strategy.rb +43 -33
  613. data/lib/puppet/pops/migration/migration_checker.rb +8 -5
  614. data/lib/puppet/pops/model/ast.pp +0 -42
  615. data/lib/puppet/pops/model/ast.rb +787 -975
  616. data/lib/puppet/pops/model/ast_transformer.rb +20 -20
  617. data/lib/puppet/pops/model/factory.rb +88 -94
  618. data/lib/puppet/pops/model/model_label_provider.rb +5 -7
  619. data/lib/puppet/pops/model/model_tree_dumper.rb +32 -52
  620. data/lib/puppet/pops/model/pn_transformer.rb +10 -31
  621. data/lib/puppet/pops/model/tree_dumper.rb +7 -4
  622. data/lib/puppet/pops/parser/code_merger.rb +5 -5
  623. data/lib/puppet/pops/parser/egrammar.ra +6 -60
  624. data/lib/puppet/pops/parser/eparser.rb +1699 -1876
  625. data/lib/puppet/pops/parser/epp_parser.rb +6 -5
  626. data/lib/puppet/pops/parser/epp_support.rb +12 -10
  627. data/lib/puppet/pops/parser/evaluating_parser.rb +21 -20
  628. data/lib/puppet/pops/parser/heredoc_support.rb +31 -20
  629. data/lib/puppet/pops/parser/interpolation_support.rb +39 -34
  630. data/lib/puppet/pops/parser/lexer2.rb +160 -143
  631. data/lib/puppet/pops/parser/lexer_support.rb +58 -58
  632. data/lib/puppet/pops/parser/locatable.rb +2 -2
  633. data/lib/puppet/pops/parser/locator.rb +149 -124
  634. data/lib/puppet/pops/parser/parser_support.rb +37 -32
  635. data/lib/puppet/pops/parser/pn_parser.rb +27 -25
  636. data/lib/puppet/pops/parser/slurp_support.rb +42 -40
  637. data/lib/puppet/pops/patterns.rb +14 -14
  638. data/lib/puppet/pops/pcore.rb +7 -6
  639. data/lib/puppet/pops/pn.rb +8 -5
  640. data/lib/puppet/pops/puppet_stack.rb +54 -48
  641. data/lib/puppet/pops/resource/param.rb +13 -12
  642. data/lib/puppet/pops/resource/resource_type_impl.rb +49 -67
  643. data/lib/puppet/pops/semantic_error.rb +3 -1
  644. data/lib/puppet/pops/serialization/abstract_reader.rb +6 -4
  645. data/lib/puppet/pops/serialization/abstract_writer.rb +11 -9
  646. data/lib/puppet/pops/serialization/deserializer.rb +3 -0
  647. data/lib/puppet/pops/serialization/extension.rb +8 -0
  648. data/lib/puppet/pops/serialization/from_data_converter.rb +16 -9
  649. data/lib/puppet/pops/serialization/instance_reader.rb +2 -0
  650. data/lib/puppet/pops/serialization/instance_writer.rb +2 -0
  651. data/lib/puppet/pops/serialization/json.rb +10 -6
  652. data/lib/puppet/pops/serialization/json_path.rb +6 -4
  653. data/lib/puppet/pops/serialization/object.rb +6 -3
  654. data/lib/puppet/pops/serialization/serializer.rb +20 -16
  655. data/lib/puppet/pops/serialization/time_factory.rb +2 -1
  656. data/lib/puppet/pops/serialization/to_data_converter.rb +9 -6
  657. data/lib/puppet/pops/serialization/to_stringified_converter.rb +9 -8
  658. data/lib/puppet/pops/serialization.rb +10 -8
  659. data/lib/puppet/pops/time/timespan.rb +37 -27
  660. data/lib/puppet/pops/time/timestamp.rb +12 -5
  661. data/lib/puppet/pops/types/annotatable.rb +3 -2
  662. data/lib/puppet/pops/types/annotation.rb +6 -4
  663. data/lib/puppet/pops/types/class_loader.rb +17 -15
  664. data/lib/puppet/pops/types/implementation_registry.rb +4 -1
  665. data/lib/puppet/pops/types/iterable.rb +57 -21
  666. data/lib/puppet/pops/types/p_binary_type.rb +6 -6
  667. data/lib/puppet/pops/types/p_init_type.rb +15 -12
  668. data/lib/puppet/pops/types/p_meta_type.rb +7 -6
  669. data/lib/puppet/pops/types/p_object_type.rb +104 -79
  670. data/lib/puppet/pops/types/p_object_type_extension.rb +25 -14
  671. data/lib/puppet/pops/types/p_runtime_type.rb +12 -10
  672. data/lib/puppet/pops/types/p_sem_ver_range_type.rb +3 -2
  673. data/lib/puppet/pops/types/p_sem_ver_type.rb +16 -10
  674. data/lib/puppet/pops/types/p_sensitive_type.rb +14 -6
  675. data/lib/puppet/pops/types/p_timespan_type.rb +7 -5
  676. data/lib/puppet/pops/types/p_timestamp_type.rb +4 -3
  677. data/lib/puppet/pops/types/p_type_set_type.rb +56 -45
  678. data/lib/puppet/pops/types/p_uri_type.rb +42 -34
  679. data/lib/puppet/pops/types/puppet_object.rb +2 -1
  680. data/lib/puppet/pops/types/recursion_guard.rb +12 -6
  681. data/lib/puppet/pops/types/ruby_generator.rb +19 -14
  682. data/lib/puppet/pops/types/ruby_method.rb +8 -7
  683. data/lib/puppet/pops/types/string_converter.rb +130 -118
  684. data/lib/puppet/pops/types/tree_iterators.rb +16 -20
  685. data/lib/puppet/pops/types/type_acceptor.rb +2 -0
  686. data/lib/puppet/pops/types/type_asserter.rb +5 -3
  687. data/lib/puppet/pops/types/type_assertion_error.rb +1 -1
  688. data/lib/puppet/pops/types/type_calculator.rb +75 -55
  689. data/lib/puppet/pops/types/type_conversion_error.rb +2 -10
  690. data/lib/puppet/pops/types/type_factory.rb +25 -16
  691. data/lib/puppet/pops/types/type_formatter.rb +75 -81
  692. data/lib/puppet/pops/types/type_mismatch_describer.rb +83 -53
  693. data/lib/puppet/pops/types/type_parser.rb +131 -126
  694. data/lib/puppet/pops/types/type_set_reference.rb +3 -0
  695. data/lib/puppet/pops/types/type_with_members.rb +2 -2
  696. data/lib/puppet/pops/types/types.rb +274 -254
  697. data/lib/puppet/pops/utils.rb +43 -45
  698. data/lib/puppet/pops/validation/checker4_0.rb +126 -100
  699. data/lib/puppet/pops/validation/tasks_checker.rb +12 -18
  700. data/lib/puppet/pops/validation/validator_factory_4_0.rb +5 -3
  701. data/lib/puppet/pops/validation.rb +38 -42
  702. data/lib/puppet/pops/visitable.rb +2 -0
  703. data/lib/puppet/pops/visitor.rb +30 -10
  704. data/lib/puppet/pops.rb +63 -60
  705. data/lib/puppet/property/boolean.rb +3 -1
  706. data/lib/puppet/property/ensure.rb +20 -18
  707. data/lib/puppet/property/keyvalue.rb +18 -16
  708. data/lib/puppet/property/list.rb +13 -11
  709. data/lib/puppet/property/ordered_list.rb +7 -6
  710. data/lib/puppet/property.rb +65 -63
  711. data/lib/puppet/provider/aix_object.rb +21 -13
  712. data/lib/puppet/provider/command.rb +2 -0
  713. data/lib/puppet/provider/confine.rb +4 -2
  714. data/lib/puppet/provider/exec/posix.rb +21 -6
  715. data/lib/puppet/provider/exec/shell.rb +2 -0
  716. data/lib/puppet/provider/exec/windows.rb +7 -5
  717. data/lib/puppet/provider/exec.rb +26 -12
  718. data/lib/puppet/provider/file/posix.rb +46 -20
  719. data/lib/puppet/provider/file/windows.rb +68 -21
  720. data/lib/puppet/provider/group/aix.rb +6 -3
  721. data/lib/puppet/provider/group/directoryservice.rb +8 -6
  722. data/lib/puppet/provider/group/groupadd.rb +103 -34
  723. data/lib/puppet/provider/group/ldap.rb +11 -5
  724. data/lib/puppet/provider/group/pw.rb +9 -6
  725. data/lib/puppet/provider/group/windows_adsi.rb +18 -12
  726. data/lib/puppet/provider/ldap.rb +15 -9
  727. data/lib/puppet/provider/nameservice/directoryservice.rb +83 -69
  728. data/lib/puppet/provider/nameservice/objectadd.rb +5 -5
  729. data/lib/puppet/provider/nameservice/pw.rb +10 -10
  730. data/lib/puppet/provider/nameservice.rb +36 -40
  731. data/lib/puppet/provider/network_device.rb +6 -4
  732. data/lib/puppet/provider/package/aix.rb +51 -32
  733. data/lib/puppet/provider/package/appdmg.rb +31 -27
  734. data/lib/puppet/provider/package/apple.rb +10 -7
  735. data/lib/puppet/provider/package/apt.rb +174 -23
  736. data/lib/puppet/provider/package/aptitude.rb +10 -4
  737. data/lib/puppet/provider/package/aptrpm.rb +18 -14
  738. data/lib/puppet/provider/package/blastwave.rb +20 -22
  739. data/lib/puppet/provider/package/dnf.rb +15 -7
  740. data/lib/puppet/provider/package/dnfmodule.rb +143 -0
  741. data/lib/puppet/provider/package/dpkg.rb +55 -29
  742. data/lib/puppet/provider/package/fink.rb +33 -13
  743. data/lib/puppet/provider/package/freebsd.rb +6 -4
  744. data/lib/puppet/provider/package/gem.rb +181 -60
  745. data/lib/puppet/provider/package/hpux.rb +10 -8
  746. data/lib/puppet/provider/package/macports.rb +14 -9
  747. data/lib/puppet/provider/package/nim.rb +47 -39
  748. data/lib/puppet/provider/package/openbsd.rb +66 -45
  749. data/lib/puppet/provider/package/opkg.rb +20 -16
  750. data/lib/puppet/provider/package/pacman.rb +55 -51
  751. data/lib/puppet/provider/package/pip.rb +276 -117
  752. data/lib/puppet/provider/package/pip2.rb +18 -0
  753. data/lib/puppet/provider/package/pip3.rb +5 -7
  754. data/lib/puppet/provider/package/pkg.rb +86 -41
  755. data/lib/puppet/provider/package/pkgdmg.rb +31 -23
  756. data/lib/puppet/provider/package/pkgin.rb +15 -14
  757. data/lib/puppet/provider/package/pkgng.rb +69 -34
  758. data/lib/puppet/provider/package/pkgutil.rb +41 -41
  759. data/lib/puppet/provider/package/portage.rb +87 -73
  760. data/lib/puppet/provider/package/ports.rb +19 -16
  761. data/lib/puppet/provider/package/portupgrade.rb +51 -57
  762. data/lib/puppet/provider/package/puppet_gem.rb +16 -8
  763. data/lib/puppet/provider/package/puppetserver_gem.rb +174 -0
  764. data/lib/puppet/provider/package/rpm.rb +104 -254
  765. data/lib/puppet/provider/package/rug.rb +11 -11
  766. data/lib/puppet/provider/package/sun.rb +31 -27
  767. data/lib/puppet/provider/package/sunfreeware.rb +3 -1
  768. data/lib/puppet/provider/package/tdnf.rb +8 -1
  769. data/lib/puppet/provider/package/up2date.rb +10 -10
  770. data/lib/puppet/provider/package/urpmi.rb +9 -7
  771. data/lib/puppet/provider/package/windows/exe_package.rb +38 -7
  772. data/lib/puppet/provider/package/windows/msi_package.rb +6 -4
  773. data/lib/puppet/provider/package/windows/package.rb +19 -14
  774. data/lib/puppet/provider/package/windows.rb +28 -10
  775. data/lib/puppet/provider/package/xbps.rb +127 -0
  776. data/lib/puppet/provider/package/yum.rb +165 -60
  777. data/lib/puppet/provider/package/zypper.rb +90 -29
  778. data/lib/puppet/provider/package.rb +13 -8
  779. data/lib/puppet/provider/package_targetable.rb +71 -0
  780. data/lib/puppet/provider/parsedfile.rb +41 -27
  781. data/lib/puppet/provider/service/base.rb +29 -28
  782. data/lib/puppet/provider/service/bsd.rb +7 -5
  783. data/lib/puppet/provider/service/daemontools.rb +49 -47
  784. data/lib/puppet/provider/service/debian.rb +17 -15
  785. data/lib/puppet/provider/service/freebsd.rb +50 -52
  786. data/lib/puppet/provider/service/gentoo.rb +11 -9
  787. data/lib/puppet/provider/service/init.rb +39 -39
  788. data/lib/puppet/provider/service/launchd.rb +72 -42
  789. data/lib/puppet/provider/service/openbsd.rb +17 -16
  790. data/lib/puppet/provider/service/openrc.rb +6 -5
  791. data/lib/puppet/provider/service/openwrt.rb +7 -6
  792. data/lib/puppet/provider/service/rcng.rb +9 -7
  793. data/lib/puppet/provider/service/redhat.rb +10 -7
  794. data/lib/puppet/provider/service/runit.rb +18 -23
  795. data/lib/puppet/provider/service/service.rb +32 -7
  796. data/lib/puppet/provider/service/smf.rb +189 -90
  797. data/lib/puppet/provider/service/src.rb +30 -30
  798. data/lib/puppet/provider/service/systemd.rb +107 -67
  799. data/lib/puppet/provider/service/upstart.rb +62 -47
  800. data/lib/puppet/provider/service/windows.rb +103 -39
  801. data/lib/puppet/provider/user/aix.rb +74 -26
  802. data/lib/puppet/provider/user/directoryservice.rb +170 -115
  803. data/lib/puppet/provider/user/hpux.rb +33 -35
  804. data/lib/puppet/provider/user/ldap.rb +22 -15
  805. data/lib/puppet/provider/user/openbsd.rb +27 -24
  806. data/lib/puppet/provider/user/pw.rb +22 -11
  807. data/lib/puppet/provider/user/user_role_add.rb +52 -42
  808. data/lib/puppet/provider/user/useradd.rb +236 -76
  809. data/lib/puppet/provider/user/windows_adsi.rb +34 -14
  810. data/lib/puppet/provider.rb +32 -43
  811. data/lib/puppet/reference/configuration.rb +55 -47
  812. data/lib/puppet/reference/function.rb +2 -0
  813. data/lib/puppet/reference/indirection.rb +39 -34
  814. data/lib/puppet/reference/metaparameter.rb +4 -4
  815. data/lib/puppet/reference/providers.rb +16 -15
  816. data/lib/puppet/reference/report.rb +3 -1
  817. data/lib/puppet/reference/type.rb +12 -14
  818. data/lib/puppet/relationship.rb +14 -18
  819. data/lib/puppet/reports/http.rb +19 -11
  820. data/lib/puppet/reports/log.rb +5 -4
  821. data/lib/puppet/reports/store.rb +11 -8
  822. data/lib/puppet/reports.rb +10 -8
  823. data/lib/puppet/resource/catalog.rb +96 -112
  824. data/lib/puppet/resource/status.rb +11 -9
  825. data/lib/puppet/resource/type.rb +64 -157
  826. data/lib/puppet/resource/type_collection.rb +45 -73
  827. data/lib/puppet/resource.rb +162 -172
  828. data/lib/puppet/runtime.rb +67 -0
  829. data/lib/puppet/scheduler/job.rb +2 -0
  830. data/lib/puppet/scheduler/scheduler.rb +4 -2
  831. data/lib/puppet/scheduler/splay_job.rb +2 -0
  832. data/lib/puppet/scheduler/timer.rb +2 -0
  833. data/lib/puppet/scheduler.rb +7 -5
  834. data/lib/puppet/settings/alias_setting.rb +37 -0
  835. data/lib/puppet/settings/array_setting.rb +2 -1
  836. data/lib/puppet/settings/autosign_setting.rb +3 -2
  837. data/lib/puppet/settings/base_setting.rb +56 -25
  838. data/lib/puppet/settings/boolean_setting.rb +5 -3
  839. data/lib/puppet/settings/certificate_revocation_setting.rb +3 -2
  840. data/lib/puppet/settings/config_file.rb +15 -19
  841. data/lib/puppet/settings/directory_setting.rb +2 -0
  842. data/lib/puppet/settings/duration_setting.rb +5 -4
  843. data/lib/puppet/settings/enum_setting.rb +3 -1
  844. data/lib/puppet/settings/environment_conf.rb +21 -15
  845. data/lib/puppet/settings/errors.rb +7 -4
  846. data/lib/puppet/settings/file_or_directory_setting.rb +4 -7
  847. data/lib/puppet/settings/file_setting.rb +19 -32
  848. data/lib/puppet/settings/http_extra_headers_setting.rb +26 -0
  849. data/lib/puppet/settings/ini_file.rb +7 -4
  850. data/lib/puppet/settings/integer_setting.rb +19 -0
  851. data/lib/puppet/settings/path_setting.rb +2 -0
  852. data/lib/puppet/settings/port_setting.rb +17 -0
  853. data/lib/puppet/settings/priority_setting.rb +16 -14
  854. data/lib/puppet/settings/server_list_setting.rb +13 -3
  855. data/lib/puppet/settings/string_setting.rb +2 -0
  856. data/lib/puppet/settings/symbolic_enum_setting.rb +3 -1
  857. data/lib/puppet/settings/terminus_setting.rb +2 -0
  858. data/lib/puppet/settings/ttl_setting.rb +7 -5
  859. data/lib/puppet/settings/value_translator.rb +9 -8
  860. data/lib/puppet/settings.rb +397 -232
  861. data/lib/puppet/ssl/base.rb +17 -15
  862. data/lib/puppet/ssl/certificate.rb +12 -13
  863. data/lib/puppet/ssl/certificate_request.rb +45 -50
  864. data/lib/puppet/ssl/certificate_request_attributes.rb +9 -6
  865. data/lib/puppet/ssl/certificate_signer.rb +9 -3
  866. data/lib/puppet/ssl/digest.rb +2 -0
  867. data/lib/puppet/ssl/error.rb +29 -0
  868. data/lib/puppet/ssl/oids.rb +17 -11
  869. data/lib/puppet/ssl/openssl_loader.rb +26 -0
  870. data/lib/puppet/ssl/ssl_context.rb +27 -0
  871. data/lib/puppet/ssl/ssl_provider.rb +354 -0
  872. data/lib/puppet/ssl/state_machine.rb +605 -0
  873. data/lib/puppet/ssl/verifier.rb +143 -0
  874. data/lib/puppet/ssl.rb +21 -8
  875. data/lib/puppet/syntax_checkers/base64.rb +8 -6
  876. data/lib/puppet/syntax_checkers/epp.rb +35 -0
  877. data/lib/puppet/syntax_checkers/json.rb +8 -8
  878. data/lib/puppet/syntax_checkers/pp.rb +35 -0
  879. data/lib/puppet/syntax_checkers.rb +3 -1
  880. data/lib/puppet/test/test_helper.rb +50 -50
  881. data/lib/puppet/thread_local.rb +6 -0
  882. data/lib/puppet/transaction/additional_resource_generator.rb +13 -8
  883. data/lib/puppet/transaction/event.rb +14 -10
  884. data/lib/puppet/transaction/event_manager.rb +18 -19
  885. data/lib/puppet/transaction/persistence.rb +35 -15
  886. data/lib/puppet/transaction/report.rb +88 -48
  887. data/lib/puppet/transaction/resource_harness.rb +17 -10
  888. data/lib/puppet/transaction.rb +105 -59
  889. data/lib/puppet/trusted_external.rb +46 -0
  890. data/lib/puppet/type/component.rb +19 -11
  891. data/lib/puppet/type/exec.rb +196 -90
  892. data/lib/puppet/type/file/checksum.rb +8 -6
  893. data/lib/puppet/type/file/checksum_value.rb +8 -6
  894. data/lib/puppet/type/file/content.rb +31 -23
  895. data/lib/puppet/type/file/ctime.rb +8 -6
  896. data/lib/puppet/type/file/data_sync.rb +18 -10
  897. data/lib/puppet/type/file/ensure.rb +35 -33
  898. data/lib/puppet/type/file/group.rb +12 -3
  899. data/lib/puppet/type/file/mode.rb +28 -13
  900. data/lib/puppet/type/file/mtime.rb +8 -5
  901. data/lib/puppet/type/file/owner.rb +11 -3
  902. data/lib/puppet/type/file/selcontext.rb +25 -23
  903. data/lib/puppet/type/file/source.rb +110 -99
  904. data/lib/puppet/type/file/target.rb +25 -26
  905. data/lib/puppet/type/file/type.rb +5 -3
  906. data/lib/puppet/type/file.rb +206 -109
  907. data/lib/puppet/type/filebucket.rb +24 -18
  908. data/lib/puppet/type/group.rb +22 -19
  909. data/lib/puppet/type/notify.rb +8 -6
  910. data/lib/puppet/type/package.rb +206 -60
  911. data/lib/puppet/type/resources.rb +44 -42
  912. data/lib/puppet/type/schedule.rb +25 -21
  913. data/lib/puppet/type/service.rb +79 -24
  914. data/lib/puppet/type/stage.rb +2 -0
  915. data/lib/puppet/type/tidy.rb +79 -48
  916. data/lib/puppet/type/user.rb +146 -102
  917. data/lib/puppet/type/whit.rb +2 -1
  918. data/lib/puppet/type.rb +315 -359
  919. data/lib/puppet/util/at_fork/noop.rb +2 -0
  920. data/lib/puppet/util/at_fork/solaris.rb +38 -40
  921. data/lib/puppet/util/at_fork.rb +7 -5
  922. data/lib/puppet/util/autoload.rb +28 -41
  923. data/lib/puppet/util/backups.rb +13 -11
  924. data/lib/puppet/util/character_encoding.rb +18 -11
  925. data/lib/puppet/util/checksums.rb +37 -19
  926. data/lib/puppet/util/classgen.rb +29 -28
  927. data/lib/puppet/util/colors.rb +68 -66
  928. data/lib/puppet/util/command_line/puppet_option_parser.rb +20 -18
  929. data/lib/puppet/util/command_line/trollop.rb +695 -673
  930. data/lib/puppet/util/command_line.rb +25 -15
  931. data/lib/puppet/util/constant_inflector.rb +4 -3
  932. data/lib/puppet/util/diff.rb +21 -20
  933. data/lib/puppet/util/docs.rb +8 -4
  934. data/lib/puppet/util/errors.rb +13 -11
  935. data/lib/puppet/util/execution.rb +75 -55
  936. data/lib/puppet/util/execution_stub.rb +2 -0
  937. data/lib/puppet/util/feature.rb +26 -14
  938. data/lib/puppet/util/file_watcher.rb +3 -0
  939. data/lib/puppet/util/fileparsing.rb +71 -64
  940. data/lib/puppet/util/filetype.rb +46 -45
  941. data/lib/puppet/util/http_proxy.rb +4 -205
  942. data/lib/puppet/util/inifile.rb +15 -20
  943. data/lib/puppet/util/instance_loader.rb +19 -11
  944. data/lib/puppet/util/json.rb +27 -2
  945. data/lib/puppet/util/json_lockfile.rb +5 -2
  946. data/lib/puppet/util/ldap/connection.rb +26 -22
  947. data/lib/puppet/util/ldap/generator.rb +3 -1
  948. data/lib/puppet/util/ldap/manager.rb +29 -27
  949. data/lib/puppet/util/ldap.rb +2 -0
  950. data/lib/puppet/util/libuser.rb +3 -2
  951. data/lib/puppet/util/limits.rb +3 -1
  952. data/lib/puppet/util/lockfile.rb +8 -8
  953. data/lib/puppet/util/log/destination.rb +4 -3
  954. data/lib/puppet/util/log/destinations.rb +27 -33
  955. data/lib/puppet/util/log.rb +71 -50
  956. data/lib/puppet/util/logging.rb +69 -77
  957. data/lib/puppet/util/metaid.rb +2 -1
  958. data/lib/puppet/util/metric.rb +15 -11
  959. data/lib/puppet/util/monkey_patches.rb +58 -52
  960. data/lib/puppet/util/multi_match.rb +9 -5
  961. data/lib/puppet/util/network_device/base.rb +6 -5
  962. data/lib/puppet/util/network_device/config.rb +11 -11
  963. data/lib/puppet/util/network_device/transport/base.rb +3 -3
  964. data/lib/puppet/util/network_device/transport.rb +3 -1
  965. data/lib/puppet/util/network_device.rb +2 -0
  966. data/lib/puppet/util/package/version/debian.rb +177 -0
  967. data/lib/puppet/util/package/version/gem.rb +18 -0
  968. data/lib/puppet/util/package/version/pip.rb +173 -0
  969. data/lib/puppet/util/package/version/range/eq.rb +17 -0
  970. data/lib/puppet/util/package/version/range/gt.rb +17 -0
  971. data/lib/puppet/util/package/version/range/gt_eq.rb +17 -0
  972. data/lib/puppet/util/package/version/range/lt.rb +17 -0
  973. data/lib/puppet/util/package/version/range/lt_eq.rb +17 -0
  974. data/lib/puppet/util/package/version/range/min_max.rb +26 -0
  975. data/lib/puppet/util/package/version/range/simple.rb +13 -0
  976. data/lib/puppet/util/package/version/range.rb +57 -0
  977. data/lib/puppet/util/package/version/rpm.rb +75 -0
  978. data/lib/puppet/util/package.rb +29 -17
  979. data/lib/puppet/util/pidlock.rb +49 -8
  980. data/lib/puppet/util/platform.rb +40 -6
  981. data/lib/puppet/util/plist.rb +23 -17
  982. data/lib/puppet/util/posix.rb +81 -27
  983. data/lib/puppet/util/profiler/aggregate.rb +7 -10
  984. data/lib/puppet/util/profiler/around_profiler.rb +2 -1
  985. data/lib/puppet/util/profiler/logging.rb +3 -1
  986. data/lib/puppet/util/profiler/object_counts.rb +3 -1
  987. data/lib/puppet/util/profiler/wall_clock.rb +5 -4
  988. data/lib/puppet/util/profiler.rb +5 -3
  989. data/lib/puppet/util/provider_features.rb +15 -13
  990. data/lib/puppet/util/psych_support.rb +2 -0
  991. data/lib/puppet/util/rdoc/code_objects.rb +20 -21
  992. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +120 -128
  993. data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +62 -79
  994. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +32 -29
  995. data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +3 -1
  996. data/lib/puppet/util/rdoc/parser.rb +8 -6
  997. data/lib/puppet/util/rdoc.rb +12 -18
  998. data/lib/puppet/util/reference.rb +9 -33
  999. data/lib/puppet/util/resource_template.rb +7 -5
  1000. data/lib/puppet/util/retry_action.rb +7 -6
  1001. data/lib/puppet/util/rpm_compare.rb +196 -0
  1002. data/lib/puppet/util/rubygems.rb +9 -5
  1003. data/lib/puppet/util/run_mode.rb +59 -5
  1004. data/lib/puppet/util/selinux.rb +82 -27
  1005. data/lib/puppet/util/skip_tags.rb +7 -1
  1006. data/lib/puppet/util/splayer.rb +2 -0
  1007. data/lib/puppet/util/storage.rb +14 -15
  1008. data/lib/puppet/util/suidmanager.rb +40 -40
  1009. data/lib/puppet/util/symbolic_file_mode.rb +96 -84
  1010. data/lib/puppet/util/tag_set.rb +5 -3
  1011. data/lib/puppet/util/tagging.rb +14 -14
  1012. data/lib/puppet/util/terminal.rb +6 -4
  1013. data/lib/puppet/util/user_attr.rb +9 -7
  1014. data/lib/puppet/util/warnings.rb +4 -0
  1015. data/lib/puppet/util/watched_file.rb +5 -2
  1016. data/lib/puppet/util/watcher/change_watcher.rb +2 -0
  1017. data/lib/puppet/util/watcher/periodic_watcher.rb +2 -1
  1018. data/lib/puppet/util/watcher/timer.rb +2 -0
  1019. data/lib/puppet/util/watcher.rb +8 -8
  1020. data/lib/puppet/util/windows/access_control_entry.rb +4 -2
  1021. data/lib/puppet/util/windows/access_control_list.rb +10 -7
  1022. data/lib/puppet/util/windows/adsi.rb +168 -77
  1023. data/lib/puppet/util/windows/com.rb +10 -7
  1024. data/lib/puppet/util/windows/daemon.rb +340 -0
  1025. data/lib/puppet/util/windows/error.rb +9 -6
  1026. data/lib/puppet/util/windows/eventlog.rb +18 -24
  1027. data/lib/puppet/util/windows/file.rb +57 -287
  1028. data/lib/puppet/util/windows/monkey_patches/process.rb +413 -0
  1029. data/lib/puppet/util/windows/principal.rb +55 -43
  1030. data/lib/puppet/util/windows/process.rb +87 -244
  1031. data/lib/puppet/util/windows/registry.rb +117 -72
  1032. data/lib/puppet/util/windows/root_certs.rb +7 -5
  1033. data/lib/puppet/util/windows/security.rb +118 -92
  1034. data/lib/puppet/util/windows/security_descriptor.rb +3 -1
  1035. data/lib/puppet/util/windows/service.rb +190 -466
  1036. data/lib/puppet/util/windows/sid.rb +37 -28
  1037. data/lib/puppet/util/windows/string.rb +14 -13
  1038. data/lib/puppet/util/windows/user.rb +277 -33
  1039. data/lib/puppet/util/windows.rb +32 -26
  1040. data/lib/puppet/util/yaml.rb +17 -22
  1041. data/lib/puppet/util.rb +230 -182
  1042. data/lib/puppet/vendor/require_vendored.rb +0 -2
  1043. data/lib/puppet/vendor.rb +5 -3
  1044. data/lib/puppet/version.rb +6 -6
  1045. data/lib/puppet/x509/cert_provider.rb +405 -0
  1046. data/lib/puppet/x509/pem_store.rb +57 -0
  1047. data/lib/puppet/x509.rb +13 -0
  1048. data/lib/puppet.rb +124 -79
  1049. data/lib/puppet_pal.rb +7 -1132
  1050. data/lib/puppet_x.rb +2 -0
  1051. data/locales/puppet.pot +3096 -3030
  1052. data/man/man5/puppet.conf.5 +637 -299
  1053. data/man/man8/puppet-agent.8 +86 -69
  1054. data/man/man8/puppet-apply.8 +7 -4
  1055. data/man/man8/puppet-catalog.8 +38 -14
  1056. data/man/man8/puppet-config.8 +6 -6
  1057. data/man/man8/puppet-describe.8 +1 -1
  1058. data/man/man8/puppet-device.8 +6 -3
  1059. data/man/man8/puppet-doc.8 +1 -1
  1060. data/man/man8/puppet-epp.8 +1 -1
  1061. data/man/man8/puppet-facts.8 +65 -17
  1062. data/man/man8/puppet-filebucket.8 +26 -7
  1063. data/man/man8/puppet-generate.8 +1 -1
  1064. data/man/man8/puppet-help.8 +6 -3
  1065. data/man/man8/puppet-lookup.8 +9 -6
  1066. data/man/man8/puppet-module.8 +3 -57
  1067. data/man/man8/puppet-node.8 +11 -12
  1068. data/man/man8/puppet-parser.8 +1 -1
  1069. data/man/man8/puppet-plugin.8 +1 -1
  1070. data/man/man8/puppet-report.8 +8 -9
  1071. data/man/man8/puppet-resource.8 +5 -1
  1072. data/man/man8/puppet-script.8 +5 -2
  1073. data/man/man8/puppet-ssl.8 +14 -2
  1074. data/man/man8/puppet.8 +3 -3
  1075. metadata +209 -2622
  1076. data/COMMITTERS.md +0 -244
  1077. data/CONTRIBUTING.md +0 -167
  1078. data/MAINTAINERS +0 -47
  1079. data/conf/auth.conf +0 -150
  1080. data/examples/hiera/etc/hiera.yaml +0 -15
  1081. data/examples/hiera/etc/hieradb/common.yaml +0 -3
  1082. data/examples/hiera/etc/hieradb/dc1.yaml +0 -6
  1083. data/examples/hiera/etc/hieradb/development.yaml +0 -2
  1084. data/examples/hiera/etc/puppet.conf +0 -3
  1085. data/examples/hiera/modules/data/manifests/common.pp +0 -4
  1086. data/examples/hiera/modules/ntp/manifests/data.pp +0 -4
  1087. data/examples/hiera/modules/ntp/templates/ntp.conf.erb +0 -3
  1088. data/examples/hiera/modules/users/manifests/development.pp +0 -4
  1089. data/ext/README.environment +0 -8
  1090. data/ext/autotest/Rakefile +0 -8
  1091. data/ext/autotest/config +0 -43
  1092. data/ext/autotest/readme.rst +0 -16
  1093. data/ext/cert_inspector +0 -140
  1094. data/ext/dbfix.sql +0 -132
  1095. data/ext/debian/README.Debian +0 -8
  1096. data/ext/debian/README.source +0 -2
  1097. data/ext/debian/TODO.Debian +0 -1
  1098. data/ext/debian/changelog.erb +0 -1122
  1099. data/ext/debian/compat +0 -1
  1100. data/ext/debian/control +0 -144
  1101. data/ext/debian/copyright +0 -339
  1102. data/ext/debian/docs +0 -1
  1103. data/ext/debian/fileserver.conf +0 -41
  1104. data/ext/debian/puppet-common.dirs +0 -13
  1105. data/ext/debian/puppet-common.install +0 -3
  1106. data/ext/debian/puppet-common.lintian-overrides +0 -5
  1107. data/ext/debian/puppet-common.manpages +0 -28
  1108. data/ext/debian/puppet-common.postinst +0 -35
  1109. data/ext/debian/puppet-common.postrm +0 -33
  1110. data/ext/debian/puppet-el.dirs +0 -1
  1111. data/ext/debian/puppet-el.emacsen-install +0 -25
  1112. data/ext/debian/puppet-el.emacsen-remove +0 -11
  1113. data/ext/debian/puppet-el.emacsen-startup +0 -9
  1114. data/ext/debian/puppet-el.install +0 -1
  1115. data/ext/debian/puppet-testsuite.install +0 -2
  1116. data/ext/debian/puppet-testsuite.lintian-overrides +0 -4
  1117. data/ext/debian/puppet.lintian-overrides +0 -3
  1118. data/ext/debian/puppet.logrotate +0 -20
  1119. data/ext/debian/puppet.postinst +0 -20
  1120. data/ext/debian/puppet.postrm +0 -20
  1121. data/ext/debian/puppet.preinst +0 -20
  1122. data/ext/debian/puppetmaster-common.install +0 -2
  1123. data/ext/debian/puppetmaster-common.manpages +0 -2
  1124. data/ext/debian/puppetmaster-common.postinst +0 -6
  1125. data/ext/debian/puppetmaster-passenger.dirs +0 -4
  1126. data/ext/debian/puppetmaster-passenger.postinst +0 -162
  1127. data/ext/debian/puppetmaster-passenger.postrm +0 -61
  1128. data/ext/debian/puppetmaster.README.debian +0 -17
  1129. data/ext/debian/puppetmaster.default +0 -14
  1130. data/ext/debian/puppetmaster.init +0 -137
  1131. data/ext/debian/puppetmaster.lintian-overrides +0 -3
  1132. data/ext/debian/puppetmaster.postinst +0 -20
  1133. data/ext/debian/puppetmaster.postrm +0 -5
  1134. data/ext/debian/puppetmaster.preinst +0 -22
  1135. data/ext/debian/rules +0 -132
  1136. data/ext/debian/source/format +0 -1
  1137. data/ext/debian/source/options +0 -1
  1138. data/ext/debian/vim-puppet.README.Debian +0 -13
  1139. data/ext/debian/vim-puppet.dirs +0 -5
  1140. data/ext/debian/vim-puppet.yaml +0 -7
  1141. data/ext/debian/watch +0 -2
  1142. data/ext/envpuppet +0 -139
  1143. data/ext/envpuppet.bat +0 -14
  1144. data/ext/freebsd/puppetd +0 -26
  1145. data/ext/freebsd/puppetmasterd +0 -26
  1146. data/ext/gentoo/conf.d/puppet +0 -5
  1147. data/ext/gentoo/conf.d/puppetmaster +0 -12
  1148. data/ext/gentoo/init.d/puppet +0 -38
  1149. data/ext/gentoo/init.d/puppetmaster +0 -51
  1150. data/ext/gentoo/puppet/fileserver.conf +0 -41
  1151. data/ext/ips/puppet-agent +0 -44
  1152. data/ext/ips/puppet-master +0 -44
  1153. data/ext/ips/puppet.p5m.erb +0 -12
  1154. data/ext/ips/puppetagent.xml +0 -42
  1155. data/ext/ips/puppetmaster.xml +0 -42
  1156. data/ext/ips/rules +0 -19
  1157. data/ext/ips/transforms +0 -34
  1158. data/ext/ldap/puppet.schema +0 -24
  1159. data/ext/logcheck/puppet +0 -23
  1160. data/ext/nagios/check_puppet.rb +0 -123
  1161. data/ext/osx/file_mapping.yaml +0 -33
  1162. data/ext/osx/postflight.erb +0 -109
  1163. data/ext/osx/preflight.erb +0 -52
  1164. data/ext/osx/prototype.plist.erb +0 -38
  1165. data/ext/puppet-test +0 -476
  1166. data/ext/pure_ruby_dsl/dsl_test.rb +0 -7
  1167. data/ext/redhat/fileserver.conf +0 -41
  1168. data/ext/redhat/logrotate +0 -21
  1169. data/ext/redhat/puppet.spec.erb +0 -842
  1170. data/ext/redhat/server.init +0 -128
  1171. data/ext/redhat/server.sysconfig +0 -13
  1172. data/ext/regexp_nodes/regexp_nodes.rb +0 -270
  1173. data/ext/solaris/pkginfo +0 -6
  1174. data/ext/solaris/smf/puppetd.xml +0 -77
  1175. data/ext/solaris/smf/puppetmasterd.xml +0 -77
  1176. data/ext/solaris/smf/svc-puppetd +0 -71
  1177. data/ext/solaris/smf/svc-puppetmasterd +0 -67
  1178. data/ext/suse/puppet.spec +0 -310
  1179. data/ext/suse/server.init +0 -173
  1180. data/ext/upload_facts.rb +0 -119
  1181. data/ext/windows/eventlog/Rakefile +0 -32
  1182. data/ext/windows/eventlog/puppetres.dll +0 -0
  1183. data/ext/windows/eventlog/puppetres.mc +0 -18
  1184. data/ext/yaml_nodes.rb +0 -105
  1185. data/lib/puppet/application/cert.rb +0 -76
  1186. data/lib/puppet/application/key.rb +0 -4
  1187. data/lib/puppet/application/man.rb +0 -4
  1188. data/lib/puppet/application/status.rb +0 -4
  1189. data/lib/puppet/external/pson/common.rb +0 -374
  1190. data/lib/puppet/external/pson/pure/generator.rb +0 -395
  1191. data/lib/puppet/external/pson/pure/parser.rb +0 -307
  1192. data/lib/puppet/external/pson/pure.rb +0 -15
  1193. data/lib/puppet/external/pson/version.rb +0 -8
  1194. data/lib/puppet/face/key.rb +0 -16
  1195. data/lib/puppet/face/man.rb +0 -145
  1196. data/lib/puppet/face/module/build.rb +0 -14
  1197. data/lib/puppet/face/module/generate.rb +0 -14
  1198. data/lib/puppet/face/module/search.rb +0 -98
  1199. data/lib/puppet/face/status.rb +0 -51
  1200. data/lib/puppet/indirector/certificate/file.rb +0 -8
  1201. data/lib/puppet/indirector/certificate/rest.rb +0 -16
  1202. data/lib/puppet/indirector/certificate_request/file.rb +0 -8
  1203. data/lib/puppet/indirector/certificate_request/memory.rb +0 -6
  1204. data/lib/puppet/indirector/certificate_request/rest.rb +0 -10
  1205. data/lib/puppet/indirector/file_content/http.rb +0 -17
  1206. data/lib/puppet/indirector/key/file.rb +0 -45
  1207. data/lib/puppet/indirector/key/memory.rb +0 -6
  1208. data/lib/puppet/indirector/ssl_file.rb +0 -160
  1209. data/lib/puppet/indirector/status/local.rb +0 -12
  1210. data/lib/puppet/indirector/status/rest.rb +0 -9
  1211. data/lib/puppet/indirector/status.rb +0 -3
  1212. data/lib/puppet/module_tool/applications/searcher.rb +0 -29
  1213. data/lib/puppet/network/auth_config_parser.rb +0 -90
  1214. data/lib/puppet/network/authstore.rb +0 -282
  1215. data/lib/puppet/network/http/api/master/v3/authorization.rb +0 -18
  1216. data/lib/puppet/network/http/api/master/v3/environment.rb +0 -85
  1217. data/lib/puppet/network/http/compression.rb +0 -120
  1218. data/lib/puppet/network/http/factory.rb +0 -55
  1219. data/lib/puppet/network/http/nocache_pool.rb +0 -21
  1220. data/lib/puppet/network/http/pool.rb +0 -129
  1221. data/lib/puppet/network/http/session.rb +0 -17
  1222. data/lib/puppet/network/http/site.rb +0 -39
  1223. data/lib/puppet/network/resolver.rb +0 -158
  1224. data/lib/puppet/network/rest_controller.rb +0 -2
  1225. data/lib/puppet/network/rights.rb +0 -209
  1226. data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +0 -64
  1227. data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +0 -20
  1228. data/lib/puppet/parser/environment_compiler.rb +0 -199
  1229. data/lib/puppet/pops/loader/null_loader.rb +0 -60
  1230. data/lib/puppet/pops/types/enumeration.rb +0 -16
  1231. data/lib/puppet/resource/capability_finder.rb +0 -150
  1232. data/lib/puppet/rest/client.rb +0 -83
  1233. data/lib/puppet/rest/errors.rb +0 -14
  1234. data/lib/puppet/rest/response.rb +0 -34
  1235. data/lib/puppet/rest/route.rb +0 -84
  1236. data/lib/puppet/rest/routes.rb +0 -154
  1237. data/lib/puppet/rest/ssl_context.rb +0 -13
  1238. data/lib/puppet/ssl/host.rb +0 -636
  1239. data/lib/puppet/ssl/key.rb +0 -59
  1240. data/lib/puppet/ssl/validator/default_validator.rb +0 -187
  1241. data/lib/puppet/ssl/validator/no_validator.rb +0 -20
  1242. data/lib/puppet/ssl/validator.rb +0 -60
  1243. data/lib/puppet/status.rb +0 -40
  1244. data/lib/puppet/util/connection.rb +0 -74
  1245. data/lib/puppet/util/ssl.rb +0 -92
  1246. data/lib/puppet/util/windows/api_types.rb +0 -282
  1247. data/lib/puppet/vendor/deep_merge/CHANGELOG +0 -45
  1248. data/lib/puppet/vendor/deep_merge/Gemfile +0 -3
  1249. data/lib/puppet/vendor/deep_merge/LICENSE +0 -21
  1250. data/lib/puppet/vendor/deep_merge/PUPPET_README.md +0 -6
  1251. data/lib/puppet/vendor/deep_merge/README.md +0 -113
  1252. data/lib/puppet/vendor/deep_merge/Rakefile +0 -19
  1253. data/lib/puppet/vendor/deep_merge/deep_merge.gemspec +0 -35
  1254. data/lib/puppet/vendor/deep_merge/lib/deep_merge/core.rb +0 -210
  1255. data/lib/puppet/vendor/deep_merge/lib/deep_merge/deep_merge_hash.rb +0 -28
  1256. data/lib/puppet/vendor/deep_merge/lib/deep_merge/rails_compat.rb +0 -27
  1257. data/lib/puppet/vendor/deep_merge/lib/deep_merge.rb +0 -2
  1258. data/lib/puppet/vendor/deep_merge/test/test_deep_merge.rb +0 -608
  1259. data/lib/puppet/vendor/load_deep_merge.rb +0 -1
  1260. data/lib/puppet/vendor/load_pathspec.rb +0 -1
  1261. data/lib/puppet/vendor/pathspec/CHANGELOG.md +0 -2
  1262. data/lib/puppet/vendor/pathspec/LICENSE +0 -201
  1263. data/lib/puppet/vendor/pathspec/PUPPET_README.md +0 -6
  1264. data/lib/puppet/vendor/pathspec/README.md +0 -53
  1265. data/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +0 -275
  1266. data/lib/puppet/vendor/pathspec/lib/pathspec/regexspec.rb +0 -17
  1267. data/lib/puppet/vendor/pathspec/lib/pathspec/spec.rb +0 -14
  1268. data/lib/puppet/vendor/pathspec/lib/pathspec.rb +0 -122
  1269. data/locales/ja/puppet.po +0 -11143
  1270. data/man/man8/puppet-key.8 +0 -126
  1271. data/man/man8/puppet-man.8 +0 -76
  1272. data/man/man8/puppet-status.8 +0 -108
  1273. data/spec/fixtures/faulty_face/puppet/face/syntax.rb +0 -8
  1274. data/spec/fixtures/hiera.yaml +0 -9
  1275. data/spec/fixtures/integration/node/environment/sitedir/00_a.pp +0 -2
  1276. data/spec/fixtures/integration/node/environment/sitedir/01_b.pp +0 -6
  1277. data/spec/fixtures/integration/node/environment/sitedir/03_empty.pp +0 -0
  1278. data/spec/fixtures/integration/node/environment/sitedir/04_include.pp +0 -2
  1279. data/spec/fixtures/integration/node/environment/sitedir2/00_a.pp +0 -2
  1280. data/spec/fixtures/integration/node/environment/sitedir2/02_folder/01_b.pp +0 -6
  1281. data/spec/fixtures/integration/node/environment/sitedir2/03_c.pp +0 -1
  1282. data/spec/fixtures/integration/node/environment/sitedir2/04_include.pp +0 -2
  1283. data/spec/fixtures/java.tgz +0 -0
  1284. data/spec/fixtures/manifests/site.pp +0 -0
  1285. data/spec/fixtures/module.tar.gz +0 -0
  1286. data/spec/fixtures/releases/jamtur01-apache/Modulefile +0 -2
  1287. data/spec/fixtures/releases/jamtur01-apache/files/httpd +0 -24
  1288. data/spec/fixtures/releases/jamtur01-apache/files/test.vhost +0 -18
  1289. data/spec/fixtures/releases/jamtur01-apache/lib/puppet/provider/a2mod/debian.rb +0 -21
  1290. data/spec/fixtures/releases/jamtur01-apache/lib/puppet/type/a2mod.rb +0 -12
  1291. data/spec/fixtures/releases/jamtur01-apache/manifests/dev.pp +0 -5
  1292. data/spec/fixtures/releases/jamtur01-apache/manifests/init.pp +0 -34
  1293. data/spec/fixtures/releases/jamtur01-apache/manifests/params.pp +0 -17
  1294. data/spec/fixtures/releases/jamtur01-apache/manifests/php.pp +0 -5
  1295. data/spec/fixtures/releases/jamtur01-apache/manifests/ssl.pp +0 -15
  1296. data/spec/fixtures/releases/jamtur01-apache/manifests/vhost.pp +0 -15
  1297. data/spec/fixtures/releases/jamtur01-apache/metadata.json +0 -1
  1298. data/spec/fixtures/releases/jamtur01-apache/templates/vhost-default.conf.erb +0 -20
  1299. data/spec/fixtures/releases/jamtur01-apache/tests/apache.pp +0 -1
  1300. data/spec/fixtures/releases/jamtur01-apache/tests/dev.pp +0 -1
  1301. data/spec/fixtures/releases/jamtur01-apache/tests/init.pp +0 -1
  1302. data/spec/fixtures/releases/jamtur01-apache/tests/php.pp +0 -1
  1303. data/spec/fixtures/releases/jamtur01-apache/tests/ssl.pp +0 -1
  1304. data/spec/fixtures/releases/jamtur01-apache/tests/vhost.pp +0 -2
  1305. data/spec/fixtures/stdlib.tgz +0 -0
  1306. data/spec/fixtures/unit/application/environments/production/data/common.yaml +0 -24
  1307. data/spec/fixtures/unit/application/environments/production/environment.conf +0 -1
  1308. data/spec/fixtures/unit/application/environments/production/manifests/site.pp +0 -1
  1309. data/spec/fixtures/unit/application/environments/puppet_func_provider/environment.conf +0 -1
  1310. data/spec/fixtures/unit/application/environments/puppet_func_provider/functions/environment/data.pp +0 -10
  1311. data/spec/fixtures/unit/application/environments/puppet_func_provider/manifests/site.pp +0 -1
  1312. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_json/data/bad.json +0 -3
  1313. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_json/environment.conf +0 -2
  1314. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_json/hiera.yaml +0 -5
  1315. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_json/manifests/site.pp +0 -5
  1316. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_yaml/data/bad.yaml +0 -3
  1317. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_yaml/environment.conf +0 -2
  1318. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_yaml/hiera.yaml +0 -5
  1319. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_yaml/manifests/site.pp +0 -5
  1320. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/data/common.yaml +0 -2
  1321. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/environment.conf +0 -2
  1322. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/manifests/site.pp +0 -1
  1323. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/modules/one/data/common.yaml +0 -2
  1324. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/modules/one/manifests/init.pp +0 -5
  1325. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/modules/one/metadata.json +0 -9
  1326. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/first.json +0 -3
  1327. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/name.yaml +0 -2
  1328. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/second.json +0 -3
  1329. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/single.yaml +0 -2
  1330. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/third_utf8.json +0 -3
  1331. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/utf8.yaml +0 -3
  1332. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data2/single.yaml +0 -2
  1333. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/environment.conf +0 -2
  1334. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/hiera.yaml +0 -22
  1335. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/manifests/site.pp +0 -5
  1336. data/spec/fixtures/unit/data_providers/environments/hiera_misc/data/common.yaml +0 -48
  1337. data/spec/fixtures/unit/data_providers/environments/hiera_misc/environment.conf +0 -2
  1338. data/spec/fixtures/unit/data_providers/environments/hiera_misc/manifests/site.pp +0 -1
  1339. data/spec/fixtures/unit/data_providers/environments/hiera_misc/modules/one/data/common.yaml +0 -30
  1340. data/spec/fixtures/unit/data_providers/environments/hiera_misc/modules/one/manifests/init.pp +0 -13
  1341. data/spec/fixtures/unit/data_providers/environments/hiera_misc/modules/one/metadata.json +0 -9
  1342. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/data/common.yaml +0 -4
  1343. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/data/specific.yaml +0 -4
  1344. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/environment.conf +0 -2
  1345. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/hiera.yaml +0 -7
  1346. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/manifests/site.pp +0 -1
  1347. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/first.json +0 -3
  1348. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/name.yaml +0 -2
  1349. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/second.json +0 -3
  1350. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/server1.yaml +0 -1
  1351. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/server2.yaml +0 -1
  1352. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/single.yaml +0 -2
  1353. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data2/single.yaml +0 -2
  1354. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/hiera.yaml +0 -20
  1355. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/manifests/init.pp +0 -5
  1356. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/metadata.json +0 -9
  1357. data/spec/fixtures/unit/data_providers/environments/hiera_modules/data/common.yaml +0 -4
  1358. data/spec/fixtures/unit/data_providers/environments/hiera_modules/data/specific.yaml +0 -4
  1359. data/spec/fixtures/unit/data_providers/environments/hiera_modules/environment.conf +0 -2
  1360. data/spec/fixtures/unit/data_providers/environments/hiera_modules/hiera.yaml +0 -7
  1361. data/spec/fixtures/unit/data_providers/environments/hiera_modules/manifests/site.pp +0 -1
  1362. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/data/common.yaml +0 -6
  1363. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/hiera.yaml +0 -5
  1364. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/manifests/init.pp +0 -2
  1365. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/metadata.json +0 -9
  1366. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/data/common.yaml +0 -4
  1367. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/hiera.yaml +0 -5
  1368. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/manifests/init.pp +0 -3
  1369. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/metadata.json +0 -9
  1370. data/spec/fixtures/unit/data_providers/environments/production/environment.conf +0 -2
  1371. data/spec/fixtures/unit/data_providers/environments/production/lib/puppet/functions/environment/data.rb +0 -9
  1372. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/lib/puppet/functions/abc/data.rb +0 -9
  1373. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/manifests/init.pp +0 -10
  1374. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/metadata.json +0 -9
  1375. data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/functions/data.pp +0 -6
  1376. data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/manifests/init.pp +0 -9
  1377. data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/metadata.json +0 -9
  1378. data/spec/fixtures/unit/functions/hiera/hiera/backend/hieraspec_backend.rb +0 -22
  1379. data/spec/fixtures/unit/functions/lookup/data/common.yaml +0 -19
  1380. data/spec/fixtures/unit/functions/lookup/hiera/backend/custom_backend.rb +0 -18
  1381. data/spec/fixtures/unit/functions/lookup/hiera/backend/other_backend.rb +0 -7
  1382. data/spec/fixtures/unit/functions/lookup_fixture/data/common.yaml +0 -19
  1383. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/environment.conf +0 -2
  1384. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/lib/puppet/functions/environment/data.rb +0 -13
  1385. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/abc/lib/puppet/functions/abc/data.rb +0 -9
  1386. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/abc/manifests/init.pp +0 -8
  1387. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/abc/metadata.json +0 -9
  1388. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bad_data/lib/puppet/functions/bad_data/data.rb +0 -7
  1389. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bad_data/manifests/init.pp +0 -2
  1390. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bad_data/metadata.json +0 -9
  1391. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bca/lib/puppet/functions/bca/data.rb +0 -9
  1392. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bca/manifests/init.pp +0 -2
  1393. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bca/metadata.json +0 -9
  1394. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_json/data/empty.json +0 -0
  1395. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_json/hiera.yaml +0 -5
  1396. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_json/manifests/init.pp +0 -2
  1397. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_json/metadata.json +0 -9
  1398. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_json/data/empty_key.json +0 -1
  1399. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_json/hiera.yaml +0 -5
  1400. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_json/manifests/init.pp +0 -2
  1401. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_json/metadata.json +0 -9
  1402. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_yaml/data/empty_key.yaml +0 -1
  1403. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_yaml/hiera.yaml +0 -5
  1404. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_yaml/manifests/init.pp +0 -2
  1405. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_yaml/metadata.json +0 -9
  1406. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_yaml/data/empty.yaml +0 -2
  1407. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_yaml/hiera.yaml +0 -5
  1408. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_yaml/manifests/init.pp +0 -2
  1409. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_yaml/metadata.json +0 -9
  1410. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/hieraprovider/data/first.json +0 -4
  1411. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/hieraprovider/hiera.yaml +0 -8
  1412. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/hieraprovider/manifests/init.pp +0 -5
  1413. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/hieraprovider/metadata.json +0 -9
  1414. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/meta/lib/puppet/functions/meta/data.rb +0 -9
  1415. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/meta/manifests/init.pp +0 -3
  1416. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/meta/metadata.json +0 -9
  1417. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/no_provider/manifests/init.pp +0 -2
  1418. data/spec/fixtures/unit/indirector/data_binding/hiera/global.yaml +0 -10
  1419. data/spec/fixtures/unit/indirector/data_binding/hiera/invalid.yaml +0 -1
  1420. data/spec/fixtures/unit/indirector/hiera/global.yaml +0 -10
  1421. data/spec/fixtures/unit/indirector/hiera/invalid.yaml +0 -1
  1422. data/spec/fixtures/unit/module/trailing-comma.json +0 -24
  1423. data/spec/fixtures/unit/parser/functions/create_resources/foo/manifests/init.pp +0 -3
  1424. data/spec/fixtures/unit/parser/functions/create_resources/foo/manifests/wrongdefine.pp +0 -3
  1425. data/spec/fixtures/unit/parser/lexer/aliastest.pp +0 -16
  1426. data/spec/fixtures/unit/parser/lexer/append.pp +0 -11
  1427. data/spec/fixtures/unit/parser/lexer/argumentdefaults.pp +0 -14
  1428. data/spec/fixtures/unit/parser/lexer/arithmetic_expression.pp +0 -8
  1429. data/spec/fixtures/unit/parser/lexer/arraytrailingcomma.pp +0 -3
  1430. data/spec/fixtures/unit/parser/lexer/casestatement.pp +0 -65
  1431. data/spec/fixtures/unit/parser/lexer/classheirarchy.pp +0 -15
  1432. data/spec/fixtures/unit/parser/lexer/classincludes.pp +0 -17
  1433. data/spec/fixtures/unit/parser/lexer/classpathtest.pp +0 -11
  1434. data/spec/fixtures/unit/parser/lexer/collection.pp +0 -10
  1435. data/spec/fixtures/unit/parser/lexer/collection_override.pp +0 -8
  1436. data/spec/fixtures/unit/parser/lexer/collection_within_virtual_definitions.pp +0 -20
  1437. data/spec/fixtures/unit/parser/lexer/componentmetaparams.pp +0 -11
  1438. data/spec/fixtures/unit/parser/lexer/componentrequire.pp +0 -8
  1439. data/spec/fixtures/unit/parser/lexer/deepclassheirarchy.pp +0 -23
  1440. data/spec/fixtures/unit/parser/lexer/defineoverrides.pp +0 -17
  1441. data/spec/fixtures/unit/parser/lexer/emptyclass.pp +0 -9
  1442. data/spec/fixtures/unit/parser/lexer/emptyexec.pp +0 -3
  1443. data/spec/fixtures/unit/parser/lexer/emptyifelse.pp +0 -9
  1444. data/spec/fixtures/unit/parser/lexer/falsevalues.pp +0 -3
  1445. data/spec/fixtures/unit/parser/lexer/filecreate.pp +0 -11
  1446. data/spec/fixtures/unit/parser/lexer/fqdefinition.pp +0 -5
  1447. data/spec/fixtures/unit/parser/lexer/fqparents.pp +0 -11
  1448. data/spec/fixtures/unit/parser/lexer/funccomma.pp +0 -5
  1449. data/spec/fixtures/unit/parser/lexer/hash.pp +0 -33
  1450. data/spec/fixtures/unit/parser/lexer/ifexpression.pp +0 -12
  1451. data/spec/fixtures/unit/parser/lexer/implicititeration.pp +0 -15
  1452. data/spec/fixtures/unit/parser/lexer/multilinecomments.pp +0 -10
  1453. data/spec/fixtures/unit/parser/lexer/multipleclass.pp +0 -9
  1454. data/spec/fixtures/unit/parser/lexer/multipleinstances.pp +0 -7
  1455. data/spec/fixtures/unit/parser/lexer/multisubs.pp +0 -13
  1456. data/spec/fixtures/unit/parser/lexer/namevartest.pp +0 -9
  1457. data/spec/fixtures/unit/parser/lexer/scopetest.pp +0 -13
  1458. data/spec/fixtures/unit/parser/lexer/selectorvalues.pp +0 -49
  1459. data/spec/fixtures/unit/parser/lexer/simpledefaults.pp +0 -5
  1460. data/spec/fixtures/unit/parser/lexer/simpleselector.pp +0 -38
  1461. data/spec/fixtures/unit/parser/lexer/singleary.pp +0 -19
  1462. data/spec/fixtures/unit/parser/lexer/singlequote.pp +0 -11
  1463. data/spec/fixtures/unit/parser/lexer/singleselector.pp +0 -22
  1464. data/spec/fixtures/unit/parser/lexer/subclass_name_duplication.pp +0 -11
  1465. data/spec/fixtures/unit/parser/lexer/tag.pp +0 -9
  1466. data/spec/fixtures/unit/parser/lexer/tagged.pp +0 -35
  1467. data/spec/fixtures/unit/parser/lexer/virtualresources.pp +0 -14
  1468. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/binder_config.yaml +0 -10
  1469. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/lib/puppet/bindings/confdirtest.rb +0 -10
  1470. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome2/lib/puppet/bindings/awesome2/default.rb +0 -20
  1471. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome2/lib/puppet_x/awesome2/echo_scheme_handler.rb +0 -18
  1472. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/bad/lib/puppet/bindings/bad/default.rb +0 -5
  1473. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/good/lib/puppet/bindings/good/default.rb +0 -6
  1474. data/spec/fixtures/unit/pops/binder/config/binder_config/nolayer/binder_config.yaml +0 -6
  1475. data/spec/fixtures/unit/pops/binder/config/binder_config/ok/binder_config.yaml +0 -9
  1476. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/functions/usee_puppet.pp +0 -3
  1477. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/functions/usee/callee.rb +0 -5
  1478. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/functions/usee/usee_ruby.rb +0 -6
  1479. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/type/usee_type.rb +0 -5
  1480. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/manifests/init.pp +0 -8
  1481. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/types/zero.pp +0 -1
  1482. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee2/lib/puppet/functions/usee2/callee.rb +0 -5
  1483. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/functions/puppet_calling_puppet.pp +0 -5
  1484. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/functions/puppet_calling_puppet_init.pp +0 -5
  1485. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/functions/puppet_calling_ruby.pp +0 -5
  1486. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/caller.rb +0 -5
  1487. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/caller2.rb +0 -5
  1488. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/ruby_calling_puppet.rb +0 -5
  1489. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/ruby_calling_puppet_init.rb +0 -5
  1490. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/ruby_calling_ruby.rb +0 -5
  1491. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/manifests/init.pp +0 -87
  1492. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/metadata.json +0 -10
  1493. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/types/withuseeone.pp +0 -1
  1494. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/types/withuseezero.pp +0 -1
  1495. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load.rb +0 -11
  1496. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/callee.rb +0 -8
  1497. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/callee_ws.rb +0 -8
  1498. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/metadata.json +0 -9
  1499. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/functions/puppetcalled.pp +0 -3
  1500. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/functions/puppetcaller.pp +0 -3
  1501. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/functions/puppetcaller4.pp +0 -3
  1502. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/lib/puppet/functions/user/caller.rb +0 -5
  1503. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/lib/puppet/functions/user/caller_ws.rb +0 -12
  1504. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/lib/puppet/functions/user/callingpuppet.rb +0 -5
  1505. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/metadata.json +0 -9
  1506. data/spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/functions/hello.pp +0 -3
  1507. data/spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/manifests/init.pp +0 -3
  1508. data/spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/metadata.json +0 -10
  1509. data/spec/fixtures/unit/pops/loaders/loaders/no_modules/manifests/site.pp +0 -10
  1510. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/functions/hello.pp +0 -3
  1511. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/functions/subspace/hello.pp +0 -3
  1512. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/lib/puppet/functions/modulea/rb_func_a.rb +0 -5
  1513. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/lib/puppet/functions/rb_func_a.rb +0 -5
  1514. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/manifests/init.pp +0 -3
  1515. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/metadata.json +0 -10
  1516. data/spec/fixtures/unit/pops/loaders/loaders/wo_metadata_module/modules/moduleb/lib/puppet/functions/moduleb/rb_func_b.rb +0 -6
  1517. data/spec/fixtures/unit/pops/loaders/loaders/wo_metadata_module/modules/moduleb/manifests/init.pp +0 -3
  1518. data/spec/fixtures/unit/pops/parser/lexer/aliastest.pp +0 -16
  1519. data/spec/fixtures/unit/pops/parser/lexer/append.pp +0 -11
  1520. data/spec/fixtures/unit/pops/parser/lexer/argumentdefaults.pp +0 -14
  1521. data/spec/fixtures/unit/pops/parser/lexer/arithmetic_expression.pp +0 -8
  1522. data/spec/fixtures/unit/pops/parser/lexer/arraytrailingcomma.pp +0 -3
  1523. data/spec/fixtures/unit/pops/parser/lexer/casestatement.pp +0 -65
  1524. data/spec/fixtures/unit/pops/parser/lexer/classheirarchy.pp +0 -15
  1525. data/spec/fixtures/unit/pops/parser/lexer/classincludes.pp +0 -17
  1526. data/spec/fixtures/unit/pops/parser/lexer/classpathtest.pp +0 -11
  1527. data/spec/fixtures/unit/pops/parser/lexer/collection.pp +0 -10
  1528. data/spec/fixtures/unit/pops/parser/lexer/collection_override.pp +0 -8
  1529. data/spec/fixtures/unit/pops/parser/lexer/collection_within_virtual_definitions.pp +0 -20
  1530. data/spec/fixtures/unit/pops/parser/lexer/componentmetaparams.pp +0 -11
  1531. data/spec/fixtures/unit/pops/parser/lexer/componentrequire.pp +0 -8
  1532. data/spec/fixtures/unit/pops/parser/lexer/deepclassheirarchy.pp +0 -23
  1533. data/spec/fixtures/unit/pops/parser/lexer/defineoverrides.pp +0 -17
  1534. data/spec/fixtures/unit/pops/parser/lexer/emptyclass.pp +0 -9
  1535. data/spec/fixtures/unit/pops/parser/lexer/emptyexec.pp +0 -3
  1536. data/spec/fixtures/unit/pops/parser/lexer/emptyifelse.pp +0 -9
  1537. data/spec/fixtures/unit/pops/parser/lexer/falsevalues.pp +0 -3
  1538. data/spec/fixtures/unit/pops/parser/lexer/filecreate.pp +0 -11
  1539. data/spec/fixtures/unit/pops/parser/lexer/fqdefinition.pp +0 -5
  1540. data/spec/fixtures/unit/pops/parser/lexer/fqparents.pp +0 -11
  1541. data/spec/fixtures/unit/pops/parser/lexer/funccomma.pp +0 -5
  1542. data/spec/fixtures/unit/pops/parser/lexer/hash.pp +0 -33
  1543. data/spec/fixtures/unit/pops/parser/lexer/ifexpression.pp +0 -12
  1544. data/spec/fixtures/unit/pops/parser/lexer/implicititeration.pp +0 -15
  1545. data/spec/fixtures/unit/pops/parser/lexer/multilinecomments.pp +0 -10
  1546. data/spec/fixtures/unit/pops/parser/lexer/multipleclass.pp +0 -9
  1547. data/spec/fixtures/unit/pops/parser/lexer/multipleinstances.pp +0 -7
  1548. data/spec/fixtures/unit/pops/parser/lexer/multisubs.pp +0 -13
  1549. data/spec/fixtures/unit/pops/parser/lexer/namevartest.pp +0 -9
  1550. data/spec/fixtures/unit/pops/parser/lexer/scopetest.pp +0 -13
  1551. data/spec/fixtures/unit/pops/parser/lexer/selectorvalues.pp +0 -49
  1552. data/spec/fixtures/unit/pops/parser/lexer/simpledefaults.pp +0 -5
  1553. data/spec/fixtures/unit/pops/parser/lexer/simpleselector.pp +0 -38
  1554. data/spec/fixtures/unit/pops/parser/lexer/singleary.pp +0 -19
  1555. data/spec/fixtures/unit/pops/parser/lexer/singlequote.pp +0 -11
  1556. data/spec/fixtures/unit/pops/parser/lexer/singleselector.pp +0 -22
  1557. data/spec/fixtures/unit/pops/parser/lexer/subclass_name_duplication.pp +0 -11
  1558. data/spec/fixtures/unit/pops/parser/lexer/tag.pp +0 -9
  1559. data/spec/fixtures/unit/pops/parser/lexer/tagged.pp +0 -35
  1560. data/spec/fixtures/unit/pops/parser/lexer/virtualresources.pp +0 -14
  1561. data/spec/fixtures/unit/provider/aix_object/aix_colon_list_real_world_input.out +0 -1
  1562. data/spec/fixtures/unit/provider/aix_object/aix_colon_list_real_world_output.out +0 -1
  1563. data/spec/fixtures/unit/provider/cron/crontab/single_line.yaml +0 -272
  1564. data/spec/fixtures/unit/provider/cron/crontab/vixie_header.txt +0 -3
  1565. data/spec/fixtures/unit/provider/cron/parsed/managed +0 -6
  1566. data/spec/fixtures/unit/provider/cron/parsed/simple +0 -9
  1567. data/spec/fixtures/unit/provider/package/gem/gem-list-single-package +0 -4
  1568. data/spec/fixtures/unit/provider/package/gem/line-with-1.8.5-warning +0 -14
  1569. data/spec/fixtures/unit/provider/package/openbsd/pkginfo.detail +0 -19
  1570. data/spec/fixtures/unit/provider/package/openbsd/pkginfo.list +0 -10
  1571. data/spec/fixtures/unit/provider/package/openbsd/pkginfo.query +0 -1
  1572. data/spec/fixtures/unit/provider/package/openbsd/pkginfo_flavors.list +0 -2
  1573. data/spec/fixtures/unit/provider/package/pkg/dummy_implicit_version +0 -3
  1574. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris10 +0 -1
  1575. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.certificate_warning +0 -2
  1576. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.ifo.installed +0 -1
  1577. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.ifo.known +0 -1
  1578. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.installed +0 -1
  1579. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.known +0 -1
  1580. data/spec/fixtures/unit/provider/package/pkg/incomplete +0 -1
  1581. data/spec/fixtures/unit/provider/package/pkg/solaris11 +0 -2
  1582. data/spec/fixtures/unit/provider/package/pkg/unknown_status +0 -12
  1583. data/spec/fixtures/unit/provider/package/pkgng/pkg.info +0 -7
  1584. data/spec/fixtures/unit/provider/package/pkgng/pkg.query +0 -1
  1585. data/spec/fixtures/unit/provider/package/pkgng/pkg.query_absent +0 -1
  1586. data/spec/fixtures/unit/provider/package/pkgng/pkg.version +0 -3
  1587. data/spec/fixtures/unit/provider/package/sun/dummy.server +0 -12
  1588. data/spec/fixtures/unit/provider/package/sun/simple +0 -24
  1589. data/spec/fixtures/unit/provider/package/yum/yum-check-update-broken-notices.txt +0 -187
  1590. data/spec/fixtures/unit/provider/package/yum/yum-check-update-multiline.txt +0 -201
  1591. data/spec/fixtures/unit/provider/package/yum/yum-check-update-obsoletes.txt +0 -195
  1592. data/spec/fixtures/unit/provider/package/yum/yum-check-update-plugin-output.txt +0 -36
  1593. data/spec/fixtures/unit/provider/package/yum/yum-check-update-security.txt +0 -184
  1594. data/spec/fixtures/unit/provider/package/yum/yum-check-update-simple.txt +0 -13
  1595. data/spec/fixtures/unit/provider/package/zypper/zypper-list-updates-SLES11sp1.out +0 -369
  1596. data/spec/fixtures/unit/provider/package/zypper/zypper-list-updates-empty.out +0 -3
  1597. data/spec/fixtures/unit/provider/parsedfile/simple.txt +0 -7
  1598. data/spec/fixtures/unit/provider/service/base/ps_ef.mixed_encoding +0 -3
  1599. data/spec/fixtures/unit/provider/service/gentoo/rc_update_show +0 -30
  1600. data/spec/fixtures/unit/provider/service/openbsd/rcctl_getall +0 -6
  1601. data/spec/fixtures/unit/provider/service/openrc/rcservice_list +0 -8
  1602. data/spec/fixtures/unit/provider/service/openrc/rcstatus +0 -43
  1603. data/spec/fixtures/unit/provider/service/smf/svcs.out +0 -4
  1604. data/spec/fixtures/unit/provider/service/smf/svcs_fmri.out +0 -6
  1605. data/spec/fixtures/unit/provider/service/smf/svcs_multiple_fmris.out +0 -13
  1606. data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services +0 -7
  1607. data/spec/fixtures/unit/provider/user/aix/aix_passwd_file.out +0 -32
  1608. data/spec/fixtures/unit/reports/tagmail/tagmail_email.conf +0 -2
  1609. data/spec/fixtures/unit/reports/tagmail/tagmail_failers.conf +0 -3
  1610. data/spec/fixtures/unit/reports/tagmail/tagmail_passers.conf +0 -30
  1611. data/spec/fixtures/unit/ssl/certificate/old-style-cert-exts.pem +0 -33
  1612. data/spec/fixtures/unit/ssl/certificate_request/old-style-cert-request.pem +0 -28
  1613. data/spec/fixtures/unit/type/user/authorized_keys +0 -6
  1614. data/spec/fixtures/unit/util/filetype/aixtab_output +0 -44
  1615. data/spec/fixtures/unit/util/filetype/suntab_output +0 -9
  1616. data/spec/fixtures/unit/util/monkey_patches/x509.pem +0 -32
  1617. data/spec/fixtures/unit/util/rdoc/basic.pp +0 -16
  1618. data/spec/fixtures/vcr/cassettes/Puppet_Network_HTTP_Connection/when_handling_requests/_request_get/should_yield_to_the_block.yml +0 -24
  1619. data/spec/fixtures/vcr/cassettes/Puppet_Network_HTTP_Connection/when_handling_requests/_request_head/should_yield_to_the_block.yml +0 -24
  1620. data/spec/fixtures/vcr/cassettes/Puppet_Network_HTTP_Connection/when_handling_requests/_request_post/should_yield_to_the_block.yml +0 -24
  1621. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_md5/should_fetch_if_not_on_the_local_disk.yml +0 -205
  1622. 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 -213
  1623. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_md5/should_update_if_content_differs_on_disk.yml +0 -213
  1624. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_fetch_if_mtime_is_older_on_disk.yml +0 -205
  1625. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_fetch_if_no_header_specified.yml +0 -197
  1626. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_fetch_if_not_on_the_local_disk.yml +0 -205
  1627. 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 -205
  1628. data/spec/fixtures/yaml/report2.6.x.yaml +0 -190
  1629. data/spec/fixtures/yaml/test.local.yaml +0 -16
  1630. data/spec/integration/agent/logging_spec.rb +0 -181
  1631. data/spec/integration/application/apply_spec.rb +0 -535
  1632. data/spec/integration/application/doc_spec.rb +0 -15
  1633. data/spec/integration/application/lookup_spec.rb +0 -176
  1634. data/spec/integration/configurer_spec.rb +0 -64
  1635. data/spec/integration/data_binding_spec.rb +0 -196
  1636. data/spec/integration/defaults_spec.rb +0 -254
  1637. data/spec/integration/directory_environments_spec.rb +0 -67
  1638. data/spec/integration/environments/default_manifest_spec.rb +0 -215
  1639. data/spec/integration/environments/setting_hooks_spec.rb +0 -27
  1640. data/spec/integration/environments/settings_interpolation_spec.rb +0 -110
  1641. data/spec/integration/environments/settings_spec.rb +0 -128
  1642. data/spec/integration/faces/config_spec.rb +0 -92
  1643. data/spec/integration/faces/documentation_spec.rb +0 -58
  1644. data/spec/integration/faces/plugin_spec.rb +0 -61
  1645. data/spec/integration/file_bucket/file_spec.rb +0 -52
  1646. data/spec/integration/file_serving/content_spec.rb +0 -8
  1647. data/spec/integration/file_serving/fileset_spec.rb +0 -13
  1648. data/spec/integration/file_serving/metadata_spec.rb +0 -9
  1649. data/spec/integration/file_serving/terminus_helper_spec.rb +0 -21
  1650. data/spec/integration/file_system/uniquefile_spec.rb +0 -26
  1651. data/spec/integration/indirector/catalog/compiler_spec.rb +0 -76
  1652. data/spec/integration/indirector/direct_file_server_spec.rb +0 -92
  1653. data/spec/integration/indirector/facts/facter_spec.rb +0 -109
  1654. data/spec/integration/indirector/file_content/file_server_spec.rb +0 -109
  1655. data/spec/integration/indirector/file_metadata/file_server_spec.rb +0 -78
  1656. data/spec/integration/module_tool/tar/mini_spec.rb +0 -28
  1657. data/spec/integration/network/authconfig_spec.rb +0 -257
  1658. data/spec/integration/network/formats_spec.rb +0 -91
  1659. data/spec/integration/network/http/api/indirected_routes_spec.rb +0 -60
  1660. data/spec/integration/node/environment_spec.rb +0 -156
  1661. data/spec/integration/node/facts_spec.rb +0 -41
  1662. data/spec/integration/node_spec.rb +0 -78
  1663. data/spec/integration/parser/catalog_spec.rb +0 -110
  1664. data/spec/integration/parser/class_spec.rb +0 -33
  1665. data/spec/integration/parser/collection_spec.rb +0 -353
  1666. data/spec/integration/parser/compiler_spec.rb +0 -1199
  1667. data/spec/integration/parser/conditionals_spec.rb +0 -92
  1668. data/spec/integration/parser/dynamic_scoping_spec.rb +0 -66
  1669. data/spec/integration/parser/environment_spec.rb +0 -47
  1670. data/spec/integration/parser/node_spec.rb +0 -172
  1671. data/spec/integration/parser/parameter_defaults_spec.rb +0 -358
  1672. data/spec/integration/parser/pcore_resource_spec.rb +0 -260
  1673. data/spec/integration/parser/resource_expressions_spec.rb +0 -222
  1674. data/spec/integration/parser/scope_spec.rb +0 -728
  1675. data/spec/integration/parser/script_compiler_spec.rb +0 -113
  1676. data/spec/integration/parser/undef_param_spec.rb +0 -95
  1677. data/spec/integration/provider/service/init_spec.rb +0 -48
  1678. data/spec/integration/provider/service/systemd_spec.rb +0 -24
  1679. data/spec/integration/provider/service/windows_spec.rb +0 -51
  1680. data/spec/integration/reference/providers_spec.rb +0 -22
  1681. data/spec/integration/reports_spec.rb +0 -14
  1682. data/spec/integration/resource/catalog_spec.rb +0 -50
  1683. data/spec/integration/resource/type_collection_spec.rb +0 -93
  1684. data/spec/integration/ssl/certificate_request_spec.rb +0 -45
  1685. data/spec/integration/ssl/host_spec.rb +0 -73
  1686. data/spec/integration/ssl/key_spec.rb +0 -100
  1687. data/spec/integration/test/test_helper_spec.rb +0 -32
  1688. data/spec/integration/transaction/report_spec.rb +0 -711
  1689. data/spec/integration/transaction_spec.rb +0 -559
  1690. data/spec/integration/type/exec_spec.rb +0 -77
  1691. data/spec/integration/type/file_spec.rb +0 -1965
  1692. data/spec/integration/type/package_spec.rb +0 -204
  1693. data/spec/integration/type/tidy_spec.rb +0 -46
  1694. data/spec/integration/type_spec.rb +0 -31
  1695. data/spec/integration/util/autoload_spec.rb +0 -105
  1696. data/spec/integration/util/execution_spec.rb +0 -55
  1697. data/spec/integration/util/rdoc/parser_spec.rb +0 -172
  1698. data/spec/integration/util/settings_spec.rb +0 -116
  1699. data/spec/integration/util/windows/adsi_spec.rb +0 -184
  1700. data/spec/integration/util/windows/principal_spec.rb +0 -259
  1701. data/spec/integration/util/windows/process_spec.rb +0 -112
  1702. data/spec/integration/util/windows/registry_spec.rb +0 -296
  1703. data/spec/integration/util/windows/security_spec.rb +0 -1012
  1704. data/spec/integration/util/windows/user_spec.rb +0 -167
  1705. data/spec/integration/util_spec.rb +0 -133
  1706. data/spec/lib/matchers/containment_matchers.rb +0 -52
  1707. data/spec/lib/matchers/include.rb +0 -27
  1708. data/spec/lib/matchers/include_in_order.rb +0 -20
  1709. data/spec/lib/matchers/include_in_order_spec.rb +0 -30
  1710. data/spec/lib/matchers/include_spec.rb +0 -32
  1711. data/spec/lib/matchers/json.rb +0 -132
  1712. data/spec/lib/matchers/match_tokens2.rb +0 -74
  1713. data/spec/lib/matchers/relationship_graph_matchers.rb +0 -48
  1714. data/spec/lib/matchers/resource.rb +0 -74
  1715. data/spec/lib/puppet/certificate_factory.rb +0 -218
  1716. data/spec/lib/puppet/face/1.0.0/huzzah.rb +0 -8
  1717. data/spec/lib/puppet/face/basetest.rb +0 -51
  1718. data/spec/lib/puppet/face/huzzah/obsolete.rb +0 -6
  1719. data/spec/lib/puppet/face/huzzah.rb +0 -8
  1720. data/spec/lib/puppet/face/version_matching.rb +0 -12
  1721. data/spec/lib/puppet/indirector/indirector_testing/json.rb +0 -6
  1722. data/spec/lib/puppet/indirector/indirector_testing/memory.rb +0 -7
  1723. data/spec/lib/puppet/indirector/indirector_testing/msgpack.rb +0 -6
  1724. data/spec/lib/puppet/indirector_proxy.rb +0 -34
  1725. data/spec/lib/puppet/indirector_testing.rb +0 -31
  1726. data/spec/lib/puppet/test_ca.rb +0 -109
  1727. data/spec/lib/puppet_spec/character_encoding.rb +0 -12
  1728. data/spec/lib/puppet_spec/compiler.rb +0 -112
  1729. data/spec/lib/puppet_spec/files.rb +0 -108
  1730. data/spec/lib/puppet_spec/fixtures.rb +0 -28
  1731. data/spec/lib/puppet_spec/handler.rb +0 -53
  1732. data/spec/lib/puppet_spec/language.rb +0 -75
  1733. data/spec/lib/puppet_spec/matchers.rb +0 -161
  1734. data/spec/lib/puppet_spec/module_tool/shared_functions.rb +0 -56
  1735. data/spec/lib/puppet_spec/module_tool/stub_source.rb +0 -136
  1736. data/spec/lib/puppet_spec/modules.rb +0 -57
  1737. data/spec/lib/puppet_spec/network.rb +0 -109
  1738. data/spec/lib/puppet_spec/pops.rb +0 -29
  1739. data/spec/lib/puppet_spec/scope.rb +0 -14
  1740. data/spec/lib/puppet_spec/settings.rb +0 -32
  1741. data/spec/lib/puppet_spec/ssl.rb +0 -265
  1742. data/spec/lib/puppet_spec/unindent.rb +0 -5
  1743. data/spec/lib/puppet_spec/validators.rb +0 -37
  1744. data/spec/lib/puppet_spec/verbose.rb +0 -9
  1745. data/spec/shared_behaviours/all_parsedfile_providers.rb +0 -21
  1746. data/spec/shared_behaviours/an_indirector_face.rb +0 -6
  1747. data/spec/shared_behaviours/documentation_on_faces.rb +0 -263
  1748. data/spec/shared_behaviours/file_server_terminus.rb +0 -39
  1749. data/spec/shared_behaviours/file_serving.rb +0 -75
  1750. data/spec/shared_behaviours/file_serving_model.rb +0 -53
  1751. data/spec/shared_behaviours/hiera_indirections.rb +0 -99
  1752. data/spec/shared_behaviours/iterative_functions.rb +0 -69
  1753. data/spec/shared_behaviours/memory_terminus.rb +0 -28
  1754. data/spec/shared_behaviours/path_parameters.rb +0 -160
  1755. data/spec/shared_behaviours/store_configs_terminus.rb +0 -21
  1756. data/spec/shared_behaviours/things_that_declare_options.rb +0 -262
  1757. data/spec/shared_contexts/checksum.rb +0 -65
  1758. data/spec/shared_contexts/digests.rb +0 -100
  1759. data/spec/shared_contexts/types_setup.rb +0 -202
  1760. data/spec/shared_examples/rhel_package_provider.rb +0 -356
  1761. data/spec/spec_helper.rb +0 -205
  1762. data/spec/unit/agent/disabler_spec.rb +0 -64
  1763. data/spec/unit/agent/locker_spec.rb +0 -100
  1764. data/spec/unit/agent_spec.rb +0 -348
  1765. data/spec/unit/application/agent_spec.rb +0 -596
  1766. data/spec/unit/application/apply_spec.rb +0 -550
  1767. data/spec/unit/application/config_spec.rb +0 -13
  1768. data/spec/unit/application/describe_spec.rb +0 -98
  1769. data/spec/unit/application/device_spec.rb +0 -626
  1770. data/spec/unit/application/doc_spec.rb +0 -335
  1771. data/spec/unit/application/face_base_spec.rb +0 -453
  1772. data/spec/unit/application/facts_spec.rb +0 -23
  1773. data/spec/unit/application/filebucket_spec.rb +0 -307
  1774. data/spec/unit/application/indirection_base_spec.rb +0 -48
  1775. data/spec/unit/application/lookup_spec.rb +0 -570
  1776. data/spec/unit/application/resource_spec.rb +0 -195
  1777. data/spec/unit/application/ssl_spec.rb +0 -391
  1778. data/spec/unit/application_spec.rb +0 -695
  1779. data/spec/unit/capability_spec.rb +0 -414
  1780. data/spec/unit/certificate_factory_spec.rb +0 -172
  1781. data/spec/unit/configurer/downloader_spec.rb +0 -233
  1782. data/spec/unit/configurer/fact_handler_spec.rb +0 -152
  1783. data/spec/unit/configurer/plugin_handler_spec.rb +0 -64
  1784. data/spec/unit/configurer_spec.rb +0 -1062
  1785. data/spec/unit/confine/exists_spec.rb +0 -80
  1786. data/spec/unit/confine/false_spec.rb +0 -52
  1787. data/spec/unit/confine/feature_spec.rb +0 -57
  1788. data/spec/unit/confine/true_spec.rb +0 -52
  1789. data/spec/unit/confine/variable_spec.rb +0 -106
  1790. data/spec/unit/confine_collection_spec.rb +0 -133
  1791. data/spec/unit/confine_spec.rb +0 -93
  1792. data/spec/unit/confiner_spec.rb +0 -62
  1793. data/spec/unit/context/trusted_information_spec.rb +0 -155
  1794. data/spec/unit/context_spec.rb +0 -136
  1795. data/spec/unit/daemon_spec.rb +0 -262
  1796. data/spec/unit/data_binding_spec.rb +0 -11
  1797. data/spec/unit/data_providers/function_data_provider_spec.rb +0 -123
  1798. data/spec/unit/data_providers/hiera_data_provider_spec.rb +0 -361
  1799. data/spec/unit/datatypes_spec.rb +0 -353
  1800. data/spec/unit/defaults_spec.rb +0 -193
  1801. data/spec/unit/environments_spec.rb +0 -739
  1802. data/spec/unit/etc_spec.rb +0 -467
  1803. data/spec/unit/external/pson_spec.rb +0 -61
  1804. data/spec/unit/face/catalog_spec.rb +0 -7
  1805. data/spec/unit/face/config_spec.rb +0 -353
  1806. data/spec/unit/face/epp_face_spec.rb +0 -386
  1807. data/spec/unit/face/facts_spec.rb +0 -62
  1808. data/spec/unit/face/generate_spec.rb +0 -230
  1809. data/spec/unit/face/help_spec.rb +0 -209
  1810. data/spec/unit/face/key_spec.rb +0 -10
  1811. data/spec/unit/face/man_spec.rb +0 -26
  1812. data/spec/unit/face/module/install_spec.rb +0 -42
  1813. data/spec/unit/face/module/list_spec.rb +0 -240
  1814. data/spec/unit/face/module/search_spec.rb +0 -212
  1815. data/spec/unit/face/module/uninstall_spec.rb +0 -49
  1816. data/spec/unit/face/module/upgrade_spec.rb +0 -26
  1817. data/spec/unit/face/module_spec.rb +0 -3
  1818. data/spec/unit/face/node_spec.rb +0 -129
  1819. data/spec/unit/face/parser_spec.rb +0 -236
  1820. data/spec/unit/face/plugin_spec.rb +0 -81
  1821. data/spec/unit/face/status_spec.rb +0 -10
  1822. data/spec/unit/face_spec.rb +0 -1
  1823. data/spec/unit/file_bucket/dipper_spec.rb +0 -401
  1824. data/spec/unit/file_bucket/file_spec.rb +0 -60
  1825. data/spec/unit/file_serving/base_spec.rb +0 -165
  1826. data/spec/unit/file_serving/configuration/parser_spec.rb +0 -181
  1827. data/spec/unit/file_serving/configuration_spec.rb +0 -241
  1828. data/spec/unit/file_serving/content_spec.rb +0 -99
  1829. data/spec/unit/file_serving/fileset_spec.rb +0 -352
  1830. data/spec/unit/file_serving/http_metadata_spec.rb +0 -85
  1831. data/spec/unit/file_serving/metadata_spec.rb +0 -551
  1832. data/spec/unit/file_serving/mount/file_spec.rb +0 -189
  1833. data/spec/unit/file_serving/mount/locales_spec.rb +0 -73
  1834. data/spec/unit/file_serving/mount/modules_spec.rb +0 -70
  1835. data/spec/unit/file_serving/mount/pluginfacts_spec.rb +0 -73
  1836. data/spec/unit/file_serving/mount/plugins_spec.rb +0 -73
  1837. data/spec/unit/file_serving/mount/tasks_spec.rb +0 -72
  1838. data/spec/unit/file_serving/mount_spec.rb +0 -31
  1839. data/spec/unit/file_serving/terminus_helper_spec.rb +0 -112
  1840. data/spec/unit/file_serving/terminus_selector_spec.rb +0 -66
  1841. data/spec/unit/file_system/path_pattern_spec.rb +0 -138
  1842. data/spec/unit/file_system/uniquefile_spec.rb +0 -204
  1843. data/spec/unit/file_system_spec.rb +0 -878
  1844. data/spec/unit/forge/errors_spec.rb +0 -80
  1845. data/spec/unit/forge/forge_spec.rb +0 -114
  1846. data/spec/unit/forge/module_release_spec.rb +0 -288
  1847. data/spec/unit/forge/repository_spec.rb +0 -251
  1848. data/spec/unit/forge_spec.rb +0 -276
  1849. data/spec/unit/functions/abs_spec.rb +0 -70
  1850. data/spec/unit/functions/all_spec.rb +0 -97
  1851. data/spec/unit/functions/annotate_spec.rb +0 -175
  1852. data/spec/unit/functions/any_spec.rb +0 -109
  1853. data/spec/unit/functions/assert_type_spec.rb +0 -97
  1854. data/spec/unit/functions/binary_file_spec.rb +0 -46
  1855. data/spec/unit/functions/break_spec.rb +0 -207
  1856. data/spec/unit/functions/call_spec.rb +0 -131
  1857. data/spec/unit/functions/camelcase_spec.rb +0 -34
  1858. data/spec/unit/functions/capitalize_spec.rb +0 -34
  1859. data/spec/unit/functions/ceiling_spec.rb +0 -65
  1860. data/spec/unit/functions/chomp_spec.rb +0 -46
  1861. data/spec/unit/functions/chop_spec.rb +0 -38
  1862. data/spec/unit/functions/compare_spec.rb +0 -147
  1863. data/spec/unit/functions/contain_spec.rb +0 -299
  1864. data/spec/unit/functions/convert_to_spec.rb +0 -25
  1865. data/spec/unit/functions/defined_spec.rb +0 -289
  1866. data/spec/unit/functions/dig_spec.rb +0 -58
  1867. data/spec/unit/functions/downcase_spec.rb +0 -34
  1868. data/spec/unit/functions/each_spec.rb +0 -107
  1869. data/spec/unit/functions/empty_spec.rb +0 -77
  1870. data/spec/unit/functions/epp_spec.rb +0 -172
  1871. data/spec/unit/functions/filter_spec.rb +0 -145
  1872. data/spec/unit/functions/find_file_spec.rb +0 -69
  1873. data/spec/unit/functions/flatten_spec.rb +0 -31
  1874. data/spec/unit/functions/floor_spec.rb +0 -65
  1875. data/spec/unit/functions/get_spec.rb +0 -135
  1876. data/spec/unit/functions/getvar_spec.rb +0 -121
  1877. data/spec/unit/functions/hiera_spec.rb +0 -495
  1878. data/spec/unit/functions/include_spec.rb +0 -190
  1879. data/spec/unit/functions/inline_epp_spec.rb +0 -89
  1880. data/spec/unit/functions/join_spec.rb +0 -33
  1881. data/spec/unit/functions/keys_spec.rb +0 -31
  1882. data/spec/unit/functions/length_spec.rb +0 -50
  1883. data/spec/unit/functions/lest_spec.rb +0 -34
  1884. data/spec/unit/functions/logging_spec.rb +0 -61
  1885. data/spec/unit/functions/lookup_fixture_spec.rb +0 -688
  1886. data/spec/unit/functions/lookup_spec.rb +0 -3326
  1887. data/spec/unit/functions/lstrip_spec.rb +0 -30
  1888. data/spec/unit/functions/map_spec.rb +0 -163
  1889. data/spec/unit/functions/match_spec.rb +0 -74
  1890. data/spec/unit/functions/max_spec.rb +0 -129
  1891. data/spec/unit/functions/min_spec.rb +0 -129
  1892. data/spec/unit/functions/module_directory_spec.rb +0 -43
  1893. data/spec/unit/functions/new_spec.rb +0 -761
  1894. data/spec/unit/functions/next_spec.rb +0 -93
  1895. data/spec/unit/functions/reduce_spec.rb +0 -85
  1896. data/spec/unit/functions/regsubst_spec.rb +0 -114
  1897. data/spec/unit/functions/require_spec.rb +0 -85
  1898. data/spec/unit/functions/return_spec.rb +0 -105
  1899. data/spec/unit/functions/reverse_each_spec.rb +0 -108
  1900. data/spec/unit/functions/round_spec.rb +0 -41
  1901. data/spec/unit/functions/rstrip_spec.rb +0 -30
  1902. data/spec/unit/functions/scanf_spec.rb +0 -32
  1903. data/spec/unit/functions/shared.rb +0 -97
  1904. data/spec/unit/functions/size_spec.rb +0 -50
  1905. data/spec/unit/functions/slice_spec.rb +0 -136
  1906. data/spec/unit/functions/sort_spec.rb +0 -79
  1907. data/spec/unit/functions/split_spec.rb +0 -53
  1908. data/spec/unit/functions/step_spec.rb +0 -113
  1909. data/spec/unit/functions/strftime_spec.rb +0 -152
  1910. data/spec/unit/functions/strip_spec.rb +0 -30
  1911. data/spec/unit/functions/then_spec.rb +0 -40
  1912. data/spec/unit/functions/tree_each_spec.rb +0 -493
  1913. data/spec/unit/functions/type_spec.rb +0 -35
  1914. data/spec/unit/functions/unique_spec.rb +0 -111
  1915. data/spec/unit/functions/unwrap_spec.rb +0 -29
  1916. data/spec/unit/functions/upcase_spec.rb +0 -34
  1917. data/spec/unit/functions/values_spec.rb +0 -30
  1918. data/spec/unit/functions/versioncmp_spec.rb +0 -35
  1919. data/spec/unit/functions/with_spec.rb +0 -31
  1920. data/spec/unit/functions4_spec.rb +0 -1038
  1921. data/spec/unit/gettext/config_spec.rb +0 -144
  1922. data/spec/unit/gettext/module_loading_spec.rb +0 -53
  1923. data/spec/unit/graph/key_spec.rb +0 -41
  1924. data/spec/unit/graph/rb_tree_map_spec.rb +0 -572
  1925. data/spec/unit/graph/relationship_graph_spec.rb +0 -402
  1926. data/spec/unit/graph/sequential_prioritizer_spec.rb +0 -32
  1927. data/spec/unit/graph/simple_graph_spec.rb +0 -760
  1928. data/spec/unit/hiera/scope_spec.rb +0 -93
  1929. data/spec/unit/hiera_puppet_spec.rb +0 -159
  1930. data/spec/unit/indirector/catalog/compiler_spec.rb +0 -1056
  1931. data/spec/unit/indirector/catalog/json_spec.rb +0 -67
  1932. data/spec/unit/indirector/catalog/msgpack_spec.rb +0 -12
  1933. data/spec/unit/indirector/catalog/rest_spec.rb +0 -10
  1934. data/spec/unit/indirector/catalog/store_configs_spec.rb +0 -17
  1935. data/spec/unit/indirector/catalog/yaml_spec.rb +0 -24
  1936. data/spec/unit/indirector/certificate/file_spec.rb +0 -15
  1937. data/spec/unit/indirector/certificate/rest_spec.rb +0 -63
  1938. data/spec/unit/indirector/certificate_request/file_spec.rb +0 -15
  1939. data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -26
  1940. data/spec/unit/indirector/data_binding/hiera_spec.rb +0 -19
  1941. data/spec/unit/indirector/data_binding/none_spec.rb +0 -28
  1942. data/spec/unit/indirector/direct_file_server_spec.rb +0 -88
  1943. data/spec/unit/indirector/envelope_spec.rb +0 -33
  1944. data/spec/unit/indirector/exec_spec.rb +0 -64
  1945. data/spec/unit/indirector/face_spec.rb +0 -83
  1946. data/spec/unit/indirector/facts/facter_spec.rb +0 -159
  1947. data/spec/unit/indirector/facts/network_device_spec.rb +0 -78
  1948. data/spec/unit/indirector/facts/rest_spec.rb +0 -45
  1949. data/spec/unit/indirector/facts/store_configs_spec.rb +0 -17
  1950. data/spec/unit/indirector/facts/yaml_spec.rb +0 -256
  1951. data/spec/unit/indirector/file_bucket_file/file_spec.rb +0 -425
  1952. data/spec/unit/indirector/file_bucket_file/rest_spec.rb +0 -10
  1953. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +0 -29
  1954. data/spec/unit/indirector/file_content/file_server_spec.rb +0 -14
  1955. data/spec/unit/indirector/file_content/file_spec.rb +0 -14
  1956. data/spec/unit/indirector/file_content/rest_spec.rb +0 -14
  1957. data/spec/unit/indirector/file_content/selector_spec.rb +0 -10
  1958. data/spec/unit/indirector/file_metadata/file_server_spec.rb +0 -14
  1959. data/spec/unit/indirector/file_metadata/file_spec.rb +0 -58
  1960. data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -13
  1961. data/spec/unit/indirector/file_metadata/selector_spec.rb +0 -11
  1962. data/spec/unit/indirector/file_server_spec.rb +0 -302
  1963. data/spec/unit/indirector/hiera_spec.rb +0 -17
  1964. data/spec/unit/indirector/indirection_spec.rb +0 -866
  1965. data/spec/unit/indirector/json_spec.rb +0 -202
  1966. data/spec/unit/indirector/key/file_spec.rb +0 -80
  1967. data/spec/unit/indirector/memory_spec.rb +0 -27
  1968. data/spec/unit/indirector/msgpack_spec.rb +0 -201
  1969. data/spec/unit/indirector/node/exec_spec.rb +0 -108
  1970. data/spec/unit/indirector/node/memory_spec.rb +0 -18
  1971. data/spec/unit/indirector/node/msgpack_spec.rb +0 -24
  1972. data/spec/unit/indirector/node/plain_spec.rb +0 -36
  1973. data/spec/unit/indirector/node/rest_spec.rb +0 -12
  1974. data/spec/unit/indirector/node/store_configs_spec.rb +0 -17
  1975. data/spec/unit/indirector/node/yaml_spec.rb +0 -24
  1976. data/spec/unit/indirector/none_spec.rb +0 -33
  1977. data/spec/unit/indirector/plain_spec.rb +0 -27
  1978. data/spec/unit/indirector/report/msgpack_spec.rb +0 -28
  1979. data/spec/unit/indirector/report/processor_spec.rb +0 -100
  1980. data/spec/unit/indirector/report/rest_spec.rb +0 -93
  1981. data/spec/unit/indirector/report/yaml_spec.rb +0 -28
  1982. data/spec/unit/indirector/request_spec.rb +0 -561
  1983. data/spec/unit/indirector/resource/ral_spec.rb +0 -132
  1984. data/spec/unit/indirector/resource/store_configs_spec.rb +0 -21
  1985. data/spec/unit/indirector/rest_spec.rb +0 -787
  1986. data/spec/unit/indirector/ssl_file_spec.rb +0 -306
  1987. data/spec/unit/indirector/status/local_spec.rb +0 -11
  1988. data/spec/unit/indirector/status/rest_spec.rb +0 -10
  1989. data/spec/unit/indirector/store_configs_spec.rb +0 -8
  1990. data/spec/unit/indirector/terminus_spec.rb +0 -264
  1991. data/spec/unit/indirector/yaml_spec.rb +0 -189
  1992. data/spec/unit/indirector_spec.rb +0 -149
  1993. data/spec/unit/info_service_spec.rb +0 -498
  1994. data/spec/unit/interface/action_builder_spec.rb +0 -217
  1995. data/spec/unit/interface/action_manager_spec.rb +0 -255
  1996. data/spec/unit/interface/action_spec.rb +0 -680
  1997. data/spec/unit/interface/documentation_spec.rb +0 -33
  1998. data/spec/unit/interface/face_collection_spec.rb +0 -212
  1999. data/spec/unit/interface/option_builder_spec.rb +0 -86
  2000. data/spec/unit/interface/option_spec.rb +0 -156
  2001. data/spec/unit/interface_spec.rb +0 -305
  2002. data/spec/unit/man_spec.rb +0 -32
  2003. data/spec/unit/module_spec.rb +0 -907
  2004. data/spec/unit/module_tool/application_spec.rb +0 -25
  2005. data/spec/unit/module_tool/applications/checksummer_spec.rb +0 -115
  2006. data/spec/unit/module_tool/applications/installer_spec.rb +0 -379
  2007. data/spec/unit/module_tool/applications/searcher_spec.rb +0 -38
  2008. data/spec/unit/module_tool/applications/uninstaller_spec.rb +0 -173
  2009. data/spec/unit/module_tool/applications/unpacker_spec.rb +0 -75
  2010. data/spec/unit/module_tool/applications/upgrader_spec.rb +0 -337
  2011. data/spec/unit/module_tool/install_directory_spec.rb +0 -70
  2012. data/spec/unit/module_tool/installed_modules_spec.rb +0 -49
  2013. data/spec/unit/module_tool/metadata_spec.rb +0 -330
  2014. data/spec/unit/module_tool/tar/gnu_spec.rb +0 -23
  2015. data/spec/unit/module_tool/tar/mini_spec.rb +0 -89
  2016. data/spec/unit/module_tool/tar_spec.rb +0 -37
  2017. data/spec/unit/module_tool_spec.rb +0 -309
  2018. data/spec/unit/network/auth_config_parser_spec.rb +0 -117
  2019. data/spec/unit/network/authconfig_spec.rb +0 -139
  2020. data/spec/unit/network/authorization_spec.rb +0 -62
  2021. data/spec/unit/network/authstore_spec.rb +0 -423
  2022. data/spec/unit/network/format_handler_spec.rb +0 -94
  2023. data/spec/unit/network/format_spec.rb +0 -206
  2024. data/spec/unit/network/format_support_spec.rb +0 -199
  2025. data/spec/unit/network/formats_spec.rb +0 -538
  2026. data/spec/unit/network/http/api/indirected_routes_spec.rb +0 -486
  2027. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +0 -57
  2028. data/spec/unit/network/http/api/master/v3/environment_spec.rb +0 -185
  2029. data/spec/unit/network/http/api/master/v3/environments_spec.rb +0 -63
  2030. data/spec/unit/network/http/api/master/v3_spec.rb +0 -57
  2031. data/spec/unit/network/http/api_spec.rb +0 -101
  2032. data/spec/unit/network/http/compression_spec.rb +0 -241
  2033. data/spec/unit/network/http/connection_spec.rb +0 -361
  2034. data/spec/unit/network/http/error_spec.rb +0 -30
  2035. data/spec/unit/network/http/factory_spec.rb +0 -119
  2036. data/spec/unit/network/http/handler_spec.rb +0 -179
  2037. data/spec/unit/network/http/nocache_pool_spec.rb +0 -43
  2038. data/spec/unit/network/http/pool_spec.rb +0 -299
  2039. data/spec/unit/network/http/request_spec.rb +0 -110
  2040. data/spec/unit/network/http/response_spec.rb +0 -108
  2041. data/spec/unit/network/http/route_spec.rb +0 -91
  2042. data/spec/unit/network/http/session_spec.rb +0 -43
  2043. data/spec/unit/network/http/site_spec.rb +0 -90
  2044. data/spec/unit/network/http_pool_spec.rb +0 -98
  2045. data/spec/unit/network/http_spec.rb +0 -10
  2046. data/spec/unit/network/resolver_spec.rb +0 -282
  2047. data/spec/unit/network/rights_spec.rb +0 -440
  2048. data/spec/unit/node/environment_spec.rb +0 -527
  2049. data/spec/unit/node/facts_spec.rb +0 -226
  2050. data/spec/unit/node_spec.rb +0 -483
  2051. data/spec/unit/other/selinux_spec.rb +0 -28
  2052. data/spec/unit/parameter/boolean_spec.rb +0 -36
  2053. data/spec/unit/parameter/package_options_spec.rb +0 -44
  2054. data/spec/unit/parameter/path_spec.rb +0 -24
  2055. data/spec/unit/parameter/value_collection_spec.rb +0 -161
  2056. data/spec/unit/parameter/value_spec.rb +0 -83
  2057. data/spec/unit/parameter_spec.rb +0 -272
  2058. data/spec/unit/parser/ast/block_expression_spec.rb +0 -68
  2059. data/spec/unit/parser/ast/leaf_spec.rb +0 -137
  2060. data/spec/unit/parser/compiler_spec.rb +0 -1019
  2061. data/spec/unit/parser/environment_compiler_spec.rb +0 -724
  2062. data/spec/unit/parser/files_spec.rb +0 -102
  2063. data/spec/unit/parser/functions/create_resources_spec.rb +0 -344
  2064. data/spec/unit/parser/functions/digest_spec.rb +0 -27
  2065. data/spec/unit/parser/functions/fail_spec.rb +0 -24
  2066. data/spec/unit/parser/functions/file_spec.rb +0 -100
  2067. data/spec/unit/parser/functions/fqdn_rand_spec.rb +0 -74
  2068. data/spec/unit/parser/functions/generate_spec.rb +0 -125
  2069. data/spec/unit/parser/functions/hiera_array_spec.rb +0 -12
  2070. data/spec/unit/parser/functions/hiera_hash_spec.rb +0 -12
  2071. data/spec/unit/parser/functions/hiera_include_spec.rb +0 -12
  2072. data/spec/unit/parser/functions/hiera_spec.rb +0 -12
  2073. data/spec/unit/parser/functions/inline_template_spec.rb +0 -37
  2074. data/spec/unit/parser/functions/lookup_spec.rb +0 -14
  2075. data/spec/unit/parser/functions/realize_spec.rb +0 -70
  2076. data/spec/unit/parser/functions/regsubst_spec.rb +0 -20
  2077. data/spec/unit/parser/functions/scanf_spec.rb +0 -26
  2078. data/spec/unit/parser/functions/shellquote_spec.rb +0 -67
  2079. data/spec/unit/parser/functions/split_spec.rb +0 -14
  2080. data/spec/unit/parser/functions/sprintf_spec.rb +0 -69
  2081. data/spec/unit/parser/functions/tag_spec.rb +0 -31
  2082. data/spec/unit/parser/functions/tagged_spec.rb +0 -37
  2083. data/spec/unit/parser/functions/template_spec.rb +0 -93
  2084. data/spec/unit/parser/functions/versioncmp_spec.rb +0 -29
  2085. data/spec/unit/parser/functions_spec.rb +0 -157
  2086. data/spec/unit/parser/relationship_spec.rb +0 -75
  2087. data/spec/unit/parser/resource/param_spec.rb +0 -32
  2088. data/spec/unit/parser/resource_spec.rb +0 -642
  2089. data/spec/unit/parser/scope_spec.rb +0 -680
  2090. data/spec/unit/parser/templatewrapper_spec.rb +0 -101
  2091. data/spec/unit/parser/type_loader_spec.rb +0 -204
  2092. data/spec/unit/pops/adaptable_spec.rb +0 -140
  2093. data/spec/unit/pops/benchmark_spec.rb +0 -124
  2094. data/spec/unit/pops/containment_spec.rb +0 -0
  2095. data/spec/unit/pops/evaluator/access_ops_spec.rb +0 -561
  2096. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +0 -310
  2097. data/spec/unit/pops/evaluator/basic_expressions_spec.rb +0 -102
  2098. data/spec/unit/pops/evaluator/collections_ops_spec.rb +0 -109
  2099. data/spec/unit/pops/evaluator/comparison_ops_spec.rb +0 -268
  2100. data/spec/unit/pops/evaluator/conditionals_spec.rb +0 -190
  2101. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +0 -1583
  2102. data/spec/unit/pops/evaluator/evaluator_rspec_helper.rb +0 -75
  2103. data/spec/unit/pops/evaluator/json_strict_literal_evaluator_spec.rb +0 -63
  2104. data/spec/unit/pops/evaluator/literal_evaluator_spec.rb +0 -43
  2105. data/spec/unit/pops/evaluator/logical_ops_spec.rb +0 -90
  2106. data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +0 -182
  2107. data/spec/unit/pops/evaluator/string_interpolation_spec.rb +0 -44
  2108. data/spec/unit/pops/evaluator/variables_spec.rb +0 -89
  2109. data/spec/unit/pops/factory_rspec_helper.rb +0 -65
  2110. data/spec/unit/pops/factory_spec.rb +0 -310
  2111. data/spec/unit/pops/issues_spec.rb +0 -211
  2112. data/spec/unit/pops/label_provider_spec.rb +0 -46
  2113. data/spec/unit/pops/loaders/dependency_loader_spec.rb +0 -131
  2114. data/spec/unit/pops/loaders/environment_loader_spec.rb +0 -172
  2115. data/spec/unit/pops/loaders/loader_paths_spec.rb +0 -43
  2116. data/spec/unit/pops/loaders/loader_spec.rb +0 -487
  2117. data/spec/unit/pops/loaders/loaders_spec.rb +0 -723
  2118. data/spec/unit/pops/loaders/module_loaders_spec.rb +0 -231
  2119. data/spec/unit/pops/loaders/static_loader_spec.rb +0 -85
  2120. data/spec/unit/pops/lookup/context_spec.rb +0 -334
  2121. data/spec/unit/pops/lookup/interpolation_spec.rb +0 -378
  2122. data/spec/unit/pops/lookup/lookup_spec.rb +0 -350
  2123. data/spec/unit/pops/merge_strategy_spec.rb +0 -18
  2124. data/spec/unit/pops/migration_spec.rb +0 -53
  2125. data/spec/unit/pops/model/model_spec.rb +0 -42
  2126. data/spec/unit/pops/model/pn_transformer_spec.rb +0 -57
  2127. data/spec/unit/pops/parser/epp_parser_spec.rb +0 -115
  2128. data/spec/unit/pops/parser/evaluating_parser_spec.rb +0 -89
  2129. data/spec/unit/pops/parser/lexer2_spec.rb +0 -950
  2130. data/spec/unit/pops/parser/locator_spec.rb +0 -44
  2131. data/spec/unit/pops/parser/parse_application_spec.rb +0 -32
  2132. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -382
  2133. data/spec/unit/pops/parser/parse_calls_spec.rb +0 -172
  2134. data/spec/unit/pops/parser/parse_capabilities_spec.rb +0 -37
  2135. data/spec/unit/pops/parser/parse_conditionals_spec.rb +0 -185
  2136. data/spec/unit/pops/parser/parse_containers_spec.rb +0 -259
  2137. data/spec/unit/pops/parser/parse_functions_spec.rb +0 -19
  2138. data/spec/unit/pops/parser/parse_heredoc_spec.rb +0 -180
  2139. data/spec/unit/pops/parser/parse_lambda_spec.rb +0 -19
  2140. data/spec/unit/pops/parser/parse_plan_spec.rb +0 -48
  2141. data/spec/unit/pops/parser/parse_resource_spec.rb +0 -329
  2142. data/spec/unit/pops/parser/parse_site_spec.rb +0 -48
  2143. data/spec/unit/pops/parser/parser_rspec_helper.rb +0 -17
  2144. data/spec/unit/pops/parser/parser_spec.rb +0 -211
  2145. data/spec/unit/pops/parser/parsing_typed_parameters_spec.rb +0 -65
  2146. data/spec/unit/pops/parser/pn_parser_spec.rb +0 -101
  2147. data/spec/unit/pops/pn_spec.rb +0 -148
  2148. data/spec/unit/pops/puppet_stack_spec.rb +0 -108
  2149. data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -109
  2150. data/spec/unit/pops/serialization/packer_spec.rb +0 -162
  2151. data/spec/unit/pops/serialization/serialization_spec.rb +0 -458
  2152. data/spec/unit/pops/serialization/to_from_hr_spec.rb +0 -632
  2153. data/spec/unit/pops/serialization/to_stringified_spec.rb +0 -157
  2154. data/spec/unit/pops/time/timespan_spec.rb +0 -121
  2155. data/spec/unit/pops/time/timestamp_spec.rb +0 -13
  2156. data/spec/unit/pops/types/class_loader_spec.rb +0 -10
  2157. data/spec/unit/pops/types/deferred_spec.rb +0 -87
  2158. data/spec/unit/pops/types/enumeration_spec.rb +0 -51
  2159. data/spec/unit/pops/types/error_spec.rb +0 -207
  2160. data/spec/unit/pops/types/iterable_spec.rb +0 -262
  2161. data/spec/unit/pops/types/p_binary_type_spec.rb +0 -243
  2162. data/spec/unit/pops/types/p_init_type_spec.rb +0 -383
  2163. data/spec/unit/pops/types/p_object_type_spec.rb +0 -1730
  2164. data/spec/unit/pops/types/p_sem_ver_type_spec.rb +0 -322
  2165. data/spec/unit/pops/types/p_sensitive_type_spec.rb +0 -173
  2166. data/spec/unit/pops/types/p_timespan_type_spec.rb +0 -323
  2167. data/spec/unit/pops/types/p_timestamp_type_spec.rb +0 -391
  2168. data/spec/unit/pops/types/p_type_set_type_spec.rb +0 -549
  2169. data/spec/unit/pops/types/p_uri_type_spec.rb +0 -191
  2170. data/spec/unit/pops/types/recursion_guard_spec.rb +0 -93
  2171. data/spec/unit/pops/types/ruby_generator_spec.rb +0 -874
  2172. data/spec/unit/pops/types/string_converter_spec.rb +0 -1198
  2173. data/spec/unit/pops/types/task_spec.rb +0 -411
  2174. data/spec/unit/pops/types/type_acceptor_spec.rb +0 -106
  2175. data/spec/unit/pops/types/type_asserter_spec.rb +0 -43
  2176. data/spec/unit/pops/types/type_calculator_spec.rb +0 -2508
  2177. data/spec/unit/pops/types/type_factory_spec.rb +0 -322
  2178. data/spec/unit/pops/types/type_formatter_spec.rb +0 -427
  2179. data/spec/unit/pops/types/type_mismatch_describer_spec.rb +0 -249
  2180. data/spec/unit/pops/types/type_parser_spec.rb +0 -444
  2181. data/spec/unit/pops/types/types_spec.rb +0 -728
  2182. data/spec/unit/pops/utils_spec.rb +0 -70
  2183. data/spec/unit/pops/validation_spec.rb +0 -66
  2184. data/spec/unit/pops/validator/validator_spec.rb +0 -1022
  2185. data/spec/unit/pops/visitor_spec.rb +0 -94
  2186. data/spec/unit/property/boolean_spec.rb +0 -24
  2187. data/spec/unit/property/ensure_spec.rb +0 -12
  2188. data/spec/unit/property/keyvalue_spec.rb +0 -261
  2189. data/spec/unit/property/list_spec.rb +0 -173
  2190. data/spec/unit/property/ordered_list_spec.rb +0 -63
  2191. data/spec/unit/property_spec.rb +0 -563
  2192. data/spec/unit/provider/README.markdown +0 -4
  2193. data/spec/unit/provider/aix_object_spec.rb +0 -805
  2194. data/spec/unit/provider/command_spec.rb +0 -62
  2195. data/spec/unit/provider/exec/posix_spec.rb +0 -209
  2196. data/spec/unit/provider/exec/shell_spec.rb +0 -54
  2197. data/spec/unit/provider/exec/windows_spec.rb +0 -107
  2198. data/spec/unit/provider/exec_spec.rb +0 -35
  2199. data/spec/unit/provider/file/posix_spec.rb +0 -232
  2200. data/spec/unit/provider/file/windows_spec.rb +0 -154
  2201. data/spec/unit/provider/group/aix_spec.rb +0 -90
  2202. data/spec/unit/provider/group/directoryservice_spec.rb +0 -33
  2203. data/spec/unit/provider/group/groupadd_spec.rb +0 -152
  2204. data/spec/unit/provider/group/ldap_spec.rb +0 -98
  2205. data/spec/unit/provider/group/pw_spec.rb +0 -78
  2206. data/spec/unit/provider/group/windows_adsi_spec.rb +0 -359
  2207. data/spec/unit/provider/ldap_spec.rb +0 -243
  2208. data/spec/unit/provider/nameservice/directoryservice_spec.rb +0 -158
  2209. data/spec/unit/provider/nameservice_spec.rb +0 -456
  2210. data/spec/unit/provider/package/aix_spec.rb +0 -129
  2211. data/spec/unit/provider/package/appdmg_spec.rb +0 -42
  2212. data/spec/unit/provider/package/apt_spec.rb +0 -162
  2213. data/spec/unit/provider/package/aptitude_spec.rb +0 -45
  2214. data/spec/unit/provider/package/aptrpm_spec.rb +0 -47
  2215. data/spec/unit/provider/package/base_spec.rb +0 -18
  2216. data/spec/unit/provider/package/dnf_spec.rb +0 -50
  2217. data/spec/unit/provider/package/dpkg_spec.rb +0 -278
  2218. data/spec/unit/provider/package/freebsd_spec.rb +0 -51
  2219. data/spec/unit/provider/package/gem_spec.rb +0 -336
  2220. data/spec/unit/provider/package/hpux_spec.rb +0 -48
  2221. data/spec/unit/provider/package/macports_spec.rb +0 -138
  2222. data/spec/unit/provider/package/nim_spec.rb +0 -234
  2223. data/spec/unit/provider/package/openbsd_spec.rb +0 -401
  2224. data/spec/unit/provider/package/opkg_spec.rb +0 -183
  2225. data/spec/unit/provider/package/pacman_spec.rb +0 -468
  2226. data/spec/unit/provider/package/pip3_spec.rb +0 -19
  2227. data/spec/unit/provider/package/pip_spec.rb +0 -379
  2228. data/spec/unit/provider/package/pkg_spec.rb +0 -413
  2229. data/spec/unit/provider/package/pkgdmg_spec.rb +0 -168
  2230. data/spec/unit/provider/package/pkgin_spec.rb +0 -183
  2231. data/spec/unit/provider/package/pkgng_spec.rb +0 -183
  2232. data/spec/unit/provider/package/pkgutil_spec.rb +0 -235
  2233. data/spec/unit/provider/package/portage_spec.rb +0 -211
  2234. data/spec/unit/provider/package/puppet_gem_spec.rb +0 -64
  2235. data/spec/unit/provider/package/rpm_spec.rb +0 -674
  2236. data/spec/unit/provider/package/sun_spec.rb +0 -114
  2237. data/spec/unit/provider/package/tdnf_spec.rb +0 -15
  2238. data/spec/unit/provider/package/up2date_spec.rb +0 -24
  2239. data/spec/unit/provider/package/urpmi_spec.rb +0 -86
  2240. data/spec/unit/provider/package/windows/exe_package_spec.rb +0 -100
  2241. data/spec/unit/provider/package/windows/msi_package_spec.rb +0 -114
  2242. data/spec/unit/provider/package/windows/package_spec.rb +0 -185
  2243. data/spec/unit/provider/package/windows_spec.rb +0 -257
  2244. data/spec/unit/provider/package/yum_spec.rb +0 -148
  2245. data/spec/unit/provider/package/zypper_spec.rb +0 -229
  2246. data/spec/unit/provider/parsedfile_spec.rb +0 -228
  2247. data/spec/unit/provider/service/base_spec.rb +0 -112
  2248. data/spec/unit/provider/service/bsd_spec.rb +0 -129
  2249. data/spec/unit/provider/service/daemontools_spec.rb +0 -166
  2250. data/spec/unit/provider/service/debian_spec.rb +0 -162
  2251. data/spec/unit/provider/service/freebsd_spec.rb +0 -92
  2252. data/spec/unit/provider/service/gentoo_spec.rb +0 -250
  2253. data/spec/unit/provider/service/init_spec.rb +0 -259
  2254. data/spec/unit/provider/service/launchd_spec.rb +0 -367
  2255. data/spec/unit/provider/service/openbsd_spec.rb +0 -201
  2256. data/spec/unit/provider/service/openrc_spec.rb +0 -233
  2257. data/spec/unit/provider/service/openwrt_spec.rb +0 -111
  2258. data/spec/unit/provider/service/rcng_spec.rb +0 -40
  2259. data/spec/unit/provider/service/redhat_spec.rb +0 -177
  2260. data/spec/unit/provider/service/runit_spec.rb +0 -137
  2261. data/spec/unit/provider/service/smf_spec.rb +0 -281
  2262. data/spec/unit/provider/service/src_spec.rb +0 -194
  2263. data/spec/unit/provider/service/systemd_spec.rb +0 -421
  2264. data/spec/unit/provider/service/upstart_spec.rb +0 -693
  2265. data/spec/unit/provider/service/windows_spec.rb +0 -226
  2266. data/spec/unit/provider/user/aix_spec.rb +0 -215
  2267. data/spec/unit/provider/user/directoryservice_spec.rb +0 -1151
  2268. data/spec/unit/provider/user/hpux_spec.rb +0 -72
  2269. data/spec/unit/provider/user/ldap_spec.rb +0 -286
  2270. data/spec/unit/provider/user/openbsd_spec.rb +0 -77
  2271. data/spec/unit/provider/user/pw_spec.rb +0 -211
  2272. data/spec/unit/provider/user/user_role_add_spec.rb +0 -374
  2273. data/spec/unit/provider/user/useradd_spec.rb +0 -632
  2274. data/spec/unit/provider/user/windows_adsi_spec.rb +0 -326
  2275. data/spec/unit/provider_spec.rb +0 -918
  2276. data/spec/unit/puppet_pal_2pec.rb +0 -1020
  2277. data/spec/unit/puppet_pal_catalog_spec.rb +0 -859
  2278. data/spec/unit/puppet_pal_spec.rb +0 -4
  2279. data/spec/unit/puppet_spec.rb +0 -73
  2280. data/spec/unit/relationship_spec.rb +0 -203
  2281. data/spec/unit/reports/http_spec.rb +0 -103
  2282. data/spec/unit/reports/store_spec.rb +0 -60
  2283. data/spec/unit/reports_spec.rb +0 -70
  2284. data/spec/unit/resource/capability_finder_spec.rb +0 -145
  2285. data/spec/unit/resource/catalog_spec.rb +0 -1134
  2286. data/spec/unit/resource/status_spec.rb +0 -218
  2287. data/spec/unit/resource/type_collection_spec.rb +0 -337
  2288. data/spec/unit/resource/type_spec.rb +0 -877
  2289. data/spec/unit/resource_spec.rb +0 -1128
  2290. data/spec/unit/rest/client_spec.rb +0 -135
  2291. data/spec/unit/rest/route_spec.rb +0 -132
  2292. data/spec/unit/scheduler/job_spec.rb +0 -79
  2293. data/spec/unit/scheduler/scheduler_spec.rb +0 -116
  2294. data/spec/unit/scheduler/splay_job_spec.rb +0 -35
  2295. data/spec/unit/settings/array_setting_spec.rb +0 -39
  2296. data/spec/unit/settings/autosign_setting_spec.rb +0 -104
  2297. data/spec/unit/settings/certificate_revocation_setting_spec.rb +0 -37
  2298. data/spec/unit/settings/config_file_spec.rb +0 -158
  2299. data/spec/unit/settings/directory_setting_spec.rb +0 -32
  2300. data/spec/unit/settings/duration_setting_spec.rb +0 -49
  2301. data/spec/unit/settings/enum_setting_spec.rb +0 -27
  2302. data/spec/unit/settings/environment_conf_spec.rb +0 -135
  2303. data/spec/unit/settings/file_setting_spec.rb +0 -343
  2304. data/spec/unit/settings/ini_file_spec.rb +0 -550
  2305. data/spec/unit/settings/path_setting_spec.rb +0 -30
  2306. data/spec/unit/settings/priority_setting_spec.rb +0 -66
  2307. data/spec/unit/settings/string_setting_spec.rb +0 -75
  2308. data/spec/unit/settings/terminus_setting_spec.rb +0 -28
  2309. data/spec/unit/settings/value_translator_spec.rb +0 -77
  2310. data/spec/unit/settings_spec.rb +0 -1919
  2311. data/spec/unit/ssl/base_spec.rb +0 -94
  2312. data/spec/unit/ssl/certificate_request_attributes_spec.rb +0 -80
  2313. data/spec/unit/ssl/certificate_request_spec.rb +0 -401
  2314. data/spec/unit/ssl/certificate_spec.rb +0 -187
  2315. data/spec/unit/ssl/digest_spec.rb +0 -35
  2316. data/spec/unit/ssl/host_spec.rb +0 -630
  2317. data/spec/unit/ssl/key_spec.rb +0 -174
  2318. data/spec/unit/ssl/oids_spec.rb +0 -72
  2319. data/spec/unit/ssl/validator_spec.rb +0 -287
  2320. data/spec/unit/status_spec.rb +0 -45
  2321. data/spec/unit/task_spec.rb +0 -292
  2322. data/spec/unit/transaction/additional_resource_generator_spec.rb +0 -542
  2323. data/spec/unit/transaction/event_manager_spec.rb +0 -363
  2324. data/spec/unit/transaction/event_spec.rb +0 -197
  2325. data/spec/unit/transaction/persistence_spec.rb +0 -220
  2326. data/spec/unit/transaction/report_spec.rb +0 -700
  2327. data/spec/unit/transaction/resource_harness_spec.rb +0 -604
  2328. data/spec/unit/transaction_spec.rb +0 -974
  2329. data/spec/unit/type/README.markdown +0 -4
  2330. data/spec/unit/type/component_spec.rb +0 -53
  2331. data/spec/unit/type/exec_spec.rb +0 -815
  2332. data/spec/unit/type/file/checksum_spec.rb +0 -105
  2333. data/spec/unit/type/file/checksum_value_spec.rb +0 -286
  2334. data/spec/unit/type/file/content_spec.rb +0 -438
  2335. data/spec/unit/type/file/ctime_spec.rb +0 -34
  2336. data/spec/unit/type/file/ensure_spec.rb +0 -123
  2337. data/spec/unit/type/file/group_spec.rb +0 -60
  2338. data/spec/unit/type/file/mode_spec.rb +0 -222
  2339. data/spec/unit/type/file/mtime_spec.rb +0 -34
  2340. data/spec/unit/type/file/owner_spec.rb +0 -58
  2341. data/spec/unit/type/file/selinux_spec.rb +0 -90
  2342. data/spec/unit/type/file/source_spec.rb +0 -677
  2343. data/spec/unit/type/file/type_spec.rb +0 -19
  2344. data/spec/unit/type/file_spec.rb +0 -1696
  2345. data/spec/unit/type/filebucket_spec.rb +0 -103
  2346. data/spec/unit/type/group_spec.rb +0 -100
  2347. data/spec/unit/type/noop_metaparam_spec.rb +0 -38
  2348. data/spec/unit/type/package/package_settings_spec.rb +0 -135
  2349. data/spec/unit/type/package_spec.rb +0 -384
  2350. data/spec/unit/type/resources_spec.rb +0 -350
  2351. data/spec/unit/type/schedule_spec.rb +0 -621
  2352. data/spec/unit/type/service_spec.rb +0 -308
  2353. data/spec/unit/type/stage_spec.rb +0 -8
  2354. data/spec/unit/type/tidy_spec.rb +0 -468
  2355. data/spec/unit/type/user_spec.rb +0 -459
  2356. data/spec/unit/type/whit_spec.rb +0 -10
  2357. data/spec/unit/type_spec.rb +0 -1384
  2358. data/spec/unit/util/at_fork_spec.rb +0 -150
  2359. data/spec/unit/util/autoload_spec.rb +0 -309
  2360. data/spec/unit/util/backups_spec.rb +0 -134
  2361. data/spec/unit/util/character_encoding_spec.rb +0 -186
  2362. data/spec/unit/util/checksums_spec.rb +0 -208
  2363. data/spec/unit/util/colors_spec.rb +0 -45
  2364. data/spec/unit/util/command_line_spec.rb +0 -175
  2365. data/spec/unit/util/command_line_utils/puppet_option_parser_spec.rb +0 -129
  2366. data/spec/unit/util/constant_inflector_spec.rb +0 -56
  2367. data/spec/unit/util/diff_spec.rb +0 -47
  2368. data/spec/unit/util/docs_spec.rb +0 -100
  2369. data/spec/unit/util/errors_spec.rb +0 -37
  2370. data/spec/unit/util/execution_spec.rb +0 -927
  2371. data/spec/unit/util/execution_stub_spec.rb +0 -39
  2372. data/spec/unit/util/feature_spec.rb +0 -120
  2373. data/spec/unit/util/filetype_spec.rb +0 -223
  2374. data/spec/unit/util/http_proxy_spec.rb +0 -273
  2375. data/spec/unit/util/inifile_spec.rb +0 -523
  2376. data/spec/unit/util/json_lockfile_spec.rb +0 -50
  2377. data/spec/unit/util/ldap/connection_spec.rb +0 -161
  2378. data/spec/unit/util/ldap/generator_spec.rb +0 -50
  2379. data/spec/unit/util/ldap/manager_spec.rb +0 -626
  2380. data/spec/unit/util/lockfile_spec.rb +0 -118
  2381. data/spec/unit/util/log/destinations_spec.rb +0 -267
  2382. data/spec/unit/util/log_spec.rb +0 -576
  2383. data/spec/unit/util/logging_spec.rb +0 -430
  2384. data/spec/unit/util/metric_spec.rb +0 -90
  2385. data/spec/unit/util/monkey_patches_spec.rb +0 -145
  2386. data/spec/unit/util/multi_match_spec.rb +0 -39
  2387. data/spec/unit/util/network_device/config_spec.rb +0 -92
  2388. data/spec/unit/util/network_device/transport/base_spec.rb +0 -41
  2389. data/spec/unit/util/network_device_spec.rb +0 -50
  2390. data/spec/unit/util/package_spec.rb +0 -20
  2391. data/spec/unit/util/pidlock_spec.rb +0 -218
  2392. data/spec/unit/util/plist_spec.rb +0 -141
  2393. data/spec/unit/util/posix_spec.rb +0 -279
  2394. data/spec/unit/util/profiler/aggregate_spec.rb +0 -55
  2395. data/spec/unit/util/profiler/around_profiler_spec.rb +0 -61
  2396. data/spec/unit/util/profiler/logging_spec.rb +0 -70
  2397. data/spec/unit/util/profiler/object_counts_spec.rb +0 -13
  2398. data/spec/unit/util/profiler/wall_clock_spec.rb +0 -13
  2399. data/spec/unit/util/profiler_spec.rb +0 -47
  2400. data/spec/unit/util/rdoc_spec.rb +0 -56
  2401. data/spec/unit/util/reference_spec.rb +0 -39
  2402. data/spec/unit/util/resource_template_spec.rb +0 -57
  2403. data/spec/unit/util/retry_action_spec.rb +0 -85
  2404. data/spec/unit/util/rubygems_spec.rb +0 -48
  2405. data/spec/unit/util/run_mode_spec.rb +0 -318
  2406. data/spec/unit/util/selinux_spec.rb +0 -315
  2407. data/spec/unit/util/splayer_spec.rb +0 -45
  2408. data/spec/unit/util/ssl_spec.rb +0 -92
  2409. data/spec/unit/util/storage_spec.rb +0 -336
  2410. data/spec/unit/util/suidmanager_spec.rb +0 -284
  2411. data/spec/unit/util/symbolic_file_mode_spec.rb +0 -181
  2412. data/spec/unit/util/tag_set_spec.rb +0 -53
  2413. data/spec/unit/util/tagging_spec.rb +0 -247
  2414. data/spec/unit/util/terminal_spec.rb +0 -42
  2415. data/spec/unit/util/user_attr_spec.rb +0 -46
  2416. data/spec/unit/util/warnings_spec.rb +0 -46
  2417. data/spec/unit/util/watched_file_spec.rb +0 -52
  2418. data/spec/unit/util/watcher/periodic_watcher_spec.rb +0 -52
  2419. data/spec/unit/util/watcher_spec.rb +0 -56
  2420. data/spec/unit/util/windows/access_control_entry_spec.rb +0 -67
  2421. data/spec/unit/util/windows/access_control_list_spec.rb +0 -133
  2422. data/spec/unit/util/windows/adsi_spec.rb +0 -630
  2423. data/spec/unit/util/windows/api_types_spec.rb +0 -121
  2424. data/spec/unit/util/windows/eventlog_spec.rb +0 -123
  2425. data/spec/unit/util/windows/file_spec.rb +0 -89
  2426. data/spec/unit/util/windows/root_certs_spec.rb +0 -17
  2427. data/spec/unit/util/windows/security_descriptor_spec.rb +0 -117
  2428. data/spec/unit/util/windows/service_spec.rb +0 -669
  2429. data/spec/unit/util/windows/sid_spec.rb +0 -299
  2430. data/spec/unit/util/windows/string_spec.rb +0 -58
  2431. data/spec/unit/util/yaml_spec.rb +0 -201
  2432. data/spec/unit/util_spec.rb +0 -949
  2433. data/spec/unit/version_spec.rb +0 -61
  2434. data/spec/watchr.rb +0 -137
  2435. data/tasks/benchmark.rake +0 -180
  2436. data/tasks/cfpropertylist.rake +0 -15
  2437. data/tasks/ci.rake +0 -24
  2438. data/tasks/generate_ast_model.rake +0 -90
  2439. data/tasks/manpages.rake +0 -91
  2440. data/tasks/memwalk.rake +0 -195
  2441. data/tasks/parallel.rake +0 -410
  2442. data/tasks/parser.rake +0 -22
  2443. data/tasks/yard.rake +0 -59
  2444. /data/{ext → examples/enc}/regexp_nodes/classes/databases +0 -0
  2445. /data/{ext → examples/enc}/regexp_nodes/classes/webservers +0 -0
  2446. /data/{ext → examples/enc}/regexp_nodes/environment/development +0 -0
  2447. /data/{ext → examples/enc}/regexp_nodes/parameters/service/prod +0 -0
  2448. /data/{ext → examples/enc}/regexp_nodes/parameters/service/qa +0 -0
  2449. /data/{ext → examples/enc}/regexp_nodes/parameters/service/sandbox +0 -0
@@ -1,1919 +0,0 @@
1
- #! /usr/bin/env ruby
2
- require 'spec_helper'
3
- require 'ostruct'
4
- require 'puppet/settings/errors'
5
- require 'puppet_spec/files'
6
- require 'matchers/resource'
7
-
8
- describe Puppet::Settings do
9
- include PuppetSpec::Files
10
- include Matchers::Resource
11
-
12
- let(:main_config_file_default_location) do
13
- File.join(Puppet::Util::RunMode[:master].conf_dir, "puppet.conf")
14
- end
15
-
16
- let(:user_config_file_default_location) do
17
- File.join(Puppet::Util::RunMode[:user].conf_dir, "puppet.conf")
18
- end
19
-
20
- # Return a given object's file metadata.
21
- def metadata(setting)
22
- if setting.is_a?(Puppet::Settings::FileSetting)
23
- {
24
- :owner => setting.owner,
25
- :group => setting.group,
26
- :mode => setting.mode
27
- }.delete_if { |key, value| value.nil? }
28
- else
29
- nil
30
- end
31
- end
32
-
33
- describe "when specifying defaults" do
34
- before do
35
- @settings = Puppet::Settings.new
36
- end
37
-
38
- it "should start with no defined sections or parameters" do
39
- # Note this relies on undocumented side effect that eachsection returns the Settings internal
40
- # configuration on which keys returns all parameters.
41
- expect(@settings.eachsection.keys.length).to eq(0)
42
- end
43
-
44
- it "should not allow specification of default values associated with a section as an array" do
45
- expect {
46
- @settings.define_settings(:section, :myvalue => ["defaultval", "my description"])
47
- }.to raise_error(ArgumentError, /setting definition for 'myvalue' is not a hash!/)
48
- end
49
-
50
- it "should not allow duplicate parameter specifications" do
51
- @settings.define_settings(:section, :myvalue => { :default => "a", :desc => "b" })
52
- expect { @settings.define_settings(:section, :myvalue => { :default => "c", :desc => "d" }) }.to raise_error(ArgumentError)
53
- end
54
-
55
- it "should allow specification of default values associated with a section as a hash" do
56
- @settings.define_settings(:section, :myvalue => {:default => "defaultval", :desc => "my description"})
57
- end
58
-
59
- it "should consider defined parameters to be valid" do
60
- @settings.define_settings(:section, :myvalue => { :default => "defaultval", :desc => "my description" })
61
- expect(@settings.valid?(:myvalue)).to be_truthy
62
- end
63
-
64
- it "should require a description when defaults are specified with a hash" do
65
- expect { @settings.define_settings(:section, :myvalue => {:default => "a value"}) }.to raise_error(ArgumentError)
66
- end
67
-
68
- it "should support specifying owner, group, and mode when specifying files" do
69
- @settings.define_settings(:section, :myvalue => {:type => :file, :default => "/some/file", :owner => "service", :mode => "boo", :group => "service", :desc => "whatever"})
70
- end
71
-
72
- it "should support specifying a short name" do
73
- @settings.define_settings(:section, :myvalue => {:default => "w", :desc => "b", :short => "m"})
74
- end
75
-
76
- it "should support specifying the setting type" do
77
- @settings.define_settings(:section, :myvalue => {:default => "/w", :desc => "b", :type => :string})
78
- expect(@settings.setting(:myvalue)).to be_instance_of(Puppet::Settings::StringSetting)
79
- end
80
-
81
- it "should fail if an invalid setting type is specified" do
82
- expect { @settings.define_settings(:section, :myvalue => {:default => "w", :desc => "b", :type => :foo}) }.to raise_error(ArgumentError)
83
- end
84
-
85
- it "should fail when short names conflict" do
86
- @settings.define_settings(:section, :myvalue => {:default => "w", :desc => "b", :short => "m"})
87
- expect { @settings.define_settings(:section, :myvalue => {:default => "w", :desc => "b", :short => "m"}) }.to raise_error(ArgumentError)
88
- end
89
- end
90
-
91
-
92
- describe "when initializing application defaults do" do
93
- let(:default_values) do
94
- values = {}
95
- PuppetSpec::Settings::TEST_APP_DEFAULT_DEFINITIONS.keys.each do |key|
96
- values[key] = 'default value'
97
- end
98
- values
99
- end
100
-
101
- before do
102
- @settings = Puppet::Settings.new
103
- @settings.define_settings(:main, PuppetSpec::Settings::TEST_APP_DEFAULT_DEFINITIONS)
104
- end
105
-
106
- it "should fail if the app defaults hash is missing any required values" do
107
- expect {
108
- @settings.initialize_app_defaults(default_values.reject { |key, _| key == :confdir })
109
- }.to raise_error(Puppet::Settings::SettingsError)
110
- end
111
-
112
- # ultimately I'd like to stop treating "run_mode" as a normal setting, because it has so many special
113
- # case behaviors / uses. However, until that time... we need to make sure that our private run_mode=
114
- # setter method gets properly called during app initialization.
115
- it "sets the preferred run mode when initializing the app defaults" do
116
- @settings.initialize_app_defaults(default_values.merge(:run_mode => :master))
117
-
118
- expect(@settings.preferred_run_mode).to eq(:master)
119
- end
120
-
121
- it "creates ancestor directories for all required app settings" do
122
- # initialize_app_defaults is called in spec_helper, before we even
123
- # get here, but call it here to make it explicit what we're trying
124
- # to do.
125
- @settings.initialize_app_defaults(default_values)
126
-
127
- Puppet::Settings::REQUIRED_APP_SETTINGS.each do |key|
128
- expect(File).to exist(File.dirname(Puppet[key]))
129
- end
130
- end
131
- end
132
-
133
- describe "#call_hooks_deferred_to_application_initialization" do
134
- let(:good_default) { "yay" }
135
- let(:bad_default) { "$doesntexist" }
136
- before(:each) do
137
- @settings = Puppet::Settings.new
138
- end
139
-
140
- describe "when ignoring dependency interpolation errors" do
141
- let(:options) { {:ignore_interpolation_dependency_errors => true} }
142
-
143
- describe "if interpolation error" do
144
- it "should not raise an error" do
145
- hook_values = []
146
- @settings.define_settings(:section, :badhook => {:default => bad_default, :desc => "boo", :call_hook => :on_initialize_and_write, :hook => lambda { |v| hook_values << v }})
147
- expect do
148
- @settings.send(:call_hooks_deferred_to_application_initialization, options)
149
- end.to_not raise_error
150
- end
151
- end
152
- describe "if no interpolation error" do
153
- it "should not raise an error" do
154
- hook_values = []
155
- @settings.define_settings(:section, :goodhook => {:default => good_default, :desc => "boo", :call_hook => :on_initialize_and_write, :hook => lambda { |v| hook_values << v }})
156
- expect do
157
- @settings.send(:call_hooks_deferred_to_application_initialization, options)
158
- end.to_not raise_error
159
- end
160
- end
161
- end
162
-
163
- describe "when not ignoring dependency interpolation errors" do
164
- [ {}, {:ignore_interpolation_dependency_errors => false}].each do |options|
165
- describe "if interpolation error" do
166
- it "should raise an error" do
167
- hook_values = []
168
- @settings.define_settings(
169
- :section,
170
- :badhook => {
171
- :default => bad_default,
172
- :desc => "boo",
173
- :call_hook => :on_initialize_and_write,
174
- :hook => lambda { |v| hook_values << v }
175
- }
176
- )
177
- expect do
178
- @settings.send(:call_hooks_deferred_to_application_initialization, options)
179
- end.to raise_error(Puppet::Settings::InterpolationError)
180
- end
181
- it "should contain the setting name in error message" do
182
- hook_values = []
183
- @settings.define_settings(
184
- :section,
185
- :badhook => {
186
- :default => bad_default,
187
- :desc => "boo",
188
- :call_hook => :on_initialize_and_write,
189
- :hook => lambda { |v| hook_values << v }
190
- }
191
- )
192
- expect do
193
- @settings.send(:call_hooks_deferred_to_application_initialization, options)
194
- end.to raise_error(Puppet::Settings::InterpolationError, /badhook/)
195
- end
196
- end
197
- describe "if no interpolation error" do
198
- it "should not raise an error" do
199
- hook_values = []
200
- @settings.define_settings(
201
- :section,
202
- :goodhook => {
203
- :default => good_default,
204
- :desc => "boo",
205
- :call_hook => :on_initialize_and_write,
206
- :hook => lambda { |v| hook_values << v }
207
- }
208
- )
209
- expect do
210
- @settings.send(:call_hooks_deferred_to_application_initialization, options)
211
- end.to_not raise_error
212
- end
213
- end
214
- end
215
- end
216
- end
217
-
218
- describe "when setting values" do
219
- before do
220
- @settings = Puppet::Settings.new
221
- @settings.define_settings :main, :myval => { :default => "val", :desc => "desc" }
222
- @settings.define_settings :main, :bool => { :type => :boolean, :default => true, :desc => "desc" }
223
- end
224
-
225
- it "should provide a method for setting values from other objects" do
226
- @settings[:myval] = "something else"
227
- expect(@settings[:myval]).to eq("something else")
228
- end
229
-
230
- it "should support a getopt-specific mechanism for setting values" do
231
- @settings.handlearg("--myval", "newval")
232
- expect(@settings[:myval]).to eq("newval")
233
- end
234
-
235
- it "should support a getopt-specific mechanism for turning booleans off" do
236
- @settings.override_default(:bool, true)
237
- @settings.handlearg("--no-bool", "")
238
- expect(@settings[:bool]).to eq(false)
239
- end
240
-
241
- it "should support a getopt-specific mechanism for turning booleans on" do
242
- # Turn it off first
243
- @settings.override_default(:bool, false)
244
- @settings.handlearg("--bool", "")
245
- expect(@settings[:bool]).to eq(true)
246
- end
247
-
248
- it "should consider a cli setting with no argument to be a boolean" do
249
- # Turn it off first
250
- @settings.override_default(:bool, false)
251
- @settings.handlearg("--bool")
252
- expect(@settings[:bool]).to eq(true)
253
- end
254
-
255
- it "should consider a cli setting with an empty string as an argument to be an empty argument, if the setting itself is not a boolean" do
256
- @settings.override_default(:myval, "bob")
257
- @settings.handlearg("--myval", "")
258
- expect(@settings[:myval]).to eq("")
259
- end
260
-
261
- it "should consider a cli setting with a boolean as an argument to be a boolean" do
262
- # Turn it off first
263
- @settings.override_default(:bool, false)
264
- @settings.handlearg("--bool", "true")
265
- expect(@settings[:bool]).to eq(true)
266
- end
267
-
268
- it "should not consider a cli setting of a non boolean with a boolean as an argument to be a boolean" do
269
- @settings.override_default(:myval, "bob")
270
- @settings.handlearg("--no-myval", "")
271
- expect(@settings[:myval]).to eq("")
272
- end
273
-
274
- it "should flag string settings from the CLI" do
275
- @settings.handlearg("--myval", "12")
276
- expect(@settings.set_by_cli?(:myval)).to be_truthy
277
- end
278
-
279
- it "should flag bool settings from the CLI" do
280
- @settings.handlearg("--bool")
281
- expect(@settings.set_by_cli?(:bool)).to be_truthy
282
- end
283
-
284
- it "should not flag settings memory as from CLI" do
285
- @settings[:myval] = "12"
286
- expect(@settings.set_by_cli?(:myval)).to be_falsey
287
- end
288
-
289
- it "should find no configured settings by default" do
290
- expect(@settings.set_by_config?(:myval)).to be_falsey
291
- end
292
-
293
- it "should identify configured settings in memory" do
294
- @settings.instance_variable_get(:@value_sets)[:memory].expects(:lookup).with(:myval).returns('foo')
295
- expect(@settings.set_by_config?(:myval)).to be_truthy
296
- end
297
-
298
- it "should identify configured settings from CLI" do
299
- @settings.instance_variable_get(:@value_sets)[:cli].expects(:lookup).with(:myval).returns('foo')
300
- expect(@settings.set_by_config?(:myval)).to be_truthy
301
- end
302
-
303
- it "should not identify configured settings from environment by default" do
304
- Puppet.lookup(:environments).expects(:get_conf).with(Puppet[:environment].to_sym).never
305
- expect(@settings.set_by_config?(:manifest)).to be_falsey
306
- end
307
-
308
- it "should identify configured settings from environment by when an environment is specified" do
309
- foo = mock('environment', :manifest => 'foo')
310
- Puppet.lookup(:environments).expects(:get_conf).with(Puppet[:environment].to_sym).returns(foo)
311
- expect(@settings.set_by_config?(:manifest, Puppet[:environment])).to be_truthy
312
- end
313
-
314
- it "should identify configured settings from the preferred run mode" do
315
- user_config_text = "[#{@settings.preferred_run_mode}]\nmyval = foo"
316
- seq = sequence "config_file_sequence"
317
-
318
- Puppet.features.stubs(:root?).returns(false)
319
- Puppet::FileSystem.expects(:exist?).
320
- with(user_config_file_default_location).
321
- returns(true).in_sequence(seq)
322
- @settings.expects(:read_file).
323
- with(user_config_file_default_location).
324
- returns(user_config_text).in_sequence(seq)
325
-
326
- @settings.send(:parse_config_files)
327
- expect(@settings.set_by_config?(:myval)).to be_truthy
328
- end
329
-
330
- it "should identify configured settings from the specified run mode" do
331
- user_config_text = "[master]\nmyval = foo"
332
- seq = sequence "config_file_sequence"
333
-
334
- Puppet.features.stubs(:root?).returns(false)
335
- Puppet::FileSystem.expects(:exist?).
336
- with(user_config_file_default_location).
337
- returns(true).in_sequence(seq)
338
- @settings.expects(:read_file).
339
- with(user_config_file_default_location).
340
- returns(user_config_text).in_sequence(seq)
341
-
342
- @settings.send(:parse_config_files)
343
- expect(@settings.set_by_config?(:myval, nil, :master)).to be_truthy
344
- end
345
-
346
- it "should not identify configured settings from an unspecified run mode" do
347
- user_config_text = "[zaz]\nmyval = foo"
348
- seq = sequence "config_file_sequence"
349
-
350
- Puppet.features.stubs(:root?).returns(false)
351
- Puppet::FileSystem.expects(:exist?).
352
- with(user_config_file_default_location).
353
- returns(true).in_sequence(seq)
354
- @settings.expects(:read_file).
355
- with(user_config_file_default_location).
356
- returns(user_config_text).in_sequence(seq)
357
-
358
- @settings.send(:parse_config_files)
359
- expect(@settings.set_by_config?(:myval)).to be_falsey
360
- end
361
-
362
- it "should identify configured settings from the main section" do
363
- user_config_text = "[main]\nmyval = foo"
364
- seq = sequence "config_file_sequence"
365
-
366
- Puppet.features.stubs(:root?).returns(false)
367
- Puppet::FileSystem.expects(:exist?).
368
- with(user_config_file_default_location).
369
- returns(true).in_sequence(seq)
370
- @settings.expects(:read_file).
371
- with(user_config_file_default_location).
372
- returns(user_config_text).in_sequence(seq)
373
-
374
- @settings.send(:parse_config_files)
375
- expect(@settings.set_by_config?(:myval)).to be_truthy
376
- end
377
-
378
- it "should clear the cache when setting getopt-specific values" do
379
- @settings.define_settings :mysection,
380
- :one => { :default => "whah", :desc => "yay" },
381
- :two => { :default => "$one yay", :desc => "bah" }
382
- @settings.expects(:unsafe_flush_cache)
383
- expect(@settings[:two]).to eq("whah yay")
384
- @settings.handlearg("--one", "else")
385
- expect(@settings[:two]).to eq("else yay")
386
- end
387
-
388
- it "should clear the cache when the preferred_run_mode is changed" do
389
- @settings.expects(:flush_cache)
390
- @settings.preferred_run_mode = :master
391
- end
392
-
393
- it "should not clear other values when setting getopt-specific values" do
394
- @settings[:myval] = "yay"
395
- @settings.handlearg("--no-bool", "")
396
- expect(@settings[:myval]).to eq("yay")
397
- end
398
-
399
- it "should clear the list of used sections" do
400
- @settings.expects(:clearused)
401
- @settings[:myval] = "yay"
402
- end
403
-
404
- describe "call_hook" do
405
- Puppet::Settings::StringSetting.available_call_hook_values.each do |val|
406
- describe "when :#{val}" do
407
- describe "and definition invalid" do
408
- it "should raise error if no hook defined" do
409
- expect do
410
- @settings.define_settings(:section, :hooker => {:default => "yay", :desc => "boo", :call_hook => val})
411
- end.to raise_error(ArgumentError, /no :hook/)
412
- end
413
- it "should include the setting name in the error message" do
414
- expect do
415
- @settings.define_settings(:section, :hooker => {:default => "yay", :desc => "boo", :call_hook => val})
416
- end.to raise_error(ArgumentError, /for :hooker/)
417
- end
418
- end
419
- describe "and definition valid" do
420
- before(:each) do
421
- hook_values = []
422
- @settings.define_settings(:section, :hooker => {:default => "yay", :desc => "boo", :call_hook => val, :hook => lambda { |v| hook_values << v }})
423
- end
424
-
425
- it "should call the hook when value written" do
426
- @settings.setting(:hooker).expects(:handle).with("something").once
427
- @settings[:hooker] = "something"
428
- end
429
- end
430
- end
431
- end
432
-
433
- it "should have a default value of :on_write_only" do
434
- @settings.define_settings(:section, :hooker => {:default => "yay", :desc => "boo", :hook => lambda { |v| hook_values << v }})
435
- expect(@settings.setting(:hooker).call_hook).to eq(:on_write_only)
436
- end
437
-
438
- describe "when nil" do
439
- it "should generate a warning" do
440
- Puppet.expects(:warning)
441
- @settings.define_settings(:section, :hooker => {:default => "yay", :desc => "boo", :call_hook => nil, :hook => lambda { |v| hook_values << v }})
442
- end
443
- it "should use default" do
444
- @settings.define_settings(:section, :hooker => {:default => "yay", :desc => "boo", :call_hook => nil, :hook => lambda { |v| hook_values << v }})
445
- expect(@settings.setting(:hooker).call_hook).to eq(:on_write_only)
446
- end
447
- end
448
-
449
- describe "when invalid" do
450
- it "should raise an error" do
451
- expect do
452
- @settings.define_settings(:section, :hooker => {:default => "yay", :desc => "boo", :call_hook => :foo, :hook => lambda { |v| hook_values << v }})
453
- end.to raise_error(ArgumentError, /invalid.*call_hook/i)
454
- end
455
- end
456
-
457
- describe "when :on_define_and_write" do
458
- it "should call the hook at definition" do
459
- hook_values = []
460
- @settings.define_settings(:section, :hooker => {:default => "yay", :desc => "boo", :call_hook => :on_define_and_write, :hook => lambda { |v| hook_values << v }})
461
- expect(@settings.setting(:hooker).call_hook).to eq(:on_define_and_write)
462
- expect(hook_values).to eq(%w{yay})
463
- end
464
- end
465
-
466
- describe "when :on_initialize_and_write" do
467
- before(:each) do
468
- @hook_values = []
469
- @settings.define_settings(:section, :hooker => {:default => "yay", :desc => "boo", :call_hook => :on_initialize_and_write, :hook => lambda { |v| @hook_values << v }})
470
- end
471
-
472
- it "should not call the hook at definition" do
473
- expect(@hook_values).to eq([])
474
- expect(@hook_values).not_to eq(%w{yay})
475
- end
476
-
477
- it "should call the hook at initialization" do
478
- app_defaults = {}
479
- Puppet::Settings::REQUIRED_APP_SETTINGS.each do |key|
480
- app_defaults[key] = "foo"
481
- end
482
- app_defaults[:run_mode] = :user
483
- @settings.define_settings(:main, PuppetSpec::Settings::TEST_APP_DEFAULT_DEFINITIONS)
484
-
485
- @settings.setting(:hooker).expects(:handle).with("yay").once
486
-
487
- @settings.initialize_app_defaults app_defaults
488
- end
489
- end
490
- end
491
-
492
- it "should call passed blocks when values are set" do
493
- values = []
494
- @settings.define_settings(:section, :hooker => {:default => "yay", :desc => "boo", :hook => lambda { |v| values << v }})
495
- expect(values).to eq([])
496
-
497
- @settings[:hooker] = "something"
498
- expect(values).to eq(%w{something})
499
- end
500
-
501
- it "should call passed blocks when values are set via the command line" do
502
- values = []
503
- @settings.define_settings(:section, :hooker => {:default => "yay", :desc => "boo", :hook => lambda { |v| values << v }})
504
- expect(values).to eq([])
505
-
506
- @settings.handlearg("--hooker", "yay")
507
-
508
- expect(values).to eq(%w{yay})
509
- end
510
-
511
- it "should provide an option to call passed blocks during definition" do
512
- values = []
513
- @settings.define_settings(:section, :hooker => {:default => "yay", :desc => "boo", :call_hook => :on_define_and_write, :hook => lambda { |v| values << v }})
514
- expect(values).to eq(%w{yay})
515
- end
516
-
517
- it "should pass the fully interpolated value to the hook when called on definition" do
518
- values = []
519
- @settings.define_settings(:section, :one => { :default => "test", :desc => "a" })
520
- @settings.define_settings(:section, :hooker => {:default => "$one/yay", :desc => "boo", :call_hook => :on_define_and_write, :hook => lambda { |v| values << v }})
521
- expect(values).to eq(%w{test/yay})
522
- end
523
-
524
- it "should munge values using the setting-specific methods" do
525
- @settings[:bool] = "false"
526
- expect(@settings[:bool]).to eq(false)
527
- end
528
-
529
- it "should prefer values set in ruby to values set on the cli" do
530
- @settings[:myval] = "memarg"
531
- @settings.handlearg("--myval", "cliarg")
532
-
533
- expect(@settings[:myval]).to eq("memarg")
534
- end
535
-
536
- it "should raise an error if we try to set a setting that hasn't been defined'" do
537
- expect{
538
- @settings[:why_so_serious] = "foo"
539
- }.to raise_error(ArgumentError, /unknown setting/)
540
- end
541
-
542
- it "allows overriding cli args based on the cli-set value" do
543
- @settings.handlearg("--myval", "cliarg")
544
- @settings.patch_value(:myval, "modified #{@settings[:myval]}", :cli)
545
- expect(@settings[:myval]).to eq("modified cliarg")
546
- end
547
- end
548
-
549
- describe "when returning values" do
550
- before do
551
- @settings = Puppet::Settings.new
552
- @settings.define_settings :section,
553
- :config => { :type => :file, :default => "/my/file", :desc => "eh" },
554
- :one => { :default => "ONE", :desc => "a" },
555
- :two => { :default => "$one TWO", :desc => "b"},
556
- :three => { :default => "$one $two THREE", :desc => "c"},
557
- :four => { :default => "$two $three FOUR", :desc => "d"},
558
- :five => { :default => nil, :desc => "e" },
559
- :code => { :default => "", :desc => "my code"}
560
- Puppet::FileSystem.stubs(:exist?).returns true
561
- end
562
-
563
- it "should provide a mechanism for returning set values" do
564
- @settings[:one] = "other"
565
- expect(@settings[:one]).to eq("other")
566
- end
567
-
568
- it "setting a value to nil causes it to return to its default" do
569
- default_values = { :one => "skipped value" }
570
- [:logdir, :confdir, :codedir, :vardir].each do |key|
571
- default_values[key] = 'default value'
572
- end
573
- @settings.define_settings :main, PuppetSpec::Settings::TEST_APP_DEFAULT_DEFINITIONS
574
- @settings.initialize_app_defaults(default_values)
575
- @settings[:one] = "value will disappear"
576
-
577
- @settings[:one] = nil
578
-
579
- expect(@settings[:one]).to eq("ONE")
580
- end
581
-
582
- it "should interpolate default values for other parameters into returned parameter values" do
583
- expect(@settings[:one]).to eq("ONE")
584
- expect(@settings[:two]).to eq("ONE TWO")
585
- expect(@settings[:three]).to eq("ONE ONE TWO THREE")
586
- end
587
-
588
- it "should interpolate default values that themselves need to be interpolated" do
589
- expect(@settings[:four]).to eq("ONE TWO ONE ONE TWO THREE FOUR")
590
- end
591
-
592
- it "should provide a method for returning uninterpolated values" do
593
- @settings[:two] = "$one tw0"
594
- expect(@settings.value(:two, nil, true)).to eq("$one tw0")
595
- expect(@settings.value(:four, nil, true)).to eq("$two $three FOUR")
596
- end
597
-
598
- it "should interpolate set values for other parameters into returned parameter values" do
599
- @settings[:one] = "on3"
600
- @settings[:two] = "$one tw0"
601
- @settings[:three] = "$one $two thr33"
602
- @settings[:four] = "$one $two $three f0ur"
603
- expect(@settings[:one]).to eq("on3")
604
- expect(@settings[:two]).to eq("on3 tw0")
605
- expect(@settings[:three]).to eq("on3 on3 tw0 thr33")
606
- expect(@settings[:four]).to eq("on3 on3 tw0 on3 on3 tw0 thr33 f0ur")
607
- end
608
-
609
- it "should not cache interpolated values such that stale information is returned" do
610
- expect(@settings[:two]).to eq("ONE TWO")
611
- @settings[:one] = "one"
612
- expect(@settings[:two]).to eq("one TWO")
613
- end
614
-
615
- it "should not interpolate the value of the :code setting" do
616
- @code = @settings.setting(:code)
617
- @code.expects(:munge).never
618
-
619
- expect(@settings[:code]).to eq("")
620
- end
621
-
622
- it "should have a run_mode that defaults to user" do
623
- expect(@settings.preferred_run_mode).to eq(:user)
624
- end
625
-
626
- it "interpolates a boolean false without raising an error" do
627
- @settings.define_settings(:section,
628
- :trip_wire => { :type => :boolean, :default => false, :desc => "a trip wire" },
629
- :tripping => { :default => '$trip_wire', :desc => "once tripped if interpolated was false" })
630
- expect(@settings[:tripping]).to eq("false")
631
- end
632
- end
633
-
634
- describe "when choosing which value to return" do
635
- before do
636
- @settings = Puppet::Settings.new
637
- @settings.define_settings :section,
638
- :config => { :type => :file, :default => "/my/file", :desc => "a" },
639
- :one => { :default => "ONE", :desc => "a" },
640
- :two => { :default => "TWO", :desc => "b" }
641
- Puppet::FileSystem.stubs(:exist?).returns true
642
- @settings.preferred_run_mode = :agent
643
- end
644
-
645
- it "should return default values if no values have been set" do
646
- expect(@settings[:one]).to eq("ONE")
647
- end
648
-
649
- it "should return values set on the cli before values set in the configuration file" do
650
- text = "[main]\none = fileval\n"
651
- @settings.stubs(:read_file).returns(text)
652
- @settings.handlearg("--one", "clival")
653
- @settings.send(:parse_config_files)
654
-
655
- expect(@settings[:one]).to eq("clival")
656
- end
657
-
658
- it "should return values set in the mode-specific section before values set in the main section" do
659
- text = "[main]\none = mainval\n[agent]\none = modeval\n"
660
- @settings.stubs(:read_file).returns(text)
661
- @settings.send(:parse_config_files)
662
-
663
- expect(@settings[:one]).to eq("modeval")
664
- end
665
-
666
- it "should not return values outside of its search path" do
667
- text = "[other]\none = oval\n"
668
- @settings.stubs(:read_file).returns(text)
669
- @settings.send(:parse_config_files)
670
- expect(@settings[:one]).to eq("ONE")
671
- end
672
-
673
- it 'should use the current environment for $environment' do
674
- @settings.define_settings :main, :config_version => { :default => "$environment/foo", :desc => "mydocs" }
675
-
676
- expect(@settings.value(:config_version, "myenv")).to eq("myenv/foo")
677
- end
678
- end
679
-
680
- describe "when locating config files" do
681
- before do
682
- @settings = Puppet::Settings.new
683
- end
684
-
685
- describe "when root" do
686
- it "should look for the main config file default location config settings haven't been overridden'" do
687
- Puppet.features.stubs(:root?).returns(true)
688
- Puppet::FileSystem.expects(:exist?).with(main_config_file_default_location).returns(false)
689
- Puppet::FileSystem.expects(:exist?).with(user_config_file_default_location).never
690
-
691
- @settings.send(:parse_config_files)
692
- end
693
- end
694
-
695
- describe "when not root" do
696
- it "should look for user config file default location if config settings haven't been overridden'" do
697
- Puppet.features.stubs(:root?).returns(false)
698
-
699
- seq = sequence "load config files"
700
- Puppet::FileSystem.expects(:exist?).with(user_config_file_default_location).returns(false).in_sequence(seq)
701
-
702
- @settings.send(:parse_config_files)
703
- end
704
- end
705
- end
706
-
707
- describe "when parsing its configuration" do
708
- before do
709
- @settings = Puppet::Settings.new
710
- @settings.stubs(:service_user_available?).returns true
711
- @settings.stubs(:service_group_available?).returns true
712
- @file = make_absolute("/some/file")
713
- @userconfig = make_absolute("/test/userconfigfile")
714
- @settings.define_settings :section, :user => { :default => "suser", :desc => "doc" }, :group => { :default => "sgroup", :desc => "doc" }
715
- @settings.define_settings :section,
716
- :config => { :type => :file, :default => @file, :desc => "eh" },
717
- :one => { :default => "ONE", :desc => "a" },
718
- :two => { :default => "$one TWO", :desc => "b" },
719
- :three => { :default => "$one $two THREE", :desc => "c" }
720
- @settings.stubs(:user_config_file).returns(@userconfig)
721
- Puppet::FileSystem.stubs(:exist?).with(@file).returns true
722
- Puppet::FileSystem.stubs(:exist?).with(@userconfig).returns false
723
- end
724
-
725
- it "should not ignore the report setting" do
726
- @settings.define_settings :section, :report => { :default => "false", :desc => "a" }
727
- # This is needed in order to make sure we pass on windows
728
- myfile = File.expand_path(@file)
729
- @settings[:config] = myfile
730
- text = <<-CONF
731
- [puppetd]
732
- report=true
733
- CONF
734
- Puppet::FileSystem.expects(:exist?).with(myfile).returns(true)
735
- @settings.expects(:read_file).returns(text)
736
- @settings.send(:parse_config_files)
737
- expect(@settings[:report]).to be_truthy
738
- end
739
-
740
- it "should use its current ':config' value for the file to parse" do
741
- myfile = make_absolute("/my/file") # do not stub expand_path here, as this leads to a stack overflow, when mocha tries to use it
742
- @settings[:config] = myfile
743
-
744
- Puppet::FileSystem.expects(:exist?).with(myfile).returns(true)
745
-
746
- Puppet::FileSystem.expects(:read).with(myfile, :encoding => 'utf-8').returns "[main]"
747
-
748
- @settings.send(:parse_config_files)
749
- end
750
-
751
- it "should not try to parse non-existent files" do
752
- Puppet::FileSystem.expects(:exist?).with(@file).returns false
753
-
754
- File.expects(:read).with(@file).never
755
-
756
- @settings.send(:parse_config_files)
757
- end
758
-
759
- it "should return values set in the configuration file" do
760
- text = "[main]
761
- one = fileval
762
- "
763
- @settings.expects(:read_file).returns(text)
764
- @settings.send(:parse_config_files)
765
- expect(@settings[:one]).to eq("fileval")
766
- end
767
-
768
- #484 - this should probably be in the regression area
769
- it "should not throw an exception on unknown parameters" do
770
- text = "[main]\nnosuchparam = mval\n"
771
- @settings.expects(:read_file).returns(text)
772
- expect { @settings.send(:parse_config_files) }.not_to raise_error
773
- end
774
-
775
- it "should convert booleans in the configuration file into Ruby booleans" do
776
- text = "[main]
777
- one = true
778
- two = false
779
- "
780
- @settings.expects(:read_file).returns(text)
781
- @settings.send(:parse_config_files)
782
- expect(@settings[:one]).to eq(true)
783
- expect(@settings[:two]).to eq(false)
784
- end
785
-
786
- it "should convert integers in the configuration file into Ruby Integers" do
787
- text = "[main]
788
- one = 65
789
- "
790
- @settings.expects(:read_file).returns(text)
791
- @settings.send(:parse_config_files)
792
- expect(@settings[:one]).to eq(65)
793
- end
794
-
795
- it "should support specifying all metadata (owner, group, mode) in the configuration file" do
796
- @settings.define_settings :section, :myfile => { :type => :file, :default => make_absolute("/myfile"), :desc => "a" }
797
-
798
- otherfile = make_absolute("/other/file")
799
- @settings.parse_config(<<-CONF)
800
- [main]
801
- myfile = #{otherfile} {owner = service, group = service, mode = 644}
802
- CONF
803
-
804
- expect(@settings[:myfile]).to eq(otherfile)
805
- expect(metadata(@settings.setting(:myfile))).to eq({:owner => "suser", :group => "sgroup", :mode => "644"})
806
- end
807
-
808
- it "should support specifying a single piece of metadata (owner, group, or mode) in the configuration file" do
809
- @settings.define_settings :section, :myfile => { :type => :file, :default => make_absolute("/myfile"), :desc => "a" }
810
-
811
- otherfile = make_absolute("/other/file")
812
- @settings.parse_config(<<-CONF)
813
- [main]
814
- myfile = #{otherfile} {owner = service}
815
- CONF
816
-
817
- expect(@settings[:myfile]).to eq(otherfile)
818
- expect(metadata(@settings.setting(:myfile))).to eq({:owner => "suser"})
819
- end
820
-
821
- it "should support loading metadata (owner, group, or mode) from a run_mode section in the configuration file" do
822
- default_values = {}
823
- PuppetSpec::Settings::TEST_APP_DEFAULT_DEFINITIONS.keys.each do |key|
824
- default_values[key] = 'default value'
825
- end
826
- @settings.define_settings :main, PuppetSpec::Settings::TEST_APP_DEFAULT_DEFINITIONS
827
- @settings.define_settings :master, :myfile => { :type => :file, :default => make_absolute("/myfile"), :desc => "a" }
828
-
829
- otherfile = make_absolute("/other/file")
830
- text = "[master]
831
- myfile = #{otherfile} {mode = 664}
832
- "
833
- @settings.expects(:read_file).returns(text)
834
-
835
- # will start initialization as user
836
- expect(@settings.preferred_run_mode).to eq(:user)
837
- @settings.send(:parse_config_files)
838
-
839
- # change app run_mode to master
840
- @settings.initialize_app_defaults(default_values.merge(:run_mode => :master))
841
- expect(@settings.preferred_run_mode).to eq(:master)
842
-
843
- # initializing the app should have reloaded the metadata based on run_mode
844
- expect(@settings[:myfile]).to eq(otherfile)
845
- expect(metadata(@settings.setting(:myfile))).to eq({:mode => "664"})
846
- end
847
-
848
- it "does not use the metadata from the same setting in a different section" do
849
- default_values = {}
850
- PuppetSpec::Settings::TEST_APP_DEFAULT_DEFINITIONS.keys.each do |key|
851
- default_values[key] = 'default value'
852
- end
853
-
854
- file = make_absolute("/file")
855
- default_mode = "0600"
856
- @settings.define_settings :main, PuppetSpec::Settings::TEST_APP_DEFAULT_DEFINITIONS
857
- @settings.define_settings :master, :myfile => { :type => :file, :default => file, :desc => "a", :mode => default_mode }
858
-
859
- text = "[master]
860
- myfile = #{file}/foo
861
- [agent]
862
- myfile = #{file} {mode = 664}
863
- "
864
- @settings.expects(:read_file).returns(text)
865
-
866
- # will start initialization as user
867
- expect(@settings.preferred_run_mode).to eq(:user)
868
- @settings.send(:parse_config_files)
869
-
870
- # change app run_mode to master
871
- @settings.initialize_app_defaults(default_values.merge(:run_mode => :master))
872
- expect(@settings.preferred_run_mode).to eq(:master)
873
-
874
- # initializing the app should have reloaded the metadata based on run_mode
875
- expect(@settings[:myfile]).to eq("#{file}/foo")
876
- expect(metadata(@settings.setting(:myfile))).to eq({ :mode => default_mode })
877
- end
878
-
879
- it "should call hooks associated with values set in the configuration file" do
880
- values = []
881
- @settings.define_settings :section, :mysetting => {:default => "defval", :desc => "a", :hook => proc { |v| values << v }}
882
-
883
- text = "[main]
884
- mysetting = setval
885
- "
886
- @settings.expects(:read_file).returns(text)
887
- @settings.send(:parse_config_files)
888
- expect(values).to eq(["setval"])
889
- end
890
-
891
- it "should not call the same hook for values set multiple times in the configuration file" do
892
- values = []
893
- @settings.define_settings :section, :mysetting => {:default => "defval", :desc => "a", :hook => proc { |v| values << v }}
894
-
895
- text = "[user]
896
- mysetting = setval
897
- [main]
898
- mysetting = other
899
- "
900
- @settings.expects(:read_file).returns(text)
901
- @settings.send(:parse_config_files)
902
- expect(values).to eq(["setval"])
903
- end
904
-
905
- it "should pass the interpolated value to the hook when one is available" do
906
- values = []
907
- @settings.define_settings :section, :base => {:default => "yay", :desc => "a", :hook => proc { |v| values << v }}
908
- @settings.define_settings :section, :mysetting => {:default => "defval", :desc => "a", :hook => proc { |v| values << v }}
909
-
910
- text = "[main]
911
- mysetting = $base/setval
912
- "
913
- @settings.expects(:read_file).returns(text)
914
- @settings.send(:parse_config_files)
915
- expect(values).to eq(["yay/setval"])
916
- end
917
-
918
- it "should allow hooks invoked at parse time to be deferred" do
919
- hook_invoked = false
920
- @settings.define_settings :section, :deferred => {:desc => '',
921
- :hook => proc { |v| hook_invoked = true },
922
- :call_hook => :on_initialize_and_write, }
923
-
924
- @settings.define_settings(:main,
925
- :logdir => { :type => :directory, :default => nil, :desc => "logdir" },
926
- :confdir => { :type => :directory, :default => nil, :desc => "confdir" },
927
- :codedir => { :type => :directory, :default => nil, :desc => "codedir" },
928
- :vardir => { :type => :directory, :default => nil, :desc => "vardir" })
929
-
930
- text = <<-EOD
931
- [main]
932
- deferred=$confdir/goose
933
- EOD
934
-
935
- @settings.stubs(:read_file).returns(text)
936
- @settings.initialize_global_settings
937
-
938
- expect(hook_invoked).to be_falsey
939
-
940
- @settings.initialize_app_defaults(:logdir => '/path/to/logdir', :confdir => '/path/to/confdir', :vardir => '/path/to/vardir', :codedir => '/path/to/codedir')
941
-
942
- expect(hook_invoked).to be_truthy
943
- expect(@settings[:deferred]).to eq(File.expand_path('/path/to/confdir/goose'))
944
- end
945
-
946
- it "does not require the value for a setting without a hook to resolve during global setup" do
947
- @settings.define_settings :section, :can_cause_problems => {:desc => '' }
948
-
949
- @settings.define_settings(:main,
950
- :logdir => { :type => :directory, :default => nil, :desc => "logdir" },
951
- :confdir => { :type => :directory, :default => nil, :desc => "confdir" },
952
- :codedir => { :type => :directory, :default => nil, :desc => "codedir" },
953
- :vardir => { :type => :directory, :default => nil, :desc => "vardir" })
954
-
955
- text = <<-EOD
956
- [main]
957
- can_cause_problems=$confdir/goose
958
- EOD
959
-
960
- @settings.stubs(:read_file).returns(text)
961
- @settings.initialize_global_settings
962
- @settings.initialize_app_defaults(:logdir => '/path/to/logdir', :confdir => '/path/to/confdir', :vardir => '/path/to/vardir', :codedir => '/path/to/codedir')
963
-
964
- expect(@settings[:can_cause_problems]).to eq(File.expand_path('/path/to/confdir/goose'))
965
- end
966
-
967
- it "should allow empty values" do
968
- @settings.define_settings :section, :myarg => { :default => "myfile", :desc => "a" }
969
-
970
- text = "[main]
971
- myarg =
972
- "
973
- @settings.stubs(:read_file).returns(text)
974
- @settings.send(:parse_config_files)
975
- expect(@settings[:myarg]).to eq("")
976
- end
977
-
978
- describe "deprecations" do
979
- let(:settings) { Puppet::Settings.new }
980
- let(:app_defaults) {
981
- {
982
- :logdir => "/dev/null",
983
- :confdir => "/dev/null",
984
- :codedir => "/dev/null",
985
- :vardir => "/dev/null",
986
- }
987
- }
988
-
989
- def assert_accessing_setting_is_deprecated(settings, setting)
990
- Puppet.expects(:deprecation_warning).with("Accessing '#{setting}' as a setting is deprecated.")
991
- Puppet.expects(:deprecation_warning).with("Modifying '#{setting}' as a setting is deprecated.")
992
- settings[setting.intern] = apath = File.expand_path('foo')
993
- expect(settings[setting.intern]).to eq(apath)
994
- end
995
-
996
- before(:each) do
997
- settings.define_settings(:main, {
998
- :logdir => { :default => 'a', :desc => 'a' },
999
- :confdir => { :default => 'b', :desc => 'b' },
1000
- :vardir => { :default => 'c', :desc => 'c' },
1001
- :codedir => { :default => 'd', :desc => 'd' },
1002
- })
1003
- end
1004
-
1005
- context "complete" do
1006
- let(:completely_deprecated_settings) do
1007
- settings.define_settings(:main, {
1008
- :completely_deprecated_setting => {
1009
- :default => 'foo',
1010
- :desc => 'a deprecated setting',
1011
- :deprecated => :completely,
1012
- }
1013
- })
1014
- settings
1015
- end
1016
-
1017
- it "warns when set in puppet.conf" do
1018
- Puppet.expects(:deprecation_warning).with(regexp_matches(/completely_deprecated_setting is deprecated\./), 'setting-completely_deprecated_setting')
1019
-
1020
- completely_deprecated_settings.parse_config(<<-CONF)
1021
- completely_deprecated_setting='should warn'
1022
- CONF
1023
- completely_deprecated_settings.initialize_app_defaults(app_defaults)
1024
- end
1025
-
1026
- it "warns when set on the commandline" do
1027
- Puppet.expects(:deprecation_warning).with(regexp_matches(/completely_deprecated_setting is deprecated\./), 'setting-completely_deprecated_setting')
1028
-
1029
- args = ["--completely_deprecated_setting", "/some/value"]
1030
- completely_deprecated_settings.send(:parse_global_options, args)
1031
- completely_deprecated_settings.initialize_app_defaults(app_defaults)
1032
- end
1033
-
1034
- it "warns when set in code" do
1035
- assert_accessing_setting_is_deprecated(completely_deprecated_settings, 'completely_deprecated_setting')
1036
- end
1037
- end
1038
-
1039
- context "partial" do
1040
- let(:partially_deprecated_settings) do
1041
- settings.define_settings(:main, {
1042
- :partially_deprecated_setting => {
1043
- :default => 'foo',
1044
- :desc => 'a partially deprecated setting',
1045
- :deprecated => :allowed_on_commandline,
1046
- }
1047
- })
1048
- settings
1049
- end
1050
-
1051
- it "warns for a deprecated setting allowed on the command line set in puppet.conf" do
1052
- Puppet.expects(:deprecation_warning).with(regexp_matches(/partially_deprecated_setting is deprecated in puppet\.conf/), 'puppet-conf-setting-partially_deprecated_setting')
1053
- partially_deprecated_settings.parse_config(<<-CONF)
1054
- partially_deprecated_setting='should warn'
1055
- CONF
1056
- partially_deprecated_settings.initialize_app_defaults(app_defaults)
1057
- end
1058
-
1059
- it "does not warn when manifest is set on command line" do
1060
- Puppet.expects(:deprecation_warning).never
1061
-
1062
- args = ["--partially_deprecated_setting", "/some/value"]
1063
- partially_deprecated_settings.send(:parse_global_options, args)
1064
- partially_deprecated_settings.initialize_app_defaults(app_defaults)
1065
- end
1066
-
1067
- it "warns when set in code" do
1068
- assert_accessing_setting_is_deprecated(partially_deprecated_settings, 'partially_deprecated_setting')
1069
- end
1070
- end
1071
- end
1072
- end
1073
-
1074
- describe "when there are multiple config files" do
1075
- let(:main_config_text) { "[main]\none = main\ntwo = main2" }
1076
- let(:user_config_text) { "[main]\none = user\n" }
1077
- let(:seq) { sequence "config_file_sequence" }
1078
-
1079
- before :each do
1080
- @settings = Puppet::Settings.new
1081
- @settings.define_settings(:section,
1082
- { :confdir => { :default => nil, :desc => "Conf dir" },
1083
- :config => { :default => "$confdir/puppet.conf", :desc => "Config" },
1084
- :one => { :default => "ONE", :desc => "a" },
1085
- :two => { :default => "TWO", :desc => "b" }, })
1086
- end
1087
-
1088
- context "running non-root without explicit config file" do
1089
- before :each do
1090
- Puppet.features.stubs(:root?).returns(false)
1091
- Puppet::FileSystem.expects(:exist?).
1092
- with(user_config_file_default_location).
1093
- returns(true).in_sequence(seq)
1094
- @settings.expects(:read_file).
1095
- with(user_config_file_default_location).
1096
- returns(user_config_text).in_sequence(seq)
1097
- end
1098
-
1099
- it "should return values from the user config file" do
1100
- @settings.send(:parse_config_files)
1101
- expect(@settings[:one]).to eq("user")
1102
- end
1103
-
1104
- it "should not return values from the main config file" do
1105
- @settings.send(:parse_config_files)
1106
- expect(@settings[:two]).to eq("TWO")
1107
- end
1108
- end
1109
-
1110
- context "running as root without explicit config file" do
1111
- before :each do
1112
- Puppet.features.stubs(:root?).returns(true)
1113
- Puppet::FileSystem.expects(:exist?).
1114
- with(main_config_file_default_location).
1115
- returns(true).in_sequence(seq)
1116
- @settings.expects(:read_file).
1117
- with(main_config_file_default_location).
1118
- returns(main_config_text).in_sequence(seq)
1119
- end
1120
-
1121
- it "should return values from the main config file" do
1122
- @settings.send(:parse_config_files)
1123
- expect(@settings[:one]).to eq("main")
1124
- end
1125
-
1126
- it "should not return values from the user config file" do
1127
- @settings.send(:parse_config_files)
1128
- expect(@settings[:two]).to eq("main2")
1129
- end
1130
- end
1131
-
1132
- context "running with an explicit config file as a user (e.g. Apache + Passenger)" do
1133
- before :each do
1134
- Puppet.features.stubs(:root?).returns(false)
1135
- @settings[:confdir] = File.dirname(main_config_file_default_location)
1136
- Puppet::FileSystem.expects(:exist?).
1137
- with(main_config_file_default_location).
1138
- returns(true).in_sequence(seq)
1139
- @settings.expects(:read_file).
1140
- with(main_config_file_default_location).
1141
- returns(main_config_text).in_sequence(seq)
1142
- end
1143
-
1144
- it "should return values from the main config file" do
1145
- @settings.send(:parse_config_files)
1146
- expect(@settings[:one]).to eq("main")
1147
- end
1148
-
1149
- it "should not return values from the user config file" do
1150
- @settings.send(:parse_config_files)
1151
- expect(@settings[:two]).to eq("main2")
1152
- end
1153
- end
1154
- end
1155
-
1156
- describe "when reparsing its configuration" do
1157
- before do
1158
- @file = make_absolute("/test/file")
1159
- @userconfig = make_absolute("/test/userconfigfile")
1160
- @settings = Puppet::Settings.new
1161
- @settings.define_settings :section,
1162
- :config => { :type => :file, :default => @file, :desc => "a" },
1163
- :one => { :default => "ONE", :desc => "a" },
1164
- :two => { :default => "$one TWO", :desc => "b" },
1165
- :three => { :default => "$one $two THREE", :desc => "c" }
1166
- Puppet::FileSystem.stubs(:exist?).with(@file).returns true
1167
- Puppet::FileSystem.stubs(:exist?).with(@userconfig).returns false
1168
- @settings.stubs(:user_config_file).returns(@userconfig)
1169
- end
1170
-
1171
- it "does not create the WatchedFile instance and should not parse if the file does not exist" do
1172
- Puppet::FileSystem.expects(:exist?).with(@file).returns false
1173
- Puppet::Util::WatchedFile.expects(:new).never
1174
-
1175
- @settings.expects(:parse_config_files).never
1176
-
1177
- @settings.reparse_config_files
1178
- end
1179
-
1180
- context "and watched file exists" do
1181
- before do
1182
- @watched_file = Puppet::Util::WatchedFile.new(@file)
1183
- Puppet::Util::WatchedFile.expects(:new).with(@file).returns @watched_file
1184
- end
1185
-
1186
- it "uses a WatchedFile instance to determine if the file has changed" do
1187
- @watched_file.expects(:changed?)
1188
-
1189
- @settings.reparse_config_files
1190
- end
1191
-
1192
- it "does not reparse if the file has not changed" do
1193
- @watched_file.expects(:changed?).returns false
1194
-
1195
- @settings.expects(:parse_config_files).never
1196
-
1197
- @settings.reparse_config_files
1198
- end
1199
-
1200
- it "reparses if the file has changed" do
1201
- @watched_file.expects(:changed?).returns true
1202
-
1203
- @settings.expects(:parse_config_files)
1204
-
1205
- @settings.reparse_config_files
1206
- end
1207
-
1208
- it "replaces in-memory values with on-file values" do
1209
- @watched_file.stubs(:changed?).returns(true)
1210
- @settings[:one] = "init"
1211
-
1212
- # Now replace the value
1213
- text = "[main]\none = disk-replace\n"
1214
- @settings.stubs(:read_file).returns(text)
1215
- @settings.reparse_config_files
1216
- expect(@settings[:one]).to eq("disk-replace")
1217
- end
1218
- end
1219
-
1220
- it "should retain parameters set by cli when configuration files are reparsed" do
1221
- @settings.handlearg("--one", "clival")
1222
-
1223
- text = "[main]\none = on-disk\n"
1224
- @settings.stubs(:read_file).returns(text)
1225
- @settings.send(:parse_config_files)
1226
-
1227
- expect(@settings[:one]).to eq("clival")
1228
- end
1229
-
1230
- it "should remove in-memory values that are no longer set in the file" do
1231
- # Init the value
1232
- text = "[main]\none = disk-init\n"
1233
- @settings.expects(:read_file).returns(text)
1234
- @settings.send(:parse_config_files)
1235
- expect(@settings[:one]).to eq("disk-init")
1236
-
1237
- # Now replace the value
1238
- text = "[main]\ntwo = disk-replace\n"
1239
- @settings.expects(:read_file).returns(text)
1240
- @settings.send(:parse_config_files)
1241
-
1242
- # The originally-overridden value should be replaced with the default
1243
- expect(@settings[:one]).to eq("ONE")
1244
-
1245
- # and we should now have the new value in memory
1246
- expect(@settings[:two]).to eq("disk-replace")
1247
- end
1248
-
1249
- it "should retain in-memory values if the file has a syntax error" do
1250
- # Init the value
1251
- text = "[main]\none = initial-value\n"
1252
- @settings.expects(:read_file).with(@file).returns(text)
1253
- @settings.send(:parse_config_files)
1254
- expect(@settings[:one]).to eq("initial-value")
1255
-
1256
- # Now replace the value with something bogus
1257
- text = "[main]\nkenny = killed-by-what-follows\n1 is 2, blah blah florp\n"
1258
- @settings.expects(:read_file).with(@file).returns(text)
1259
- @settings.send(:parse_config_files)
1260
-
1261
- # The originally-overridden value should not be replaced with the default
1262
- expect(@settings[:one]).to eq("initial-value")
1263
-
1264
- # and we should not have the new value in memory
1265
- expect(@settings[:kenny]).to be_nil
1266
- end
1267
- end
1268
-
1269
- it "should provide a method for creating a catalog of resources from its configuration" do
1270
- expect(Puppet::Settings.new).to respond_to(:to_catalog)
1271
- end
1272
-
1273
- describe "when creating a catalog" do
1274
- before do
1275
- @settings = Puppet::Settings.new
1276
- @settings.stubs(:service_user_available?).returns true
1277
- @prefix = Puppet.features.posix? ? "" : "C:"
1278
- end
1279
-
1280
- it "should add all file resources to the catalog if no sections have been specified" do
1281
- @settings.define_settings :main,
1282
- :maindir => { :type => :directory, :default => @prefix+"/maindir", :desc => "a"},
1283
- :seconddir => { :type => :directory, :default => @prefix+"/seconddir", :desc => "a"}
1284
- @settings.define_settings :other,
1285
- :otherdir => { :type => :directory, :default => @prefix+"/otherdir", :desc => "a" }
1286
-
1287
- catalog = @settings.to_catalog
1288
-
1289
- [@prefix+"/maindir", @prefix+"/seconddir", @prefix+"/otherdir"].each do |path|
1290
- expect(catalog.resource(:file, path)).to be_instance_of(Puppet::Resource)
1291
- end
1292
- end
1293
-
1294
- it "should add only files in the specified sections if section names are provided" do
1295
- @settings.define_settings :main, :maindir => { :type => :directory, :default => @prefix+"/maindir", :desc => "a" }
1296
- @settings.define_settings :other, :otherdir => { :type => :directory, :default => @prefix+"/otherdir", :desc => "a" }
1297
- catalog = @settings.to_catalog(:main)
1298
- expect(catalog.resource(:file, @prefix+"/otherdir")).to be_nil
1299
- expect(catalog.resource(:file, @prefix+"/maindir")).to be_instance_of(Puppet::Resource)
1300
- end
1301
-
1302
- it "should not try to add the same file twice" do
1303
- @settings.define_settings :main, :maindir => { :type => :directory, :default => @prefix+"/maindir", :desc => "a" }
1304
- @settings.define_settings :other, :otherdir => { :type => :directory, :default => @prefix+"/maindir", :desc => "a" }
1305
- expect { @settings.to_catalog }.not_to raise_error
1306
- end
1307
-
1308
- it "should ignore files whose :to_resource method returns nil" do
1309
- @settings.define_settings :main, :maindir => { :type => :directory, :default => @prefix+"/maindir", :desc => "a" }
1310
- @settings.setting(:maindir).expects(:to_resource).returns nil
1311
-
1312
- Puppet::Resource::Catalog.any_instance.expects(:add_resource).never
1313
- @settings.to_catalog
1314
- end
1315
-
1316
- describe "on Microsoft Windows", :if => Puppet::Util::Platform.windows? do
1317
- before :each do
1318
- Puppet.features.stubs(:root?).returns true
1319
-
1320
- @settings.define_settings :foo,
1321
- :mkusers => { :type => :boolean, :default => true, :desc => "e" },
1322
- :user => { :default => "suser", :desc => "doc" },
1323
- :group => { :default => "sgroup", :desc => "doc" }
1324
- @settings.define_settings :other,
1325
- :otherdir => { :type => :directory, :default => "/otherdir", :desc => "a", :owner => "service", :group => "service"}
1326
-
1327
- @catalog = @settings.to_catalog
1328
- end
1329
-
1330
- it "it should not add users and groups to the catalog" do
1331
- expect(@catalog.resource(:user, "suser")).to be_nil
1332
- expect(@catalog.resource(:group, "sgroup")).to be_nil
1333
- end
1334
- end
1335
-
1336
- describe "adding default directory environment to the catalog" do
1337
- let(:tmpenv) { tmpdir("envs") }
1338
- let(:default_path) { "#{tmpenv}/environments" }
1339
- before(:each) do
1340
- @settings.define_settings :main,
1341
- :environment => { :default => "production", :desc => "env"},
1342
- :environmentpath => { :type => :path, :default => default_path, :desc => "envpath"}
1343
- end
1344
-
1345
- it "adds if environmentpath exists" do
1346
- envpath = "#{tmpenv}/custom_envpath"
1347
- @settings[:environmentpath] = envpath
1348
- Dir.mkdir(envpath)
1349
- catalog = @settings.to_catalog
1350
- expect(catalog.resource_keys).to include(["File", "#{envpath}/production"])
1351
- end
1352
-
1353
- it "adds the first directory of environmentpath" do
1354
- envdir = "#{tmpenv}/custom_envpath"
1355
- envpath = "#{envdir}#{File::PATH_SEPARATOR}/some/other/envdir"
1356
- @settings[:environmentpath] = envpath
1357
- Dir.mkdir(envdir)
1358
- catalog = @settings.to_catalog
1359
- expect(catalog.resource_keys).to include(["File", "#{envdir}/production"])
1360
- end
1361
-
1362
- it 'adds the creation of the production directory when not run as root' do
1363
- envdir = "#{tmpenv}/custom_envpath"
1364
- envpath = "#{envdir}#{File::PATH_SEPARATOR}/some/other/envdir"
1365
- @settings[:environmentpath] = envpath
1366
- Dir.mkdir(envdir)
1367
- Puppet.features.stubs(:root?).returns false
1368
- catalog = @settings.to_catalog
1369
- resource = catalog.resource('File', File.join(envdir, 'production'))
1370
- expect(resource[:mode]).to eq('0750')
1371
- expect(resource[:owner]).to be_nil
1372
- expect(resource[:group]).to be_nil
1373
- end
1374
-
1375
- it 'adds the creation of the production directory with service owner and group information when available' do
1376
- envdir = "#{tmpenv}/custom_envpath"
1377
- envpath = "#{envdir}#{File::PATH_SEPARATOR}/some/other/envdir"
1378
- @settings[:environmentpath] = envpath
1379
- Dir.mkdir(envdir)
1380
- Puppet.features.stubs(:root?).returns true
1381
- @settings.stubs(:service_user_available?).returns true
1382
- @settings.stubs(:service_group_available?).returns true
1383
- catalog = @settings.to_catalog
1384
- resource = catalog.resource('File', File.join(envdir, 'production'))
1385
- expect(resource[:mode]).to eq('0750')
1386
- expect(resource[:owner]).to eq('puppet')
1387
- expect(resource[:group]).to eq('puppet')
1388
- end
1389
-
1390
- it 'adds the creation of the production directory without service owner and group when not available' do
1391
- envdir = "#{tmpenv}/custom_envpath"
1392
- envpath = "#{envdir}#{File::PATH_SEPARATOR}/some/other/envdir"
1393
- @settings[:environmentpath] = envpath
1394
- Dir.mkdir(envdir)
1395
- Puppet.features.stubs(:root?).returns true
1396
- @settings.stubs(:service_user_available?).returns false
1397
- @settings.stubs(:service_group_available?).returns false
1398
- catalog = @settings.to_catalog
1399
- resource = catalog.resource('File', File.join(envdir, 'production'))
1400
- expect(resource[:mode]).to eq('0750')
1401
- expect(resource[:owner]).to be_nil
1402
- expect(resource[:group]).to be_nil
1403
- end
1404
-
1405
- it "handles a non-existent environmentpath" do
1406
- catalog = @settings.to_catalog
1407
- expect(catalog.resource_keys).to be_empty
1408
- end
1409
-
1410
- it "handles a default environmentpath" do
1411
- Dir.mkdir(default_path)
1412
- catalog = @settings.to_catalog
1413
- expect(catalog.resource_keys).to include(["File", "#{default_path}/production"])
1414
- end
1415
-
1416
- it "does not add if the path to the default directory environment exists as a symlink", :if => Puppet.features.manages_symlinks? do
1417
- Dir.mkdir(default_path)
1418
- Puppet::FileSystem.symlink("#{tmpenv}/nowhere", File.join(default_path, 'production'))
1419
- catalog = @settings.to_catalog
1420
- expect(catalog.resource_keys).to_not include(["File", "#{default_path}/production"])
1421
- end
1422
- end
1423
-
1424
- describe "when adding users and groups to the catalog" do
1425
- before :all do
1426
- # when this spec is run in isolation to build a settings catalog
1427
- # it will not be able to autorequire and load types for the first time
1428
- # on Windows with windows? stubbed to false, because
1429
- # Puppet::Util.path_to_uri is called to generate a URI to load code
1430
- # and it manipulates the path based on OS
1431
- # so instead we forcefully "prime" the cached types
1432
- Puppet::Type.type(:user).new(:name => 'foo')
1433
- Puppet::Type.type(:group).new(:name => 'bar')
1434
- Puppet::Type.type(:file).new(:name => Dir.pwd) # appropriate for OS
1435
- end
1436
-
1437
- before do
1438
- Puppet.features.stubs(:root?).returns true
1439
- # stubbed to false, as Windows catalogs don't add users / groups
1440
- Puppet::Util::Platform.stubs(:windows?).returns false
1441
-
1442
- @settings.define_settings :foo,
1443
- :mkusers => { :type => :boolean, :default => true, :desc => "e" },
1444
- :user => { :default => "suser", :desc => "doc" },
1445
- :group => { :default => "sgroup", :desc => "doc" }
1446
- @settings.define_settings :other, :otherdir => {:type => :directory, :default => "/otherdir", :desc => "a", :owner => "service", :group => "service"}
1447
-
1448
- @catalog = @settings.to_catalog
1449
- end
1450
-
1451
- it "should add each specified user and group to the catalog if :mkusers is a valid setting, is enabled, and we're running as root" do
1452
- expect(@catalog.resource(:user, "suser")).to be_instance_of(Puppet::Resource)
1453
- expect(@catalog.resource(:group, "sgroup")).to be_instance_of(Puppet::Resource)
1454
- end
1455
-
1456
- it "should only add users and groups to the catalog from specified sections" do
1457
- @settings.define_settings :yay, :yaydir => { :type => :directory, :default => "/yaydir", :desc => "a", :owner => "service", :group => "service"}
1458
- catalog = @settings.to_catalog(:other)
1459
- expect(catalog.resource(:user, "jane")).to be_nil
1460
- expect(catalog.resource(:group, "billy")).to be_nil
1461
- end
1462
-
1463
- it "should not add users or groups to the catalog if :mkusers not running as root" do
1464
- Puppet.features.stubs(:root?).returns false
1465
-
1466
- catalog = @settings.to_catalog
1467
- expect(catalog.resource(:user, "suser")).to be_nil
1468
- expect(catalog.resource(:group, "sgroup")).to be_nil
1469
- end
1470
-
1471
- it "should not add users or groups to the catalog if :mkusers is not a valid setting" do
1472
- Puppet.features.stubs(:root?).returns true
1473
- settings = Puppet::Settings.new
1474
- settings.define_settings :other, :otherdir => {:type => :directory, :default => "/otherdir", :desc => "a", :owner => "service", :group => "service"}
1475
-
1476
- catalog = settings.to_catalog
1477
- expect(catalog.resource(:user, "suser")).to be_nil
1478
- expect(catalog.resource(:group, "sgroup")).to be_nil
1479
- end
1480
-
1481
- it "should not add users or groups to the catalog if :mkusers is a valid setting but is disabled" do
1482
- @settings[:mkusers] = false
1483
- @settings.stubs(:service_user_available?).returns(false)
1484
- @settings.stubs(:service_group_available?).returns(false)
1485
-
1486
- catalog = @settings.to_catalog
1487
- expect(catalog.resource(:user, "suser")).to be_nil
1488
- expect(catalog.resource(:group, "sgroup")).to be_nil
1489
- end
1490
-
1491
- it "should not try to add users or groups to the catalog twice" do
1492
- @settings.define_settings :yay, :yaydir => {:type => :directory, :default => "/yaydir", :desc => "a", :owner => "service", :group => "service"}
1493
-
1494
- # This would fail if users/groups were added twice
1495
- expect { @settings.to_catalog }.not_to raise_error
1496
- end
1497
-
1498
- it "should set :ensure to :present on each created user and group" do
1499
- expect(@catalog.resource(:user, "suser")[:ensure]).to eq(:present)
1500
- expect(@catalog.resource(:group, "sgroup")[:ensure]).to eq(:present)
1501
- end
1502
-
1503
- it "should set each created user's :gid to the service group" do
1504
- expect(@settings.to_catalog.resource(:user, "suser")[:gid]).to eq("sgroup")
1505
- end
1506
-
1507
- it "should not attempt to manage the root user" do
1508
- Puppet.features.stubs(:root?).returns true
1509
- @settings.define_settings :foo, :foodir => {:type => :directory, :default => "/foodir", :desc => "a", :owner => "root", :group => "service"}
1510
-
1511
- expect(@settings.to_catalog.resource(:user, "root")).to be_nil
1512
- end
1513
- end
1514
- end
1515
-
1516
- it "should be able to be converted to a manifest" do
1517
- expect(Puppet::Settings.new).to respond_to(:to_manifest)
1518
- end
1519
-
1520
- describe "when being converted to a manifest" do
1521
- it "should produce a string with the code for each resource joined by two carriage returns" do
1522
- @settings = Puppet::Settings.new
1523
- @settings.define_settings :main,
1524
- :maindir => { :type => :directory, :default => "/maindir", :desc => "a"},
1525
- :seconddir => { :type => :directory, :default => "/seconddir", :desc => "a"}
1526
-
1527
- main = stub 'main_resource', :ref => "File[/maindir]"
1528
- main.expects(:to_manifest).returns "maindir"
1529
- main.expects(:'[]').with(:alias).returns nil
1530
- second = stub 'second_resource', :ref => "File[/seconddir]"
1531
- second.expects(:to_manifest).returns "seconddir"
1532
- second.expects(:'[]').with(:alias).returns nil
1533
-
1534
- @settings.setting(:maindir).expects(:to_resource).returns main
1535
- @settings.setting(:seconddir).expects(:to_resource).returns second
1536
-
1537
- expect(@settings.to_manifest.split("\n\n").sort).to eq(%w{maindir seconddir})
1538
- end
1539
- end
1540
-
1541
- describe "when using sections of the configuration to manage the local host" do
1542
- before do
1543
- @settings = Puppet::Settings.new
1544
- @settings.stubs(:service_user_available?).returns true
1545
- @settings.stubs(:service_group_available?).returns true
1546
- @settings.define_settings :main, :noop => { :default => false, :desc => "", :type => :boolean }
1547
- @settings.define_settings :main,
1548
- :maindir => { :type => :directory, :default => make_absolute("/maindir"), :desc => "a" },
1549
- :seconddir => { :type => :directory, :default => make_absolute("/seconddir"), :desc => "a"}
1550
- @settings.define_settings :main, :user => { :default => "suser", :desc => "doc" }, :group => { :default => "sgroup", :desc => "doc" }
1551
- @settings.define_settings :other, :otherdir => {:type => :directory, :default => make_absolute("/otherdir"), :desc => "a", :owner => "service", :group => "service", :mode => '0755'}
1552
- @settings.define_settings :third, :thirddir => { :type => :directory, :default => make_absolute("/thirddir"), :desc => "b"}
1553
- @settings.define_settings :files, :myfile => {:type => :file, :default => make_absolute("/myfile"), :desc => "a", :mode => '0755'}
1554
- end
1555
-
1556
- it "should create a catalog with the specified sections" do
1557
- @settings.expects(:to_catalog).with(:main, :other).returns Puppet::Resource::Catalog.new("foo")
1558
- @settings.use(:main, :other)
1559
- end
1560
-
1561
- it "should canonicalize the sections" do
1562
- @settings.expects(:to_catalog).with(:main, :other).returns Puppet::Resource::Catalog.new("foo")
1563
- @settings.use("main", "other")
1564
- end
1565
-
1566
- it "should ignore sections that have already been used" do
1567
- @settings.expects(:to_catalog).with(:main).returns Puppet::Resource::Catalog.new("foo")
1568
- @settings.use(:main)
1569
- @settings.expects(:to_catalog).with(:other).returns Puppet::Resource::Catalog.new("foo")
1570
- @settings.use(:main, :other)
1571
- end
1572
-
1573
- it "should convert the created catalog to a RAL catalog" do
1574
- @catalog = Puppet::Resource::Catalog.new("foo")
1575
- @settings.expects(:to_catalog).with(:main).returns @catalog
1576
-
1577
- @catalog.expects(:to_ral).returns @catalog
1578
- @settings.use(:main)
1579
- end
1580
-
1581
- it "should specify that it is not managing a host catalog" do
1582
- catalog = Puppet::Resource::Catalog.new("foo")
1583
- catalog.expects(:apply)
1584
- @settings.expects(:to_catalog).returns catalog
1585
-
1586
- catalog.stubs(:to_ral).returns catalog
1587
-
1588
- catalog.expects(:host_config=).with false
1589
-
1590
- @settings.use(:main)
1591
- end
1592
-
1593
- it "should support a method for re-using all currently used sections" do
1594
- @settings.expects(:to_catalog).with(:main, :third).times(2).returns Puppet::Resource::Catalog.new("foo")
1595
-
1596
- @settings.use(:main, :third)
1597
- @settings.reuse
1598
- end
1599
-
1600
- it "should fail with an appropriate message if any resources fail" do
1601
- @catalog = Puppet::Resource::Catalog.new("foo")
1602
- @catalog.stubs(:to_ral).returns @catalog
1603
- @settings.expects(:to_catalog).returns @catalog
1604
-
1605
- @trans = mock("transaction")
1606
- @catalog.expects(:apply).yields(@trans)
1607
-
1608
- @trans.expects(:any_failed?).returns(true)
1609
-
1610
- resource = Puppet::Type.type(:notify).new(:title => 'failed')
1611
- status = Puppet::Resource::Status.new(resource)
1612
- event = Puppet::Transaction::Event.new(
1613
- :name => 'failure',
1614
- :status => 'failure',
1615
- :message => 'My failure')
1616
- status.add_event(event)
1617
-
1618
- report = Puppet::Transaction::Report.new('apply')
1619
- report.add_resource_status(status)
1620
-
1621
- @trans.expects(:report).returns report
1622
-
1623
- @settings.expects(:raise).with(includes("My failure"))
1624
- @settings.use(:whatever)
1625
- end
1626
- end
1627
-
1628
- describe "when dealing with printing configs" do
1629
- before do
1630
- @settings = Puppet::Settings.new
1631
- #these are the magic default values
1632
- @settings.stubs(:value).with(:configprint).returns("")
1633
- @settings.stubs(:value).with(:genconfig).returns(false)
1634
- @settings.stubs(:value).with(:genmanifest).returns(false)
1635
- @settings.stubs(:value).with(:environment).returns(nil)
1636
- end
1637
-
1638
- describe "when checking print_config?" do
1639
- it "should return false when the :configprint, :genconfig and :genmanifest are not set" do
1640
- expect(@settings.print_configs?).to be_falsey
1641
- end
1642
-
1643
- it "should return true when :configprint has a value" do
1644
- @settings.stubs(:value).with(:configprint).returns("something")
1645
- expect(@settings.print_configs?).to be_truthy
1646
- end
1647
-
1648
- it "should return true when :genconfig has a value" do
1649
- @settings.stubs(:value).with(:genconfig).returns(true)
1650
- expect(@settings.print_configs?).to be_truthy
1651
- end
1652
-
1653
- it "should return true when :genmanifest has a value" do
1654
- @settings.stubs(:value).with(:genmanifest).returns(true)
1655
- expect(@settings.print_configs?).to be_truthy
1656
- end
1657
- end
1658
-
1659
- describe "when printing configs" do
1660
- describe "when :configprint has a value" do
1661
- it "should call print_config_options" do
1662
- @settings.stubs(:value).with(:configprint).returns("something")
1663
- @settings.expects(:print_config_options)
1664
- @settings.print_configs
1665
- end
1666
-
1667
- it "should get the value of the option using the environment" do
1668
- @settings.stubs(:value).with(:configprint).returns("something")
1669
- @settings.stubs(:include?).with("something").returns(true)
1670
- @settings.expects(:value).with(:environment).returns("env")
1671
- @settings.expects(:value).with("something", "env").returns("foo")
1672
- @settings.stubs(:puts).with("foo")
1673
- @settings.print_configs
1674
- end
1675
-
1676
- it "should print the value of the option" do
1677
- @settings.stubs(:value).with(:configprint).returns("something")
1678
- @settings.stubs(:include?).with("something").returns(true)
1679
- @settings.stubs(:value).with("something", nil).returns("foo")
1680
- @settings.expects(:puts).with("foo")
1681
- @settings.print_configs
1682
- end
1683
-
1684
- it "should print the value pairs if there are multiple options" do
1685
- @settings.stubs(:value).with(:configprint).returns("bar,baz")
1686
- @settings.stubs(:include?).with("bar").returns(true)
1687
- @settings.stubs(:include?).with("baz").returns(true)
1688
- @settings.stubs(:value).with("bar", nil).returns("foo")
1689
- @settings.stubs(:value).with("baz", nil).returns("fud")
1690
- @settings.expects(:puts).with("bar = foo")
1691
- @settings.expects(:puts).with("baz = fud")
1692
- @settings.print_configs
1693
- end
1694
-
1695
- it "should return true after printing" do
1696
- @settings.stubs(:value).with(:configprint).returns("something")
1697
- @settings.stubs(:include?).with("something").returns(true)
1698
- @settings.stubs(:value).with("something", nil).returns("foo")
1699
- @settings.stubs(:puts).with("foo")
1700
- expect(@settings.print_configs).to be_truthy
1701
- end
1702
-
1703
- it "should return false if a config param is not found" do
1704
- @settings.stubs :puts
1705
- @settings.stubs(:value).with(:configprint).returns("something")
1706
- @settings.stubs(:include?).with("something").returns(false)
1707
- expect(@settings.print_configs).to be_falsey
1708
- end
1709
- end
1710
-
1711
- describe "when genconfig is true" do
1712
- before do
1713
- @settings.stubs :puts
1714
- end
1715
-
1716
- it "should call to_config" do
1717
- @settings.stubs(:value).with(:genconfig).returns(true)
1718
- @settings.expects(:to_config)
1719
- @settings.print_configs
1720
- end
1721
-
1722
- it "should return true from print_configs" do
1723
- @settings.stubs(:value).with(:genconfig).returns(true)
1724
- @settings.stubs(:to_config)
1725
- expect(@settings.print_configs).to be_truthy
1726
- end
1727
- end
1728
-
1729
- describe "when genmanifest is true" do
1730
- before do
1731
- @settings.stubs :puts
1732
- end
1733
-
1734
- it "should call to_config" do
1735
- @settings.stubs(:value).with(:genmanifest).returns(true)
1736
- @settings.expects(:to_manifest)
1737
- @settings.print_configs
1738
- end
1739
-
1740
- it "should return true from print_configs" do
1741
- @settings.stubs(:value).with(:genmanifest).returns(true)
1742
- @settings.stubs(:to_manifest)
1743
- expect(@settings.print_configs).to be_truthy
1744
- end
1745
- end
1746
- end
1747
- end
1748
-
1749
- describe "when determining if the service user is available" do
1750
- let(:settings) do
1751
- settings = Puppet::Settings.new
1752
- settings.define_settings :main, :user => { :default => nil, :desc => "doc" }
1753
- settings
1754
- end
1755
-
1756
- def a_user_type_for(username)
1757
- user = mock 'user'
1758
- Puppet::Type.type(:user).expects(:new).with { |args| args[:name] == username }.returns user
1759
- user
1760
- end
1761
-
1762
- it "should return false if there is no user setting" do
1763
- expect(settings).not_to be_service_user_available
1764
- end
1765
-
1766
- it "should return false if the user provider says the user is missing" do
1767
- settings[:user] = "foo"
1768
-
1769
- a_user_type_for("foo").expects(:exists?).returns false
1770
-
1771
- expect(settings).not_to be_service_user_available
1772
- end
1773
-
1774
- it "should return true if the user provider says the user is present" do
1775
- settings[:user] = "foo"
1776
-
1777
- a_user_type_for("foo").expects(:exists?).returns true
1778
-
1779
- expect(settings).to be_service_user_available
1780
- end
1781
-
1782
- it "caches the result of determining if the user is present" do
1783
- settings[:user] = "foo"
1784
-
1785
- a_user_type_for("foo").expects(:exists?).returns true
1786
- expect(settings).to be_service_user_available
1787
-
1788
- expect(settings).to be_service_user_available
1789
- end
1790
- end
1791
-
1792
- describe "when determining if the service group is available" do
1793
- let(:settings) do
1794
- settings = Puppet::Settings.new
1795
- settings.define_settings :main, :group => { :default => nil, :desc => "doc" }
1796
- settings
1797
- end
1798
-
1799
- def a_group_type_for(groupname)
1800
- group = mock 'group'
1801
- Puppet::Type.type(:group).expects(:new).with { |args| args[:name] == groupname }.returns group
1802
- group
1803
- end
1804
-
1805
- it "should return false if there is no group setting" do
1806
- expect(settings).not_to be_service_group_available
1807
- end
1808
-
1809
- it "should return false if the group provider says the group is missing" do
1810
- settings[:group] = "foo"
1811
-
1812
- a_group_type_for("foo").expects(:exists?).returns false
1813
-
1814
- expect(settings).not_to be_service_group_available
1815
- end
1816
-
1817
- it "should return true if the group provider says the group is present" do
1818
- settings[:group] = "foo"
1819
-
1820
- a_group_type_for("foo").expects(:exists?).returns true
1821
-
1822
- expect(settings).to be_service_group_available
1823
- end
1824
-
1825
- it "caches the result of determining if the group is present" do
1826
- settings[:group] = "foo"
1827
-
1828
- a_group_type_for("foo").expects(:exists?).returns true
1829
- expect(settings).to be_service_group_available
1830
-
1831
- expect(settings).to be_service_group_available
1832
- end
1833
- end
1834
-
1835
- describe "when dealing with command-line options" do
1836
- let(:settings) { Puppet::Settings.new }
1837
-
1838
- it "should get options from Puppet.settings.optparse_addargs" do
1839
- settings.expects(:optparse_addargs).returns([])
1840
-
1841
- settings.send(:parse_global_options, [])
1842
- end
1843
-
1844
- it "should add options to OptionParser" do
1845
- settings.stubs(:optparse_addargs).returns( [["--option","-o", "Funny Option", :NONE]])
1846
- settings.expects(:handlearg).with("--option", true)
1847
- settings.send(:parse_global_options, ["--option"])
1848
- end
1849
-
1850
- it "should not die if it sees an unrecognized option, because the app/face may handle it later" do
1851
- expect { settings.send(:parse_global_options, ["--topuppet", "value"]) } .to_not raise_error
1852
- end
1853
-
1854
- it "should not pass an unrecognized option to handleargs" do
1855
- settings.expects(:handlearg).with("--topuppet", "value").never
1856
- expect { settings.send(:parse_global_options, ["--topuppet", "value"]) } .to_not raise_error
1857
- end
1858
-
1859
- it "should pass valid puppet settings options to handlearg even if they appear after an unrecognized option" do
1860
- settings.stubs(:optparse_addargs).returns( [["--option","-o", "Funny Option", :NONE]])
1861
- settings.expects(:handlearg).with("--option", true)
1862
- settings.send(:parse_global_options, ["--invalidoption", "--option"])
1863
- end
1864
-
1865
- it "should transform boolean option to normal form" do
1866
- expect(Puppet::Settings.clean_opt("--[no-]option", true)).to eq(["--option", true])
1867
- end
1868
-
1869
- it "should transform boolean option to no- form" do
1870
- expect(Puppet::Settings.clean_opt("--[no-]option", false)).to eq(["--no-option", false])
1871
- end
1872
-
1873
- it "should set preferred run mode from --run_mode <foo> string without error" do
1874
- args = ["--run_mode", "master"]
1875
- settings.expects(:handlearg).with("--run_mode", "master").never
1876
- expect { settings.send(:parse_global_options, args) } .to_not raise_error
1877
- expect(Puppet.settings.preferred_run_mode).to eq(:master)
1878
- expect(args.empty?).to eq(true)
1879
- end
1880
-
1881
- it "should set preferred run mode from --run_mode=<foo> string without error" do
1882
- args = ["--run_mode=master"]
1883
- settings.expects(:handlearg).with("--run_mode", "master").never
1884
- expect { settings.send(:parse_global_options, args) } .to_not raise_error
1885
- expect(Puppet.settings.preferred_run_mode).to eq(:master)
1886
- expect(args.empty?).to eq(true)
1887
- end
1888
- end
1889
-
1890
- describe "default_certname" do
1891
- describe "using hostname and domain" do
1892
- before :each do
1893
- Puppet::Settings.stubs(:hostname_fact).returns("testhostname")
1894
- Puppet::Settings.stubs(:domain_fact).returns("domain.test.")
1895
- end
1896
-
1897
- it "should use both to generate fqdn" do
1898
- expect(Puppet::Settings.default_certname).to match(/testhostname\.domain\.test/)
1899
- end
1900
- it "should remove trailing dots from fqdn" do
1901
- expect(Puppet::Settings.default_certname).to eq('testhostname.domain.test')
1902
- end
1903
- end
1904
-
1905
- describe "using just hostname" do
1906
- before :each do
1907
- Puppet::Settings.stubs(:hostname_fact).returns("testhostname")
1908
- Puppet::Settings.stubs(:domain_fact).returns("")
1909
- end
1910
-
1911
- it "should use only hostname to generate fqdn" do
1912
- expect(Puppet::Settings.default_certname).to eq("testhostname")
1913
- end
1914
- it "should removing trailing dots from fqdn" do
1915
- expect(Puppet::Settings.default_certname).to eq("testhostname")
1916
- end
1917
- end
1918
- end
1919
- end