puppet 7.28.0-universal-darwin → 7.29.0-universal-darwin

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1257) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +46 -50
  3. data/ext/project_data.yaml +4 -4
  4. data/lib/puppet/pops/evaluator/literal_evaluator.rb +12 -3
  5. data/lib/puppet/pops/issues.rb +4 -0
  6. data/lib/puppet/pops/validation/checker4_0.rb +13 -0
  7. data/lib/puppet/util/windows/registry.rb +39 -4
  8. data/lib/puppet/version.rb +1 -1
  9. data/man/man5/puppet.conf.5 +2 -2
  10. data/man/man8/puppet-agent.8 +1 -1
  11. data/man/man8/puppet-apply.8 +1 -1
  12. data/man/man8/puppet-catalog.8 +1 -1
  13. data/man/man8/puppet-config.8 +1 -1
  14. data/man/man8/puppet-describe.8 +1 -1
  15. data/man/man8/puppet-device.8 +1 -1
  16. data/man/man8/puppet-doc.8 +1 -1
  17. data/man/man8/puppet-epp.8 +1 -1
  18. data/man/man8/puppet-facts.8 +1 -1
  19. data/man/man8/puppet-filebucket.8 +1 -1
  20. data/man/man8/puppet-generate.8 +1 -1
  21. data/man/man8/puppet-help.8 +1 -1
  22. data/man/man8/puppet-lookup.8 +1 -1
  23. data/man/man8/puppet-module.8 +1 -1
  24. data/man/man8/puppet-node.8 +1 -1
  25. data/man/man8/puppet-parser.8 +1 -1
  26. data/man/man8/puppet-plugin.8 +1 -1
  27. data/man/man8/puppet-report.8 +1 -1
  28. data/man/man8/puppet-resource.8 +1 -1
  29. data/man/man8/puppet-script.8 +1 -1
  30. data/man/man8/puppet-ssl.8 +1 -1
  31. data/man/man8/puppet.8 +2 -2
  32. metadata +3 -2453
  33. data/spec/fixtures/faulty_face/puppet/face/syntax.rb +0 -8
  34. data/spec/fixtures/hiera.yaml +0 -9
  35. data/spec/fixtures/integration/application/agent/cached_deferred_catalog.json +0 -92
  36. data/spec/fixtures/integration/application/agent/lib/facter/agent_spec_role.rb +0 -3
  37. data/spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/provider/applytest/applytest.rb +0 -2
  38. data/spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/type/applytest.rb +0 -25
  39. data/spec/fixtures/integration/application/module/environments/direnv/modules/nginx/README +0 -3
  40. data/spec/fixtures/integration/application/module/environments/direnv/modules/nginx/manifests/init.pp +0 -17
  41. data/spec/fixtures/integration/application/module/environments/direnv/modules/nginx/metadata.json +0 -20
  42. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Gemfile +0 -4
  43. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Rakefile +0 -3
  44. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/lib/puppet/functions/l10n.rb +0 -8
  45. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/config.yaml +0 -25
  46. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/ja/puppet-l10n.po +0 -19
  47. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/puppet-l10n.pot +0 -20
  48. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/metadata.json +0 -8
  49. data/spec/fixtures/integration/node/environment/sitedir/00_a.pp +0 -2
  50. data/spec/fixtures/integration/node/environment/sitedir/01_b.pp +0 -6
  51. data/spec/fixtures/integration/node/environment/sitedir/03_empty.pp +0 -0
  52. data/spec/fixtures/integration/node/environment/sitedir/04_include.pp +0 -2
  53. data/spec/fixtures/integration/node/environment/sitedir2/00_a.pp +0 -2
  54. data/spec/fixtures/integration/node/environment/sitedir2/02_folder/01_b.pp +0 -6
  55. data/spec/fixtures/integration/node/environment/sitedir2/03_c.pp +0 -1
  56. data/spec/fixtures/integration/node/environment/sitedir2/04_include.pp +0 -2
  57. data/spec/fixtures/java.tgz +0 -0
  58. data/spec/fixtures/manifests/site.pp +0 -0
  59. data/spec/fixtures/module.tar.gz +0 -0
  60. data/spec/fixtures/releases/jamtur01-apache/Modulefile +0 -2
  61. data/spec/fixtures/releases/jamtur01-apache/files/httpd +0 -24
  62. data/spec/fixtures/releases/jamtur01-apache/files/test.vhost +0 -18
  63. data/spec/fixtures/releases/jamtur01-apache/lib/puppet/provider/a2mod/debian.rb +0 -21
  64. data/spec/fixtures/releases/jamtur01-apache/lib/puppet/type/a2mod.rb +0 -12
  65. data/spec/fixtures/releases/jamtur01-apache/manifests/dev.pp +0 -5
  66. data/spec/fixtures/releases/jamtur01-apache/manifests/init.pp +0 -34
  67. data/spec/fixtures/releases/jamtur01-apache/manifests/params.pp +0 -17
  68. data/spec/fixtures/releases/jamtur01-apache/manifests/php.pp +0 -5
  69. data/spec/fixtures/releases/jamtur01-apache/manifests/ssl.pp +0 -15
  70. data/spec/fixtures/releases/jamtur01-apache/manifests/vhost.pp +0 -15
  71. data/spec/fixtures/releases/jamtur01-apache/metadata.json +0 -1
  72. data/spec/fixtures/releases/jamtur01-apache/templates/vhost-default.conf.erb +0 -20
  73. data/spec/fixtures/releases/jamtur01-apache/tests/apache.pp +0 -1
  74. data/spec/fixtures/releases/jamtur01-apache/tests/dev.pp +0 -1
  75. data/spec/fixtures/releases/jamtur01-apache/tests/init.pp +0 -1
  76. data/spec/fixtures/releases/jamtur01-apache/tests/php.pp +0 -1
  77. data/spec/fixtures/releases/jamtur01-apache/tests/ssl.pp +0 -1
  78. data/spec/fixtures/releases/jamtur01-apache/tests/vhost.pp +0 -2
  79. data/spec/fixtures/ssl/127.0.0.1-key.pem +0 -117
  80. data/spec/fixtures/ssl/127.0.0.1.pem +0 -69
  81. data/spec/fixtures/ssl/bad-basic-constraints.pem +0 -81
  82. data/spec/fixtures/ssl/bad-int-basic-constraints.pem +0 -81
  83. data/spec/fixtures/ssl/ca.pem +0 -81
  84. data/spec/fixtures/ssl/crl.pem +0 -40
  85. data/spec/fixtures/ssl/ec-key-openssl.pem +0 -8
  86. data/spec/fixtures/ssl/ec-key-pk8.pem +0 -5
  87. data/spec/fixtures/ssl/ec-key.pem +0 -18
  88. data/spec/fixtures/ssl/ec.pem +0 -49
  89. data/spec/fixtures/ssl/encrypted-ec-key.pem +0 -21
  90. data/spec/fixtures/ssl/encrypted-key.pem +0 -120
  91. data/spec/fixtures/ssl/intermediate-agent-crl.pem +0 -40
  92. data/spec/fixtures/ssl/intermediate-agent.pem +0 -81
  93. data/spec/fixtures/ssl/intermediate-crl.pem +0 -46
  94. data/spec/fixtures/ssl/intermediate.pem +0 -81
  95. data/spec/fixtures/ssl/netlock-arany-utf8.pem +0 -23
  96. data/spec/fixtures/ssl/oid-key.pem +0 -117
  97. data/spec/fixtures/ssl/oid.pem +0 -69
  98. data/spec/fixtures/ssl/pluto-key.pem +0 -117
  99. data/spec/fixtures/ssl/pluto.pem +0 -66
  100. data/spec/fixtures/ssl/request-key.pem +0 -117
  101. data/spec/fixtures/ssl/request.pem +0 -60
  102. data/spec/fixtures/ssl/revoked-key.pem +0 -117
  103. data/spec/fixtures/ssl/revoked.pem +0 -66
  104. data/spec/fixtures/ssl/signed-key.pem +0 -117
  105. data/spec/fixtures/ssl/signed.pem +0 -66
  106. data/spec/fixtures/ssl/tampered-cert.pem +0 -66
  107. data/spec/fixtures/ssl/tampered-csr.pem +0 -60
  108. data/spec/fixtures/ssl/trusted_oid_mapping.yaml +0 -5
  109. data/spec/fixtures/ssl/unknown-127.0.0.1-key.pem +0 -117
  110. data/spec/fixtures/ssl/unknown-127.0.0.1.pem +0 -69
  111. data/spec/fixtures/ssl/unknown-ca-key.pem +0 -117
  112. data/spec/fixtures/ssl/unknown-ca.pem +0 -81
  113. data/spec/fixtures/stdlib.tgz +0 -0
  114. data/spec/fixtures/unit/application/environments/production/data/common.yaml +0 -24
  115. data/spec/fixtures/unit/application/environments/production/environment.conf +0 -1
  116. data/spec/fixtures/unit/application/environments/production/manifests/site.pp +0 -1
  117. data/spec/fixtures/unit/application/environments/puppet_func_provider/environment.conf +0 -1
  118. data/spec/fixtures/unit/application/environments/puppet_func_provider/functions/environment/data.pp +0 -10
  119. data/spec/fixtures/unit/application/environments/puppet_func_provider/manifests/site.pp +0 -1
  120. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_json/data/bad.json +0 -3
  121. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_json/environment.conf +0 -2
  122. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_json/hiera.yaml +0 -5
  123. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_json/manifests/site.pp +0 -5
  124. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_yaml/data/bad.yaml +0 -3
  125. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_yaml/environment.conf +0 -2
  126. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_yaml/hiera.yaml +0 -5
  127. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_yaml/manifests/site.pp +0 -5
  128. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/data/common.yaml +0 -2
  129. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/environment.conf +0 -2
  130. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/manifests/site.pp +0 -1
  131. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/modules/one/data/common.yaml +0 -2
  132. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/modules/one/manifests/init.pp +0 -5
  133. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/modules/one/metadata.json +0 -9
  134. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/first.json +0 -3
  135. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/name.yaml +0 -2
  136. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/second.json +0 -3
  137. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/single.yaml +0 -2
  138. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/third_utf8.json +0 -3
  139. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/utf8.yaml +0 -3
  140. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data2/single.yaml +0 -2
  141. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/environment.conf +0 -2
  142. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/hiera.yaml +0 -22
  143. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/manifests/site.pp +0 -5
  144. data/spec/fixtures/unit/data_providers/environments/hiera_misc/data/common.yaml +0 -48
  145. data/spec/fixtures/unit/data_providers/environments/hiera_misc/environment.conf +0 -2
  146. data/spec/fixtures/unit/data_providers/environments/hiera_misc/manifests/site.pp +0 -1
  147. data/spec/fixtures/unit/data_providers/environments/hiera_misc/modules/one/data/common.yaml +0 -30
  148. data/spec/fixtures/unit/data_providers/environments/hiera_misc/modules/one/manifests/init.pp +0 -13
  149. data/spec/fixtures/unit/data_providers/environments/hiera_misc/modules/one/metadata.json +0 -9
  150. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/data/common.yaml +0 -4
  151. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/data/specific.yaml +0 -4
  152. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/environment.conf +0 -2
  153. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/hiera.yaml +0 -7
  154. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/manifests/site.pp +0 -1
  155. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/first.json +0 -3
  156. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/name.yaml +0 -2
  157. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/second.json +0 -3
  158. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/server1.yaml +0 -1
  159. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/server2.yaml +0 -1
  160. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/single.yaml +0 -2
  161. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data2/single.yaml +0 -2
  162. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/hiera.yaml +0 -20
  163. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/manifests/init.pp +0 -5
  164. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/metadata.json +0 -9
  165. data/spec/fixtures/unit/data_providers/environments/hiera_modules/data/common.yaml +0 -4
  166. data/spec/fixtures/unit/data_providers/environments/hiera_modules/data/specific.yaml +0 -4
  167. data/spec/fixtures/unit/data_providers/environments/hiera_modules/environment.conf +0 -2
  168. data/spec/fixtures/unit/data_providers/environments/hiera_modules/hiera.yaml +0 -7
  169. data/spec/fixtures/unit/data_providers/environments/hiera_modules/manifests/site.pp +0 -1
  170. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/data/common.yaml +0 -6
  171. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/hiera.yaml +0 -5
  172. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/manifests/init.pp +0 -2
  173. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/metadata.json +0 -9
  174. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/data/common.yaml +0 -4
  175. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/hiera.yaml +0 -5
  176. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/manifests/init.pp +0 -3
  177. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/metadata.json +0 -9
  178. data/spec/fixtures/unit/data_providers/environments/production/environment.conf +0 -2
  179. data/spec/fixtures/unit/data_providers/environments/production/lib/puppet/functions/environment/data.rb +0 -9
  180. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/lib/puppet/functions/abc/data.rb +0 -9
  181. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/manifests/init.pp +0 -10
  182. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/metadata.json +0 -9
  183. data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/functions/data.pp +0 -6
  184. data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/manifests/init.pp +0 -9
  185. data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/metadata.json +0 -9
  186. data/spec/fixtures/unit/forge/bacula-releases.json +0 -128
  187. data/spec/fixtures/unit/forge/bacula.json +0 -76
  188. data/spec/fixtures/unit/forge/bacula.tar.gz +0 -0
  189. data/spec/fixtures/unit/functions/hiera/hiera/backend/hieraspec_backend.rb +0 -22
  190. data/spec/fixtures/unit/functions/lookup/data/common.yaml +0 -19
  191. data/spec/fixtures/unit/functions/lookup/hiera/backend/custom_backend.rb +0 -18
  192. data/spec/fixtures/unit/functions/lookup/hiera/backend/other_backend.rb +0 -7
  193. data/spec/fixtures/unit/functions/lookup_fixture/data/common.yaml +0 -19
  194. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/environment.conf +0 -2
  195. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/lib/puppet/functions/environment/data.rb +0 -13
  196. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/abc/lib/puppet/functions/abc/data.rb +0 -9
  197. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/abc/manifests/init.pp +0 -8
  198. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/abc/metadata.json +0 -9
  199. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bad_data/lib/puppet/functions/bad_data/data.rb +0 -7
  200. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bad_data/manifests/init.pp +0 -2
  201. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bad_data/metadata.json +0 -9
  202. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bca/lib/puppet/functions/bca/data.rb +0 -9
  203. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bca/manifests/init.pp +0 -2
  204. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bca/metadata.json +0 -9
  205. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_json/data/empty.json +0 -0
  206. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_json/hiera.yaml +0 -5
  207. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_json/manifests/init.pp +0 -2
  208. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_json/metadata.json +0 -9
  209. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_json/data/empty_key.json +0 -1
  210. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_json/hiera.yaml +0 -5
  211. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_json/manifests/init.pp +0 -2
  212. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_json/metadata.json +0 -9
  213. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_yaml/data/empty_key.yaml +0 -1
  214. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_yaml/hiera.yaml +0 -5
  215. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_yaml/manifests/init.pp +0 -2
  216. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_yaml/metadata.json +0 -9
  217. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_yaml/data/empty.yaml +0 -2
  218. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_yaml/hiera.yaml +0 -5
  219. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_yaml/manifests/init.pp +0 -2
  220. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_yaml/metadata.json +0 -9
  221. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/hieraprovider/data/first.json +0 -4
  222. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/hieraprovider/hiera.yaml +0 -8
  223. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/hieraprovider/manifests/init.pp +0 -5
  224. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/hieraprovider/metadata.json +0 -9
  225. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/meta/lib/puppet/functions/meta/data.rb +0 -9
  226. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/meta/manifests/init.pp +0 -3
  227. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/meta/metadata.json +0 -9
  228. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/no_provider/manifests/init.pp +0 -2
  229. data/spec/fixtures/unit/indirector/data_binding/hiera/global.yaml +0 -10
  230. data/spec/fixtures/unit/indirector/data_binding/hiera/invalid.yaml +0 -1
  231. data/spec/fixtures/unit/indirector/hiera/global.yaml +0 -10
  232. data/spec/fixtures/unit/indirector/hiera/invalid.yaml +0 -1
  233. data/spec/fixtures/unit/module/trailing-comma.json +0 -24
  234. data/spec/fixtures/unit/parser/functions/create_resources/foo/manifests/init.pp +0 -3
  235. data/spec/fixtures/unit/parser/functions/create_resources/foo/manifests/wrongdefine.pp +0 -3
  236. data/spec/fixtures/unit/parser/lexer/aliastest.pp +0 -16
  237. data/spec/fixtures/unit/parser/lexer/append.pp +0 -11
  238. data/spec/fixtures/unit/parser/lexer/argumentdefaults.pp +0 -14
  239. data/spec/fixtures/unit/parser/lexer/arithmetic_expression.pp +0 -8
  240. data/spec/fixtures/unit/parser/lexer/arraytrailingcomma.pp +0 -3
  241. data/spec/fixtures/unit/parser/lexer/casestatement.pp +0 -65
  242. data/spec/fixtures/unit/parser/lexer/classheirarchy.pp +0 -15
  243. data/spec/fixtures/unit/parser/lexer/classincludes.pp +0 -17
  244. data/spec/fixtures/unit/parser/lexer/classpathtest.pp +0 -11
  245. data/spec/fixtures/unit/parser/lexer/collection.pp +0 -10
  246. data/spec/fixtures/unit/parser/lexer/collection_override.pp +0 -8
  247. data/spec/fixtures/unit/parser/lexer/collection_within_virtual_definitions.pp +0 -20
  248. data/spec/fixtures/unit/parser/lexer/componentmetaparams.pp +0 -11
  249. data/spec/fixtures/unit/parser/lexer/componentrequire.pp +0 -8
  250. data/spec/fixtures/unit/parser/lexer/deepclassheirarchy.pp +0 -23
  251. data/spec/fixtures/unit/parser/lexer/defineoverrides.pp +0 -17
  252. data/spec/fixtures/unit/parser/lexer/emptyclass.pp +0 -9
  253. data/spec/fixtures/unit/parser/lexer/emptyexec.pp +0 -3
  254. data/spec/fixtures/unit/parser/lexer/emptyifelse.pp +0 -9
  255. data/spec/fixtures/unit/parser/lexer/falsevalues.pp +0 -3
  256. data/spec/fixtures/unit/parser/lexer/filecreate.pp +0 -11
  257. data/spec/fixtures/unit/parser/lexer/fqdefinition.pp +0 -5
  258. data/spec/fixtures/unit/parser/lexer/fqparents.pp +0 -11
  259. data/spec/fixtures/unit/parser/lexer/funccomma.pp +0 -5
  260. data/spec/fixtures/unit/parser/lexer/hash.pp +0 -33
  261. data/spec/fixtures/unit/parser/lexer/ifexpression.pp +0 -12
  262. data/spec/fixtures/unit/parser/lexer/implicititeration.pp +0 -15
  263. data/spec/fixtures/unit/parser/lexer/multilinecomments.pp +0 -10
  264. data/spec/fixtures/unit/parser/lexer/multipleclass.pp +0 -9
  265. data/spec/fixtures/unit/parser/lexer/multipleinstances.pp +0 -7
  266. data/spec/fixtures/unit/parser/lexer/multisubs.pp +0 -13
  267. data/spec/fixtures/unit/parser/lexer/namevartest.pp +0 -9
  268. data/spec/fixtures/unit/parser/lexer/scopetest.pp +0 -13
  269. data/spec/fixtures/unit/parser/lexer/selectorvalues.pp +0 -49
  270. data/spec/fixtures/unit/parser/lexer/simpledefaults.pp +0 -5
  271. data/spec/fixtures/unit/parser/lexer/simpleselector.pp +0 -38
  272. data/spec/fixtures/unit/parser/lexer/singleary.pp +0 -19
  273. data/spec/fixtures/unit/parser/lexer/singlequote.pp +0 -11
  274. data/spec/fixtures/unit/parser/lexer/singleselector.pp +0 -22
  275. data/spec/fixtures/unit/parser/lexer/subclass_name_duplication.pp +0 -11
  276. data/spec/fixtures/unit/parser/lexer/tag.pp +0 -9
  277. data/spec/fixtures/unit/parser/lexer/tagged.pp +0 -35
  278. data/spec/fixtures/unit/parser/lexer/virtualresources.pp +0 -14
  279. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/binder_config.yaml +0 -10
  280. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/lib/puppet/bindings/confdirtest.rb +0 -10
  281. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome2/lib/puppet/bindings/awesome2/default.rb +0 -20
  282. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome2/lib/puppet_x/awesome2/echo_scheme_handler.rb +0 -18
  283. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/bad/lib/puppet/bindings/bad/default.rb +0 -5
  284. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/good/lib/puppet/bindings/good/default.rb +0 -6
  285. data/spec/fixtures/unit/pops/binder/config/binder_config/nolayer/binder_config.yaml +0 -6
  286. data/spec/fixtures/unit/pops/binder/config/binder_config/ok/binder_config.yaml +0 -9
  287. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/functions/usee_puppet.pp +0 -3
  288. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/functions/usee/callee.rb +0 -5
  289. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/functions/usee/usee_ruby.rb +0 -6
  290. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/type/usee_type.rb +0 -5
  291. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/manifests/init.pp +0 -8
  292. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/types/zero.pp +0 -1
  293. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee2/lib/puppet/functions/usee2/callee.rb +0 -5
  294. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/functions/puppet_calling_puppet.pp +0 -5
  295. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/functions/puppet_calling_puppet_init.pp +0 -5
  296. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/functions/puppet_calling_ruby.pp +0 -5
  297. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/caller.rb +0 -5
  298. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/caller2.rb +0 -5
  299. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/ruby_calling_puppet.rb +0 -5
  300. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/ruby_calling_puppet_init.rb +0 -5
  301. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/ruby_calling_ruby.rb +0 -5
  302. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/manifests/init.pp +0 -87
  303. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/metadata.json +0 -10
  304. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/types/withuseeone.pp +0 -1
  305. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/types/withuseezero.pp +0 -1
  306. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load.rb +0 -11
  307. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load2.rb +0 -11
  308. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load3.rb +0 -11
  309. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load4.rb +0 -11
  310. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load5.rb +0 -12
  311. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/callee.rb +0 -8
  312. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/callee_ws.rb +0 -8
  313. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/func_with_syntax_error.rb +0 -9
  314. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/good_func_load.rb +0 -9
  315. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/metadata.json +0 -9
  316. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/functions/puppetcalled.pp +0 -3
  317. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/functions/puppetcaller.pp +0 -3
  318. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/functions/puppetcaller4.pp +0 -3
  319. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/lib/puppet/functions/user/caller.rb +0 -5
  320. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/lib/puppet/functions/user/caller_ws.rb +0 -12
  321. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/lib/puppet/functions/user/callingpuppet.rb +0 -5
  322. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/metadata.json +0 -9
  323. data/spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/functions/hello.pp +0 -3
  324. data/spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/manifests/init.pp +0 -3
  325. data/spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/metadata.json +0 -10
  326. data/spec/fixtures/unit/pops/loaders/loaders/no_modules/manifests/site.pp +0 -10
  327. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/functions/hello.pp +0 -3
  328. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/functions/subspace/hello.pp +0 -3
  329. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/lib/puppet/functions/modulea/rb_func_a.rb +0 -5
  330. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/lib/puppet/functions/rb_func_a.rb +0 -5
  331. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/manifests/init.pp +0 -3
  332. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/metadata.json +0 -10
  333. data/spec/fixtures/unit/pops/loaders/loaders/wo_metadata_module/modules/moduleb/lib/puppet/functions/moduleb/rb_func_b.rb +0 -6
  334. data/spec/fixtures/unit/pops/loaders/loaders/wo_metadata_module/modules/moduleb/manifests/init.pp +0 -3
  335. data/spec/fixtures/unit/pops/parser/lexer/aliastest.pp +0 -16
  336. data/spec/fixtures/unit/pops/parser/lexer/append.pp +0 -11
  337. data/spec/fixtures/unit/pops/parser/lexer/argumentdefaults.pp +0 -14
  338. data/spec/fixtures/unit/pops/parser/lexer/arithmetic_expression.pp +0 -8
  339. data/spec/fixtures/unit/pops/parser/lexer/arraytrailingcomma.pp +0 -3
  340. data/spec/fixtures/unit/pops/parser/lexer/casestatement.pp +0 -65
  341. data/spec/fixtures/unit/pops/parser/lexer/classheirarchy.pp +0 -15
  342. data/spec/fixtures/unit/pops/parser/lexer/classincludes.pp +0 -17
  343. data/spec/fixtures/unit/pops/parser/lexer/classpathtest.pp +0 -11
  344. data/spec/fixtures/unit/pops/parser/lexer/collection.pp +0 -10
  345. data/spec/fixtures/unit/pops/parser/lexer/collection_override.pp +0 -8
  346. data/spec/fixtures/unit/pops/parser/lexer/collection_within_virtual_definitions.pp +0 -20
  347. data/spec/fixtures/unit/pops/parser/lexer/componentmetaparams.pp +0 -11
  348. data/spec/fixtures/unit/pops/parser/lexer/componentrequire.pp +0 -8
  349. data/spec/fixtures/unit/pops/parser/lexer/deepclassheirarchy.pp +0 -23
  350. data/spec/fixtures/unit/pops/parser/lexer/defineoverrides.pp +0 -17
  351. data/spec/fixtures/unit/pops/parser/lexer/emptyclass.pp +0 -9
  352. data/spec/fixtures/unit/pops/parser/lexer/emptyexec.pp +0 -3
  353. data/spec/fixtures/unit/pops/parser/lexer/emptyifelse.pp +0 -9
  354. data/spec/fixtures/unit/pops/parser/lexer/falsevalues.pp +0 -3
  355. data/spec/fixtures/unit/pops/parser/lexer/filecreate.pp +0 -11
  356. data/spec/fixtures/unit/pops/parser/lexer/fqdefinition.pp +0 -5
  357. data/spec/fixtures/unit/pops/parser/lexer/fqparents.pp +0 -11
  358. data/spec/fixtures/unit/pops/parser/lexer/funccomma.pp +0 -5
  359. data/spec/fixtures/unit/pops/parser/lexer/hash.pp +0 -33
  360. data/spec/fixtures/unit/pops/parser/lexer/ifexpression.pp +0 -12
  361. data/spec/fixtures/unit/pops/parser/lexer/implicititeration.pp +0 -15
  362. data/spec/fixtures/unit/pops/parser/lexer/multilinecomments.pp +0 -10
  363. data/spec/fixtures/unit/pops/parser/lexer/multipleclass.pp +0 -9
  364. data/spec/fixtures/unit/pops/parser/lexer/multipleinstances.pp +0 -7
  365. data/spec/fixtures/unit/pops/parser/lexer/multisubs.pp +0 -13
  366. data/spec/fixtures/unit/pops/parser/lexer/namevartest.pp +0 -9
  367. data/spec/fixtures/unit/pops/parser/lexer/scopetest.pp +0 -13
  368. data/spec/fixtures/unit/pops/parser/lexer/selectorvalues.pp +0 -49
  369. data/spec/fixtures/unit/pops/parser/lexer/simpledefaults.pp +0 -5
  370. data/spec/fixtures/unit/pops/parser/lexer/simpleselector.pp +0 -38
  371. data/spec/fixtures/unit/pops/parser/lexer/singleary.pp +0 -19
  372. data/spec/fixtures/unit/pops/parser/lexer/singlequote.pp +0 -11
  373. data/spec/fixtures/unit/pops/parser/lexer/singleselector.pp +0 -22
  374. data/spec/fixtures/unit/pops/parser/lexer/subclass_name_duplication.pp +0 -11
  375. data/spec/fixtures/unit/pops/parser/lexer/tag.pp +0 -9
  376. data/spec/fixtures/unit/pops/parser/lexer/tagged.pp +0 -35
  377. data/spec/fixtures/unit/pops/parser/lexer/virtualresources.pp +0 -14
  378. data/spec/fixtures/unit/provider/aix_object/aix_colon_list_real_world_input.out +0 -1
  379. data/spec/fixtures/unit/provider/aix_object/aix_colon_list_real_world_output.out +0 -1
  380. data/spec/fixtures/unit/provider/cron/crontab/single_line.yaml +0 -272
  381. data/spec/fixtures/unit/provider/cron/crontab/vixie_header.txt +0 -3
  382. data/spec/fixtures/unit/provider/cron/parsed/managed +0 -6
  383. data/spec/fixtures/unit/provider/cron/parsed/simple +0 -9
  384. data/spec/fixtures/unit/provider/package/dnfmodule/dnf-module-list.txt +0 -19
  385. data/spec/fixtures/unit/provider/package/gem/gem-list-single-package +0 -4
  386. data/spec/fixtures/unit/provider/package/gem/line-with-1.8.5-warning +0 -14
  387. data/spec/fixtures/unit/provider/package/openbsd/pkginfo.detail +0 -19
  388. data/spec/fixtures/unit/provider/package/openbsd/pkginfo.list +0 -10
  389. data/spec/fixtures/unit/provider/package/openbsd/pkginfo.query +0 -1
  390. data/spec/fixtures/unit/provider/package/openbsd/pkginfo_flavors.list +0 -2
  391. data/spec/fixtures/unit/provider/package/pkg/dummy_implicit_version +0 -3
  392. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris10 +0 -1
  393. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.certificate_warning +0 -2
  394. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.ifo.installed +0 -1
  395. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.ifo.known +0 -1
  396. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.installed +0 -1
  397. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.known +0 -1
  398. data/spec/fixtures/unit/provider/package/pkg/incomplete +0 -1
  399. data/spec/fixtures/unit/provider/package/pkg/solaris11 +0 -2
  400. data/spec/fixtures/unit/provider/package/pkg/unknown_status +0 -12
  401. data/spec/fixtures/unit/provider/package/pkgng/pkg.query +0 -7
  402. data/spec/fixtures/unit/provider/package/pkgng/pkg.query.zsh +0 -1
  403. data/spec/fixtures/unit/provider/package/pkgng/pkg.version +0 -5
  404. data/spec/fixtures/unit/provider/package/puppetserver_gem/gem-list-local-packages +0 -30
  405. data/spec/fixtures/unit/provider/package/sun/dummy.server +0 -12
  406. data/spec/fixtures/unit/provider/package/sun/simple +0 -24
  407. data/spec/fixtures/unit/provider/package/yum/yum-check-update-broken-notices.txt +0 -187
  408. data/spec/fixtures/unit/provider/package/yum/yum-check-update-multiline.txt +0 -201
  409. data/spec/fixtures/unit/provider/package/yum/yum-check-update-obsoletes.txt +0 -195
  410. data/spec/fixtures/unit/provider/package/yum/yum-check-update-plugin-output.txt +0 -36
  411. data/spec/fixtures/unit/provider/package/yum/yum-check-update-security.txt +0 -184
  412. data/spec/fixtures/unit/provider/package/yum/yum-check-update-simple.txt +0 -13
  413. data/spec/fixtures/unit/provider/package/yum/yum-check-update-subscription-manager.txt +0 -9
  414. data/spec/fixtures/unit/provider/package/zypper/zypper-list-updates-SLES11sp1.out +0 -369
  415. data/spec/fixtures/unit/provider/package/zypper/zypper-list-updates-empty.out +0 -3
  416. data/spec/fixtures/unit/provider/package/zypper/zypper-search-uninstalled.out +0 -13
  417. data/spec/fixtures/unit/provider/parsedfile/aliases.txt +0 -2
  418. data/spec/fixtures/unit/provider/parsedfile/simple.txt +0 -7
  419. data/spec/fixtures/unit/provider/service/base/ps_ef.mixed_encoding +0 -3
  420. data/spec/fixtures/unit/provider/service/gentoo/rc_update_show +0 -30
  421. data/spec/fixtures/unit/provider/service/openbsd/rcctl_getall +0 -6
  422. data/spec/fixtures/unit/provider/service/openrc/rcservice_list +0 -8
  423. data/spec/fixtures/unit/provider/service/openrc/rcstatus +0 -43
  424. data/spec/fixtures/unit/provider/service/smf/svcs_fmri.out +0 -6
  425. data/spec/fixtures/unit/provider/service/smf/svcs_instances.out +0 -4
  426. data/spec/fixtures/unit/provider/service/smf/svcs_multiple_fmris.out +0 -13
  427. data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services +0 -16
  428. data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services_vendor_preset +0 -9
  429. data/spec/fixtures/unit/provider/user/aix/aix_passwd_file.out +0 -36
  430. data/spec/fixtures/unit/reports/tagmail/tagmail_email.conf +0 -2
  431. data/spec/fixtures/unit/reports/tagmail/tagmail_failers.conf +0 -3
  432. data/spec/fixtures/unit/reports/tagmail/tagmail_passers.conf +0 -30
  433. data/spec/fixtures/unit/ssl/certificate/old-style-cert-exts.pem +0 -33
  434. data/spec/fixtures/unit/ssl/certificate_request/old-style-cert-request.pem +0 -28
  435. data/spec/fixtures/unit/type/user/authorized_keys +0 -6
  436. data/spec/fixtures/unit/util/filetype/aixtab_output +0 -44
  437. data/spec/fixtures/unit/util/filetype/suntab_output +0 -9
  438. data/spec/fixtures/unit/util/monkey_patches/x509.pem +0 -32
  439. data/spec/fixtures/unit/util/rdoc/basic.pp +0 -16
  440. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_md5/should_fetch_if_not_on_the_local_disk.yml +0 -104
  441. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_md5/should_not_update_if_content_on_disk_is_up-to-date.yml +0 -108
  442. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_md5/should_update_if_content_differs_on_disk.yml +0 -108
  443. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_fetch_if_mtime_is_older_on_disk.yml +0 -104
  444. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_fetch_if_no_header_specified.yml +0 -100
  445. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_fetch_if_not_on_the_local_disk.yml +0 -104
  446. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_not_update_if_mtime_is_newer_on_disk.yml +0 -104
  447. data/spec/fixtures/yaml/report2.6.x.yaml +0 -190
  448. data/spec/fixtures/yaml/test.local.yaml +0 -16
  449. data/spec/integration/agent/logging_spec.rb +0 -179
  450. data/spec/integration/application/agent_spec.rb +0 -1012
  451. data/spec/integration/application/apply_spec.rb +0 -773
  452. data/spec/integration/application/doc_spec.rb +0 -24
  453. data/spec/integration/application/filebucket_spec.rb +0 -255
  454. data/spec/integration/application/help_spec.rb +0 -44
  455. data/spec/integration/application/lookup_spec.rb +0 -275
  456. data/spec/integration/application/module_spec.rb +0 -230
  457. data/spec/integration/application/plugin_spec.rb +0 -145
  458. data/spec/integration/application/resource_spec.rb +0 -68
  459. data/spec/integration/application/ssl_spec.rb +0 -20
  460. data/spec/integration/configurer_spec.rb +0 -164
  461. data/spec/integration/data_binding_spec.rb +0 -278
  462. data/spec/integration/defaults_spec.rb +0 -279
  463. data/spec/integration/directory_environments_spec.rb +0 -67
  464. data/spec/integration/environments/default_manifest_spec.rb +0 -215
  465. data/spec/integration/environments/setting_hooks_spec.rb +0 -27
  466. data/spec/integration/environments/settings_interpolation_spec.rb +0 -106
  467. data/spec/integration/environments/settings_spec.rb +0 -128
  468. data/spec/integration/http/client_spec.rb +0 -229
  469. data/spec/integration/indirector/catalog/compiler_spec.rb +0 -75
  470. data/spec/integration/indirector/direct_file_server_spec.rb +0 -90
  471. data/spec/integration/indirector/facts/facter_spec.rb +0 -168
  472. data/spec/integration/indirector/file_content/file_server_spec.rb +0 -106
  473. data/spec/integration/indirector/file_metadata/file_server_spec.rb +0 -75
  474. data/spec/integration/l10n/compiler_spec.rb +0 -37
  475. data/spec/integration/network/formats_spec.rb +0 -90
  476. data/spec/integration/network/http/api/indirected_routes_spec.rb +0 -60
  477. data/spec/integration/network/http_pool_spec.rb +0 -275
  478. data/spec/integration/node/environment_spec.rb +0 -170
  479. data/spec/integration/node/facts_spec.rb +0 -40
  480. data/spec/integration/node_spec.rb +0 -77
  481. data/spec/integration/parser/catalog_spec.rb +0 -68
  482. data/spec/integration/parser/class_spec.rb +0 -33
  483. data/spec/integration/parser/collection_spec.rb +0 -362
  484. data/spec/integration/parser/compiler_spec.rb +0 -1210
  485. data/spec/integration/parser/conditionals_spec.rb +0 -92
  486. data/spec/integration/parser/dynamic_scoping_spec.rb +0 -66
  487. data/spec/integration/parser/environment_spec.rb +0 -47
  488. data/spec/integration/parser/node_spec.rb +0 -163
  489. data/spec/integration/parser/parameter_defaults_spec.rb +0 -358
  490. data/spec/integration/parser/pcore_resource_spec.rb +0 -243
  491. data/spec/integration/parser/resource_expressions_spec.rb +0 -222
  492. data/spec/integration/parser/scope_spec.rb +0 -728
  493. data/spec/integration/parser/script_compiler_spec.rb +0 -113
  494. data/spec/integration/parser/undef_param_spec.rb +0 -95
  495. data/spec/integration/provider/file/windows_spec.rb +0 -162
  496. data/spec/integration/resource/catalog_spec.rb +0 -47
  497. data/spec/integration/resource/type_collection_spec.rb +0 -88
  498. data/spec/integration/transaction/report_spec.rb +0 -706
  499. data/spec/integration/transaction_spec.rb +0 -553
  500. data/spec/integration/type/exec_spec.rb +0 -114
  501. data/spec/integration/type/file_spec.rb +0 -2012
  502. data/spec/integration/type/notify_spec.rb +0 -46
  503. data/spec/integration/type/package_spec.rb +0 -200
  504. data/spec/integration/type/tidy_spec.rb +0 -45
  505. data/spec/integration/type_spec.rb +0 -30
  506. data/spec/integration/util/autoload_spec.rb +0 -104
  507. data/spec/integration/util/execution_spec.rb +0 -104
  508. data/spec/integration/util/rdoc/parser_spec.rb +0 -171
  509. data/spec/integration/util/settings_spec.rb +0 -115
  510. data/spec/integration/util/windows/adsi_spec.rb +0 -207
  511. data/spec/integration/util/windows/monkey_patches/process_spec.rb +0 -231
  512. data/spec/integration/util/windows/principal_spec.rb +0 -279
  513. data/spec/integration/util/windows/process_spec.rb +0 -96
  514. data/spec/integration/util/windows/registry_spec.rb +0 -334
  515. data/spec/integration/util/windows/security_spec.rb +0 -1010
  516. data/spec/integration/util/windows/user_spec.rb +0 -226
  517. data/spec/integration/util_spec.rb +0 -104
  518. data/spec/lib/matchers/containment_matchers.rb +0 -52
  519. data/spec/lib/matchers/include_in_order.rb +0 -20
  520. data/spec/lib/matchers/include_in_order_spec.rb +0 -30
  521. data/spec/lib/matchers/json.rb +0 -132
  522. data/spec/lib/matchers/match_tokens2.rb +0 -74
  523. data/spec/lib/matchers/relationship_graph_matchers.rb +0 -48
  524. data/spec/lib/matchers/resource.rb +0 -74
  525. data/spec/lib/puppet/certificate_factory.rb +0 -218
  526. data/spec/lib/puppet/face/1.0.0/huzzah.rb +0 -8
  527. data/spec/lib/puppet/face/basetest.rb +0 -51
  528. data/spec/lib/puppet/face/huzzah/obsolete.rb +0 -6
  529. data/spec/lib/puppet/face/huzzah.rb +0 -8
  530. data/spec/lib/puppet/face/version_matching.rb +0 -12
  531. data/spec/lib/puppet/indirector/indirector_testing/json.rb +0 -6
  532. data/spec/lib/puppet/indirector/indirector_testing/memory.rb +0 -7
  533. data/spec/lib/puppet/indirector/indirector_testing/msgpack.rb +0 -6
  534. data/spec/lib/puppet/indirector_proxy.rb +0 -34
  535. data/spec/lib/puppet/indirector_testing.rb +0 -31
  536. data/spec/lib/puppet/test_ca.rb +0 -164
  537. data/spec/lib/puppet_spec/character_encoding.rb +0 -12
  538. data/spec/lib/puppet_spec/compiler.rb +0 -112
  539. data/spec/lib/puppet_spec/files.rb +0 -107
  540. data/spec/lib/puppet_spec/fixtures.rb +0 -52
  541. data/spec/lib/puppet_spec/handler.rb +0 -53
  542. data/spec/lib/puppet_spec/https.rb +0 -95
  543. data/spec/lib/puppet_spec/language.rb +0 -75
  544. data/spec/lib/puppet_spec/matchers.rb +0 -68
  545. data/spec/lib/puppet_spec/module_tool/shared_functions.rb +0 -56
  546. data/spec/lib/puppet_spec/module_tool/stub_source.rb +0 -136
  547. data/spec/lib/puppet_spec/modules.rb +0 -82
  548. data/spec/lib/puppet_spec/network.rb +0 -109
  549. data/spec/lib/puppet_spec/pops.rb +0 -29
  550. data/spec/lib/puppet_spec/puppetserver.rb +0 -180
  551. data/spec/lib/puppet_spec/scope.rb +0 -13
  552. data/spec/lib/puppet_spec/settings.rb +0 -39
  553. data/spec/lib/puppet_spec/ssl.rb +0 -265
  554. data/spec/lib/puppet_spec/unindent.rb +0 -5
  555. data/spec/lib/puppet_spec/verbose.rb +0 -9
  556. data/spec/shared_behaviours/all_parsedfile_providers.rb +0 -21
  557. data/spec/shared_behaviours/an_indirector_face.rb +0 -6
  558. data/spec/shared_behaviours/documentation_on_faces.rb +0 -261
  559. data/spec/shared_behaviours/file_server_terminus.rb +0 -38
  560. data/spec/shared_behaviours/file_serving.rb +0 -73
  561. data/spec/shared_behaviours/hiera_indirections.rb +0 -98
  562. data/spec/shared_behaviours/iterative_functions.rb +0 -68
  563. data/spec/shared_behaviours/memory_terminus.rb +0 -28
  564. data/spec/shared_behaviours/path_parameters.rb +0 -160
  565. data/spec/shared_behaviours/store_configs_terminus.rb +0 -21
  566. data/spec/shared_behaviours/things_that_declare_options.rb +0 -262
  567. data/spec/shared_contexts/checksum.rb +0 -65
  568. data/spec/shared_contexts/digests.rb +0 -100
  569. data/spec/shared_contexts/https.rb +0 -29
  570. data/spec/shared_contexts/l10n.rb +0 -32
  571. data/spec/shared_contexts/provider.rb +0 -16
  572. data/spec/shared_contexts/types_setup.rb +0 -204
  573. data/spec/shared_examples/rhel_package_provider.rb +0 -398
  574. data/spec/spec_helper.rb +0 -240
  575. data/spec/unit/agent/disabler_spec.rb +0 -63
  576. data/spec/unit/agent/locker_spec.rb +0 -99
  577. data/spec/unit/agent_spec.rb +0 -423
  578. data/spec/unit/application/agent_spec.rb +0 -640
  579. data/spec/unit/application/apply_spec.rb +0 -559
  580. data/spec/unit/application/config_spec.rb +0 -232
  581. data/spec/unit/application/describe_spec.rb +0 -135
  582. data/spec/unit/application/device_spec.rb +0 -616
  583. data/spec/unit/application/doc_spec.rb +0 -333
  584. data/spec/unit/application/face_base_spec.rb +0 -454
  585. data/spec/unit/application/facts_spec.rb +0 -139
  586. data/spec/unit/application/filebucket_spec.rb +0 -319
  587. data/spec/unit/application/indirection_base_spec.rb +0 -50
  588. data/spec/unit/application/lookup_spec.rb +0 -691
  589. data/spec/unit/application/resource_spec.rb +0 -220
  590. data/spec/unit/application/ssl_spec.rb +0 -507
  591. data/spec/unit/application_spec.rb +0 -730
  592. data/spec/unit/certificate_factory_spec.rb +0 -170
  593. data/spec/unit/concurrent/lock_spec.rb +0 -29
  594. data/spec/unit/concurrent/thread_local_singleton_spec.rb +0 -39
  595. data/spec/unit/configurer/downloader_spec.rb +0 -252
  596. data/spec/unit/configurer/fact_handler_spec.rb +0 -147
  597. data/spec/unit/configurer/plugin_handler_spec.rb +0 -152
  598. data/spec/unit/configurer_spec.rb +0 -1488
  599. data/spec/unit/confine/exists_spec.rb +0 -82
  600. data/spec/unit/confine/false_spec.rb +0 -78
  601. data/spec/unit/confine/feature_spec.rb +0 -59
  602. data/spec/unit/confine/true_spec.rb +0 -78
  603. data/spec/unit/confine/variable_spec.rb +0 -105
  604. data/spec/unit/confine_collection_spec.rb +0 -132
  605. data/spec/unit/confine_spec.rb +0 -99
  606. data/spec/unit/confiner_spec.rb +0 -61
  607. data/spec/unit/context/trusted_information_spec.rb +0 -213
  608. data/spec/unit/context_spec.rb +0 -217
  609. data/spec/unit/daemon_spec.rb +0 -193
  610. data/spec/unit/data_binding_spec.rb +0 -11
  611. data/spec/unit/data_providers/function_data_provider_spec.rb +0 -122
  612. data/spec/unit/data_providers/hiera_data_provider_spec.rb +0 -360
  613. data/spec/unit/datatypes_spec.rb +0 -352
  614. data/spec/unit/defaults_spec.rb +0 -174
  615. data/spec/unit/environments_spec.rb +0 -1186
  616. data/spec/unit/etc_spec.rb +0 -465
  617. data/spec/unit/external/pson_spec.rb +0 -60
  618. data/spec/unit/face/config_spec.rb +0 -402
  619. data/spec/unit/face/epp_face_spec.rb +0 -385
  620. data/spec/unit/face/facts_spec.rb +0 -78
  621. data/spec/unit/face/generate_spec.rb +0 -293
  622. data/spec/unit/face/help_spec.rb +0 -208
  623. data/spec/unit/face/module/install_spec.rb +0 -40
  624. data/spec/unit/face/module/list_spec.rb +0 -256
  625. data/spec/unit/face/module/uninstall_spec.rb +0 -45
  626. data/spec/unit/face/module/upgrade_spec.rb +0 -26
  627. data/spec/unit/face/node_spec.rb +0 -129
  628. data/spec/unit/face/parser_spec.rb +0 -310
  629. data/spec/unit/face/plugin_spec.rb +0 -158
  630. data/spec/unit/face_spec.rb +0 -1
  631. data/spec/unit/facter_impl_spec.rb +0 -31
  632. data/spec/unit/file_bucket/dipper_spec.rb +0 -405
  633. data/spec/unit/file_bucket/file_spec.rb +0 -58
  634. data/spec/unit/file_serving/base_spec.rb +0 -164
  635. data/spec/unit/file_serving/configuration/parser_spec.rb +0 -206
  636. data/spec/unit/file_serving/configuration_spec.rb +0 -240
  637. data/spec/unit/file_serving/content_spec.rb +0 -98
  638. data/spec/unit/file_serving/fileset_spec.rb +0 -417
  639. data/spec/unit/file_serving/http_metadata_spec.rb +0 -109
  640. data/spec/unit/file_serving/metadata_spec.rb +0 -551
  641. data/spec/unit/file_serving/mount/file_spec.rb +0 -188
  642. data/spec/unit/file_serving/mount/locales_spec.rb +0 -72
  643. data/spec/unit/file_serving/mount/modules_spec.rb +0 -69
  644. data/spec/unit/file_serving/mount/pluginfacts_spec.rb +0 -72
  645. data/spec/unit/file_serving/mount/plugins_spec.rb +0 -72
  646. data/spec/unit/file_serving/mount/scripts_spec.rb +0 -69
  647. data/spec/unit/file_serving/mount/tasks_spec.rb +0 -71
  648. data/spec/unit/file_serving/mount_spec.rb +0 -30
  649. data/spec/unit/file_serving/terminus_helper_spec.rb +0 -114
  650. data/spec/unit/file_serving/terminus_selector_spec.rb +0 -84
  651. data/spec/unit/file_system/path_pattern_spec.rb +0 -153
  652. data/spec/unit/file_system/uniquefile_spec.rb +0 -245
  653. data/spec/unit/file_system_spec.rb +0 -1198
  654. data/spec/unit/forge/errors_spec.rb +0 -80
  655. data/spec/unit/forge/forge_spec.rb +0 -69
  656. data/spec/unit/forge/module_release_spec.rb +0 -331
  657. data/spec/unit/forge/repository_spec.rb +0 -154
  658. data/spec/unit/forge_spec.rb +0 -210
  659. data/spec/unit/functions/abs_spec.rb +0 -70
  660. data/spec/unit/functions/all_spec.rb +0 -97
  661. data/spec/unit/functions/annotate_spec.rb +0 -175
  662. data/spec/unit/functions/any_spec.rb +0 -109
  663. data/spec/unit/functions/assert_type_spec.rb +0 -97
  664. data/spec/unit/functions/binary_file_spec.rb +0 -46
  665. data/spec/unit/functions/break_spec.rb +0 -207
  666. data/spec/unit/functions/call_spec.rb +0 -131
  667. data/spec/unit/functions/camelcase_spec.rb +0 -34
  668. data/spec/unit/functions/capitalize_spec.rb +0 -34
  669. data/spec/unit/functions/ceiling_spec.rb +0 -65
  670. data/spec/unit/functions/chomp_spec.rb +0 -46
  671. data/spec/unit/functions/chop_spec.rb +0 -38
  672. data/spec/unit/functions/compare_spec.rb +0 -147
  673. data/spec/unit/functions/contain_spec.rb +0 -297
  674. data/spec/unit/functions/convert_to_spec.rb +0 -25
  675. data/spec/unit/functions/defined_spec.rb +0 -288
  676. data/spec/unit/functions/dig_spec.rb +0 -58
  677. data/spec/unit/functions/downcase_spec.rb +0 -34
  678. data/spec/unit/functions/each_spec.rb +0 -107
  679. data/spec/unit/functions/empty_spec.rb +0 -87
  680. data/spec/unit/functions/epp_spec.rb +0 -172
  681. data/spec/unit/functions/filter_spec.rb +0 -145
  682. data/spec/unit/functions/find_file_spec.rb +0 -69
  683. data/spec/unit/functions/find_template_spec.rb +0 -69
  684. data/spec/unit/functions/flatten_spec.rb +0 -31
  685. data/spec/unit/functions/floor_spec.rb +0 -65
  686. data/spec/unit/functions/get_spec.rb +0 -135
  687. data/spec/unit/functions/getvar_spec.rb +0 -121
  688. data/spec/unit/functions/group_by_spec.rb +0 -40
  689. data/spec/unit/functions/hiera_spec.rb +0 -495
  690. data/spec/unit/functions/include_spec.rb +0 -186
  691. data/spec/unit/functions/index_spec.rb +0 -184
  692. data/spec/unit/functions/inline_epp_spec.rb +0 -114
  693. data/spec/unit/functions/join_spec.rb +0 -33
  694. data/spec/unit/functions/keys_spec.rb +0 -31
  695. data/spec/unit/functions/length_spec.rb +0 -50
  696. data/spec/unit/functions/lest_spec.rb +0 -34
  697. data/spec/unit/functions/logging_spec.rb +0 -62
  698. data/spec/unit/functions/lookup_fixture_spec.rb +0 -687
  699. data/spec/unit/functions/lookup_spec.rb +0 -3425
  700. data/spec/unit/functions/lstrip_spec.rb +0 -30
  701. data/spec/unit/functions/map_spec.rb +0 -163
  702. data/spec/unit/functions/match_spec.rb +0 -74
  703. data/spec/unit/functions/max_spec.rb +0 -129
  704. data/spec/unit/functions/min_spec.rb +0 -129
  705. data/spec/unit/functions/module_directory_spec.rb +0 -43
  706. data/spec/unit/functions/new_spec.rb +0 -776
  707. data/spec/unit/functions/next_spec.rb +0 -93
  708. data/spec/unit/functions/partition_spec.rb +0 -40
  709. data/spec/unit/functions/reduce_spec.rb +0 -85
  710. data/spec/unit/functions/regsubst_spec.rb +0 -114
  711. data/spec/unit/functions/require_spec.rb +0 -82
  712. data/spec/unit/functions/return_spec.rb +0 -105
  713. data/spec/unit/functions/reverse_each_spec.rb +0 -108
  714. data/spec/unit/functions/round_spec.rb +0 -41
  715. data/spec/unit/functions/rstrip_spec.rb +0 -30
  716. data/spec/unit/functions/scanf_spec.rb +0 -32
  717. data/spec/unit/functions/shared.rb +0 -94
  718. data/spec/unit/functions/size_spec.rb +0 -50
  719. data/spec/unit/functions/slice_spec.rb +0 -136
  720. data/spec/unit/functions/sort_spec.rb +0 -79
  721. data/spec/unit/functions/split_spec.rb +0 -59
  722. data/spec/unit/functions/step_spec.rb +0 -113
  723. data/spec/unit/functions/strftime_spec.rb +0 -152
  724. data/spec/unit/functions/strip_spec.rb +0 -30
  725. data/spec/unit/functions/then_spec.rb +0 -40
  726. data/spec/unit/functions/tree_each_spec.rb +0 -493
  727. data/spec/unit/functions/type_spec.rb +0 -35
  728. data/spec/unit/functions/unique_spec.rb +0 -111
  729. data/spec/unit/functions/unwrap_spec.rb +0 -37
  730. data/spec/unit/functions/upcase_spec.rb +0 -34
  731. data/spec/unit/functions/values_spec.rb +0 -30
  732. data/spec/unit/functions/versioncmp_spec.rb +0 -70
  733. data/spec/unit/functions/with_spec.rb +0 -31
  734. data/spec/unit/functions4_spec.rb +0 -1046
  735. data/spec/unit/gettext/config_spec.rb +0 -156
  736. data/spec/unit/gettext/module_loading_spec.rb +0 -53
  737. data/spec/unit/graph/key_spec.rb +0 -41
  738. data/spec/unit/graph/rb_tree_map_spec.rb +0 -570
  739. data/spec/unit/graph/relationship_graph_spec.rb +0 -401
  740. data/spec/unit/graph/sequential_prioritizer_spec.rb +0 -32
  741. data/spec/unit/graph/simple_graph_spec.rb +0 -759
  742. data/spec/unit/hiera/scope_spec.rb +0 -100
  743. data/spec/unit/hiera_puppet_spec.rb +0 -159
  744. data/spec/unit/http/client_spec.rb +0 -937
  745. data/spec/unit/http/dns_spec.rb +0 -281
  746. data/spec/unit/http/external_client_spec.rb +0 -201
  747. data/spec/unit/http/factory_spec.rb +0 -160
  748. data/spec/unit/http/pool_entry_spec.rb +0 -49
  749. data/spec/unit/http/pool_spec.rb +0 -401
  750. data/spec/unit/http/proxy_spec.rb +0 -347
  751. data/spec/unit/http/resolver_spec.rb +0 -133
  752. data/spec/unit/http/response_spec.rb +0 -75
  753. data/spec/unit/http/service/ca_spec.rb +0 -198
  754. data/spec/unit/http/service/compiler_spec.rb +0 -744
  755. data/spec/unit/http/service/file_server_spec.rb +0 -307
  756. data/spec/unit/http/service/puppetserver_spec.rb +0 -112
  757. data/spec/unit/http/service/report_spec.rb +0 -117
  758. data/spec/unit/http/service_spec.rb +0 -143
  759. data/spec/unit/http/session_spec.rb +0 -309
  760. data/spec/unit/http/site_spec.rb +0 -96
  761. data/spec/unit/indirector/catalog/compiler_spec.rb +0 -1237
  762. data/spec/unit/indirector/catalog/json_spec.rb +0 -66
  763. data/spec/unit/indirector/catalog/msgpack_spec.rb +0 -11
  764. data/spec/unit/indirector/catalog/rest_spec.rb +0 -91
  765. data/spec/unit/indirector/catalog/store_configs_spec.rb +0 -16
  766. data/spec/unit/indirector/catalog/yaml_spec.rb +0 -23
  767. data/spec/unit/indirector/data_binding/hiera_spec.rb +0 -19
  768. data/spec/unit/indirector/data_binding/none_spec.rb +0 -28
  769. data/spec/unit/indirector/direct_file_server_spec.rb +0 -87
  770. data/spec/unit/indirector/envelope_spec.rb +0 -32
  771. data/spec/unit/indirector/exec_spec.rb +0 -63
  772. data/spec/unit/indirector/face_spec.rb +0 -82
  773. data/spec/unit/indirector/facts/facter_spec.rb +0 -290
  774. data/spec/unit/indirector/facts/json_spec.rb +0 -255
  775. data/spec/unit/indirector/facts/network_device_spec.rb +0 -77
  776. data/spec/unit/indirector/facts/rest_spec.rb +0 -99
  777. data/spec/unit/indirector/facts/store_configs_spec.rb +0 -16
  778. data/spec/unit/indirector/facts/yaml_spec.rb +0 -255
  779. data/spec/unit/indirector/file_bucket_file/file_spec.rb +0 -426
  780. data/spec/unit/indirector/file_bucket_file/rest_spec.rb +0 -89
  781. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +0 -46
  782. data/spec/unit/indirector/file_content/file_server_spec.rb +0 -13
  783. data/spec/unit/indirector/file_content/file_spec.rb +0 -13
  784. data/spec/unit/indirector/file_content/rest_spec.rb +0 -60
  785. data/spec/unit/indirector/file_content/selector_spec.rb +0 -9
  786. data/spec/unit/indirector/file_metadata/file_server_spec.rb +0 -13
  787. data/spec/unit/indirector/file_metadata/file_spec.rb +0 -57
  788. data/spec/unit/indirector/file_metadata/http_spec.rb +0 -194
  789. data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -116
  790. data/spec/unit/indirector/file_metadata/selector_spec.rb +0 -10
  791. data/spec/unit/indirector/file_server_spec.rb +0 -288
  792. data/spec/unit/indirector/hiera_spec.rb +0 -17
  793. data/spec/unit/indirector/indirection_spec.rb +0 -916
  794. data/spec/unit/indirector/json_spec.rb +0 -200
  795. data/spec/unit/indirector/memory_spec.rb +0 -26
  796. data/spec/unit/indirector/msgpack_spec.rb +0 -199
  797. data/spec/unit/indirector/node/exec_spec.rb +0 -107
  798. data/spec/unit/indirector/node/json_spec.rb +0 -33
  799. data/spec/unit/indirector/node/memory_spec.rb +0 -16
  800. data/spec/unit/indirector/node/msgpack_spec.rb +0 -23
  801. data/spec/unit/indirector/node/plain_spec.rb +0 -34
  802. data/spec/unit/indirector/node/rest_spec.rb +0 -66
  803. data/spec/unit/indirector/node/store_configs_spec.rb +0 -16
  804. data/spec/unit/indirector/node/yaml_spec.rb +0 -23
  805. data/spec/unit/indirector/none_spec.rb +0 -33
  806. data/spec/unit/indirector/plain_spec.rb +0 -26
  807. data/spec/unit/indirector/report/json_spec.rb +0 -72
  808. data/spec/unit/indirector/report/msgpack_spec.rb +0 -27
  809. data/spec/unit/indirector/report/processor_spec.rb +0 -99
  810. data/spec/unit/indirector/report/rest_spec.rb +0 -84
  811. data/spec/unit/indirector/report/yaml_spec.rb +0 -91
  812. data/spec/unit/indirector/request_spec.rb +0 -295
  813. data/spec/unit/indirector/resource/ral_spec.rb +0 -89
  814. data/spec/unit/indirector/resource/store_configs_spec.rb +0 -20
  815. data/spec/unit/indirector/rest_spec.rb +0 -149
  816. data/spec/unit/indirector/terminus_spec.rb +0 -264
  817. data/spec/unit/indirector/yaml_spec.rb +0 -188
  818. data/spec/unit/indirector_spec.rb +0 -148
  819. data/spec/unit/info_service_spec.rb +0 -575
  820. data/spec/unit/interface/action_builder_spec.rb +0 -216
  821. data/spec/unit/interface/action_manager_spec.rb +0 -254
  822. data/spec/unit/interface/action_spec.rb +0 -670
  823. data/spec/unit/interface/documentation_spec.rb +0 -32
  824. data/spec/unit/interface/face_collection_spec.rb +0 -219
  825. data/spec/unit/interface/option_builder_spec.rb +0 -86
  826. data/spec/unit/interface/option_spec.rb +0 -156
  827. data/spec/unit/interface_spec.rb +0 -305
  828. data/spec/unit/module_spec.rb +0 -989
  829. data/spec/unit/module_tool/application_spec.rb +0 -25
  830. data/spec/unit/module_tool/applications/checksummer_spec.rb +0 -115
  831. data/spec/unit/module_tool/applications/installer_spec.rb +0 -473
  832. data/spec/unit/module_tool/applications/uninstaller_spec.rb +0 -181
  833. data/spec/unit/module_tool/applications/unpacker_spec.rb +0 -75
  834. data/spec/unit/module_tool/applications/upgrader_spec.rb +0 -337
  835. data/spec/unit/module_tool/install_directory_spec.rb +0 -70
  836. data/spec/unit/module_tool/installed_modules_spec.rb +0 -49
  837. data/spec/unit/module_tool/metadata_spec.rb +0 -330
  838. data/spec/unit/module_tool/tar/gnu_spec.rb +0 -23
  839. data/spec/unit/module_tool/tar/mini_spec.rb +0 -109
  840. data/spec/unit/module_tool/tar_spec.rb +0 -36
  841. data/spec/unit/module_tool_spec.rb +0 -304
  842. data/spec/unit/network/authconfig_spec.rb +0 -8
  843. data/spec/unit/network/authorization_spec.rb +0 -8
  844. data/spec/unit/network/format_handler_spec.rb +0 -93
  845. data/spec/unit/network/format_spec.rb +0 -205
  846. data/spec/unit/network/format_support_spec.rb +0 -199
  847. data/spec/unit/network/formats_spec.rb +0 -584
  848. data/spec/unit/network/http/api/indirected_routes_spec.rb +0 -425
  849. data/spec/unit/network/http/api/master_spec.rb +0 -38
  850. data/spec/unit/network/http/api/server/v3/environments_spec.rb +0 -51
  851. data/spec/unit/network/http/api/server/v3_spec.rb +0 -78
  852. data/spec/unit/network/http/api_spec.rb +0 -109
  853. data/spec/unit/network/http/connection_spec.rb +0 -636
  854. data/spec/unit/network/http/error_spec.rb +0 -30
  855. data/spec/unit/network/http/handler_spec.rb +0 -164
  856. data/spec/unit/network/http/request_spec.rb +0 -108
  857. data/spec/unit/network/http/response_spec.rb +0 -106
  858. data/spec/unit/network/http/route_spec.rb +0 -90
  859. data/spec/unit/network/http_pool_spec.rb +0 -145
  860. data/spec/unit/network/uri_spec.rb +0 -47
  861. data/spec/unit/node/environment_spec.rb +0 -612
  862. data/spec/unit/node/facts_spec.rb +0 -225
  863. data/spec/unit/node_spec.rb +0 -434
  864. data/spec/unit/other/selinux_spec.rb +0 -27
  865. data/spec/unit/parameter/boolean_spec.rb +0 -35
  866. data/spec/unit/parameter/package_options_spec.rb +0 -43
  867. data/spec/unit/parameter/path_spec.rb +0 -23
  868. data/spec/unit/parameter/value_collection_spec.rb +0 -160
  869. data/spec/unit/parameter/value_spec.rb +0 -82
  870. data/spec/unit/parameter_spec.rb +0 -272
  871. data/spec/unit/parser/ast/block_expression_spec.rb +0 -66
  872. data/spec/unit/parser/ast/leaf_spec.rb +0 -136
  873. data/spec/unit/parser/compiler_spec.rb +0 -1020
  874. data/spec/unit/parser/files_spec.rb +0 -101
  875. data/spec/unit/parser/functions/create_resources_spec.rb +0 -326
  876. data/spec/unit/parser/functions/digest_spec.rb +0 -26
  877. data/spec/unit/parser/functions/fail_spec.rb +0 -23
  878. data/spec/unit/parser/functions/file_spec.rb +0 -99
  879. data/spec/unit/parser/functions/fqdn_rand_spec.rb +0 -87
  880. data/spec/unit/parser/functions/generate_spec.rb +0 -124
  881. data/spec/unit/parser/functions/hiera_array_spec.rb +0 -12
  882. data/spec/unit/parser/functions/hiera_hash_spec.rb +0 -12
  883. data/spec/unit/parser/functions/hiera_include_spec.rb +0 -12
  884. data/spec/unit/parser/functions/hiera_spec.rb +0 -12
  885. data/spec/unit/parser/functions/inline_template_spec.rb +0 -36
  886. data/spec/unit/parser/functions/lookup_spec.rb +0 -14
  887. data/spec/unit/parser/functions/realize_spec.rb +0 -70
  888. data/spec/unit/parser/functions/regsubst_spec.rb +0 -19
  889. data/spec/unit/parser/functions/scanf_spec.rb +0 -25
  890. data/spec/unit/parser/functions/shellquote_spec.rb +0 -66
  891. data/spec/unit/parser/functions/split_spec.rb +0 -13
  892. data/spec/unit/parser/functions/sprintf_spec.rb +0 -68
  893. data/spec/unit/parser/functions/tag_spec.rb +0 -30
  894. data/spec/unit/parser/functions/tagged_spec.rb +0 -36
  895. data/spec/unit/parser/functions/template_spec.rb +0 -93
  896. data/spec/unit/parser/functions/versioncmp_spec.rb +0 -28
  897. data/spec/unit/parser/functions_spec.rb +0 -156
  898. data/spec/unit/parser/relationship_spec.rb +0 -74
  899. data/spec/unit/parser/resource/param_spec.rb +0 -32
  900. data/spec/unit/parser/resource_spec.rb +0 -657
  901. data/spec/unit/parser/scope_spec.rb +0 -694
  902. data/spec/unit/parser/templatewrapper_spec.rb +0 -111
  903. data/spec/unit/parser/type_loader_spec.rb +0 -202
  904. data/spec/unit/plan_spec.rb +0 -65
  905. data/spec/unit/pops/adaptable_spec.rb +0 -139
  906. data/spec/unit/pops/benchmark_spec.rb +0 -123
  907. data/spec/unit/pops/containment_spec.rb +0 -0
  908. data/spec/unit/pops/evaluator/access_ops_spec.rb +0 -560
  909. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +0 -309
  910. data/spec/unit/pops/evaluator/basic_expressions_spec.rb +0 -101
  911. data/spec/unit/pops/evaluator/collections_ops_spec.rb +0 -108
  912. data/spec/unit/pops/evaluator/comparison_ops_spec.rb +0 -267
  913. data/spec/unit/pops/evaluator/conditionals_spec.rb +0 -189
  914. data/spec/unit/pops/evaluator/deferred_resolver_spec.rb +0 -46
  915. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +0 -1634
  916. data/spec/unit/pops/evaluator/evaluator_rspec_helper.rb +0 -75
  917. data/spec/unit/pops/evaluator/json_strict_literal_evaluator_spec.rb +0 -63
  918. data/spec/unit/pops/evaluator/literal_evaluator_spec.rb +0 -43
  919. data/spec/unit/pops/evaluator/logical_ops_spec.rb +0 -89
  920. data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +0 -181
  921. data/spec/unit/pops/evaluator/string_interpolation_spec.rb +0 -43
  922. data/spec/unit/pops/evaluator/variables_spec.rb +0 -88
  923. data/spec/unit/pops/factory_rspec_helper.rb +0 -65
  924. data/spec/unit/pops/factory_spec.rb +0 -309
  925. data/spec/unit/pops/issues_spec.rb +0 -210
  926. data/spec/unit/pops/label_provider_spec.rb +0 -46
  927. data/spec/unit/pops/loaders/dependency_loader_spec.rb +0 -122
  928. data/spec/unit/pops/loaders/environment_loader_spec.rb +0 -172
  929. data/spec/unit/pops/loaders/loader_paths_spec.rb +0 -43
  930. data/spec/unit/pops/loaders/loader_spec.rb +0 -516
  931. data/spec/unit/pops/loaders/loaders_spec.rb +0 -863
  932. data/spec/unit/pops/loaders/module_loaders_spec.rb +0 -268
  933. data/spec/unit/pops/loaders/static_loader_spec.rb +0 -85
  934. data/spec/unit/pops/lookup/context_spec.rb +0 -333
  935. data/spec/unit/pops/lookup/interpolation_spec.rb +0 -377
  936. data/spec/unit/pops/lookup/lookup_spec.rb +0 -375
  937. data/spec/unit/pops/merge_strategy_spec.rb +0 -17
  938. data/spec/unit/pops/migration_spec.rb +0 -51
  939. data/spec/unit/pops/model/model_spec.rb +0 -41
  940. data/spec/unit/pops/model/pn_transformer_spec.rb +0 -56
  941. data/spec/unit/pops/parser/epp_parser_spec.rb +0 -115
  942. data/spec/unit/pops/parser/evaluating_parser_spec.rb +0 -89
  943. data/spec/unit/pops/parser/lexer2_spec.rb +0 -942
  944. data/spec/unit/pops/parser/locator_spec.rb +0 -86
  945. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -380
  946. data/spec/unit/pops/parser/parse_calls_spec.rb +0 -171
  947. data/spec/unit/pops/parser/parse_conditionals_spec.rb +0 -184
  948. data/spec/unit/pops/parser/parse_containers_spec.rb +0 -247
  949. data/spec/unit/pops/parser/parse_functions_spec.rb +0 -19
  950. data/spec/unit/pops/parser/parse_heredoc_spec.rb +0 -276
  951. data/spec/unit/pops/parser/parse_lambda_spec.rb +0 -19
  952. data/spec/unit/pops/parser/parse_plan_spec.rb +0 -47
  953. data/spec/unit/pops/parser/parse_resource_spec.rb +0 -328
  954. data/spec/unit/pops/parser/parser_rspec_helper.rb +0 -17
  955. data/spec/unit/pops/parser/parser_spec.rb +0 -211
  956. data/spec/unit/pops/parser/parsing_typed_parameters_spec.rb +0 -65
  957. data/spec/unit/pops/parser/pn_parser_spec.rb +0 -100
  958. data/spec/unit/pops/pn_spec.rb +0 -147
  959. data/spec/unit/pops/puppet_stack_spec.rb +0 -108
  960. data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -37
  961. data/spec/unit/pops/serialization/packer_spec.rb +0 -162
  962. data/spec/unit/pops/serialization/serialization_spec.rb +0 -458
  963. data/spec/unit/pops/serialization/to_from_hr_spec.rb +0 -637
  964. data/spec/unit/pops/serialization/to_stringified_spec.rb +0 -162
  965. data/spec/unit/pops/time/timespan_spec.rb +0 -121
  966. data/spec/unit/pops/time/timestamp_spec.rb +0 -13
  967. data/spec/unit/pops/types/class_loader_spec.rb +0 -10
  968. data/spec/unit/pops/types/deferred_spec.rb +0 -87
  969. data/spec/unit/pops/types/error_spec.rb +0 -207
  970. data/spec/unit/pops/types/iterable_spec.rb +0 -262
  971. data/spec/unit/pops/types/p_binary_type_spec.rb +0 -243
  972. data/spec/unit/pops/types/p_init_type_spec.rb +0 -383
  973. data/spec/unit/pops/types/p_object_type_spec.rb +0 -1730
  974. data/spec/unit/pops/types/p_sem_ver_type_spec.rb +0 -340
  975. data/spec/unit/pops/types/p_sensitive_type_spec.rb +0 -191
  976. data/spec/unit/pops/types/p_timespan_type_spec.rb +0 -323
  977. data/spec/unit/pops/types/p_timestamp_type_spec.rb +0 -391
  978. data/spec/unit/pops/types/p_type_set_type_spec.rb +0 -549
  979. data/spec/unit/pops/types/p_uri_type_spec.rb +0 -191
  980. data/spec/unit/pops/types/recursion_guard_spec.rb +0 -93
  981. data/spec/unit/pops/types/ruby_generator_spec.rb +0 -874
  982. data/spec/unit/pops/types/string_converter_spec.rb +0 -1202
  983. data/spec/unit/pops/types/task_spec.rb +0 -411
  984. data/spec/unit/pops/types/type_acceptor_spec.rb +0 -106
  985. data/spec/unit/pops/types/type_asserter_spec.rb +0 -43
  986. data/spec/unit/pops/types/type_calculator_spec.rb +0 -2504
  987. data/spec/unit/pops/types/type_factory_spec.rb +0 -322
  988. data/spec/unit/pops/types/type_formatter_spec.rb +0 -427
  989. data/spec/unit/pops/types/type_mismatch_describer_spec.rb +0 -424
  990. data/spec/unit/pops/types/type_parser_spec.rb +0 -445
  991. data/spec/unit/pops/types/types_spec.rb +0 -755
  992. data/spec/unit/pops/utils_spec.rb +0 -70
  993. data/spec/unit/pops/validation_spec.rb +0 -66
  994. data/spec/unit/pops/validator/validator_spec.rb +0 -1030
  995. data/spec/unit/pops/visitor_spec.rb +0 -93
  996. data/spec/unit/property/boolean_spec.rb +0 -24
  997. data/spec/unit/property/ensure_spec.rb +0 -11
  998. data/spec/unit/property/keyvalue_spec.rb +0 -259
  999. data/spec/unit/property/list_spec.rb +0 -172
  1000. data/spec/unit/property/ordered_list_spec.rb +0 -59
  1001. data/spec/unit/property_spec.rb +0 -563
  1002. data/spec/unit/provider/README.markdown +0 -4
  1003. data/spec/unit/provider/aix_object_spec.rb +0 -821
  1004. data/spec/unit/provider/command_spec.rb +0 -62
  1005. data/spec/unit/provider/exec/posix_spec.rb +0 -232
  1006. data/spec/unit/provider/exec/shell_spec.rb +0 -53
  1007. data/spec/unit/provider/exec/windows_spec.rb +0 -105
  1008. data/spec/unit/provider/exec_spec.rb +0 -244
  1009. data/spec/unit/provider/file/posix_spec.rb +0 -230
  1010. data/spec/unit/provider/file/windows_spec.rb +0 -152
  1011. data/spec/unit/provider/group/aix_spec.rb +0 -91
  1012. data/spec/unit/provider/group/directoryservice_spec.rb +0 -33
  1013. data/spec/unit/provider/group/groupadd_spec.rb +0 -284
  1014. data/spec/unit/provider/group/ldap_spec.rb +0 -98
  1015. data/spec/unit/provider/group/pw_spec.rb +0 -78
  1016. data/spec/unit/provider/group/windows_adsi_spec.rb +0 -398
  1017. data/spec/unit/provider/ldap_spec.rb +0 -242
  1018. data/spec/unit/provider/nameservice/directoryservice_spec.rb +0 -157
  1019. data/spec/unit/provider/nameservice_spec.rb +0 -398
  1020. data/spec/unit/provider/package/aix_spec.rb +0 -158
  1021. data/spec/unit/provider/package/appdmg_spec.rb +0 -42
  1022. data/spec/unit/provider/package/apt_spec.rb +0 -302
  1023. data/spec/unit/provider/package/aptitude_spec.rb +0 -46
  1024. data/spec/unit/provider/package/aptrpm_spec.rb +0 -42
  1025. data/spec/unit/provider/package/base_spec.rb +0 -19
  1026. data/spec/unit/provider/package/dnf_spec.rb +0 -62
  1027. data/spec/unit/provider/package/dnfmodule_spec.rb +0 -276
  1028. data/spec/unit/provider/package/dpkg_spec.rb +0 -444
  1029. data/spec/unit/provider/package/freebsd_spec.rb +0 -51
  1030. data/spec/unit/provider/package/gem_spec.rb +0 -487
  1031. data/spec/unit/provider/package/hpux_spec.rb +0 -48
  1032. data/spec/unit/provider/package/macports_spec.rb +0 -142
  1033. data/spec/unit/provider/package/nim_spec.rb +0 -267
  1034. data/spec/unit/provider/package/openbsd_spec.rb +0 -417
  1035. data/spec/unit/provider/package/opkg_spec.rb +0 -180
  1036. data/spec/unit/provider/package/pacman_spec.rb +0 -438
  1037. data/spec/unit/provider/package/pip2_spec.rb +0 -38
  1038. data/spec/unit/provider/package/pip3_spec.rb +0 -38
  1039. data/spec/unit/provider/package/pip_spec.rb +0 -504
  1040. data/spec/unit/provider/package/pkg_spec.rb +0 -473
  1041. data/spec/unit/provider/package/pkgdmg_spec.rb +0 -166
  1042. data/spec/unit/provider/package/pkgin_spec.rb +0 -185
  1043. data/spec/unit/provider/package/pkgng_spec.rb +0 -228
  1044. data/spec/unit/provider/package/pkgutil_spec.rb +0 -231
  1045. data/spec/unit/provider/package/portage_spec.rb +0 -226
  1046. data/spec/unit/provider/package/puppet_gem_spec.rb +0 -130
  1047. data/spec/unit/provider/package/puppetserver_gem_spec.rb +0 -139
  1048. data/spec/unit/provider/package/rpm_spec.rb +0 -674
  1049. data/spec/unit/provider/package/sun_spec.rb +0 -112
  1050. data/spec/unit/provider/package/tdnf_spec.rb +0 -15
  1051. data/spec/unit/provider/package/up2date_spec.rb +0 -22
  1052. data/spec/unit/provider/package/urpmi_spec.rb +0 -84
  1053. data/spec/unit/provider/package/windows/exe_package_spec.rb +0 -114
  1054. data/spec/unit/provider/package/windows/msi_package_spec.rb +0 -111
  1055. data/spec/unit/provider/package/windows/package_spec.rb +0 -180
  1056. data/spec/unit/provider/package/windows_spec.rb +0 -272
  1057. data/spec/unit/provider/package/yum_spec.rb +0 -512
  1058. data/spec/unit/provider/package/zypper_spec.rb +0 -327
  1059. data/spec/unit/provider/package_targetable_spec.rb +0 -60
  1060. data/spec/unit/provider/parsedfile_spec.rb +0 -263
  1061. data/spec/unit/provider/service/base_spec.rb +0 -109
  1062. data/spec/unit/provider/service/bsd_spec.rb +0 -127
  1063. data/spec/unit/provider/service/daemontools_spec.rb +0 -190
  1064. data/spec/unit/provider/service/debian_spec.rb +0 -158
  1065. data/spec/unit/provider/service/freebsd_spec.rb +0 -92
  1066. data/spec/unit/provider/service/gentoo_spec.rb +0 -250
  1067. data/spec/unit/provider/service/init_spec.rb +0 -316
  1068. data/spec/unit/provider/service/launchd_spec.rb +0 -425
  1069. data/spec/unit/provider/service/openbsd_spec.rb +0 -196
  1070. data/spec/unit/provider/service/openrc_spec.rb +0 -231
  1071. data/spec/unit/provider/service/openwrt_spec.rb +0 -101
  1072. data/spec/unit/provider/service/rcng_spec.rb +0 -40
  1073. data/spec/unit/provider/service/redhat_spec.rb +0 -190
  1074. data/spec/unit/provider/service/runit_spec.rb +0 -164
  1075. data/spec/unit/provider/service/smf_spec.rb +0 -526
  1076. data/spec/unit/provider/service/src_spec.rb +0 -186
  1077. data/spec/unit/provider/service/systemd_spec.rb +0 -578
  1078. data/spec/unit/provider/service/upstart_spec.rb +0 -681
  1079. data/spec/unit/provider/service/windows_spec.rb +0 -475
  1080. data/spec/unit/provider/user/aix_spec.rb +0 -320
  1081. data/spec/unit/provider/user/directoryservice_spec.rb +0 -1256
  1082. data/spec/unit/provider/user/hpux_spec.rb +0 -72
  1083. data/spec/unit/provider/user/ldap_spec.rb +0 -286
  1084. data/spec/unit/provider/user/openbsd_spec.rb +0 -76
  1085. data/spec/unit/provider/user/pw_spec.rb +0 -252
  1086. data/spec/unit/provider/user/user_role_add_spec.rb +0 -374
  1087. data/spec/unit/provider/user/useradd_spec.rb +0 -849
  1088. data/spec/unit/provider/user/windows_adsi_spec.rb +0 -407
  1089. data/spec/unit/provider_spec.rb +0 -904
  1090. data/spec/unit/puppet_pal_2pec.rb +0 -1033
  1091. data/spec/unit/puppet_pal_catalog_spec.rb +0 -962
  1092. data/spec/unit/puppet_pal_spec.rb +0 -3
  1093. data/spec/unit/puppet_spec.rb +0 -127
  1094. data/spec/unit/relationship_spec.rb +0 -202
  1095. data/spec/unit/reports/http_spec.rb +0 -119
  1096. data/spec/unit/reports/store_spec.rb +0 -67
  1097. data/spec/unit/reports_spec.rb +0 -68
  1098. data/spec/unit/resource/catalog_spec.rb +0 -1151
  1099. data/spec/unit/resource/status_spec.rb +0 -216
  1100. data/spec/unit/resource/type_collection_spec.rb +0 -332
  1101. data/spec/unit/resource/type_spec.rb +0 -876
  1102. data/spec/unit/resource_spec.rb +0 -1189
  1103. data/spec/unit/scheduler/job_spec.rb +0 -78
  1104. data/spec/unit/scheduler/scheduler_spec.rb +0 -115
  1105. data/spec/unit/scheduler/splay_job_spec.rb +0 -34
  1106. data/spec/unit/settings/array_setting_spec.rb +0 -39
  1107. data/spec/unit/settings/autosign_setting_spec.rb +0 -104
  1108. data/spec/unit/settings/certificate_revocation_setting_spec.rb +0 -37
  1109. data/spec/unit/settings/config_file_spec.rb +0 -147
  1110. data/spec/unit/settings/directory_setting_spec.rb +0 -27
  1111. data/spec/unit/settings/duration_setting_spec.rb +0 -48
  1112. data/spec/unit/settings/enum_setting_spec.rb +0 -27
  1113. data/spec/unit/settings/environment_conf_spec.rb +0 -133
  1114. data/spec/unit/settings/file_setting_spec.rb +0 -344
  1115. data/spec/unit/settings/http_extra_headers_spec.rb +0 -62
  1116. data/spec/unit/settings/ini_file_spec.rb +0 -550
  1117. data/spec/unit/settings/integer_setting_spec.rb +0 -42
  1118. data/spec/unit/settings/path_setting_spec.rb +0 -29
  1119. data/spec/unit/settings/port_setting_spec.rb +0 -31
  1120. data/spec/unit/settings/priority_setting_spec.rb +0 -65
  1121. data/spec/unit/settings/server_list_setting_spec.rb +0 -21
  1122. data/spec/unit/settings/string_setting_spec.rb +0 -74
  1123. data/spec/unit/settings/terminus_setting_spec.rb +0 -27
  1124. data/spec/unit/settings/value_translator_spec.rb +0 -75
  1125. data/spec/unit/settings_spec.rb +0 -2343
  1126. data/spec/unit/ssl/base_spec.rb +0 -125
  1127. data/spec/unit/ssl/certificate_request_attributes_spec.rb +0 -80
  1128. data/spec/unit/ssl/certificate_request_spec.rb +0 -369
  1129. data/spec/unit/ssl/certificate_signer_spec.rb +0 -17
  1130. data/spec/unit/ssl/certificate_spec.rb +0 -183
  1131. data/spec/unit/ssl/digest_spec.rb +0 -34
  1132. data/spec/unit/ssl/oids_spec.rb +0 -73
  1133. data/spec/unit/ssl/ssl_provider_spec.rb +0 -632
  1134. data/spec/unit/ssl/state_machine_spec.rb +0 -982
  1135. data/spec/unit/ssl/verifier_spec.rb +0 -102
  1136. data/spec/unit/task_spec.rb +0 -345
  1137. data/spec/unit/test/test_helper_spec.rb +0 -17
  1138. data/spec/unit/transaction/additional_resource_generator_spec.rb +0 -534
  1139. data/spec/unit/transaction/event_manager_spec.rb +0 -365
  1140. data/spec/unit/transaction/event_spec.rb +0 -198
  1141. data/spec/unit/transaction/persistence_spec.rb +0 -276
  1142. data/spec/unit/transaction/report_spec.rb +0 -740
  1143. data/spec/unit/transaction/resource_harness_spec.rb +0 -625
  1144. data/spec/unit/transaction_spec.rb +0 -1037
  1145. data/spec/unit/type/README.markdown +0 -4
  1146. data/spec/unit/type/component_spec.rb +0 -52
  1147. data/spec/unit/type/exec_spec.rb +0 -945
  1148. data/spec/unit/type/file/checksum_spec.rb +0 -104
  1149. data/spec/unit/type/file/checksum_value_spec.rb +0 -285
  1150. data/spec/unit/type/file/content_spec.rb +0 -440
  1151. data/spec/unit/type/file/ctime_spec.rb +0 -33
  1152. data/spec/unit/type/file/ensure_spec.rb +0 -121
  1153. data/spec/unit/type/file/group_spec.rb +0 -65
  1154. data/spec/unit/type/file/mode_spec.rb +0 -220
  1155. data/spec/unit/type/file/mtime_spec.rb +0 -33
  1156. data/spec/unit/type/file/owner_spec.rb +0 -63
  1157. data/spec/unit/type/file/selinux_spec.rb +0 -86
  1158. data/spec/unit/type/file/source_spec.rb +0 -730
  1159. data/spec/unit/type/file/type_spec.rb +0 -18
  1160. data/spec/unit/type/file_spec.rb +0 -1746
  1161. data/spec/unit/type/filebucket_spec.rb +0 -104
  1162. data/spec/unit/type/group_spec.rb +0 -105
  1163. data/spec/unit/type/noop_metaparam_spec.rb +0 -37
  1164. data/spec/unit/type/package/package_settings_spec.rb +0 -156
  1165. data/spec/unit/type/package_spec.rb +0 -396
  1166. data/spec/unit/type/resources_spec.rb +0 -362
  1167. data/spec/unit/type/schedule_spec.rb +0 -621
  1168. data/spec/unit/type/service_spec.rb +0 -458
  1169. data/spec/unit/type/stage_spec.rb +0 -7
  1170. data/spec/unit/type/tidy_spec.rb +0 -493
  1171. data/spec/unit/type/user_spec.rb +0 -553
  1172. data/spec/unit/type/whit_spec.rb +0 -9
  1173. data/spec/unit/type_spec.rb +0 -1473
  1174. data/spec/unit/util/at_fork_spec.rb +0 -150
  1175. data/spec/unit/util/autoload_spec.rb +0 -330
  1176. data/spec/unit/util/backups_spec.rb +0 -130
  1177. data/spec/unit/util/character_encoding_spec.rb +0 -186
  1178. data/spec/unit/util/checksums_spec.rb +0 -223
  1179. data/spec/unit/util/colors_spec.rb +0 -44
  1180. data/spec/unit/util/command_line_spec.rb +0 -200
  1181. data/spec/unit/util/command_line_utils/puppet_option_parser_spec.rb +0 -129
  1182. data/spec/unit/util/constant_inflector_spec.rb +0 -55
  1183. data/spec/unit/util/diff_spec.rb +0 -46
  1184. data/spec/unit/util/docs_spec.rb +0 -100
  1185. data/spec/unit/util/errors_spec.rb +0 -36
  1186. data/spec/unit/util/execution_spec.rb +0 -943
  1187. data/spec/unit/util/execution_stub_spec.rb +0 -38
  1188. data/spec/unit/util/feature_spec.rb +0 -129
  1189. data/spec/unit/util/filetype_spec.rb +0 -223
  1190. data/spec/unit/util/inifile_spec.rb +0 -510
  1191. data/spec/unit/util/json_lockfile_spec.rb +0 -48
  1192. data/spec/unit/util/json_spec.rb +0 -126
  1193. data/spec/unit/util/ldap/connection_spec.rb +0 -162
  1194. data/spec/unit/util/ldap/generator_spec.rb +0 -49
  1195. data/spec/unit/util/ldap/manager_spec.rb +0 -612
  1196. data/spec/unit/util/lockfile_spec.rb +0 -117
  1197. data/spec/unit/util/log/destinations_spec.rb +0 -258
  1198. data/spec/unit/util/log_spec.rb +0 -479
  1199. data/spec/unit/util/logging_spec.rb +0 -618
  1200. data/spec/unit/util/metric_spec.rb +0 -89
  1201. data/spec/unit/util/monkey_patches_spec.rb +0 -137
  1202. data/spec/unit/util/multi_match_spec.rb +0 -38
  1203. data/spec/unit/util/network_device/config_spec.rb +0 -91
  1204. data/spec/unit/util/network_device/transport/base_spec.rb +0 -40
  1205. data/spec/unit/util/network_device_spec.rb +0 -43
  1206. data/spec/unit/util/package/version/debian_spec.rb +0 -83
  1207. data/spec/unit/util/package/version/pip_spec.rb +0 -464
  1208. data/spec/unit/util/package/version/range_spec.rb +0 -175
  1209. data/spec/unit/util/package/version/rpm_spec.rb +0 -121
  1210. data/spec/unit/util/package_spec.rb +0 -19
  1211. data/spec/unit/util/pidlock_spec.rb +0 -333
  1212. data/spec/unit/util/plist_spec.rb +0 -168
  1213. data/spec/unit/util/posix_spec.rb +0 -630
  1214. data/spec/unit/util/profiler/aggregate_spec.rb +0 -55
  1215. data/spec/unit/util/profiler/around_profiler_spec.rb +0 -61
  1216. data/spec/unit/util/profiler/logging_spec.rb +0 -70
  1217. data/spec/unit/util/profiler/object_counts_spec.rb +0 -13
  1218. data/spec/unit/util/profiler/wall_clock_spec.rb +0 -13
  1219. data/spec/unit/util/profiler_spec.rb +0 -47
  1220. data/spec/unit/util/rdoc_spec.rb +0 -55
  1221. data/spec/unit/util/reference_spec.rb +0 -38
  1222. data/spec/unit/util/resource_template_spec.rb +0 -57
  1223. data/spec/unit/util/retry_action_spec.rb +0 -84
  1224. data/spec/unit/util/rpm_compare_spec.rb +0 -196
  1225. data/spec/unit/util/rubygems_spec.rb +0 -47
  1226. data/spec/unit/util/run_mode_spec.rb +0 -217
  1227. data/spec/unit/util/selinux_spec.rb +0 -422
  1228. data/spec/unit/util/skip_tags_spec.rb +0 -14
  1229. data/spec/unit/util/splayer_spec.rb +0 -44
  1230. data/spec/unit/util/storage_spec.rb +0 -330
  1231. data/spec/unit/util/suidmanager_spec.rb +0 -278
  1232. data/spec/unit/util/symbolic_file_mode_spec.rb +0 -180
  1233. data/spec/unit/util/tag_set_spec.rb +0 -52
  1234. data/spec/unit/util/tagging_spec.rb +0 -246
  1235. data/spec/unit/util/terminal_spec.rb +0 -41
  1236. data/spec/unit/util/user_attr_spec.rb +0 -45
  1237. data/spec/unit/util/warnings_spec.rb +0 -45
  1238. data/spec/unit/util/watched_file_spec.rb +0 -52
  1239. data/spec/unit/util/watcher/periodic_watcher_spec.rb +0 -52
  1240. data/spec/unit/util/watcher_spec.rb +0 -86
  1241. data/spec/unit/util/windows/access_control_entry_spec.rb +0 -66
  1242. data/spec/unit/util/windows/access_control_list_spec.rb +0 -132
  1243. data/spec/unit/util/windows/adsi_spec.rb +0 -704
  1244. data/spec/unit/util/windows/api_types_spec.rb +0 -184
  1245. data/spec/unit/util/windows/eventlog_spec.rb +0 -120
  1246. data/spec/unit/util/windows/file_spec.rb +0 -88
  1247. data/spec/unit/util/windows/root_certs_spec.rb +0 -16
  1248. data/spec/unit/util/windows/security_descriptor_spec.rb +0 -115
  1249. data/spec/unit/util/windows/service_spec.rb +0 -677
  1250. data/spec/unit/util/windows/sid_spec.rb +0 -338
  1251. data/spec/unit/util/windows/string_spec.rb +0 -55
  1252. data/spec/unit/util/windows_spec.rb +0 -23
  1253. data/spec/unit/util/yaml_spec.rb +0 -171
  1254. data/spec/unit/util_spec.rb +0 -954
  1255. data/spec/unit/version_spec.rb +0 -61
  1256. data/spec/unit/x509/cert_provider_spec.rb +0 -614
  1257. data/spec/unit/x509/pem_store_spec.rb +0 -160
@@ -1,982 +0,0 @@
1
- require 'spec_helper'
2
- require 'puppet_spec/files'
3
-
4
- require 'puppet/ssl'
5
-
6
- describe Puppet::SSL::StateMachine, unless: Puppet::Util::Platform.jruby? do
7
- include PuppetSpec::Files
8
-
9
- let(:privatekeydir) { tmpdir('privatekeydir') }
10
- let(:certdir) { tmpdir('certdir') }
11
- let(:requestdir) { tmpdir('requestdir') }
12
- let(:machine) { described_class.new }
13
- let(:cert_provider) { Puppet::X509::CertProvider.new(privatekeydir: privatekeydir, certdir: certdir, requestdir: requestdir) }
14
- let(:ssl_provider) { Puppet::SSL::SSLProvider.new }
15
- let(:machine) { described_class.new(cert_provider: cert_provider, ssl_provider: ssl_provider) }
16
-
17
- let(:cacert_pem) { cacert.to_pem }
18
- let(:cacert) { cert_fixture('ca.pem') }
19
- let(:cacerts) { [cacert, cert_fixture('intermediate.pem')] }
20
-
21
- let(:crl_pem) { crl.to_pem }
22
- let(:crl) { crl_fixture('crl.pem') }
23
- let(:crls) { [crl, crl_fixture('intermediate-crl.pem')] }
24
- let(:private_key) { key_fixture('signed-key.pem') }
25
- let(:client_cert) { cert_fixture('signed.pem') }
26
-
27
- let(:refused_message) { %r{Connection refused|No connection could be made because the target machine actively refused it} }
28
-
29
- before(:each) do
30
- Puppet[:daemonize] = false
31
- Puppet[:ssl_lockfile] = tmpfile('ssllock')
32
- allow(Kernel).to receive(:sleep)
33
- end
34
-
35
- def expected_digest(name, content)
36
- OpenSSL::Digest.new(name).hexdigest(content)
37
- end
38
-
39
- def to_fingerprint(digest)
40
- digest.scan(/../).join(':').upcase
41
- end
42
-
43
- context 'when passing keyword arguments' do
44
- it "accepts digest" do
45
- expect(described_class.new(digest: 'SHA512').digest).to eq('SHA512')
46
- end
47
-
48
- it "accepts ca_fingerprint" do
49
- expect(described_class.new(ca_fingerprint: 'CAFE').ca_fingerprint).to eq('CAFE')
50
- end
51
- end
52
-
53
- context 'when ensuring CA certs and CRLs' do
54
- it 'returns an SSLContext with the loaded CA certs and CRLs' do
55
- allow(cert_provider).to receive(:load_cacerts).and_return(cacerts)
56
- allow(cert_provider).to receive(:load_crls).and_return(crls)
57
-
58
- ssl_context = machine.ensure_ca_certificates
59
-
60
- expect(ssl_context[:cacerts]).to eq(cacerts)
61
- expect(ssl_context[:crls]).to eq(crls)
62
- expect(ssl_context[:verify_peer]).to eq(true)
63
- end
64
-
65
- context 'when exceptions occur' do
66
- it 'raises in onetime mode' do
67
- stub_request(:get, %r{puppet-ca/v1/certificate/ca})
68
- .to_raise(Errno::ECONNREFUSED)
69
-
70
- machine = described_class.new(cert_provider: cert_provider, ssl_provider: ssl_provider, onetime: true)
71
- expect {
72
- machine.ensure_ca_certificates
73
- }.to raise_error(Puppet::Error, refused_message)
74
- end
75
-
76
- it 'retries CA cert download' do
77
- # allow cert to be saved to disk
78
- FileUtils.mkdir_p(Puppet[:certdir])
79
- allow(cert_provider).to receive(:load_crls).and_return(crls)
80
-
81
- req = stub_request(:get, %r{puppet-ca/v1/certificate/ca})
82
- .to_raise(Errno::ECONNREFUSED).then
83
- .to_return(status: 200, body: cacert_pem)
84
-
85
- machine.ensure_ca_certificates
86
-
87
- expect(req).to have_been_made.twice
88
- expect(@logs).to include(an_object_having_attributes(message: refused_message))
89
- end
90
-
91
- it 'retries CRL download' do
92
- # allow crl to be saved to disk
93
- FileUtils.mkdir_p(Puppet[:ssldir])
94
- allow(cert_provider).to receive(:load_cacerts).and_return(cacerts)
95
-
96
- req = stub_request(:get, %r{puppet-ca/v1/certificate_revocation_list/ca})
97
- .to_raise(Errno::ECONNREFUSED).then
98
- .to_return(status: 200, body: crl_pem)
99
-
100
- machine.ensure_ca_certificates
101
-
102
- expect(req).to have_been_made.twice
103
- expect(@logs).to include(an_object_having_attributes(message: refused_message))
104
- end
105
- end
106
- end
107
-
108
- context 'when ensuring a client cert' do
109
- it 'returns an SSLContext with the loaded CA certs, CRLs, private key and client cert' do
110
- allow(cert_provider).to receive(:load_cacerts).and_return(cacerts)
111
- allow(cert_provider).to receive(:load_crls).and_return(crls)
112
- allow(cert_provider).to receive(:load_private_key).and_return(private_key)
113
- allow(cert_provider).to receive(:load_client_cert).and_return(client_cert)
114
-
115
- ssl_context = machine.ensure_client_certificate
116
-
117
- expect(ssl_context[:cacerts]).to eq(cacerts)
118
- expect(ssl_context[:crls]).to eq(crls)
119
- expect(ssl_context[:verify_peer]).to eq(true)
120
- expect(ssl_context[:private_key]).to eq(private_key)
121
- expect(ssl_context[:client_cert]).to eq(client_cert)
122
- end
123
-
124
- it 'uses the specified digest to log the cert chain fingerprints' do
125
- allow(cert_provider).to receive(:load_cacerts).and_return(cacerts)
126
- allow(cert_provider).to receive(:load_crls).and_return(crls)
127
- allow(cert_provider).to receive(:load_private_key).and_return(private_key)
128
- allow(cert_provider).to receive(:load_client_cert).and_return(client_cert)
129
-
130
- Puppet[:log_level] = :debug
131
- machine = described_class.new(cert_provider: cert_provider, digest: 'SHA512')
132
- machine.ensure_client_certificate
133
-
134
- expect(@logs).to include(
135
- an_object_having_attributes(message: /Verified CA certificate 'CN=Test CA' fingerprint \(SHA512\)/),
136
- an_object_having_attributes(message: /Verified CA certificate 'CN=Test CA Subauthority' fingerprint \(SHA512\)/),
137
- an_object_having_attributes(message: /Verified client certificate 'CN=signed' fingerprint \(SHA512\)/)
138
- )
139
- end
140
-
141
- context 'when exceptions occur' do
142
- before :each do
143
- allow(cert_provider).to receive(:load_cacerts).and_return(cacerts)
144
- allow(cert_provider).to receive(:load_crls).and_return(crls)
145
- end
146
-
147
- it 'retries CSR submission' do
148
- allow(cert_provider).to receive(:load_private_key).and_return(private_key)
149
- allow($stdout).to receive(:puts).with(/Couldn't fetch certificate from CA server; you might still need to sign this agent's certificate/)
150
-
151
- stub_request(:get, %r{puppet-ca/v1/certificate/#{Puppet[:certname]}})
152
- .to_return(status: 200, body: client_cert.to_pem)
153
- # first request raises, second succeeds
154
- req = stub_request(:put, %r{puppet-ca/v1/certificate_request/#{Puppet[:certname]}})
155
- .to_raise(Errno::ECONNREFUSED).then
156
- .to_return(status: 200)
157
-
158
- machine.ensure_client_certificate
159
-
160
- expect(req).to have_been_made.twice
161
- expect(@logs).to include(an_object_having_attributes(message: refused_message))
162
- end
163
-
164
- it 'retries client cert download' do
165
- allow(cert_provider).to receive(:load_private_key).and_return(private_key)
166
-
167
- # first request raises, second succeeds
168
- req = stub_request(:get, %r{puppet-ca/v1/certificate/#{Puppet[:certname]}})
169
- .to_raise(Errno::ECONNREFUSED).then
170
- .to_return(status: 200, body: client_cert.to_pem)
171
- stub_request(:put, %r{puppet-ca/v1/certificate_request/#{Puppet[:certname]}}).to_return(status: 200)
172
-
173
- machine.ensure_client_certificate
174
-
175
- expect(req).to have_been_made.twice
176
- expect(@logs).to include(an_object_having_attributes(message: refused_message))
177
- end
178
-
179
- it 'retries when client cert and private key are mismatched' do
180
- allow(cert_provider).to receive(:load_private_key).and_return(private_key)
181
-
182
- # return mismatched cert the first time, correct cert second time
183
- req = stub_request(:get, %r{puppet-ca/v1/certificate/#{Puppet[:certname]}})
184
- .to_return(status: 200, body: cert_fixture('pluto.pem').to_pem)
185
- .to_return(status: 200, body: client_cert.to_pem)
186
- stub_request(:put, %r{puppet-ca/v1/certificate_request/#{Puppet[:certname]}}).to_return(status: 200)
187
-
188
- machine.ensure_client_certificate
189
-
190
- expect(req).to have_been_made.twice
191
- expect(@logs).to include(an_object_having_attributes(message: %r{The certificate for 'CN=pluto' does not match its private key}))
192
- end
193
-
194
- it 'raises in onetime mode' do
195
- stub_request(:get, %r{puppet-ca/v1/certificate/#{Puppet[:certname]}})
196
- .to_raise(Errno::ECONNREFUSED)
197
- stub_request(:put, %r{puppet-ca/v1/certificate_request/#{Puppet[:certname]}})
198
- .to_return(status: 200)
199
-
200
- machine = described_class.new(cert_provider: cert_provider, ssl_provider: ssl_provider, onetime: true)
201
- expect {
202
- machine.ensure_client_certificate
203
- }.to raise_error(Puppet::Error, refused_message)
204
- end
205
- end
206
- end
207
-
208
- context 'when locking' do
209
- let(:lockfile) { Puppet::Util::Pidlock.new(Puppet[:ssl_lockfile]) }
210
- let(:machine) { described_class.new(cert_provider: cert_provider, ssl_provider: ssl_provider, lockfile: lockfile) }
211
-
212
- # lockfile is deleted before `ensure_ca_certificates` returns, so
213
- # verify lockfile contents while state machine is running
214
- def expect_lockfile_to_contain(pid)
215
- allow(cert_provider).to receive(:load_cacerts) do
216
- expect(File.read(Puppet[:ssl_lockfile])).to eq(pid.to_s)
217
- end.and_return(cacerts)
218
- allow(cert_provider).to receive(:load_crls).and_return(crls)
219
- end
220
-
221
- it 'locks the file prior to running the state machine and unlocks when done' do
222
- expect(lockfile).to receive(:lock).and_call_original.ordered
223
- expect(cert_provider).to receive(:load_cacerts).and_return(cacerts).ordered
224
- expect(cert_provider).to receive(:load_crls).and_return(crls).ordered
225
- expect(lockfile).to receive(:unlock).ordered
226
-
227
- machine.ensure_ca_certificates
228
- end
229
-
230
- it 'deletes the lockfile when finished' do
231
- allow(cert_provider).to receive(:load_cacerts).and_return(cacerts)
232
- allow(cert_provider).to receive(:load_crls).and_return(crls)
233
-
234
- machine = described_class.new(cert_provider: cert_provider, ssl_provider: ssl_provider)
235
- machine.ensure_ca_certificates
236
-
237
- expect(File).to_not be_exist(Puppet[:ssl_lockfile])
238
- end
239
-
240
- it 'acquires an empty lockfile' do
241
- Puppet::FileSystem.touch(Puppet[:ssl_lockfile])
242
-
243
- expect_lockfile_to_contain(Process.pid)
244
-
245
- machine = described_class.new(cert_provider: cert_provider, ssl_provider: ssl_provider)
246
- machine.ensure_ca_certificates
247
- end
248
-
249
- it 'acquires its own lockfile' do
250
- File.write(Puppet[:ssl_lockfile], Process.pid.to_s)
251
-
252
- expect_lockfile_to_contain(Process.pid)
253
-
254
- machine = described_class.new(cert_provider: cert_provider, ssl_provider: ssl_provider)
255
- machine.ensure_ca_certificates
256
- end
257
-
258
- it 'overwrites a stale lockfile' do
259
- # 2**31 - 1 chosen to not conflict with existing pid
260
- File.write(Puppet[:ssl_lockfile], "2147483647")
261
-
262
- expect_lockfile_to_contain(Process.pid)
263
-
264
- machine = described_class.new(cert_provider: cert_provider, ssl_provider: ssl_provider)
265
- machine.ensure_ca_certificates
266
- end
267
-
268
- context 'and another puppet process is running' do
269
- let(:now) { Time.now }
270
- let(:future) { now + (5 * 60)} # 5 mins in the future
271
-
272
- before :each do
273
- allow(lockfile).to receive(:lock).and_return(false)
274
- end
275
-
276
- it 'raises a puppet exception' do
277
- expect {
278
- machine.ensure_ca_certificates
279
- }.to raise_error(Puppet::Error, /Another puppet instance is already running and the waitforlock setting is set to 0; exiting/)
280
- end
281
-
282
- it 'sleeps and retries successfully' do
283
- machine = described_class.new(lockfile: lockfile, cert_provider: cert_provider, waitforlock: 1, maxwaitforlock: 10)
284
- allow(cert_provider).to receive(:load_cacerts).and_return(cacerts)
285
- allow(cert_provider).to receive(:load_crls).and_return(crls)
286
- allow(Time).to receive(:now).and_return(now, future)
287
-
288
- expect(Kernel).to receive(:sleep).with(1)
289
- expect(Puppet).to receive(:info).with("Another puppet instance is already running; waiting for it to finish")
290
- expect(Puppet).to receive(:info).with("Will try again in 1 seconds.")
291
-
292
- allow(lockfile).to receive(:lock).and_return(false, true)
293
-
294
- expect(machine.ensure_ca_certificates).to be_an_instance_of(Puppet::SSL::SSLContext)
295
- end
296
-
297
- it 'sleeps and retries unsuccessfully until the deadline is exceeded' do
298
- machine = described_class.new(lockfile: lockfile, waitforlock: 1, maxwaitforlock: 10)
299
- allow(Time).to receive(:now).and_return(now, future)
300
-
301
- expect(Kernel).to receive(:sleep).with(1)
302
- expect(Puppet).to receive(:info).with("Another puppet instance is already running; waiting for it to finish")
303
- expect(Puppet).to receive(:info).with("Will try again in 1 seconds.")
304
-
305
- allow(lockfile).to receive(:lock).and_return(false)
306
- expect {
307
- machine.ensure_ca_certificates
308
- }.to raise_error(Puppet::Error, /Another puppet instance is already running and the maxwaitforlock timeout has been exceeded; exiting/)
309
- end
310
-
311
- it 'defaults the waitlock deadline to 60 seconds' do
312
- allow(Time).to receive(:now).and_return(now)
313
-
314
- machine = described_class.new
315
- expect(machine.waitlock_deadline).to eq(now.to_i + 60)
316
- end
317
- end
318
- end
319
-
320
- context 'NeedCACerts' do
321
- let(:state) { Puppet::SSL::StateMachine::NeedCACerts.new(machine) }
322
-
323
- before :each do
324
- Puppet[:localcacert] = tmpfile('needcacerts')
325
- end
326
-
327
- it 'transitions to NeedCRLs state' do
328
- allow(cert_provider).to receive(:load_cacerts).and_return(cacerts)
329
-
330
- expect(state.next_state).to be_an_instance_of(Puppet::SSL::StateMachine::NeedCRLs)
331
- end
332
-
333
- it 'loads existing CA certs' do
334
- allow(cert_provider).to receive(:load_cacerts).and_return(cacerts)
335
-
336
- st = state.next_state
337
- expect(st.ssl_context[:cacerts]).to eq(cacerts)
338
- end
339
-
340
- it 'fetches and saves CA certs' do
341
- allow(cert_provider).to receive(:load_cacerts).and_return(nil)
342
- stub_request(:get, %r{puppet-ca/v1/certificate/ca}).to_return(status: 200, body: cacert_pem)
343
-
344
- st = state.next_state
345
- expect(st.ssl_context[:cacerts].map(&:to_pem)).to eq([cacert_pem])
346
- expect(File).to be_exist(Puppet[:localcacert])
347
- end
348
-
349
- it "does not verify the server's cert if there are no local CA certs" do
350
- allow(cert_provider).to receive(:load_cacerts).and_return(nil)
351
- stub_request(:get, %r{puppet-ca/v1/certificate/ca}).to_return(status: 200, body: cacert_pem)
352
- allow(cert_provider).to receive(:save_cacerts)
353
-
354
- receive_count = 0
355
- allow_any_instance_of(Net::HTTP).to receive(:verify_mode=).with(OpenSSL::SSL::VERIFY_NONE) { receive_count += 1 }
356
-
357
- state.next_state
358
-
359
- expect(receive_count).to eq(2)
360
- end
361
-
362
- it 'returns an Error if the server returns 404' do
363
- stub_request(:get, %r{puppet-ca/v1/certificate/ca}).to_return(status: 404)
364
-
365
- st = state.next_state
366
- expect(st).to be_an_instance_of(Puppet::SSL::StateMachine::Error)
367
- expect(st.message).to eq("CA certificate is missing from the server")
368
- end
369
-
370
- it 'returns an Error if there is a different exception' do
371
- stub_request(:get, %r{puppet-ca/v1/certificate/ca}).to_return(status: [500, 'Internal Server Error'])
372
-
373
- st = state.next_state
374
- expect(st).to be_an_instance_of(Puppet::SSL::StateMachine::Error)
375
- expect(st.message).to eq("Could not download CA certificate: Internal Server Error")
376
- end
377
-
378
- it 'returns an Error if CA certs are invalid' do
379
- allow(cert_provider).to receive(:load_cacerts).and_return(nil)
380
- stub_request(:get, %r{puppet-ca/v1/certificate/ca}).to_return(status: 200, body: '')
381
-
382
- st = state.next_state
383
- expect(st).to be_an_instance_of(Puppet::SSL::StateMachine::Error)
384
- expect(st.error).to be_an_instance_of(OpenSSL::X509::CertificateError)
385
- end
386
-
387
- it 'does not save invalid CA certs' do
388
- stub_request(:get, %r{puppet-ca/v1/certificate/ca}).to_return(status: 200, body: <<~END)
389
- -----BEGIN CERTIFICATE-----
390
- MIIBpDCCAQ2gAwIBAgIBAjANBgkqhkiG9w0BAQsFADAfMR0wGwYDVQQDDBRUZXN0
391
- END
392
-
393
- state.next_state rescue OpenSSL::X509::CertificateError
394
-
395
- expect(File).to_not exist(Puppet[:localcacert])
396
- end
397
-
398
- context 'when verifying CA cert bundle' do
399
- before :each do
400
- allow(cert_provider).to receive(:load_cacerts).and_return(nil)
401
- stub_request(:get, %r{puppet-ca/v1/certificate/ca}).to_return(status: 200, body: cacert_pem)
402
- allow(cert_provider).to receive(:save_cacerts)
403
- end
404
-
405
- it 'verifies CA cert bundle if a ca_fingerprint is given case-insensitively' do
406
- Puppet[:log_level] = :info
407
-
408
- digest = expected_digest('SHA256', cacert_pem)
409
- fingerprint = to_fingerprint(digest)
410
- machine = described_class.new(digest: 'SHA256', ca_fingerprint: digest.downcase)
411
- state = Puppet::SSL::StateMachine::NeedCACerts.new(machine)
412
- state.next_state
413
-
414
- expect(@logs).to include(an_object_having_attributes(message: "Verified CA bundle with digest (SHA256) #{fingerprint}"))
415
- end
416
-
417
- it 'verifies CA cert bundle using non-default fingerprint' do
418
- Puppet[:log_level] = :info
419
-
420
- digest = expected_digest('SHA512', cacert_pem)
421
- machine = described_class.new(digest: 'SHA512', ca_fingerprint: digest)
422
- state = Puppet::SSL::StateMachine::NeedCACerts.new(machine)
423
- state.next_state
424
-
425
- expect(@logs).to include(an_object_having_attributes(message: "Verified CA bundle with digest (SHA512) #{to_fingerprint(digest)}"))
426
- end
427
-
428
- it 'returns an error if verification fails' do
429
- machine = described_class.new(digest: 'SHA256', ca_fingerprint: 'wrong!')
430
- state = Puppet::SSL::StateMachine::NeedCACerts.new(machine)
431
-
432
- fingerprint = to_fingerprint(expected_digest('SHA256', cacert_pem))
433
- st = state.next_state
434
- expect(st).to be_an_instance_of(Puppet::SSL::StateMachine::Error)
435
- expect(st.message).to eq("CA bundle with digest (SHA256) #{fingerprint} did not match expected digest WR:ON:G!")
436
- end
437
- end
438
- end
439
-
440
- context 'NeedCRLs' do
441
- let(:ssl_context) { Puppet::SSL::SSLContext.new(cacerts: cacerts)}
442
- let(:state) { Puppet::SSL::StateMachine::NeedCRLs.new(machine, ssl_context) }
443
-
444
- before :each do
445
- Puppet[:hostcrl] = tmpfile('needcrls')
446
- end
447
-
448
- it 'transitions to NeedKey state' do
449
- allow(cert_provider).to receive(:load_crls).and_return(crls)
450
-
451
- expect(state.next_state).to be_an_instance_of(Puppet::SSL::StateMachine::NeedKey)
452
- end
453
-
454
- it 'loads existing CRLs' do
455
- allow(cert_provider).to receive(:load_crls).and_return(crls)
456
-
457
- st = state.next_state
458
- expect(st.ssl_context[:crls]).to eq(crls)
459
- end
460
-
461
- it 'fetches and saves CRLs' do
462
- allow(cert_provider).to receive(:load_crls).and_return(nil)
463
- stub_request(:get, %r{puppet-ca/v1/certificate_revocation_list/ca}).to_return(status: 200, body: crl_pem)
464
-
465
- st = state.next_state
466
- expect(st.ssl_context[:crls].map(&:to_pem)).to eq([crl_pem])
467
- expect(File).to be_exist(Puppet[:hostcrl])
468
- end
469
-
470
- it "verifies the server's certificate when fetching the CRL" do
471
- allow(cert_provider).to receive(:load_crls).and_return(nil)
472
- stub_request(:get, %r{puppet-ca/v1/certificate_revocation_list/ca}).to_return(status: 200, body: crl_pem)
473
- allow(cert_provider).to receive(:save_crls)
474
-
475
- receive_count = 0
476
- allow_any_instance_of(Net::HTTP).to receive(:verify_mode=).with(OpenSSL::SSL::VERIFY_PEER) { receive_count += 1 }
477
-
478
- state.next_state
479
-
480
- expect(receive_count).to eq(2)
481
- end
482
-
483
- it 'returns an Error if the server returns 404' do
484
- stub_request(:get, %r{puppet-ca/v1/certificate_revocation_list/ca}).to_return(status: 404)
485
-
486
- st = state.next_state
487
- expect(st).to be_an_instance_of(Puppet::SSL::StateMachine::Error)
488
- expect(st.message).to eq("CRL is missing from the server")
489
- end
490
-
491
- it 'returns an Error if there is a different exception' do
492
- stub_request(:get, %r{puppet-ca/v1/certificate_revocation_list/ca}).to_return(status: [500, 'Internal Server Error'])
493
-
494
- st = state.next_state
495
- expect(st).to be_an_instance_of(Puppet::SSL::StateMachine::Error)
496
- expect(st.message).to eq("Could not download CRLs: Internal Server Error")
497
- end
498
-
499
- it 'returns an Error if CRLs are invalid' do
500
- allow(cert_provider).to receive(:load_crls).and_return(nil)
501
- stub_request(:get, %r{puppet-ca/v1/certificate_revocation_list/ca}).to_return(status: 200, body: '')
502
-
503
- st = state.next_state
504
- expect(st).to be_an_instance_of(Puppet::SSL::StateMachine::Error)
505
- expect(st.error).to be_an_instance_of(OpenSSL::X509::CRLError)
506
- end
507
-
508
- it 'does not save invalid CRLs' do
509
- stub_request(:get, %r{puppet-ca/v1/certificate_revocation_list/ca}).to_return(status: 200, body: <<~END)
510
- -----BEGIN X509 CRL-----
511
- MIIBCjB1AgEBMA0GCSqGSIb3DQEBCwUAMBIxEDAOBgNVBAMMB1Rlc3QgQ0EXDTcw
512
- END
513
-
514
- state.next_state rescue OpenSSL::X509::CRLError
515
-
516
- expect(File).to_not exist(Puppet[:hostcrl])
517
- end
518
-
519
- it 'skips CRL download when revocation is disabled' do
520
- Puppet[:certificate_revocation] = false
521
-
522
- expect(cert_provider).not_to receive(:load_crls)
523
-
524
- state.next_state
525
-
526
- expect(File).to_not exist(Puppet[:hostcrl])
527
- end
528
-
529
- it 'skips CRL refresh by default' do
530
- allow_any_instance_of(Puppet::X509::CertProvider).to receive(:load_crls).and_return(crls)
531
-
532
- state.next_state
533
- end
534
-
535
- it 'skips CRL refresh if it has not expired' do
536
- Puppet[:crl_refresh_interval] = '1y'
537
- Puppet::FileSystem.touch(Puppet[:hostcrl], mtime: Time.now)
538
-
539
- allow_any_instance_of(Puppet::X509::CertProvider).to receive(:load_crls).and_return(crls)
540
-
541
- state.next_state
542
- end
543
-
544
- context 'when refreshing a CRL' do
545
- before :each do
546
- Puppet[:crl_refresh_interval] = '1s'
547
- allow_any_instance_of(Puppet::X509::CertProvider).to receive(:load_crls).and_return(crls)
548
-
549
- yesterday = Time.now - (24 * 60 * 60)
550
- allow_any_instance_of(Puppet::X509::CertProvider).to receive(:crl_last_update).and_return(yesterday)
551
- end
552
-
553
- let(:new_crl_bundle) do
554
- # add intermediate crl to the bundle
555
- int_crl = crl_fixture('intermediate-crl.pem')
556
- [crl, int_crl].map(&:to_pem)
557
- end
558
-
559
- it 'uses the local crl if it has not been modified' do
560
- stub_request(:get, %r{puppet-ca/v1/certificate_revocation_list/ca}).to_return(status: 304)
561
-
562
- expect(state.next_state.ssl_context.crls).to eq(crls)
563
- end
564
-
565
- it 'uses the local crl if refreshing fails in HTTP layer' do
566
- stub_request(:get, %r{puppet-ca/v1/certificate_revocation_list/ca}).to_return(status: 503)
567
-
568
- expect(state.next_state.ssl_context.crls).to eq(crls)
569
- end
570
-
571
- it 'uses the local crl if refreshing fails in TCP layer' do
572
- stub_request(:get, %r{puppet-ca/v1/certificate_revocation_list/ca}).to_raise(Errno::ECONNREFUSED)
573
-
574
- expect(state.next_state.ssl_context.crls).to eq(crls)
575
- end
576
-
577
- it 'uses the updated crl for the future requests' do
578
- stub_request(:get, %r{puppet-ca/v1/certificate_revocation_list/ca}).to_return(status: 200, body: new_crl_bundle.join)
579
-
580
- expect(state.next_state.ssl_context.crls.map(&:to_pem)).to eq(new_crl_bundle)
581
- end
582
-
583
- it 'updates the `last_update` time' do
584
- stub_request(:get, %r{puppet-ca/v1/certificate_revocation_list/ca}).to_return(status: 200, body: new_crl_bundle.join)
585
-
586
- expect_any_instance_of(Puppet::X509::CertProvider).to receive(:crl_last_update=).with(be_within(60).of(Time.now))
587
-
588
- state.next_state
589
- end
590
- end
591
- end
592
-
593
- context 'when ensuring a client cert' do
594
- context 'in state NeedKey' do
595
- let(:ssl_context) { Puppet::SSL::SSLContext.new(cacerts: cacerts, crls: crls)}
596
- let(:state) { Puppet::SSL::StateMachine::NeedKey.new(machine, ssl_context) }
597
-
598
- it 'loads an existing private key and passes it to the next state' do
599
- allow(cert_provider).to receive(:load_private_key).and_return(private_key)
600
-
601
- st = state.next_state
602
- expect(st).to be_instance_of(Puppet::SSL::StateMachine::NeedSubmitCSR)
603
- expect(st.private_key).to eq(private_key)
604
- end
605
-
606
- it 'loads a matching private key and cert' do
607
- allow(cert_provider).to receive(:load_private_key).and_return(private_key)
608
- allow(cert_provider).to receive(:load_client_cert).and_return(client_cert)
609
-
610
- st = state.next_state
611
- expect(st).to be_instance_of(Puppet::SSL::StateMachine::Done)
612
- end
613
-
614
- it 'raises if the client cert is mismatched' do
615
- allow(cert_provider).to receive(:load_private_key).and_return(private_key)
616
- allow(cert_provider).to receive(:load_client_cert).and_return(cert_fixture('tampered-cert.pem'))
617
-
618
- ssl_context = Puppet::SSL::SSLContext.new(cacerts: [cacert], crls: [crl])
619
- state = Puppet::SSL::StateMachine::NeedKey.new(machine, ssl_context)
620
- expect {
621
- state.next_state
622
- }.to raise_error(Puppet::SSL::SSLError, %r{The certificate for 'CN=signed' does not match its private key})
623
- end
624
-
625
- it 'generates a new RSA private key, saves it and passes it to the next state' do
626
- allow(cert_provider).to receive(:load_private_key).and_return(nil)
627
- expect(cert_provider).to receive(:save_private_key)
628
-
629
- st = state.next_state
630
- expect(st).to be_instance_of(Puppet::SSL::StateMachine::NeedSubmitCSR)
631
- expect(st.private_key).to be_instance_of(OpenSSL::PKey::RSA)
632
- expect(st.private_key).to be_private
633
- end
634
-
635
- it 'generates a new EC private key, saves it and passes it to the next state' do
636
- Puppet[:key_type] = 'ec'
637
- allow(cert_provider).to receive(:load_private_key).and_return(nil)
638
- expect(cert_provider).to receive(:save_private_key)
639
-
640
- st = state.next_state
641
- expect(st).to be_instance_of(Puppet::SSL::StateMachine::NeedSubmitCSR)
642
- expect(st.private_key).to be_instance_of(OpenSSL::PKey::EC)
643
- expect(st.private_key).to be_private
644
- expect(st.private_key.group.curve_name).to eq('prime256v1')
645
- end
646
-
647
- it 'generates a new EC private key with curve `secp384r1`, saves it and passes it to the next state' do
648
- Puppet[:key_type] = 'ec'
649
- Puppet[:named_curve] = 'secp384r1'
650
- allow(cert_provider).to receive(:load_private_key).and_return(nil)
651
- expect(cert_provider).to receive(:save_private_key)
652
-
653
- st = state.next_state
654
- expect(st).to be_instance_of(Puppet::SSL::StateMachine::NeedSubmitCSR)
655
- expect(st.private_key).to be_instance_of(OpenSSL::PKey::EC)
656
- expect(st.private_key).to be_private
657
- expect(st.private_key.group.curve_name).to eq('secp384r1')
658
- end
659
-
660
- it 'raises if the named curve is unsupported' do
661
- Puppet[:key_type] = 'ec'
662
- Puppet[:named_curve] = 'infiniteloop'
663
- allow(cert_provider).to receive(:load_private_key).and_return(nil)
664
-
665
- expect {
666
- state.next_state
667
- }.to raise_error(OpenSSL::PKey::ECError, /(invalid|unknown) curve name/)
668
- end
669
-
670
- it 'raises an error if it fails to load the key' do
671
- allow(cert_provider).to receive(:load_private_key).and_raise(OpenSSL::PKey::RSAError)
672
-
673
- expect {
674
- state.next_state
675
- }.to raise_error(OpenSSL::PKey::RSAError)
676
- end
677
- end
678
-
679
- context 'in state NeedSubmitCSR' do
680
- let(:ssl_context) { Puppet::SSL::SSLContext.new(cacerts: cacerts, crls: crls)}
681
- let(:state) { Puppet::SSL::StateMachine::NeedSubmitCSR.new(machine, ssl_context, private_key) }
682
-
683
- def write_csr_attributes(data)
684
- file_containing('state_machine_csr', YAML.dump(data))
685
- end
686
-
687
- before :each do
688
- allow(cert_provider).to receive(:save_request)
689
- end
690
-
691
- it 'submits the CSR and transitions to NeedCert' do
692
- stub_request(:put, %r{puppet-ca/v1/certificate_request/#{Puppet[:certname]}}).to_return(status: 200)
693
-
694
- expect(state.next_state).to be_an_instance_of(Puppet::SSL::StateMachine::NeedCert)
695
- end
696
-
697
- it 'saves the CSR and transitions to NeedCert' do
698
- stub_request(:put, %r{puppet-ca/v1/certificate_request/#{Puppet[:certname]}}).to_return(status: 200)
699
-
700
- expect(cert_provider).to receive(:save_request).with(Puppet[:certname], instance_of(OpenSSL::X509::Request))
701
-
702
- state.next_state
703
- end
704
-
705
- it 'includes DNS alt names' do
706
- Puppet[:dns_alt_names] = "one,IP:192.168.0.1,DNS:two.com"
707
-
708
- stub_request(:put, %r{puppet-ca/v1/certificate_request/#{Puppet[:certname]}}).with do |request|
709
- csr = Puppet::SSL::CertificateRequest.from_instance(OpenSSL::X509::Request.new(request.body))
710
- expect(
711
- csr.subject_alt_names
712
- ).to contain_exactly('DNS:one', 'IP Address:192.168.0.1', 'DNS:two.com', "DNS:#{Puppet[:certname]}")
713
- end.to_return(status: 200)
714
-
715
- state.next_state
716
- end
717
-
718
- it 'includes CSR attributes' do
719
- Puppet[:csr_attributes] = write_csr_attributes(
720
- 'custom_attributes' => {
721
- '1.3.6.1.4.1.34380.1.2.1' => 'CSR specific info',
722
- '1.3.6.1.4.1.34380.1.2.2' => 'more CSR specific info'
723
- }
724
- )
725
-
726
- stub_request(:put, %r{puppet-ca/v1/certificate_request/#{Puppet[:certname]}}).with do |request|
727
- csr = Puppet::SSL::CertificateRequest.from_instance(OpenSSL::X509::Request.new(request.body))
728
- expect(
729
- csr.custom_attributes
730
- ).to contain_exactly(
731
- {'oid' => '1.3.6.1.4.1.34380.1.2.1', 'value' => 'CSR specific info'},
732
- {'oid' => '1.3.6.1.4.1.34380.1.2.2', 'value' => 'more CSR specific info'}
733
- )
734
- end.to_return(status: 200)
735
-
736
- state.next_state
737
- end
738
-
739
- it 'includes CSR extension requests' do
740
- Puppet[:csr_attributes] = write_csr_attributes(
741
- {
742
- 'extension_requests' => {
743
- '1.3.6.1.4.1.34380.1.1.31415' => 'pi',
744
- '1.3.6.1.4.1.34380.1.1.2718' => 'e',
745
- }
746
- }
747
- )
748
-
749
- stub_request(:put, %r{puppet-ca/v1/certificate_request/#{Puppet[:certname]}}).with do |request|
750
- csr = Puppet::SSL::CertificateRequest.from_instance(OpenSSL::X509::Request.new(request.body))
751
- expect(
752
- csr.request_extensions
753
- ).to contain_exactly(
754
- {'oid' => '1.3.6.1.4.1.34380.1.1.31415', 'value' => 'pi'},
755
- {'oid' => '1.3.6.1.4.1.34380.1.1.2718', 'value' => 'e'}
756
- )
757
- end.to_return(status: 200)
758
-
759
- state.next_state
760
- end
761
-
762
- it 'transitions to NeedCert if the server has a requested certificate' do
763
- stub_request(:put, %r{puppet-ca/v1/certificate_request/#{Puppet[:certname]}}).to_return(status: 400, body: "#{Puppet[:certname]} already has a requested certificate")
764
-
765
- expect(state.next_state).to be_an_instance_of(Puppet::SSL::StateMachine::NeedCert)
766
- end
767
-
768
- it 'transitions to NeedCert if the server has a signed certificate' do
769
- stub_request(:put, %r{puppet-ca/v1/certificate_request/#{Puppet[:certname]}}).to_return(status: 400, body: "#{Puppet[:certname]} already has a signed certificate")
770
-
771
- expect(state.next_state).to be_an_instance_of(Puppet::SSL::StateMachine::NeedCert)
772
- end
773
-
774
- it 'transitions to NeedCert if the server has a revoked certificate' do
775
- stub_request(:put, %r{puppet-ca/v1/certificate_request/#{Puppet[:certname]}}).to_return(status: 400, body: "#{Puppet[:certname]} already has a revoked certificate")
776
-
777
- expect(state.next_state).to be_an_instance_of(Puppet::SSL::StateMachine::NeedCert)
778
- end
779
-
780
- it 'raises if the server errors' do
781
- stub_request(:put, %r{puppet-ca/v1/certificate_request/#{Puppet[:certname]}}).to_return(status: 500)
782
-
783
- st = state.next_state
784
- expect(st).to be_an_instance_of(Puppet::SSL::StateMachine::Error)
785
- expect(st.message).to eq("Failed to submit the CSR, HTTP response was 500")
786
- end
787
-
788
- it "verifies the server's certificate when submitting the CSR" do
789
- stub_request(:put, %r{puppet-ca/v1/certificate_request/#{Puppet[:certname]}}).to_return(status: 200)
790
-
791
- receive_count = 0
792
- allow_any_instance_of(Net::HTTP).to receive(:verify_mode=).with(OpenSSL::SSL::VERIFY_PEER) { receive_count += 1 }
793
-
794
- state.next_state
795
-
796
- expect(receive_count).to eq(2)
797
- end
798
- end
799
-
800
- context 'in state NeedCert' do
801
- let(:ca_chain) { [cert_fixture('ca.pem'), cert_fixture('intermediate.pem')] }
802
- let(:crl_chain) { [crl_fixture('crl.pem'), crl_fixture('intermediate-crl.pem')] }
803
- let(:ssl_context) { Puppet::SSL::SSLContext.new(cacerts: ca_chain, crls: crl_chain)}
804
- let(:state) { Puppet::SSL::StateMachine::NeedCert.new(machine, ssl_context, private_key) }
805
-
806
- it 'transitions to Done if the cert is signed and matches our private key' do
807
- allow(cert_provider).to receive(:save_client_cert)
808
- allow(cert_provider).to receive(:save_request)
809
-
810
- stub_request(:get, %r{puppet-ca/v1/certificate/#{Puppet[:certname]}}).to_return(status: 200, body: client_cert.to_pem)
811
-
812
- expect(state.next_state).to be_an_instance_of(Puppet::SSL::StateMachine::Done)
813
- end
814
-
815
- it "prints a message if the cert isn't signed yet" do
816
- stub_request(:get, %r{puppet-ca/v1/certificate/#{Puppet[:certname]}}).to_return(status: 404)
817
-
818
- expect {
819
- state.next_state
820
- }.to output(/Couldn't fetch certificate from CA server; you might still need to sign this agent's certificate \(#{Puppet[:certname]}\)/).to_stdout
821
- end
822
-
823
- it 'transitions to Error if the cert does not match our private key' do
824
- wrong_cert = cert_fixture('127.0.0.1.pem')
825
- stub_request(:get, %r{puppet-ca/v1/certificate/#{Puppet[:certname]}}).to_return(status: 200, body: wrong_cert.to_pem)
826
-
827
- st = state.next_state
828
- expect(st).to be_an_instance_of(Puppet::SSL::StateMachine::Error)
829
- expect(st.message).to eq("The certificate for 'CN=127.0.0.1' does not match its private key")
830
- end
831
-
832
- it 'transitions to Wait if the server returns non-200' do
833
- stub_request(:get, %r{puppet-ca/v1/certificate/#{Puppet[:certname]}}).to_return(status: 404)
834
-
835
- allow($stdout).to receive(:puts).with(/Couldn't fetch certificate from CA server; you might still need to sign this agent's certificate/)
836
- expect(state.next_state).to be_an_instance_of(Puppet::SSL::StateMachine::Wait)
837
- end
838
-
839
- it "verifies the server's certificate when getting the client cert" do
840
- stub_request(:get, %r{puppet-ca/v1/certificate/#{Puppet[:certname]}}).to_return(status: 200, body: client_cert.to_pem)
841
- allow(cert_provider).to receive(:save_client_cert)
842
- allow(cert_provider).to receive(:save_request)
843
-
844
- receive_count = 0
845
- allow_any_instance_of(Net::HTTP).to receive(:verify_mode=).with(OpenSSL::SSL::VERIFY_PEER) { receive_count += 1 }
846
-
847
- state.next_state
848
-
849
- expect(receive_count).to eq(2)
850
- end
851
-
852
- it 'does not save an invalid client cert' do
853
- stub_request(:get, %r{puppet-ca/v1/certificate/#{Puppet[:certname]}}).to_return(status: 200, body: <<~END)
854
- -----BEGIN CERTIFICATE-----
855
- MIIBpDCCAQ2gAwIBAgIBAjANBgkqhkiG9w0BAQsFADAfMR0wGwYDVQQDDBRUZXN0
856
- END
857
-
858
- st = state.next_state
859
- expect(st).to be_an_instance_of(Puppet::SSL::StateMachine::Error)
860
- expect(st.message).to match(/Failed to parse certificate:/)
861
- expect(File).to_not exist(Puppet[:hostcert])
862
- end
863
-
864
- it 'does not save a mismatched client cert' do
865
- wrong_cert = cert_fixture('127.0.0.1.pem').to_pem
866
- stub_request(:get, %r{puppet-ca/v1/certificate/#{Puppet[:certname]}}).to_return(status: 200, body: wrong_cert)
867
-
868
- st = state.next_state
869
- expect(st).to be_an_instance_of(Puppet::SSL::StateMachine::Error)
870
- expect(st.message).to eq("The certificate for 'CN=127.0.0.1' does not match its private key")
871
- expect(File).to_not exist(Puppet[:hostcert])
872
- end
873
-
874
- it 'does not save a revoked client cert' do
875
- revoked_cert = cert_fixture('revoked.pem').to_pem
876
- stub_request(:get, %r{puppet-ca/v1/certificate/#{Puppet[:certname]}}).to_return(status: 200, body: revoked_cert)
877
-
878
- st = state.next_state
879
- expect(st).to be_an_instance_of(Puppet::SSL::StateMachine::Error)
880
- expect(st.message).to eq("Certificate 'CN=revoked' is revoked")
881
- expect(File).to_not exist(Puppet[:hostcert])
882
- end
883
- end
884
-
885
- context 'in state Wait' do
886
- let(:ssl_context) { Puppet::SSL::SSLContext.new(cacerts: cacerts, crls: crls)}
887
-
888
- it 'exits with 1 if waitforcert is 0' do
889
- machine = described_class.new(waitforcert: 0)
890
-
891
- expect {
892
- expect {
893
- Puppet::SSL::StateMachine::Wait.new(machine).next_state
894
- }.to exit_with(1)
895
- }.to output(/Exiting now because the waitforcert setting is set to 0./).to_stdout
896
- end
897
-
898
- it 'sleeps and transitions to NeedLock' do
899
- machine = described_class.new(waitforcert: 15)
900
-
901
- state = Puppet::SSL::StateMachine::Wait.new(machine)
902
- expect(Kernel).to receive(:sleep).with(15)
903
-
904
- expect(Puppet).to receive(:info).with(/Will try again in 15 seconds./)
905
-
906
- expect(state.next_state).to be_an_instance_of(Puppet::SSL::StateMachine::NeedLock)
907
- end
908
-
909
- it 'sleeps and transitions to NeedLock when maxwaitforcert is set' do
910
- machine = described_class.new(waitforcert: 15, maxwaitforcert: 30)
911
-
912
- state = Puppet::SSL::StateMachine::Wait.new(machine)
913
- expect(Kernel).to receive(:sleep).with(15)
914
-
915
- expect(Puppet).to receive(:info).with(/Will try again in 15 seconds./)
916
-
917
- expect(state.next_state).to be_an_instance_of(Puppet::SSL::StateMachine::NeedLock)
918
- end
919
-
920
- it 'waits indefinitely by default' do
921
- machine = described_class.new
922
- expect(machine.wait_deadline).to eq(Float::INFINITY)
923
- end
924
-
925
- it 'exits with 1 if maxwaitforcert is exceeded' do
926
- machine = described_class.new(maxwaitforcert: 1)
927
-
928
- # 5 minutes in the future
929
- future = Time.now + (5 * 60)
930
- allow(Time).to receive(:now).and_return(future)
931
-
932
- expect {
933
- expect {
934
- Puppet::SSL::StateMachine::Wait.new(machine).next_state
935
- }.to exit_with(1)
936
- }.to output(/Couldn't fetch certificate from CA server; you might still need to sign this agent's certificate \(.*\). Exiting now because the maxwaitforcert timeout has been exceeded./).to_stdout
937
- end
938
-
939
- it 'closes the pool before sleeping' do
940
- machine = described_class.new(waitforcert: 15)
941
-
942
- state = Puppet::SSL::StateMachine::Wait.new(machine)
943
- expect(Puppet.runtime[:http].pool).to receive(:close).and_call_original
944
- expect(Kernel).to receive(:sleep).with(15).ordered
945
-
946
- state.next_state
947
- end
948
-
949
- it 'releases the lock while sleeping' do
950
- lockfile = Puppet::Util::Pidlock.new(Puppet[:ssl_lockfile])
951
- machine = described_class.new(lockfile: lockfile)
952
- state = Puppet::SSL::StateMachine::Wait.new(machine)
953
-
954
- # pidlock should be unlocked while sleeping
955
- allow(Kernel).to receive(:sleep) do
956
- expect(lockfile).to_not be_locked
957
- end
958
-
959
- # lock before running the state
960
- lockfile.lock
961
- state.next_state
962
- end
963
- end
964
-
965
- context 'in state NeedLock' do
966
- let(:ssl_context) { Puppet::SSL::SSLContext.new(cacerts: []) }
967
- let(:lockfile) { Puppet::Util::Pidlock.new(Puppet[:ssl_lockfile]) }
968
- let(:machine) { described_class.new(lockfile: lockfile) }
969
- let(:state) { Puppet::SSL::StateMachine::NeedLock.new(machine) }
970
-
971
- it 'acquires the lock and transitions to NeedCACerts' do
972
- expect(state.next_state).to be_an_instance_of(Puppet::SSL::StateMachine::NeedCACerts)
973
- expect(lockfile).to be_locked
974
- end
975
-
976
- it 'transitions to LockFailure if it fails to acquire the lock' do
977
- expect(lockfile).to receive(:lock).and_return(false)
978
- expect(state.next_state).to be_an_instance_of(Puppet::SSL::StateMachine::LockFailure)
979
- end
980
- end
981
- end
982
- end