puppet 0.25.5 → 2.6.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of puppet might be problematic. Click here for more details.

Files changed (1474) hide show
  1. data/CHANGELOG +667 -0
  2. data/LICENSE +2 -2
  3. data/README +5 -1
  4. data/README.queueing +1 -1
  5. data/README.rst +7 -4
  6. data/Rakefile +6 -18
  7. data/bin/filebucket +0 -94
  8. data/bin/pi +2 -47
  9. data/bin/puppet +2 -69
  10. data/bin/puppetca +2 -100
  11. data/bin/puppetd +2 -158
  12. data/bin/puppetdoc +2 -63
  13. data/bin/puppetmasterd +2 -64
  14. data/bin/puppetqd +2 -51
  15. data/bin/puppetrun +2 -127
  16. data/bin/ralsh +2 -87
  17. data/conf/epm.list +2 -2
  18. data/conf/osx/PackageInfo.plist +1 -1
  19. data/conf/redhat/client.init +11 -8
  20. data/conf/redhat/puppet.conf +1 -1
  21. data/conf/redhat/puppet.spec +1 -1
  22. data/conf/redhat/rundir-perms.patch +13 -13
  23. data/conf/redhat/server.init +11 -5
  24. data/conf/solaris/pkginfo +2 -2
  25. data/conf/solaris/smf/puppetd.xml +3 -3
  26. data/conf/solaris/smf/puppetmasterd.xml +3 -3
  27. data/conf/suse/client.init +3 -2
  28. data/conf/suse/puppet.spec +22 -18
  29. data/conf/suse/server.init +12 -11
  30. data/examples/modules/sample-module/README.txt +3 -3
  31. data/examples/modules/sample-module/lib/puppet/parser/functions/hostname_to_dn.rb +4 -4
  32. data/ext/extlookup.rb +94 -96
  33. data/ext/nagios/check_puppet.rb +94 -88
  34. data/ext/nagios/naggen +3 -3
  35. data/ext/puppet-test +27 -3
  36. data/ext/puppetlisten/puppetlisten.rb +39 -39
  37. data/ext/puppetlisten/puppetrun.rb +6 -6
  38. data/ext/puppetstoredconfigclean.rb +49 -43
  39. data/ext/pure_ruby_dsl/dsl_test.rb +7 -0
  40. data/ext/regexp_nodes/regexp_nodes.rb +133 -133
  41. data/ext/yaml_nodes.rb +99 -0
  42. data/install.rb +109 -118
  43. data/lib/puppet.rb +118 -131
  44. data/lib/puppet/agent.rb +86 -119
  45. data/lib/puppet/agent/locker.rb +28 -30
  46. data/lib/puppet/application.rb +276 -184
  47. data/lib/puppet/application/agent.rb +266 -0
  48. data/lib/puppet/application/apply.rb +165 -0
  49. data/lib/puppet/application/cert.rb +85 -0
  50. data/lib/puppet/application/describe.rb +203 -0
  51. data/lib/puppet/application/doc.rb +215 -0
  52. data/lib/puppet/application/filebucket.rb +73 -73
  53. data/lib/puppet/application/kick.rb +212 -0
  54. data/lib/puppet/application/master.rb +156 -0
  55. data/lib/puppet/application/queue.rb +91 -0
  56. data/lib/puppet/application/resource.rb +118 -0
  57. data/lib/puppet/configurer.rb +214 -197
  58. data/lib/puppet/configurer/downloader.rb +63 -63
  59. data/lib/puppet/configurer/fact_handler.rb +51 -51
  60. data/lib/puppet/configurer/plugin_handler.rb +19 -19
  61. data/lib/puppet/daemon.rb +100 -103
  62. data/lib/puppet/defaults.rb +793 -796
  63. data/lib/puppet/dsl.rb +5 -269
  64. data/lib/puppet/dsl/resource_api.rb +120 -0
  65. data/lib/puppet/dsl/resource_type_api.rb +40 -0
  66. data/lib/puppet/error.rb +34 -36
  67. data/lib/puppet/external/base64.rb +8 -8
  68. data/lib/puppet/external/dot.rb +262 -262
  69. data/lib/puppet/external/event-loop/better-definers.rb +297 -297
  70. data/lib/puppet/external/event-loop/event-loop.rb +264 -272
  71. data/lib/puppet/external/event-loop/signal-system.rb +161 -163
  72. data/lib/puppet/external/lock.rb +41 -41
  73. data/lib/puppet/external/nagios.rb +32 -32
  74. data/lib/puppet/external/nagios/base.rb +453 -458
  75. data/lib/puppet/external/nagios/parser.rb +264 -287
  76. data/lib/puppet/external/pson/common.rb +8 -5
  77. data/lib/puppet/external/pson/pure/generator.rb +26 -26
  78. data/lib/puppet/external/pson/pure/parser.rb +43 -48
  79. data/lib/puppet/feature/base.rb +21 -1
  80. data/lib/puppet/feature/pson.rb +4 -4
  81. data/lib/puppet/feature/rack.rb +14 -14
  82. data/lib/puppet/feature/rails.rb +23 -25
  83. data/lib/puppet/file_bucket.rb +4 -0
  84. data/lib/puppet/file_bucket/dipper.rb +99 -0
  85. data/lib/puppet/file_bucket/file.rb +136 -0
  86. data/lib/puppet/file_bucket/file/indirection_hooks.rb +9 -0
  87. data/lib/puppet/file_collection.rb +20 -20
  88. data/lib/puppet/file_collection/lookup.rb +11 -11
  89. data/lib/puppet/file_serving/base.rb +67 -71
  90. data/lib/puppet/file_serving/configuration.rb +84 -86
  91. data/lib/puppet/file_serving/configuration/parser.rb +103 -102
  92. data/lib/puppet/file_serving/content.rb +34 -33
  93. data/lib/puppet/file_serving/fileset.rb +131 -133
  94. data/lib/puppet/file_serving/indirection_hooks.rb +17 -17
  95. data/lib/puppet/file_serving/metadata.rb +98 -95
  96. data/lib/puppet/file_serving/mount.rb +22 -22
  97. data/lib/puppet/file_serving/mount/file.rb +101 -106
  98. data/lib/puppet/file_serving/mount/modules.rb +15 -15
  99. data/lib/puppet/file_serving/mount/plugins.rb +15 -16
  100. data/lib/puppet/file_serving/terminus_helper.rb +13 -13
  101. data/lib/puppet/indirector.rb +48 -49
  102. data/lib/puppet/indirector/active_record.rb +19 -19
  103. data/lib/puppet/indirector/catalog/active_record.rb +25 -25
  104. data/lib/puppet/indirector/catalog/compiler.rb +134 -145
  105. data/lib/puppet/indirector/catalog/rest.rb +1 -1
  106. data/lib/puppet/indirector/catalog/yaml.rb +13 -13
  107. data/lib/puppet/indirector/certificate/ca.rb +3 -3
  108. data/lib/puppet/indirector/certificate/file.rb +3 -3
  109. data/lib/puppet/indirector/certificate/rest.rb +8 -8
  110. data/lib/puppet/indirector/certificate_request/ca.rb +7 -7
  111. data/lib/puppet/indirector/certificate_request/file.rb +2 -2
  112. data/lib/puppet/indirector/certificate_request/rest.rb +3 -3
  113. data/lib/puppet/indirector/certificate_revocation_list/ca.rb +2 -2
  114. data/lib/puppet/indirector/certificate_revocation_list/file.rb +2 -2
  115. data/lib/puppet/indirector/certificate_revocation_list/rest.rb +3 -3
  116. data/lib/puppet/indirector/couch.rb +76 -0
  117. data/lib/puppet/indirector/direct_file_server.rb +11 -11
  118. data/lib/puppet/indirector/envelope.rb +4 -4
  119. data/lib/puppet/indirector/exec.rb +38 -42
  120. data/lib/puppet/indirector/facts/active_record.rb +24 -24
  121. data/lib/puppet/indirector/facts/couch.rb +31 -0
  122. data/lib/puppet/indirector/facts/facter.rb +63 -61
  123. data/lib/puppet/indirector/facts/memory.rb +4 -4
  124. data/lib/puppet/indirector/facts/rest.rb +1 -1
  125. data/lib/puppet/indirector/facts/yaml.rb +2 -2
  126. data/lib/puppet/indirector/file.rb +67 -46
  127. data/lib/puppet/indirector/file_bucket_file/file.rb +146 -0
  128. data/lib/puppet/indirector/file_bucket_file/rest.rb +8 -0
  129. data/lib/puppet/indirector/file_content/file.rb +1 -1
  130. data/lib/puppet/indirector/file_content/file_server.rb +1 -1
  131. data/lib/puppet/indirector/file_content/rest.rb +1 -1
  132. data/lib/puppet/indirector/file_metadata/file.rb +11 -11
  133. data/lib/puppet/indirector/file_metadata/file_server.rb +1 -1
  134. data/lib/puppet/indirector/file_metadata/rest.rb +1 -1
  135. data/lib/puppet/indirector/file_server.rb +44 -44
  136. data/lib/puppet/indirector/indirection.rb +249 -260
  137. data/lib/puppet/indirector/key/ca.rb +5 -5
  138. data/lib/puppet/indirector/key/file.rb +29 -29
  139. data/lib/puppet/indirector/ldap.rb +62 -64
  140. data/lib/puppet/indirector/memory.rb +13 -13
  141. data/lib/puppet/indirector/node/active_record.rb +6 -6
  142. data/lib/puppet/indirector/node/exec.rb +40 -44
  143. data/lib/puppet/indirector/node/ldap.rb +246 -212
  144. data/lib/puppet/indirector/node/memory.rb +5 -5
  145. data/lib/puppet/indirector/node/plain.rb +12 -12
  146. data/lib/puppet/indirector/node/rest.rb +2 -2
  147. data/lib/puppet/indirector/node/yaml.rb +2 -2
  148. data/lib/puppet/indirector/plain.rb +4 -4
  149. data/lib/puppet/indirector/queue.rb +49 -51
  150. data/lib/puppet/indirector/report/processor.rb +34 -37
  151. data/lib/puppet/indirector/report/rest.rb +3 -3
  152. data/lib/puppet/indirector/request.rb +171 -157
  153. data/lib/puppet/indirector/resource/ral.rb +48 -0
  154. data/lib/puppet/indirector/resource/rest.rb +5 -0
  155. data/lib/puppet/indirector/resource_type.rb +5 -0
  156. data/lib/puppet/indirector/resource_type/parser.rb +27 -0
  157. data/lib/puppet/indirector/resource_type/rest.rb +7 -0
  158. data/lib/puppet/indirector/rest.rb +83 -79
  159. data/lib/puppet/indirector/run/local.rb +8 -0
  160. data/lib/puppet/indirector/run/rest.rb +6 -0
  161. data/lib/puppet/indirector/ssl_file.rb +165 -165
  162. data/lib/puppet/indirector/status.rb +3 -0
  163. data/lib/puppet/indirector/status/local.rb +7 -0
  164. data/lib/puppet/indirector/status/rest.rb +5 -0
  165. data/lib/puppet/indirector/terminus.rb +129 -133
  166. data/lib/puppet/indirector/yaml.rb +47 -49
  167. data/lib/puppet/metatype/manager.rb +120 -114
  168. data/lib/puppet/module.rb +182 -124
  169. data/lib/puppet/network/authconfig.rb +146 -156
  170. data/lib/puppet/network/authorization.rb +63 -70
  171. data/lib/puppet/network/authstore.rb +226 -232
  172. data/lib/puppet/network/client.rb +141 -152
  173. data/lib/puppet/network/client/ca.rb +47 -49
  174. data/lib/puppet/network/client/file.rb +3 -3
  175. data/lib/puppet/network/client/proxy.rb +19 -19
  176. data/lib/puppet/network/client/report.rb +17 -21
  177. data/lib/puppet/network/client/runner.rb +5 -7
  178. data/lib/puppet/network/client/status.rb +1 -1
  179. data/lib/puppet/network/client_request.rb +20 -22
  180. data/lib/puppet/network/format.rb +79 -81
  181. data/lib/puppet/network/format_handler.rb +135 -130
  182. data/lib/puppet/network/formats.rb +128 -154
  183. data/lib/puppet/network/handler.rb +43 -46
  184. data/lib/puppet/network/handler/ca.rb +129 -135
  185. data/lib/puppet/network/handler/filebucket.rb +39 -170
  186. data/lib/puppet/network/handler/fileserver.rb +624 -656
  187. data/lib/puppet/network/handler/master.rb +62 -75
  188. data/lib/puppet/network/handler/report.rb +60 -67
  189. data/lib/puppet/network/handler/runner.rb +20 -20
  190. data/lib/puppet/network/handler/status.rb +9 -9
  191. data/lib/puppet/network/http.rb +12 -12
  192. data/lib/puppet/network/http/api/v1.rb +49 -44
  193. data/lib/puppet/network/http/compression.rb +111 -0
  194. data/lib/puppet/network/http/handler.rb +183 -183
  195. data/lib/puppet/network/http/mongrel.rb +46 -48
  196. data/lib/puppet/network/http/mongrel/rest.rb +73 -66
  197. data/lib/puppet/network/http/rack.rb +45 -45
  198. data/lib/puppet/network/http/rack/httphandler.rb +7 -7
  199. data/lib/puppet/network/http/rack/rest.rb +84 -61
  200. data/lib/puppet/network/http/rack/xmlrpc.rb +49 -49
  201. data/lib/puppet/network/http/webrick.rb +108 -112
  202. data/lib/puppet/network/http/webrick/rest.rb +60 -57
  203. data/lib/puppet/network/http_pool.rb +95 -83
  204. data/lib/puppet/network/http_server/mongrel.rb +90 -90
  205. data/lib/puppet/network/http_server/webrick.rb +139 -148
  206. data/lib/puppet/network/rest_authconfig.rb +76 -71
  207. data/lib/puppet/network/rest_authorization.rb +11 -13
  208. data/lib/puppet/network/rights.rb +217 -226
  209. data/lib/puppet/network/server.rb +147 -151
  210. data/lib/puppet/network/xmlrpc/client.rb +197 -205
  211. data/lib/puppet/network/xmlrpc/processor.rb +68 -72
  212. data/lib/puppet/network/xmlrpc/server.rb +10 -10
  213. data/lib/puppet/network/xmlrpc/webrick_servlet.rb +94 -100
  214. data/lib/puppet/node.rb +99 -107
  215. data/lib/puppet/node/environment.rb +109 -62
  216. data/lib/puppet/node/facts.rb +48 -43
  217. data/lib/puppet/parameter.rb +246 -498
  218. data/lib/puppet/parameter/value.rb +63 -0
  219. data/lib/puppet/parameter/value_collection.rb +143 -0
  220. data/lib/puppet/parser.rb +4 -0
  221. data/lib/puppet/parser/ast.rb +81 -67
  222. data/lib/puppet/parser/ast/arithmetic_operator.rb +27 -29
  223. data/lib/puppet/parser/ast/astarray.rb +50 -50
  224. data/lib/puppet/parser/ast/asthash.rb +37 -0
  225. data/lib/puppet/parser/ast/boolean_operator.rb +33 -35
  226. data/lib/puppet/parser/ast/branch.rb +29 -31
  227. data/lib/puppet/parser/ast/caseopt.rb +50 -56
  228. data/lib/puppet/parser/ast/casestatement.rb +30 -30
  229. data/lib/puppet/parser/ast/collection.rb +43 -37
  230. data/lib/puppet/parser/ast/collexpr.rb +66 -69
  231. data/lib/puppet/parser/ast/comparison_operator.rb +32 -35
  232. data/lib/puppet/parser/ast/else.rb +13 -13
  233. data/lib/puppet/parser/ast/function.rb +34 -43
  234. data/lib/puppet/parser/ast/ifstatement.rb +23 -27
  235. data/lib/puppet/parser/ast/in_operator.rb +24 -0
  236. data/lib/puppet/parser/ast/leaf.rb +173 -156
  237. data/lib/puppet/parser/ast/match_operator.rb +16 -19
  238. data/lib/puppet/parser/ast/minus.rb +13 -13
  239. data/lib/puppet/parser/ast/nop.rb +6 -6
  240. data/lib/puppet/parser/ast/not.rb +9 -9
  241. data/lib/puppet/parser/ast/relationship.rb +60 -0
  242. data/lib/puppet/parser/ast/resource.rb +58 -57
  243. data/lib/puppet/parser/ast/resource_defaults.rb +16 -16
  244. data/lib/puppet/parser/ast/resource_override.rb +51 -51
  245. data/lib/puppet/parser/ast/resource_reference.rb +17 -72
  246. data/lib/puppet/parser/ast/resourceparam.rb +20 -17
  247. data/lib/puppet/parser/ast/selector.rb +30 -34
  248. data/lib/puppet/parser/ast/tag.rb +16 -16
  249. data/lib/puppet/parser/ast/vardef.rb +20 -16
  250. data/lib/puppet/parser/collector.rb +181 -189
  251. data/lib/puppet/parser/compiler.rb +395 -364
  252. data/lib/puppet/parser/files.rb +65 -69
  253. data/lib/puppet/parser/functions.rb +85 -97
  254. data/lib/puppet/parser/functions/defined.rb +23 -23
  255. data/lib/puppet/parser/functions/fail.rb +2 -2
  256. data/lib/puppet/parser/functions/file.rb +21 -19
  257. data/lib/puppet/parser/functions/fqdn_rand.rb +7 -7
  258. data/lib/puppet/parser/functions/generate.rb +24 -26
  259. data/lib/puppet/parser/functions/include.rb +16 -18
  260. data/lib/puppet/parser/functions/inline_template.rb +16 -17
  261. data/lib/puppet/parser/functions/realize.rb +8 -8
  262. data/lib/puppet/parser/functions/regsubst.rb +74 -59
  263. data/lib/puppet/parser/functions/require.rb +35 -33
  264. data/lib/puppet/parser/functions/search.rb +5 -5
  265. data/lib/puppet/parser/functions/sha1.rb +3 -4
  266. data/lib/puppet/parser/functions/shellquote.rb +31 -33
  267. data/lib/puppet/parser/functions/split.rb +8 -8
  268. data/lib/puppet/parser/functions/sprintf.rb +10 -9
  269. data/lib/puppet/parser/functions/tag.rb +3 -3
  270. data/lib/puppet/parser/functions/tagged.rb +13 -13
  271. data/lib/puppet/parser/functions/template.rb +18 -19
  272. data/lib/puppet/parser/functions/versioncmp.rb +17 -14
  273. data/lib/puppet/parser/grammar.ra +485 -422
  274. data/lib/puppet/parser/lexer.rb +500 -442
  275. data/lib/puppet/parser/parser.rb +1438 -1084
  276. data/lib/puppet/parser/parser_support.rb +227 -502
  277. data/lib/puppet/parser/relationship.rb +43 -0
  278. data/lib/puppet/parser/resource.rb +280 -375
  279. data/lib/puppet/parser/resource/param.rb +18 -18
  280. data/lib/puppet/parser/scope.rb +450 -447
  281. data/lib/puppet/parser/templatewrapper.rb +92 -94
  282. data/lib/puppet/parser/type_loader.rb +146 -0
  283. data/lib/puppet/parser/yaml_trimmer.rb +6 -8
  284. data/lib/puppet/property.rb +290 -453
  285. data/lib/puppet/property/ensure.rb +92 -0
  286. data/lib/puppet/property/keyvalue.rb +74 -82
  287. data/lib/puppet/property/list.rb +71 -81
  288. data/lib/puppet/property/ordered_list.rb +15 -15
  289. data/lib/puppet/provider.rb +229 -241
  290. data/lib/puppet/provider/augeas/augeas.rb +318 -320
  291. data/lib/puppet/provider/computer/computer.rb +13 -13
  292. data/lib/puppet/provider/confine.rb +63 -63
  293. data/lib/puppet/provider/confine/exists.rb +14 -14
  294. data/lib/puppet/provider/confine/false.rb +12 -12
  295. data/lib/puppet/provider/confine/feature.rb +10 -10
  296. data/lib/puppet/provider/confine/true.rb +13 -13
  297. data/lib/puppet/provider/confine/variable.rb +51 -54
  298. data/lib/puppet/provider/confine_collection.rb +38 -38
  299. data/lib/puppet/provider/confiner.rb +10 -14
  300. data/lib/puppet/provider/cron/crontab.rb +172 -173
  301. data/lib/puppet/provider/file/posix.rb +99 -0
  302. data/lib/puppet/provider/file/win32.rb +74 -0
  303. data/lib/puppet/provider/group/directoryservice.rb +6 -6
  304. data/lib/puppet/provider/group/groupadd.rb +18 -20
  305. data/lib/puppet/provider/group/ldap.rb +40 -43
  306. data/lib/puppet/provider/group/pw.rb +23 -23
  307. data/lib/puppet/provider/host/parsed.rb +51 -50
  308. data/lib/puppet/provider/ldap.rb +121 -123
  309. data/lib/puppet/provider/macauthorization/macauthorization.rb +263 -272
  310. data/lib/puppet/provider/mailalias/aliases.rb +34 -31
  311. data/lib/puppet/provider/maillist/mailman.rb +87 -93
  312. data/lib/puppet/provider/mcx/mcxcontent.rb +155 -151
  313. data/lib/puppet/provider/mount.rb +36 -40
  314. data/lib/puppet/provider/mount/parsed.rb +28 -26
  315. data/lib/puppet/provider/naginator.rb +46 -48
  316. data/lib/puppet/provider/nameservice.rb +215 -257
  317. data/lib/puppet/provider/nameservice/directoryservice.rb +455 -471
  318. data/lib/puppet/provider/nameservice/objectadd.rb +21 -21
  319. data/lib/puppet/provider/nameservice/pw.rb +13 -13
  320. data/lib/puppet/provider/package.rb +18 -20
  321. data/lib/puppet/provider/package/aix.rb +128 -0
  322. data/lib/puppet/provider/package/appdmg.rb +78 -82
  323. data/lib/puppet/provider/package/apple.rb +39 -40
  324. data/lib/puppet/provider/package/apt.rb +95 -104
  325. data/lib/puppet/provider/package/aptitude.rb +19 -21
  326. data/lib/puppet/provider/package/aptrpm.rb +70 -72
  327. data/lib/puppet/provider/package/blastwave.rb +88 -94
  328. data/lib/puppet/provider/package/darwinport.rb +67 -69
  329. data/lib/puppet/provider/package/dpkg.rb +123 -97
  330. data/lib/puppet/provider/package/fink.rb +66 -68
  331. data/lib/puppet/provider/package/freebsd.rb +38 -40
  332. data/lib/puppet/provider/package/gem.rb +98 -102
  333. data/lib/puppet/provider/package/hpux.rb +37 -39
  334. data/lib/puppet/provider/package/nim.rb +35 -0
  335. data/lib/puppet/provider/package/openbsd.rb +100 -75
  336. data/lib/puppet/provider/package/pkg.rb +108 -0
  337. data/lib/puppet/provider/package/pkgdmg.rb +95 -87
  338. data/lib/puppet/provider/package/portage.rb +101 -104
  339. data/lib/puppet/provider/package/ports.rb +71 -73
  340. data/lib/puppet/provider/package/portupgrade.rb +251 -0
  341. data/lib/puppet/provider/package/rpm.rb +113 -115
  342. data/lib/puppet/provider/package/rug.rb +46 -46
  343. data/lib/puppet/provider/package/sun.rb +135 -151
  344. data/lib/puppet/provider/package/sunfreeware.rb +5 -5
  345. data/lib/puppet/provider/package/up2date.rb +31 -31
  346. data/lib/puppet/provider/package/urpmi.rb +51 -51
  347. data/lib/puppet/provider/package/yum.rb +90 -98
  348. data/lib/puppet/provider/package/zypper.rb +52 -0
  349. data/lib/puppet/provider/parsedfile.rb +306 -329
  350. data/lib/puppet/provider/port/parsed.rb +5 -5
  351. data/lib/puppet/provider/selboolean/getsetsebool.rb +34 -34
  352. data/lib/puppet/provider/selmodule/semodule.rb +103 -111
  353. data/lib/puppet/provider/service/base.rb +134 -139
  354. data/lib/puppet/provider/service/bsd.rb +48 -0
  355. data/lib/puppet/provider/service/daemontools.rb +158 -162
  356. data/lib/puppet/provider/service/debian.rb +36 -36
  357. data/lib/puppet/provider/service/freebsd.rb +118 -38
  358. data/lib/puppet/provider/service/gentoo.rb +33 -39
  359. data/lib/puppet/provider/service/init.rb +125 -125
  360. data/lib/puppet/provider/service/launchd.rb +234 -254
  361. data/lib/puppet/provider/service/redhat.rb +58 -58
  362. data/lib/puppet/provider/service/runit.rb +74 -74
  363. data/lib/puppet/provider/service/smf.rb +81 -85
  364. data/lib/puppet/provider/service/src.rb +87 -0
  365. data/lib/puppet/provider/ssh_authorized_key/parsed.rb +73 -81
  366. data/lib/puppet/provider/sshkey/parsed.rb +24 -21
  367. data/lib/puppet/provider/user/directoryservice.rb +71 -71
  368. data/lib/puppet/provider/user/hpux.rb +20 -20
  369. data/lib/puppet/provider/user/ldap.rb +106 -110
  370. data/lib/puppet/provider/user/pw.rb +33 -37
  371. data/lib/puppet/provider/user/user_role_add.rb +168 -183
  372. data/lib/puppet/provider/user/useradd.rb +50 -51
  373. data/lib/puppet/provider/zfs/solaris.rb +35 -35
  374. data/lib/puppet/provider/zone/solaris.rb +206 -205
  375. data/lib/puppet/provider/zpool/solaris.rb +95 -97
  376. data/lib/puppet/rails.rb +115 -122
  377. data/lib/puppet/rails/benchmark.rb +43 -49
  378. data/lib/puppet/rails/database/001_add_created_at_to_all_tables.rb +8 -12
  379. data/lib/puppet/rails/database/002_remove_duplicated_index_on_all_tables.rb +8 -12
  380. data/lib/puppet/rails/database/003_add_environment_to_host.rb +6 -10
  381. data/lib/puppet/rails/database/schema.rb +100 -97
  382. data/lib/puppet/rails/fact_name.rb +1 -1
  383. data/lib/puppet/rails/fact_value.rb +5 -5
  384. data/lib/puppet/rails/host.rb +252 -249
  385. data/lib/puppet/rails/param_name.rb +15 -15
  386. data/lib/puppet/rails/param_value.rb +55 -55
  387. data/lib/puppet/rails/puppet_tag.rb +4 -4
  388. data/lib/puppet/rails/resource.rb +189 -203
  389. data/lib/puppet/rails/resource_tag.rb +19 -19
  390. data/lib/puppet/rails/source_file.rb +5 -5
  391. data/lib/puppet/reference/configuration.rb +53 -56
  392. data/lib/puppet/reference/function.rb +1 -1
  393. data/lib/puppet/reference/indirection.rb +13 -13
  394. data/lib/puppet/reference/metaparameter.rb +40 -40
  395. data/lib/puppet/reference/network.rb +16 -16
  396. data/lib/puppet/reference/providers.rb +97 -98
  397. data/lib/puppet/reference/report.rb +1 -1
  398. data/lib/puppet/reference/type.rb +67 -70
  399. data/lib/puppet/relationship.rb +65 -67
  400. data/lib/puppet/reports.rb +32 -34
  401. data/lib/puppet/reports/http.rb +22 -0
  402. data/lib/puppet/reports/log.rb +7 -6
  403. data/lib/puppet/reports/rrdgraph.rb +105 -114
  404. data/lib/puppet/reports/store.rb +53 -56
  405. data/lib/puppet/reports/tagmail.rb +149 -157
  406. data/lib/puppet/resource.rb +428 -194
  407. data/lib/puppet/resource/catalog.rb +496 -512
  408. data/lib/puppet/resource/status.rb +58 -0
  409. data/lib/puppet/resource/type.rb +311 -0
  410. data/lib/puppet/resource/type_collection.rb +217 -0
  411. data/lib/puppet/resource/type_collection_helper.rb +7 -0
  412. data/lib/puppet/run.rb +77 -0
  413. data/lib/puppet/simple_graph.rb +381 -413
  414. data/lib/puppet/ssl.rb +2 -1
  415. data/lib/puppet/ssl/base.rb +60 -43
  416. data/lib/puppet/ssl/certificate.rb +21 -21
  417. data/lib/puppet/ssl/certificate_authority.rb +215 -229
  418. data/lib/puppet/ssl/certificate_authority/interface.rb +84 -68
  419. data/lib/puppet/ssl/certificate_factory.rb +119 -119
  420. data/lib/puppet/ssl/certificate_request.rb +52 -45
  421. data/lib/puppet/ssl/certificate_revocation_list.rb +78 -78
  422. data/lib/puppet/ssl/host.rb +230 -228
  423. data/lib/puppet/ssl/inventory.rb +33 -33
  424. data/lib/puppet/ssl/key.rb +37 -37
  425. data/lib/puppet/sslcertificates.rb +124 -123
  426. data/lib/puppet/sslcertificates/ca.rb +327 -344
  427. data/lib/puppet/sslcertificates/certificate.rb +197 -224
  428. data/lib/puppet/sslcertificates/inventory.rb +27 -29
  429. data/lib/puppet/sslcertificates/support.rb +113 -119
  430. data/lib/puppet/status.rb +28 -0
  431. data/lib/puppet/transaction.rb +349 -696
  432. data/lib/puppet/transaction/change.rb +80 -85
  433. data/lib/puppet/transaction/event.rb +54 -14
  434. data/lib/puppet/transaction/event_manager.rb +99 -0
  435. data/lib/puppet/transaction/report.rb +121 -59
  436. data/lib/puppet/transaction/resource_harness.rb +150 -0
  437. data/lib/puppet/transportable.rb +215 -226
  438. data/lib/puppet/type.rb +1644 -1849
  439. data/lib/puppet/type/augeas.rb +153 -134
  440. data/lib/puppet/type/component.rb +63 -65
  441. data/lib/puppet/type/computer.rb +44 -44
  442. data/lib/puppet/type/cron.rb +364 -384
  443. data/lib/puppet/type/exec.rb +583 -521
  444. data/lib/puppet/type/file.rb +786 -823
  445. data/lib/puppet/type/file/checksum.rb +23 -240
  446. data/lib/puppet/type/file/content.rb +193 -129
  447. data/lib/puppet/type/file/ensure.rb +149 -153
  448. data/lib/puppet/type/file/group.rb +94 -104
  449. data/lib/puppet/type/file/mode.rb +109 -122
  450. data/lib/puppet/type/file/owner.rb +39 -131
  451. data/lib/puppet/type/file/selcontext.rb +69 -73
  452. data/lib/puppet/type/file/source.rb +165 -153
  453. data/lib/puppet/type/file/target.rb +56 -60
  454. data/lib/puppet/type/file/type.rb +18 -18
  455. data/lib/puppet/type/filebucket.rb +91 -92
  456. data/lib/puppet/type/group.rb +77 -82
  457. data/lib/puppet/type/host.rb +85 -85
  458. data/lib/puppet/type/k5login.rb +65 -65
  459. data/lib/puppet/type/macauthorization.rb +141 -143
  460. data/lib/puppet/type/mailalias.rb +37 -37
  461. data/lib/puppet/type/maillist.rb +51 -51
  462. data/lib/puppet/type/mcx.rb +62 -62
  463. data/lib/puppet/type/mount.rb +199 -193
  464. data/lib/puppet/type/notify.rb +33 -33
  465. data/lib/puppet/type/package.rb +301 -298
  466. data/lib/puppet/type/port.rb +4 -4
  467. data/lib/puppet/type/resources.rb +107 -123
  468. data/lib/puppet/type/schedule.rb +317 -326
  469. data/lib/puppet/type/selboolean.rb +19 -19
  470. data/lib/puppet/type/selmodule.rb +34 -34
  471. data/lib/puppet/type/service.rb +152 -152
  472. data/lib/puppet/type/ssh_authorized_key.rb +74 -78
  473. data/lib/puppet/type/sshkey.rb +52 -56
  474. data/lib/puppet/type/stage.rb +18 -0
  475. data/lib/puppet/type/tidy.rb +289 -300
  476. data/lib/puppet/type/user.rb +300 -312
  477. data/lib/puppet/type/yumrepo.rb +300 -335
  478. data/lib/puppet/type/zfs.rb +36 -36
  479. data/lib/puppet/type/zone.rb +376 -347
  480. data/lib/puppet/type/zpool.rb +71 -77
  481. data/lib/puppet/util.rb +383 -387
  482. data/lib/puppet/util/autoload.rb +125 -143
  483. data/lib/puppet/util/autoload/file_cache.rb +78 -101
  484. data/lib/puppet/util/backups.rb +66 -66
  485. data/lib/puppet/util/cacher.rb +112 -120
  486. data/lib/puppet/util/checksums.rb +119 -84
  487. data/lib/puppet/util/classgen.rb +157 -167
  488. data/lib/puppet/util/command_line.rb +95 -0
  489. data/lib/puppet/util/command_line/filebucket +97 -0
  490. data/lib/puppet/util/command_line/pi +48 -0
  491. data/lib/puppet/util/command_line/puppet +69 -0
  492. data/lib/puppet/util/command_line/puppetca +110 -0
  493. data/lib/puppet/util/command_line/puppetd +186 -0
  494. data/lib/puppet/util/command_line/puppetdoc +67 -0
  495. data/lib/puppet/util/command_line/puppetmasterd +65 -0
  496. data/lib/puppet/util/command_line/puppetqd +53 -0
  497. data/lib/puppet/util/command_line/puppetrun +128 -0
  498. data/lib/puppet/util/command_line/ralsh +89 -0
  499. data/lib/puppet/util/constant_inflector.rb +7 -7
  500. data/lib/puppet/util/diff.rb +59 -56
  501. data/lib/puppet/util/docs.rb +97 -99
  502. data/lib/puppet/util/errors.rb +53 -44
  503. data/lib/puppet/util/execution.rb +15 -15
  504. data/lib/puppet/util/feature.rb +62 -72
  505. data/lib/puppet/util/file_locking.rb +33 -33
  506. data/lib/puppet/util/fileparsing.rb +292 -318
  507. data/lib/puppet/util/filetype.rb +246 -263
  508. data/lib/puppet/util/graph.rb +16 -18
  509. data/lib/puppet/util/inifile.rb +170 -184
  510. data/lib/puppet/util/inline_docs.rb +26 -0
  511. data/lib/puppet/util/instance_loader.rb +58 -58
  512. data/lib/puppet/util/ldap/connection.rb +57 -59
  513. data/lib/puppet/util/ldap/generator.rb +31 -31
  514. data/lib/puppet/util/ldap/manager.rb +233 -235
  515. data/lib/puppet/util/loadedfile.rb +49 -51
  516. data/lib/puppet/util/log.rb +210 -494
  517. data/lib/puppet/util/log/destination.rb +49 -0
  518. data/lib/puppet/util/log/destinations.rb +217 -0
  519. data/lib/puppet/util/log_paths.rb +15 -17
  520. data/lib/puppet/util/logging.rb +34 -13
  521. data/lib/puppet/util/metaid.rb +15 -15
  522. data/lib/puppet/util/methodhelper.rb +24 -26
  523. data/lib/puppet/util/metric.rb +123 -125
  524. data/lib/puppet/util/monkey_patches.rb +21 -20
  525. data/lib/puppet/util/nagios_maker.rb +41 -41
  526. data/lib/puppet/util/package.rb +24 -26
  527. data/lib/puppet/util/pidlock.rb +49 -49
  528. data/lib/puppet/util/posix.rb +115 -115
  529. data/lib/puppet/util/provider_features.rb +147 -155
  530. data/lib/puppet/util/pson.rb +5 -5
  531. data/lib/puppet/util/queue.rb +55 -55
  532. data/lib/puppet/util/queue/stomp.rb +27 -27
  533. data/lib/puppet/util/rails/cache_accumulator.rb +49 -49
  534. data/lib/puppet/util/rails/collection_merger.rb +13 -13
  535. data/lib/puppet/util/rails/reference_serializer.rb +26 -26
  536. data/lib/puppet/util/rdoc.rb +77 -74
  537. data/lib/puppet/util/rdoc/code_objects.rb +235 -217
  538. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +732 -676
  539. data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +38 -12
  540. data/lib/puppet/util/rdoc/parser.rb +418 -392
  541. data/lib/puppet/util/reference.rb +168 -174
  542. data/lib/puppet/util/resource_template.rb +17 -17
  543. data/lib/puppet/util/run_mode.rb +81 -0
  544. data/lib/puppet/util/selinux.rb +184 -200
  545. data/lib/puppet/util/settings.rb +886 -919
  546. data/lib/puppet/util/settings/boolean_setting.rb +20 -23
  547. data/lib/puppet/util/settings/file_setting.rb +98 -99
  548. data/lib/puppet/util/settings/setting.rb +71 -87
  549. data/lib/puppet/util/storage.rb +73 -84
  550. data/lib/puppet/util/subclass_loader.rb +59 -66
  551. data/lib/puppet/util/suidmanager.rb +87 -84
  552. data/lib/puppet/util/tagging.rb +37 -39
  553. data/lib/puppet/util/user_attr.rb +14 -14
  554. data/lib/puppet/util/warnings.rb +20 -20
  555. data/lib/puppet/util/zaml.rb +242 -241
  556. data/man/man5/puppet.conf.5 +148 -76
  557. data/man/man8/filebucket.8 +6 -6
  558. data/man/man8/pi.8 +5 -5
  559. data/man/man8/puppet.8 +2 -73
  560. data/man/man8/puppetca.8 +47 -32
  561. data/man/man8/puppetd.8 +118 -76
  562. data/man/man8/puppetdoc.8 +16 -12
  563. data/man/man8/puppetmasterd.8 +4 -4
  564. data/man/man8/puppetqd.8 +4 -4
  565. data/man/man8/puppetrun.8 +23 -22
  566. data/man/man8/ralsh.8 +16 -17
  567. data/spec/fixtures/yaml/test.local.yaml +16 -0
  568. data/spec/integration/application/apply_spec.rb +33 -0
  569. data/spec/integration/configurer_spec.rb +35 -0
  570. data/spec/integration/defaults_spec.rb +258 -0
  571. data/spec/integration/file_serving/content_spec.rb +20 -0
  572. data/spec/integration/file_serving/fileset_spec.rb +14 -0
  573. data/spec/integration/file_serving/metadata_spec.rb +21 -0
  574. data/spec/integration/file_serving/terminus_helper_spec.rb +22 -0
  575. data/spec/integration/indirector/bucket_file/rest_spec.rb +68 -0
  576. data/spec/integration/indirector/catalog/compiler_spec.rb +68 -0
  577. data/spec/integration/indirector/catalog/queue_spec.rb +61 -0
  578. data/spec/integration/indirector/certificate/rest_spec.rb +68 -0
  579. data/spec/integration/indirector/certificate_request/rest_spec.rb +88 -0
  580. data/spec/integration/indirector/certificate_revocation_list/rest_spec.rb +76 -0
  581. data/spec/integration/indirector/direct_file_server_spec.rb +73 -0
  582. data/spec/integration/indirector/file_content/file_server_spec.rb +94 -0
  583. data/spec/integration/indirector/file_metadata/file_server_spec.rb +18 -0
  584. data/spec/integration/indirector/node/ldap_spec.rb +15 -0
  585. data/spec/integration/indirector/report/rest_spec.rb +96 -0
  586. data/spec/integration/indirector/rest_spec.rb +524 -0
  587. data/spec/integration/network/client_spec.rb +19 -0
  588. data/spec/integration/network/formats_spec.rb +110 -0
  589. data/spec/integration/network/handler_spec.rb +25 -0
  590. data/spec/integration/network/server/mongrel_spec.rb +66 -0
  591. data/spec/integration/network/server/webrick_spec.rb +85 -0
  592. data/spec/integration/node/environment_spec.rb +58 -0
  593. data/spec/integration/node/facts_spec.rb +47 -0
  594. data/spec/integration/node_spec.rb +93 -0
  595. data/spec/integration/parser/collector_spec.rb +38 -0
  596. data/spec/integration/parser/compiler_spec.rb +29 -0
  597. data/spec/integration/parser/functions/require_spec.rb +44 -0
  598. data/spec/integration/parser/parser_spec.rb +113 -0
  599. data/spec/integration/provider/mailalias/aliases_spec.rb +25 -0
  600. data/spec/integration/provider/package_spec.rb +26 -0
  601. data/spec/integration/provider/service/init_spec.rb +32 -0
  602. data/spec/integration/reference/providers_spec.rb +17 -0
  603. data/spec/integration/reports_spec.rb +18 -0
  604. data/spec/integration/resource/catalog_spec.rb +61 -0
  605. data/spec/integration/resource/type_collection_spec.rb +96 -0
  606. data/spec/integration/ssl/certificate_authority_spec.rb +135 -0
  607. data/spec/integration/ssl/certificate_request_spec.rb +61 -0
  608. data/spec/integration/ssl/certificate_revocation_list_spec.rb +42 -0
  609. data/spec/integration/ssl/host_spec.rb +90 -0
  610. data/spec/integration/transaction/report_spec.rb +29 -0
  611. data/spec/integration/transaction_spec.rb +284 -0
  612. data/spec/integration/type/file_spec.rb +506 -0
  613. data/spec/integration/type/package_spec.rb +25 -0
  614. data/spec/integration/type/tidy_spec.rb +32 -0
  615. data/spec/integration/type_spec.rb +22 -0
  616. data/spec/integration/util/autoload_spec.rb +114 -0
  617. data/spec/integration/util/feature_spec.rb +54 -0
  618. data/spec/integration/util/file_locking_spec.rb +37 -0
  619. data/spec/integration/util/rdoc/parser_spec.rb +59 -0
  620. data/spec/integration/util/settings_spec.rb +30 -0
  621. data/spec/lib/puppet_spec/files.rb +16 -6
  622. data/spec/monkey_patches/add_confine_and_runnable_to_rspec_dsl.rb +27 -27
  623. data/spec/monkey_patches/alias_should_to_must.rb +4 -4
  624. data/spec/shared_behaviours/file_server_terminus.rb +28 -28
  625. data/spec/shared_behaviours/file_serving.rb +53 -53
  626. data/spec/shared_behaviours/memory_terminus.rb +22 -22
  627. data/spec/spec.opts +1 -0
  628. data/spec/spec_helper.rb +61 -18
  629. data/spec/spec_specs/runnable_spec.rb +95 -0
  630. data/spec/unit/agent/locker_spec.rb +100 -0
  631. data/spec/unit/agent_spec.rb +281 -0
  632. data/spec/unit/application/agent_spec.rb +588 -0
  633. data/spec/unit/application/apply_spec.rb +387 -0
  634. data/spec/unit/application/cert_spec.rb +194 -0
  635. data/spec/unit/application/describe_spec.rb +84 -0
  636. data/spec/unit/application/doc_spec.rb +368 -0
  637. data/spec/unit/application/filebucket_spec.rb +223 -0
  638. data/spec/unit/application/kick_spec.rb +313 -0
  639. data/spec/unit/application/master_spec.rb +453 -0
  640. data/spec/unit/application/queue_spec.rb +186 -0
  641. data/spec/unit/application/resource_spec.rb +233 -0
  642. data/spec/unit/application_spec.rb +531 -0
  643. data/spec/unit/configurer/downloader_spec.rb +188 -0
  644. data/spec/unit/configurer/fact_handler_spec.rb +164 -0
  645. data/spec/unit/configurer/plugin_handler_spec.rb +112 -0
  646. data/spec/unit/configurer_spec.rb +494 -0
  647. data/spec/unit/daemon_spec.rb +306 -0
  648. data/spec/unit/dsl/resource_api_spec.rb +181 -0
  649. data/spec/unit/dsl/resource_type_api_spec.rb +46 -0
  650. data/spec/unit/file_bucket/dipper_spec.rb +122 -0
  651. data/spec/unit/file_bucket/file_spec.rb +230 -0
  652. data/spec/unit/file_collection/lookup_spec.rb +46 -0
  653. data/spec/unit/file_collection_spec.rb +53 -0
  654. data/spec/unit/file_serving/base_spec.rb +132 -0
  655. data/spec/unit/file_serving/configuration/parser_spec.rb +181 -0
  656. data/spec/unit/file_serving/configuration_spec.rb +249 -0
  657. data/spec/unit/file_serving/content_spec.rb +118 -0
  658. data/spec/unit/file_serving/fileset_spec.rb +347 -0
  659. data/spec/unit/file_serving/indirection_hooks_spec.rb +63 -0
  660. data/spec/unit/file_serving/metadata_spec.rb +286 -0
  661. data/spec/unit/file_serving/mount/file_spec.rb +196 -0
  662. data/spec/unit/file_serving/mount/modules_spec.rb +63 -0
  663. data/spec/unit/file_serving/mount/plugins_spec.rb +61 -0
  664. data/spec/unit/file_serving/mount_spec.rb +32 -0
  665. data/spec/unit/file_serving/terminus_helper_spec.rb +98 -0
  666. data/spec/unit/indirector/active_record_spec.rb +76 -0
  667. data/spec/unit/indirector/catalog/active_record_spec.rb +141 -0
  668. data/spec/unit/indirector/catalog/compiler_spec.rb +275 -0
  669. data/spec/unit/indirector/catalog/queue_spec.rb +20 -0
  670. data/spec/unit/indirector/catalog/rest_spec.rb +11 -0
  671. data/spec/unit/indirector/catalog/yaml_spec.rb +25 -0
  672. data/spec/unit/indirector/certificate/ca_spec.rb +28 -0
  673. data/spec/unit/indirector/certificate/file_spec.rb +28 -0
  674. data/spec/unit/indirector/certificate/rest_spec.rb +58 -0
  675. data/spec/unit/indirector/certificate_request/ca_spec.rb +19 -0
  676. data/spec/unit/indirector/certificate_request/file_spec.rb +19 -0
  677. data/spec/unit/indirector/certificate_request/rest_spec.rb +23 -0
  678. data/spec/unit/indirector/certificate_revocation_list/ca_spec.rb +21 -0
  679. data/spec/unit/indirector/certificate_revocation_list/file_spec.rb +20 -0
  680. data/spec/unit/indirector/certificate_revocation_list/rest_spec.rb +23 -0
  681. data/spec/unit/indirector/code_spec.rb +33 -0
  682. data/spec/unit/indirector/direct_file_server_spec.rb +84 -0
  683. data/spec/unit/indirector/envelope_spec.rb +47 -0
  684. data/spec/unit/indirector/exec_spec.rb +56 -0
  685. data/spec/unit/indirector/facts/active_record_spec.rb +104 -0
  686. data/spec/unit/indirector/facts/couch_spec.rb +98 -0
  687. data/spec/unit/indirector/facts/facter_spec.rb +143 -0
  688. data/spec/unit/indirector/facts/rest_spec.rb +11 -0
  689. data/spec/unit/indirector/facts/yaml_spec.rb +26 -0
  690. data/spec/unit/indirector/file_bucket_file/file_spec.rb +290 -0
  691. data/spec/unit/indirector/file_bucket_file/rest_spec.rb +11 -0
  692. data/spec/unit/indirector/file_content/file_server_spec.rb +18 -0
  693. data/spec/unit/indirector/file_content/file_spec.rb +18 -0
  694. data/spec/unit/indirector/file_content/rest_spec.rb +11 -0
  695. data/spec/unit/indirector/file_metadata/file_server_spec.rb +18 -0
  696. data/spec/unit/indirector/file_metadata/file_spec.rb +52 -0
  697. data/spec/unit/indirector/file_metadata/rest_spec.rb +9 -0
  698. data/spec/unit/indirector/file_server_spec.rb +267 -0
  699. data/spec/unit/indirector/file_spec.rb +181 -0
  700. data/spec/unit/indirector/indirection_spec.rb +795 -0
  701. data/spec/unit/indirector/key/ca_spec.rb +28 -0
  702. data/spec/unit/indirector/key/file_spec.rb +104 -0
  703. data/spec/unit/indirector/ldap_spec.rb +143 -0
  704. data/spec/unit/indirector/memory_spec.rb +29 -0
  705. data/spec/unit/indirector/node/active_record_spec.rb +41 -0
  706. data/spec/unit/indirector/node/exec_spec.rb +70 -0
  707. data/spec/unit/indirector/node/ldap_spec.rb +456 -0
  708. data/spec/unit/indirector/node/memory_spec.rb +19 -0
  709. data/spec/unit/indirector/node/plain_spec.rb +19 -0
  710. data/spec/unit/indirector/node/rest_spec.rb +13 -0
  711. data/spec/unit/indirector/node/yaml_spec.rb +25 -0
  712. data/spec/unit/indirector/plain_spec.rb +29 -0
  713. data/spec/unit/indirector/queue_spec.rb +123 -0
  714. data/spec/unit/indirector/report/processor_spec.rb +81 -0
  715. data/spec/unit/indirector/report/rest_spec.rb +28 -0
  716. data/spec/unit/indirector/request_spec.rb +304 -0
  717. data/spec/unit/indirector/resource/ral_spec.rb +129 -0
  718. data/spec/unit/indirector/resource/rest_spec.rb +11 -0
  719. data/spec/unit/indirector/resource_type/parser_spec.rb +75 -0
  720. data/spec/unit/indirector/resource_type/rest_spec.rb +15 -0
  721. data/spec/unit/indirector/rest_spec.rb +455 -0
  722. data/spec/unit/indirector/run/local_spec.rb +20 -0
  723. data/spec/unit/indirector/run/rest_spec.rb +11 -0
  724. data/spec/unit/indirector/ssl_file_spec.rb +281 -0
  725. data/spec/unit/indirector/status/rest_spec.rb +11 -0
  726. data/spec/unit/indirector/terminus_spec.rb +245 -0
  727. data/spec/unit/indirector/yaml_spec.rb +146 -0
  728. data/spec/unit/indirector_spec.rb +157 -0
  729. data/spec/unit/module_spec.rb +547 -0
  730. data/spec/unit/network/authconfig_spec.rb +292 -0
  731. data/spec/unit/network/authstore_spec.rb +370 -0
  732. data/spec/unit/network/client_spec.rb +45 -0
  733. data/spec/unit/network/format_handler_spec.rb +336 -0
  734. data/spec/unit/network/format_spec.rb +198 -0
  735. data/spec/unit/network/formats_spec.rb +337 -0
  736. data/spec/unit/network/handler/fileserver_spec.rb +172 -0
  737. data/spec/unit/network/http/api/v1_spec.rb +122 -0
  738. data/spec/unit/network/http/compression_spec.rb +199 -0
  739. data/spec/unit/network/http/handler_spec.rb +455 -0
  740. data/spec/unit/network/http/mongrel/rest_spec.rb +249 -0
  741. data/spec/unit/network/http/mongrel/{xmlrpc.rb → xmlrpc_spec.rb} +0 -0
  742. data/spec/unit/network/http/mongrel_spec.rb +131 -0
  743. data/spec/unit/network/http/rack/rest_spec.rb +249 -0
  744. data/spec/unit/network/http/rack/xmlrpc_spec.rb +157 -0
  745. data/spec/unit/network/http/rack_spec.rb +102 -0
  746. data/spec/unit/network/http/webrick/rest_spec.rb +180 -0
  747. data/spec/unit/network/http/webrick/{xmlrpc.rb → xmlrpc_spec.rb} +0 -0
  748. data/spec/unit/network/http/webrick_spec.rb +339 -0
  749. data/spec/unit/network/http_pool_spec.rb +206 -0
  750. data/spec/unit/network/http_spec.rb +35 -0
  751. data/spec/unit/network/rest_authconfig_spec.rb +148 -0
  752. data/spec/unit/network/rest_authorization_spec.rb +43 -0
  753. data/spec/unit/network/rights_spec.rb +519 -0
  754. data/spec/unit/network/server_spec.rb +534 -0
  755. data/spec/unit/network/xmlrpc/client_spec.rb +171 -0
  756. data/spec/unit/node/environment_spec.rb +248 -0
  757. data/spec/unit/node/facts_spec.rb +102 -0
  758. data/spec/unit/node_spec.rb +210 -0
  759. data/spec/unit/other/selinux_spec.rb +94 -0
  760. data/spec/unit/other/transbucket_spec.rb +188 -0
  761. data/spec/unit/other/transobject_spec.rb +112 -0
  762. data/spec/unit/parameter/value_collection_spec.rb +167 -0
  763. data/spec/unit/parameter/value_spec.rb +88 -0
  764. data/spec/unit/parameter_spec.rb +172 -0
  765. data/spec/unit/parser/ast/arithmetic_operator_spec.rb +73 -0
  766. data/spec/unit/parser/ast/astarray_spec.rb +72 -0
  767. data/spec/unit/parser/ast/asthash_spec.rb +98 -0
  768. data/spec/unit/parser/ast/boolean_operator_spec.rb +53 -0
  769. data/spec/unit/parser/ast/casestatement_spec.rb +161 -0
  770. data/spec/unit/parser/ast/collection_spec.rb +63 -0
  771. data/spec/unit/parser/ast/collexpr_spec.rb +115 -0
  772. data/spec/unit/parser/ast/comparison_operator_spec.rb +116 -0
  773. data/spec/unit/parser/ast/function_spec.rb +83 -0
  774. data/spec/unit/parser/ast/ifstatement_spec.rb +76 -0
  775. data/spec/unit/parser/ast/in_operator_spec.rb +60 -0
  776. data/spec/unit/parser/ast/leaf_spec.rb +362 -0
  777. data/spec/unit/parser/ast/match_operator_spec.rb +50 -0
  778. data/spec/unit/parser/ast/minus_spec.rb +36 -0
  779. data/spec/unit/parser/ast/nop_spec.rb +20 -0
  780. data/spec/unit/parser/ast/not_spec.rb +30 -0
  781. data/spec/unit/parser/ast/relationship_spec.rb +88 -0
  782. data/spec/unit/parser/ast/resource_defaults_spec.rb +22 -0
  783. data/spec/unit/parser/ast/resource_override_spec.rb +51 -0
  784. data/spec/unit/parser/ast/resource_reference_spec.rb +46 -0
  785. data/spec/unit/parser/ast/resource_spec.rb +120 -0
  786. data/spec/unit/parser/ast/selector_spec.rb +139 -0
  787. data/spec/unit/parser/ast/vardef_spec.rb +60 -0
  788. data/spec/unit/parser/ast_spec.rb +111 -0
  789. data/spec/unit/parser/collector_spec.rb +559 -0
  790. data/spec/unit/parser/compiler_spec.rb +754 -0
  791. data/spec/unit/parser/files_spec.rb +201 -0
  792. data/spec/unit/parser/functions/defined_spec.rb +50 -0
  793. data/spec/unit/parser/functions/fqdn_rand_spec.rb +62 -0
  794. data/spec/unit/parser/functions/generate_spec.rb +41 -0
  795. data/spec/unit/parser/functions/inline_template_spec.rb +59 -0
  796. data/spec/unit/parser/functions/realize_spec.rb +51 -0
  797. data/spec/unit/parser/functions/regsubst_spec.rb +192 -0
  798. data/spec/unit/parser/functions/require_spec.rb +74 -0
  799. data/spec/unit/parser/functions/shellquote_spec.rb +81 -0
  800. data/spec/unit/parser/functions/split_spec.rb +49 -0
  801. data/spec/unit/parser/functions/sprintf_spec.rb +41 -0
  802. data/spec/unit/parser/functions/tag_spec.rb +24 -0
  803. data/spec/unit/parser/functions/template_spec.rb +62 -0
  804. data/spec/unit/parser/functions/versioncmp_spec.rb +29 -0
  805. data/spec/unit/parser/functions_spec.rb +102 -0
  806. data/spec/unit/parser/lexer_spec.rb +646 -0
  807. data/spec/unit/parser/parser_spec.rb +412 -0
  808. data/spec/unit/parser/relationship_spec.rb +70 -0
  809. data/spec/unit/parser/resource_spec.rb +564 -0
  810. data/spec/unit/parser/scope_spec.rb +629 -0
  811. data/spec/unit/parser/templatewrapper_spec.rb +144 -0
  812. data/spec/unit/parser/type_loader_spec.rb +201 -0
  813. data/spec/unit/property/ensure_spec.rb +13 -0
  814. data/spec/unit/property/keyvalue_spec.rb +168 -0
  815. data/spec/unit/property/list_spec.rb +166 -0
  816. data/spec/unit/property/ordered_list_spec.rb +64 -0
  817. data/spec/unit/property_spec.rb +410 -0
  818. data/spec/unit/provider/augeas/augeas_spec.rb +413 -0
  819. data/spec/unit/provider/confine/exists_spec.rb +81 -0
  820. data/spec/unit/provider/confine/false_spec.rb +53 -0
  821. data/spec/unit/provider/confine/feature_spec.rb +60 -0
  822. data/spec/unit/provider/confine/true_spec.rb +53 -0
  823. data/spec/unit/provider/confine/variable_spec.rb +107 -0
  824. data/spec/unit/provider/confine_collection_spec.rb +134 -0
  825. data/spec/unit/provider/confine_spec.rb +78 -0
  826. data/spec/unit/provider/confiner_spec.rb +63 -0
  827. data/spec/unit/provider/group/groupadd_spec.rb +31 -0
  828. data/spec/unit/provider/group/ldap_spec.rb +105 -0
  829. data/spec/unit/provider/ldap_spec.rb +248 -0
  830. data/spec/unit/provider/macauthorization_spec.rb +147 -0
  831. data/spec/unit/provider/mcx/mcxcontent_spec.rb +175 -0
  832. data/spec/unit/provider/mount/parsed_spec.rb +193 -0
  833. data/spec/unit/provider/mount_spec.rb +130 -0
  834. data/spec/unit/provider/naginator_spec.rb +58 -0
  835. data/spec/unit/provider/package/aix_spec.rb +66 -0
  836. data/spec/unit/provider/package/apt_spec.rb +145 -0
  837. data/spec/unit/provider/package/dpkg_spec.rb +225 -0
  838. data/spec/unit/provider/package/gem_spec.rb +87 -0
  839. data/spec/unit/provider/package/hpux_spec.rb +52 -0
  840. data/spec/unit/provider/package/nim_spec.rb +42 -0
  841. data/spec/unit/provider/package/pkg_spec.rb +63 -0
  842. data/spec/unit/provider/package/pkgdmg_spec.rb +84 -0
  843. data/spec/unit/provider/package/zypper_spec.rb +81 -0
  844. data/spec/unit/provider/parsedfile_spec.rb +95 -0
  845. data/spec/unit/provider/selboolean_spec.rb +37 -0
  846. data/spec/unit/provider/selmodule_spec.rb +66 -0
  847. data/spec/unit/provider/service/daemontools_spec.rb +166 -0
  848. data/spec/unit/provider/service/debian_spec.rb +89 -0
  849. data/spec/unit/provider/service/init_spec.rb +168 -0
  850. data/spec/unit/provider/service/launchd_spec.rb +200 -0
  851. data/spec/unit/provider/service/redhat_spec.rb +121 -0
  852. data/spec/unit/provider/service/runit_spec.rb +140 -0
  853. data/spec/unit/provider/service/src_spec.rb +97 -0
  854. data/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +228 -0
  855. data/spec/unit/provider/sshkey/parsed_spec.rb +38 -0
  856. data/spec/unit/provider/user/hpux_spec.rb +25 -0
  857. data/spec/unit/provider/user/ldap_spec.rb +279 -0
  858. data/spec/unit/provider/user/user_role_add_spec.rb +249 -0
  859. data/spec/unit/provider/user/useradd_spec.rb +115 -0
  860. data/spec/unit/provider/zfs/solaris_spec.rb +99 -0
  861. data/spec/unit/provider/zone/solaris_spec.rb +55 -0
  862. data/spec/unit/provider/zpool/solaris_spec.rb +179 -0
  863. data/spec/unit/provider_spec.rb +31 -0
  864. data/spec/unit/puppet_spec.rb +12 -0
  865. data/spec/unit/rails/host_spec.rb +163 -0
  866. data/spec/unit/rails/param_value_spec.rb +49 -0
  867. data/spec/unit/rails/resource_spec.rb +123 -0
  868. data/spec/unit/rails_spec.rb +258 -0
  869. data/spec/unit/relationship_spec.rb +236 -0
  870. data/spec/unit/reports/http_spec.rb +56 -0
  871. data/spec/unit/reports/tagmail_spec.rb +94 -0
  872. data/spec/unit/reports_spec.rb +61 -0
  873. data/spec/unit/resource/catalog_spec.rb +1078 -0
  874. data/spec/unit/resource/status_spec.rb +103 -0
  875. data/spec/unit/resource/type_collection_helper_spec.rb +25 -0
  876. data/spec/unit/resource/type_collection_spec.rb +432 -0
  877. data/spec/unit/resource/type_spec.rb +722 -0
  878. data/spec/unit/resource_spec.rb +818 -0
  879. data/spec/unit/run_spec.rb +137 -0
  880. data/spec/unit/simple_graph_spec.rb +544 -0
  881. data/spec/unit/ssl/base_spec.rb +43 -0
  882. data/spec/unit/ssl/certificate_authority/interface_spec.rb +333 -0
  883. data/spec/unit/ssl/certificate_authority_spec.rb +772 -0
  884. data/spec/unit/ssl/certificate_factory_spec.rb +107 -0
  885. data/spec/unit/ssl/certificate_request_spec.rb +220 -0
  886. data/spec/unit/ssl/certificate_revocation_list_spec.rb +168 -0
  887. data/spec/unit/ssl/certificate_spec.rb +124 -0
  888. data/spec/unit/ssl/host_spec.rb +707 -0
  889. data/spec/unit/ssl/inventory_spec.rb +180 -0
  890. data/spec/unit/ssl/key_spec.rb +198 -0
  891. data/spec/unit/status_spec.rb +31 -0
  892. data/spec/unit/transaction/change_spec.rb +193 -0
  893. data/spec/unit/transaction/event_manager_spec.rb +260 -0
  894. data/spec/unit/transaction/event_spec.rb +108 -0
  895. data/spec/unit/transaction/report_spec.rb +234 -0
  896. data/spec/unit/transaction/resource_harness_spec.rb +401 -0
  897. data/spec/unit/transaction_spec.rb +452 -0
  898. data/spec/unit/transportable_spec.rb +0 -0
  899. data/spec/unit/type/augeas_spec.rb +122 -0
  900. data/spec/unit/type/component_spec.rb +63 -0
  901. data/spec/unit/type/computer_spec.rb +81 -0
  902. data/spec/unit/type/cron_spec.rb +33 -0
  903. data/spec/unit/type/exec_spec.rb +162 -0
  904. data/spec/unit/type/file/checksum_spec.rb +73 -0
  905. data/spec/unit/type/file/content_spec.rb +460 -0
  906. data/spec/unit/type/file/ensure_spec.rb +84 -0
  907. data/spec/unit/type/file/group_spec.rb +123 -0
  908. data/spec/unit/type/file/owner_spec.rb +150 -0
  909. data/spec/unit/type/file/selinux_spec.rb +83 -0
  910. data/spec/unit/type/file/source_spec.rb +272 -0
  911. data/spec/unit/type/file_spec.rb +1070 -0
  912. data/spec/unit/type/filebucket_spec.rb +74 -0
  913. data/spec/unit/type/group_spec.rb +57 -0
  914. data/spec/unit/type/macauthorization_spec.rb +111 -0
  915. data/spec/unit/type/maillist_spec.rb +42 -0
  916. data/spec/unit/type/mcx_spec.rb +100 -0
  917. data/spec/unit/type/mount_spec.rb +261 -0
  918. data/spec/unit/type/nagios_spec.rb +63 -0
  919. data/spec/unit/type/noop_metaparam_spec.rb +37 -0
  920. data/spec/unit/type/package_spec.rb +240 -0
  921. data/spec/unit/type/resources_spec.rb +102 -0
  922. data/spec/unit/type/schedule_spec.rb +333 -0
  923. data/spec/unit/type/selboolean_spec.rb +45 -0
  924. data/spec/unit/type/selmodule_spec.rb +18 -0
  925. data/spec/unit/type/service_spec.rb +222 -0
  926. data/spec/unit/type/ssh_authorized_key_spec.rb +152 -0
  927. data/spec/unit/type/stage_spec.rb +9 -0
  928. data/spec/unit/type/tidy_spec.rb +424 -0
  929. data/spec/unit/type/user_spec.rb +281 -0
  930. data/spec/unit/type/zfs_spec.rb +45 -0
  931. data/spec/unit/type/zone_spec.rb +60 -0
  932. data/spec/unit/type/zpool_spec.rb +110 -0
  933. data/spec/unit/type_spec.rb +566 -0
  934. data/spec/unit/util/autoload/file_cache_spec.rb +159 -0
  935. data/spec/unit/util/autoload_spec.rb +120 -0
  936. data/spec/unit/util/backups_spec.rb +159 -0
  937. data/spec/unit/util/cache_accumulator_spec.rb +75 -0
  938. data/spec/unit/util/cacher_spec.rb +185 -0
  939. data/spec/unit/util/checksums_spec.rb +153 -0
  940. data/spec/unit/util/command_line_spec.rb +108 -0
  941. data/spec/unit/util/constant_inflector_spec.rb +70 -0
  942. data/spec/unit/util/errors_spec.rb +38 -0
  943. data/spec/unit/util/feature_spec.rb +72 -0
  944. data/spec/unit/util/file_locking_spec.rb +156 -0
  945. data/spec/unit/util/filetype_spec.rb +100 -0
  946. data/spec/unit/util/inline_docs_spec.rb +32 -0
  947. data/spec/unit/util/json_spec.rb +21 -0
  948. data/spec/unit/util/ldap/connection_spec.rb +169 -0
  949. data/spec/unit/util/ldap/generator_spec.rb +54 -0
  950. data/spec/unit/util/ldap/manager_spec.rb +654 -0
  951. data/spec/unit/util/loadedfile_spec.rb +65 -0
  952. data/spec/unit/util/log/destinations_spec.rb +24 -0
  953. data/spec/unit/util/log_spec.rb +215 -0
  954. data/spec/unit/util/logging_spec.rb +95 -0
  955. data/spec/unit/util/metric_spec.rb +95 -0
  956. data/spec/unit/util/monkey_patches_spec.rb +7 -0
  957. data/spec/unit/util/nagios_maker_spec.rb +126 -0
  958. data/spec/unit/util/package_spec.rb +21 -0
  959. data/spec/unit/util/posix_spec.rb +256 -0
  960. data/spec/unit/util/queue/stomp_spec.rb +140 -0
  961. data/spec/unit/util/queue_spec.rb +96 -0
  962. data/spec/unit/util/rdoc/parser_spec.rb +540 -0
  963. data/spec/unit/util/rdoc_spec.rb +165 -0
  964. data/spec/unit/util/reference_serializer_spec.rb +52 -0
  965. data/spec/unit/util/resource_template_spec.rb +58 -0
  966. data/spec/unit/util/run_mode_spec.rb +51 -0
  967. data/spec/unit/util/selinux_spec.rb +278 -0
  968. data/spec/unit/util/settings/file_setting_spec.rb +256 -0
  969. data/spec/unit/util/settings_spec.rb +1099 -0
  970. data/spec/unit/util/storage_spec.rb +235 -0
  971. data/spec/unit/util/tagging_spec.rb +102 -0
  972. data/spec/unit/util/user_attr_spec.rb +47 -0
  973. data/spec/unit/util/warnings_spec.rb +39 -0
  974. data/spec/unit/util/zaml_spec.rb +38 -0
  975. data/tasks/rake/git_workflow.rake +1 -1
  976. data/tasks/rake/sign.rake +2 -2
  977. data/test/certmgr/ca.rb +61 -61
  978. data/test/certmgr/certmgr.rb +292 -283
  979. data/test/certmgr/inventory.rb +44 -42
  980. data/test/certmgr/support.rb +78 -77
  981. data/test/data/providers/ssh_authorized_key/parsed/authorized_keys +1 -1
  982. data/test/data/snippets/hash.pp +33 -0
  983. data/test/language/ast.rb +68 -117
  984. data/test/language/ast/variable.rb +14 -15
  985. data/test/language/functions.rb +404 -463
  986. data/test/language/parser.rb +670 -1135
  987. data/test/language/scope.rb +198 -402
  988. data/test/language/snippets.rb +439 -447
  989. data/test/language/transportable.rb +67 -66
  990. data/test/lib/puppettest.rb +260 -268
  991. data/test/lib/puppettest/certificates.rb +51 -53
  992. data/test/lib/puppettest/exetest.rb +107 -111
  993. data/test/lib/puppettest/fakes.rb +153 -158
  994. data/test/lib/puppettest/fileparsing.rb +17 -17
  995. data/test/lib/puppettest/filetesting.rb +204 -213
  996. data/test/lib/puppettest/parsertesting.rb +382 -365
  997. data/test/lib/puppettest/railstesting.rb +49 -50
  998. data/test/lib/puppettest/reporttesting.rb +10 -10
  999. data/test/lib/puppettest/resourcetesting.rb +45 -36
  1000. data/test/lib/puppettest/runnable_test.rb +36 -28
  1001. data/test/lib/puppettest/servertest.rb +54 -51
  1002. data/test/lib/puppettest/support/assertions.rb +48 -55
  1003. data/test/lib/puppettest/support/helpers.rb +12 -16
  1004. data/test/lib/puppettest/support/resources.rb +23 -25
  1005. data/test/lib/puppettest/support/utils.rb +138 -148
  1006. data/test/lib/puppettest/testcase.rb +15 -17
  1007. data/test/lib/rake/puppet_test_loader.rb +1 -3
  1008. data/test/lib/rake/puppet_testtask.rb +10 -10
  1009. data/test/network/authconfig.rb +48 -50
  1010. data/test/network/authorization.rb +114 -113
  1011. data/test/network/authstore.rb +454 -406
  1012. data/test/network/client/ca.rb +46 -48
  1013. data/test/network/client/dipper.rb +22 -22
  1014. data/test/network/client_request.rb +20 -20
  1015. data/test/network/handler/ca.rb +251 -252
  1016. data/test/network/handler/fileserver.rb +1071 -1001
  1017. data/test/network/handler/master.rb +58 -58
  1018. data/test/network/handler/report.rb +64 -64
  1019. data/test/network/handler/runner.rb +8 -8
  1020. data/test/network/rights.rb +22 -19
  1021. data/test/network/server/mongrel_test.rb +87 -87
  1022. data/test/network/server/webrick.rb +99 -87
  1023. data/test/network/xmlrpc/client.rb +30 -30
  1024. data/test/network/xmlrpc/processor.rb +52 -53
  1025. data/test/network/xmlrpc/server.rb +10 -11
  1026. data/test/network/xmlrpc/webrick_servlet.rb +21 -18
  1027. data/test/other/provider.rb +69 -84
  1028. data/test/other/puppet.rb +61 -76
  1029. data/test/other/relationships.rb +73 -65
  1030. data/test/other/report.rb +88 -187
  1031. data/test/other/transactions.rb +363 -885
  1032. data/test/puppet/defaults.rb +51 -54
  1033. data/test/puppet/errortest.rb +8 -8
  1034. data/test/puppet/tc_suidmanager.rb +106 -103
  1035. data/test/rails/rails.rb +8 -9
  1036. data/test/rails/railsparameter.rb +60 -54
  1037. data/test/ral/manager/attributes.rb +262 -260
  1038. data/test/ral/manager/instances.rb +77 -78
  1039. data/test/ral/manager/manager.rb +36 -36
  1040. data/test/ral/manager/provider.rb +56 -79
  1041. data/test/ral/manager/type.rb +308 -449
  1042. data/test/ral/providers/cron/crontab.rb +561 -545
  1043. data/test/ral/providers/group.rb +203 -212
  1044. data/test/ral/providers/host/parsed.rb +189 -180
  1045. data/test/ral/providers/mailalias/aliases.rb +40 -40
  1046. data/test/ral/providers/nameservice.rb +21 -21
  1047. data/test/ral/providers/package.rb +207 -214
  1048. data/test/ral/providers/package/aptitude.rb +75 -63
  1049. data/test/ral/providers/package/aptrpm.rb +84 -72
  1050. data/test/ral/providers/parsedfile.rb +510 -509
  1051. data/test/ral/providers/port/parsed.rb +5 -5
  1052. data/test/ral/providers/provider.rb +421 -421
  1053. data/test/ral/providers/service/base.rb +59 -53
  1054. data/test/ral/providers/sshkey/parsed.rb +86 -83
  1055. data/test/ral/providers/user.rb +471 -451
  1056. data/test/ral/providers/user/useradd.rb +168 -177
  1057. data/test/ral/type/cron.rb +406 -393
  1058. data/test/ral/type/exec.rb +721 -641
  1059. data/test/ral/type/file.rb +827 -896
  1060. data/test/ral/type/file/target.rb +295 -251
  1061. data/test/ral/type/fileignoresource.rb +232 -205
  1062. data/test/ral/type/filesources.rb +446 -485
  1063. data/test/ral/type/host.rb +124 -153
  1064. data/test/ral/type/mailalias.rb +28 -31
  1065. data/test/ral/type/port.rb +7 -7
  1066. data/test/ral/type/resources.rb +88 -93
  1067. data/test/ral/type/service.rb +19 -19
  1068. data/test/ral/type/sshkey.rb +120 -160
  1069. data/test/ral/type/user.rb +132 -414
  1070. data/test/ral/type/yumrepo.rb +95 -92
  1071. data/test/ral/type/zone.rb +316 -287
  1072. data/test/test +1 -1
  1073. data/test/util/classgen.rb +182 -167
  1074. data/test/util/execution.rb +18 -18
  1075. data/test/util/fileparsing.rb +580 -540
  1076. data/test/util/inifile.rb +117 -106
  1077. data/test/util/instance_loader.rb +29 -29
  1078. data/test/util/log.rb +202 -198
  1079. data/test/util/metrics.rb +51 -51
  1080. data/test/util/package.rb +11 -12
  1081. data/test/util/pidlock.rb +115 -115
  1082. data/test/util/settings.rb +613 -557
  1083. data/test/util/storage.rb +71 -88
  1084. data/test/util/subclass_loader.rb +69 -72
  1085. data/test/util/utiltest.rb +204 -203
  1086. metadata +493 -395
  1087. data/lib/puppet/agent/runner.rb +0 -65
  1088. data/lib/puppet/application/pi.rb +0 -214
  1089. data/lib/puppet/application/puppet.rb +0 -181
  1090. data/lib/puppet/application/puppetca.rb +0 -71
  1091. data/lib/puppet/application/puppetd.rb +0 -250
  1092. data/lib/puppet/application/puppetdoc.rb +0 -224
  1093. data/lib/puppet/application/puppetmasterd.rb +0 -168
  1094. data/lib/puppet/application/puppetqd.rb +0 -96
  1095. data/lib/puppet/application/puppetrun.rb +0 -210
  1096. data/lib/puppet/application/ralsh.rb +0 -152
  1097. data/lib/puppet/checksum.rb +0 -57
  1098. data/lib/puppet/indirector/checksum/file.rb +0 -33
  1099. data/lib/puppet/indirector/runner/rest.rb +0 -7
  1100. data/lib/puppet/network/client/dipper.rb +0 -85
  1101. data/lib/puppet/network/client/resource.rb +0 -38
  1102. data/lib/puppet/network/handler/resource.rb +0 -190
  1103. data/lib/puppet/parser/ast/definition.rb +0 -207
  1104. data/lib/puppet/parser/ast/hostclass.rb +0 -95
  1105. data/lib/puppet/parser/ast/node.rb +0 -42
  1106. data/lib/puppet/parser/interpreter.rb +0 -84
  1107. data/lib/puppet/parser/loaded_code.rb +0 -119
  1108. data/lib/puppet/parser/resource/reference.rb +0 -99
  1109. data/lib/puppet/resource/reference.rb +0 -90
  1110. data/lib/puppet/util/config_store.rb +0 -61
  1111. data/spec/integration/application/puppet.rb +0 -33
  1112. data/spec/integration/bin/puppetmasterd.rb +0 -122
  1113. data/spec/integration/checksum.rb +0 -48
  1114. data/spec/integration/configurer.rb +0 -18
  1115. data/spec/integration/defaults.rb +0 -230
  1116. data/spec/integration/file_serving/content.rb +0 -20
  1117. data/spec/integration/file_serving/fileset.rb +0 -14
  1118. data/spec/integration/file_serving/metadata.rb +0 -21
  1119. data/spec/integration/file_serving/terminus_helper.rb +0 -22
  1120. data/spec/integration/indirector/catalog/compiler.rb +0 -67
  1121. data/spec/integration/indirector/catalog/queue.rb +0 -61
  1122. data/spec/integration/indirector/certificate/rest.rb +0 -70
  1123. data/spec/integration/indirector/certificate_request/rest.rb +0 -88
  1124. data/spec/integration/indirector/certificate_revocation_list/rest.rb +0 -76
  1125. data/spec/integration/indirector/direct_file_server.rb +0 -73
  1126. data/spec/integration/indirector/file_content/file_server.rb +0 -94
  1127. data/spec/integration/indirector/file_metadata/file_server.rb +0 -18
  1128. data/spec/integration/indirector/node/ldap.rb +0 -15
  1129. data/spec/integration/indirector/report/rest.rb +0 -94
  1130. data/spec/integration/indirector/rest.rb +0 -523
  1131. data/spec/integration/network/client.rb +0 -19
  1132. data/spec/integration/network/formats.rb +0 -110
  1133. data/spec/integration/network/handler.rb +0 -25
  1134. data/spec/integration/network/server/mongrel.rb +0 -66
  1135. data/spec/integration/network/server/webrick.rb +0 -86
  1136. data/spec/integration/node.rb +0 -93
  1137. data/spec/integration/node/environment.rb +0 -58
  1138. data/spec/integration/node/facts.rb +0 -47
  1139. data/spec/integration/parser/compiler.rb +0 -29
  1140. data/spec/integration/parser/functions/require.rb +0 -86
  1141. data/spec/integration/provider/mailalias/aliases.rb +0 -25
  1142. data/spec/integration/provider/package.rb +0 -26
  1143. data/spec/integration/provider/service/init.rb +0 -32
  1144. data/spec/integration/reference/providers.rb +0 -17
  1145. data/spec/integration/reports.rb +0 -18
  1146. data/spec/integration/resource/catalog.rb +0 -61
  1147. data/spec/integration/ssl/certificate_authority.rb +0 -135
  1148. data/spec/integration/ssl/certificate_request.rb +0 -61
  1149. data/spec/integration/ssl/certificate_revocation_list.rb +0 -42
  1150. data/spec/integration/ssl/host.rb +0 -90
  1151. data/spec/integration/transaction.rb +0 -66
  1152. data/spec/integration/transaction/report.rb +0 -29
  1153. data/spec/integration/type.rb +0 -22
  1154. data/spec/integration/type/file.rb +0 -477
  1155. data/spec/integration/type/package.rb +0 -25
  1156. data/spec/integration/type/tidy.rb +0 -27
  1157. data/spec/integration/util/autoload.rb +0 -114
  1158. data/spec/integration/util/feature.rb +0 -54
  1159. data/spec/integration/util/file_locking.rb +0 -37
  1160. data/spec/integration/util/settings.rb +0 -27
  1161. data/spec/unit/agent.rb +0 -259
  1162. data/spec/unit/agent/locker.rb +0 -100
  1163. data/spec/unit/agent/runner.rb +0 -118
  1164. data/spec/unit/application.rb +0 -420
  1165. data/spec/unit/application/filebucket.rb +0 -220
  1166. data/spec/unit/application/pi.rb +0 -84
  1167. data/spec/unit/application/puppet.rb +0 -399
  1168. data/spec/unit/application/puppetca.rb +0 -142
  1169. data/spec/unit/application/puppetd.rb +0 -502
  1170. data/spec/unit/application/puppetdoc.rb +0 -360
  1171. data/spec/unit/application/puppetmasterd.rb +0 -457
  1172. data/spec/unit/application/puppetqd.rb +0 -186
  1173. data/spec/unit/application/puppetrun.rb +0 -289
  1174. data/spec/unit/application/ralsh.rb +0 -254
  1175. data/spec/unit/configurer.rb +0 -339
  1176. data/spec/unit/configurer/downloader.rb +0 -188
  1177. data/spec/unit/configurer/fact_handler.rb +0 -164
  1178. data/spec/unit/configurer/plugin_handler.rb +0 -112
  1179. data/spec/unit/daemon.rb +0 -287
  1180. data/spec/unit/file_collection.rb +0 -53
  1181. data/spec/unit/file_collection/lookup.rb +0 -46
  1182. data/spec/unit/file_serving/base.rb +0 -132
  1183. data/spec/unit/file_serving/configuration.rb +0 -249
  1184. data/spec/unit/file_serving/configuration/parser.rb +0 -181
  1185. data/spec/unit/file_serving/content.rb +0 -110
  1186. data/spec/unit/file_serving/fileset.rb +0 -347
  1187. data/spec/unit/file_serving/indirection_hooks.rb +0 -63
  1188. data/spec/unit/file_serving/metadata.rb +0 -286
  1189. data/spec/unit/file_serving/mount.rb +0 -32
  1190. data/spec/unit/file_serving/mount/file.rb +0 -196
  1191. data/spec/unit/file_serving/mount/modules.rb +0 -63
  1192. data/spec/unit/file_serving/mount/plugins.rb +0 -61
  1193. data/spec/unit/file_serving/terminus_helper.rb +0 -98
  1194. data/spec/unit/indirector.rb +0 -157
  1195. data/spec/unit/indirector/active_record.rb +0 -76
  1196. data/spec/unit/indirector/catalog/active_record.rb +0 -141
  1197. data/spec/unit/indirector/catalog/compiler.rb +0 -261
  1198. data/spec/unit/indirector/catalog/queue.rb +0 -20
  1199. data/spec/unit/indirector/catalog/rest.rb +0 -11
  1200. data/spec/unit/indirector/catalog/yaml.rb +0 -25
  1201. data/spec/unit/indirector/certificate/ca.rb +0 -28
  1202. data/spec/unit/indirector/certificate/file.rb +0 -28
  1203. data/spec/unit/indirector/certificate/rest.rb +0 -57
  1204. data/spec/unit/indirector/certificate_request/ca.rb +0 -19
  1205. data/spec/unit/indirector/certificate_request/file.rb +0 -19
  1206. data/spec/unit/indirector/certificate_request/rest.rb +0 -23
  1207. data/spec/unit/indirector/certificate_revocation_list/ca.rb +0 -21
  1208. data/spec/unit/indirector/certificate_revocation_list/file.rb +0 -20
  1209. data/spec/unit/indirector/certificate_revocation_list/rest.rb +0 -23
  1210. data/spec/unit/indirector/checksum/file.rb +0 -139
  1211. data/spec/unit/indirector/code.rb +0 -33
  1212. data/spec/unit/indirector/direct_file_server.rb +0 -84
  1213. data/spec/unit/indirector/envelope.rb +0 -47
  1214. data/spec/unit/indirector/exec.rb +0 -56
  1215. data/spec/unit/indirector/facts/active_record.rb +0 -104
  1216. data/spec/unit/indirector/facts/facter.rb +0 -142
  1217. data/spec/unit/indirector/facts/rest.rb +0 -11
  1218. data/spec/unit/indirector/facts/yaml.rb +0 -26
  1219. data/spec/unit/indirector/file.rb +0 -161
  1220. data/spec/unit/indirector/file_content/file.rb +0 -18
  1221. data/spec/unit/indirector/file_content/file_server.rb +0 -18
  1222. data/spec/unit/indirector/file_content/rest.rb +0 -11
  1223. data/spec/unit/indirector/file_metadata/file.rb +0 -52
  1224. data/spec/unit/indirector/file_metadata/file_server.rb +0 -18
  1225. data/spec/unit/indirector/file_metadata/rest.rb +0 -9
  1226. data/spec/unit/indirector/file_server.rb +0 -267
  1227. data/spec/unit/indirector/indirection.rb +0 -795
  1228. data/spec/unit/indirector/key/ca.rb +0 -28
  1229. data/spec/unit/indirector/key/file.rb +0 -104
  1230. data/spec/unit/indirector/ldap.rb +0 -143
  1231. data/spec/unit/indirector/memory.rb +0 -29
  1232. data/spec/unit/indirector/node/active_record.rb +0 -34
  1233. data/spec/unit/indirector/node/exec.rb +0 -69
  1234. data/spec/unit/indirector/node/ldap.rb +0 -458
  1235. data/spec/unit/indirector/node/memory.rb +0 -19
  1236. data/spec/unit/indirector/node/plain.rb +0 -19
  1237. data/spec/unit/indirector/node/rest.rb +0 -13
  1238. data/spec/unit/indirector/node/yaml.rb +0 -25
  1239. data/spec/unit/indirector/plain.rb +0 -29
  1240. data/spec/unit/indirector/queue.rb +0 -123
  1241. data/spec/unit/indirector/report/processor.rb +0 -81
  1242. data/spec/unit/indirector/report/rest.rb +0 -28
  1243. data/spec/unit/indirector/request.rb +0 -308
  1244. data/spec/unit/indirector/rest.rb +0 -403
  1245. data/spec/unit/indirector/runner/rest.rb +0 -11
  1246. data/spec/unit/indirector/ssl_file.rb +0 -280
  1247. data/spec/unit/indirector/terminus.rb +0 -245
  1248. data/spec/unit/indirector/yaml.rb +0 -145
  1249. data/spec/unit/module.rb +0 -247
  1250. data/spec/unit/network/authconfig.rb +0 -292
  1251. data/spec/unit/network/authstore.rb +0 -370
  1252. data/spec/unit/network/client.rb +0 -45
  1253. data/spec/unit/network/client/dipper.rb +0 -16
  1254. data/spec/unit/network/format.rb +0 -191
  1255. data/spec/unit/network/format_handler.rb +0 -327
  1256. data/spec/unit/network/formats.rb +0 -365
  1257. data/spec/unit/network/handler/fileserver.rb +0 -176
  1258. data/spec/unit/network/http.rb +0 -35
  1259. data/spec/unit/network/http/api/v1.rb +0 -122
  1260. data/spec/unit/network/http/handler.rb +0 -458
  1261. data/spec/unit/network/http/mongrel.rb +0 -131
  1262. data/spec/unit/network/http/mongrel/rest.rb +0 -232
  1263. data/spec/unit/network/http/rack.rb +0 -102
  1264. data/spec/unit/network/http/rack/rest.rb +0 -199
  1265. data/spec/unit/network/http/rack/xmlrpc.rb +0 -157
  1266. data/spec/unit/network/http/webrick.rb +0 -339
  1267. data/spec/unit/network/http/webrick/rest.rb +0 -157
  1268. data/spec/unit/network/http_pool.rb +0 -206
  1269. data/spec/unit/network/rest_authconfig.rb +0 -146
  1270. data/spec/unit/network/rest_authorization.rb +0 -43
  1271. data/spec/unit/network/rights.rb +0 -519
  1272. data/spec/unit/network/server.rb +0 -534
  1273. data/spec/unit/network/xmlrpc/client.rb +0 -171
  1274. data/spec/unit/node.rb +0 -200
  1275. data/spec/unit/node/environment.rb +0 -187
  1276. data/spec/unit/node/facts.rb +0 -97
  1277. data/spec/unit/other/checksum.rb +0 -92
  1278. data/spec/unit/other/selinux.rb +0 -85
  1279. data/spec/unit/other/transbucket.rb +0 -188
  1280. data/spec/unit/other/transobject.rb +0 -112
  1281. data/spec/unit/parameter.rb +0 -405
  1282. data/spec/unit/parser/ast.rb +0 -41
  1283. data/spec/unit/parser/ast/arithmetic_operator.rb +0 -73
  1284. data/spec/unit/parser/ast/astarray.rb +0 -72
  1285. data/spec/unit/parser/ast/boolean_operator.rb +0 -53
  1286. data/spec/unit/parser/ast/casestatement.rb +0 -135
  1287. data/spec/unit/parser/ast/collection.rb +0 -63
  1288. data/spec/unit/parser/ast/collexpr.rb +0 -115
  1289. data/spec/unit/parser/ast/comparison_operator.rb +0 -92
  1290. data/spec/unit/parser/ast/definition.rb +0 -213
  1291. data/spec/unit/parser/ast/function.rb +0 -83
  1292. data/spec/unit/parser/ast/hostclass.rb +0 -148
  1293. data/spec/unit/parser/ast/ifstatement.rb +0 -76
  1294. data/spec/unit/parser/ast/leaf.rb +0 -298
  1295. data/spec/unit/parser/ast/match_operator.rb +0 -50
  1296. data/spec/unit/parser/ast/minus.rb +0 -36
  1297. data/spec/unit/parser/ast/node.rb +0 -145
  1298. data/spec/unit/parser/ast/nop.rb +0 -20
  1299. data/spec/unit/parser/ast/not.rb +0 -30
  1300. data/spec/unit/parser/ast/resource.rb +0 -103
  1301. data/spec/unit/parser/ast/resource_override.rb +0 -51
  1302. data/spec/unit/parser/ast/resource_reference.rb +0 -69
  1303. data/spec/unit/parser/ast/selector.rb +0 -155
  1304. data/spec/unit/parser/ast/vardef.rb +0 -47
  1305. data/spec/unit/parser/collector.rb +0 -556
  1306. data/spec/unit/parser/compiler.rb +0 -604
  1307. data/spec/unit/parser/files.rb +0 -190
  1308. data/spec/unit/parser/functions.rb +0 -83
  1309. data/spec/unit/parser/functions/fqdn_rand.rb +0 -62
  1310. data/spec/unit/parser/functions/generate.rb +0 -41
  1311. data/spec/unit/parser/functions/inline_template.rb +0 -59
  1312. data/spec/unit/parser/functions/realize.rb +0 -51
  1313. data/spec/unit/parser/functions/regsubst.rb +0 -168
  1314. data/spec/unit/parser/functions/require.rb +0 -69
  1315. data/spec/unit/parser/functions/shellquote.rb +0 -92
  1316. data/spec/unit/parser/functions/split.rb +0 -51
  1317. data/spec/unit/parser/functions/sprintf.rb +0 -42
  1318. data/spec/unit/parser/functions/template.rb +0 -62
  1319. data/spec/unit/parser/functions/versioncmp.rb +0 -29
  1320. data/spec/unit/parser/interpreter.rb +0 -147
  1321. data/spec/unit/parser/lexer.rb +0 -731
  1322. data/spec/unit/parser/loaded_code.rb +0 -215
  1323. data/spec/unit/parser/parser.rb +0 -423
  1324. data/spec/unit/parser/resource.rb +0 -529
  1325. data/spec/unit/parser/resource/reference.rb +0 -111
  1326. data/spec/unit/parser/scope.rb +0 -387
  1327. data/spec/unit/parser/templatewrapper.rb +0 -134
  1328. data/spec/unit/property.rb +0 -305
  1329. data/spec/unit/property/keyvalue.rb +0 -168
  1330. data/spec/unit/property/list.rb +0 -166
  1331. data/spec/unit/property/ordered_list.rb +0 -64
  1332. data/spec/unit/provider.rb +0 -31
  1333. data/spec/unit/provider/augeas/augeas.rb +0 -413
  1334. data/spec/unit/provider/confine.rb +0 -78
  1335. data/spec/unit/provider/confine/exists.rb +0 -81
  1336. data/spec/unit/provider/confine/false.rb +0 -53
  1337. data/spec/unit/provider/confine/feature.rb +0 -60
  1338. data/spec/unit/provider/confine/true.rb +0 -53
  1339. data/spec/unit/provider/confine/variable.rb +0 -107
  1340. data/spec/unit/provider/confine_collection.rb +0 -134
  1341. data/spec/unit/provider/confiner.rb +0 -63
  1342. data/spec/unit/provider/group/groupadd.rb +0 -31
  1343. data/spec/unit/provider/group/ldap.rb +0 -105
  1344. data/spec/unit/provider/ldap.rb +0 -248
  1345. data/spec/unit/provider/macauthorization.rb +0 -147
  1346. data/spec/unit/provider/mcx/mcxcontent.rb +0 -175
  1347. data/spec/unit/provider/mount.rb +0 -130
  1348. data/spec/unit/provider/mount/parsed.rb +0 -194
  1349. data/spec/unit/provider/naginator.rb +0 -58
  1350. data/spec/unit/provider/package/apt.rb +0 -138
  1351. data/spec/unit/provider/package/dpkg.rb +0 -170
  1352. data/spec/unit/provider/package/gem.rb +0 -87
  1353. data/spec/unit/provider/package/hpux.rb +0 -52
  1354. data/spec/unit/provider/package/pkgdmg.rb +0 -73
  1355. data/spec/unit/provider/parsedfile.rb +0 -95
  1356. data/spec/unit/provider/selboolean.rb +0 -37
  1357. data/spec/unit/provider/selmodule.rb +0 -66
  1358. data/spec/unit/provider/service/daemontools.rb +0 -166
  1359. data/spec/unit/provider/service/debian.rb +0 -89
  1360. data/spec/unit/provider/service/init.rb +0 -121
  1361. data/spec/unit/provider/service/launchd.rb +0 -200
  1362. data/spec/unit/provider/service/redhat.rb +0 -96
  1363. data/spec/unit/provider/service/runit.rb +0 -140
  1364. data/spec/unit/provider/ssh_authorized_key/parsed.rb +0 -206
  1365. data/spec/unit/provider/sshkey/parsed.rb +0 -38
  1366. data/spec/unit/provider/user/hpux.rb +0 -25
  1367. data/spec/unit/provider/user/ldap.rb +0 -279
  1368. data/spec/unit/provider/user/user_role_add.rb +0 -249
  1369. data/spec/unit/provider/user/useradd.rb +0 -115
  1370. data/spec/unit/provider/zfs/solaris.rb +0 -99
  1371. data/spec/unit/provider/zone/solaris.rb +0 -42
  1372. data/spec/unit/provider/zpool/solaris.rb +0 -179
  1373. data/spec/unit/rails.rb +0 -133
  1374. data/spec/unit/rails/host.rb +0 -163
  1375. data/spec/unit/rails/param_value.rb +0 -49
  1376. data/spec/unit/rails/resource.rb +0 -107
  1377. data/spec/unit/relationship.rb +0 -236
  1378. data/spec/unit/reports.rb +0 -61
  1379. data/spec/unit/resource.rb +0 -495
  1380. data/spec/unit/resource/catalog.rb +0 -1053
  1381. data/spec/unit/resource/reference.rb +0 -111
  1382. data/spec/unit/simple_graph.rb +0 -551
  1383. data/spec/unit/ssl/certificate.rb +0 -124
  1384. data/spec/unit/ssl/certificate_authority.rb +0 -741
  1385. data/spec/unit/ssl/certificate_authority/interface.rb +0 -269
  1386. data/spec/unit/ssl/certificate_factory.rb +0 -107
  1387. data/spec/unit/ssl/certificate_request.rb +0 -193
  1388. data/spec/unit/ssl/certificate_revocation_list.rb +0 -168
  1389. data/spec/unit/ssl/host.rb +0 -704
  1390. data/spec/unit/ssl/inventory.rb +0 -180
  1391. data/spec/unit/ssl/key.rb +0 -198
  1392. data/spec/unit/transaction.rb +0 -146
  1393. data/spec/unit/transaction/change.rb +0 -187
  1394. data/spec/unit/transaction/event.rb +0 -25
  1395. data/spec/unit/transaction/report.rb +0 -40
  1396. data/spec/unit/type.rb +0 -426
  1397. data/spec/unit/type/augeas.rb +0 -106
  1398. data/spec/unit/type/component.rb +0 -63
  1399. data/spec/unit/type/computer.rb +0 -78
  1400. data/spec/unit/type/cron.rb +0 -33
  1401. data/spec/unit/type/exec.rb +0 -116
  1402. data/spec/unit/type/file.rb +0 -810
  1403. data/spec/unit/type/file/checksum.rb +0 -28
  1404. data/spec/unit/type/file/content.rb +0 -297
  1405. data/spec/unit/type/file/ensure.rb +0 -84
  1406. data/spec/unit/type/file/group.rb +0 -123
  1407. data/spec/unit/type/file/owner.rb +0 -143
  1408. data/spec/unit/type/file/selinux.rb +0 -84
  1409. data/spec/unit/type/file/source.rb +0 -264
  1410. data/spec/unit/type/filebucket.rb +0 -74
  1411. data/spec/unit/type/group.rb +0 -39
  1412. data/spec/unit/type/macauthorization.rb +0 -111
  1413. data/spec/unit/type/maillist.rb +0 -42
  1414. data/spec/unit/type/mcx.rb +0 -100
  1415. data/spec/unit/type/mount.rb +0 -211
  1416. data/spec/unit/type/nagios.rb +0 -63
  1417. data/spec/unit/type/noop_metaparam.rb +0 -37
  1418. data/spec/unit/type/package.rb +0 -236
  1419. data/spec/unit/type/resources.rb +0 -89
  1420. data/spec/unit/type/schedule.rb +0 -333
  1421. data/spec/unit/type/selboolean.rb +0 -45
  1422. data/spec/unit/type/selmodule.rb +0 -18
  1423. data/spec/unit/type/service.rb +0 -230
  1424. data/spec/unit/type/ssh_authorized_key.rb +0 -140
  1425. data/spec/unit/type/tidy.rb +0 -422
  1426. data/spec/unit/type/user.rb +0 -285
  1427. data/spec/unit/type/zfs.rb +0 -45
  1428. data/spec/unit/type/zone.rb +0 -20
  1429. data/spec/unit/type/zpool.rb +0 -110
  1430. data/spec/unit/util/autoload.rb +0 -133
  1431. data/spec/unit/util/autoload/file_cache.rb +0 -183
  1432. data/spec/unit/util/backups.rb +0 -159
  1433. data/spec/unit/util/cache_accumulator.rb +0 -69
  1434. data/spec/unit/util/cacher.rb +0 -185
  1435. data/spec/unit/util/checksums.rb +0 -113
  1436. data/spec/unit/util/constant_inflector.rb +0 -70
  1437. data/spec/unit/util/feature.rb +0 -72
  1438. data/spec/unit/util/file_locking.rb +0 -115
  1439. data/spec/unit/util/filetype.rb +0 -100
  1440. data/spec/unit/util/json.rb +0 -21
  1441. data/spec/unit/util/ldap/connection.rb +0 -169
  1442. data/spec/unit/util/ldap/generator.rb +0 -54
  1443. data/spec/unit/util/ldap/manager.rb +0 -654
  1444. data/spec/unit/util/loadedfile.rb +0 -65
  1445. data/spec/unit/util/log.rb +0 -202
  1446. data/spec/unit/util/metric.rb +0 -95
  1447. data/spec/unit/util/monkey_patches.rb +0 -103
  1448. data/spec/unit/util/nagios_maker.rb +0 -126
  1449. data/spec/unit/util/package.rb +0 -21
  1450. data/spec/unit/util/posix.rb +0 -256
  1451. data/spec/unit/util/queue.rb +0 -96
  1452. data/spec/unit/util/queue/stomp.rb +0 -140
  1453. data/spec/unit/util/reference_serializer.rb +0 -52
  1454. data/spec/unit/util/resource_template.rb +0 -58
  1455. data/spec/unit/util/selinux.rb +0 -280
  1456. data/spec/unit/util/settings.rb +0 -1058
  1457. data/spec/unit/util/settings/file_setting.rb +0 -248
  1458. data/spec/unit/util/storage.rb +0 -248
  1459. data/spec/unit/util/tagging.rb +0 -102
  1460. data/spec/unit/util/user_attr.rb +0 -47
  1461. data/spec/unit/util/warnings.rb +0 -39
  1462. data/spec/unit/util/zaml.rb +0 -38
  1463. data/test/language/ast/casestatement.rb +0 -103
  1464. data/test/language/ast/resource.rb +0 -58
  1465. data/test/language/ast/resource_reference.rb +0 -77
  1466. data/test/language/ast/selector.rb +0 -61
  1467. data/test/language/resource.rb +0 -172
  1468. data/test/lib/puppettest/support/collection.rb +0 -29
  1469. data/test/network/client/resource.rb +0 -52
  1470. data/test/network/handler/bucket.rb +0 -313
  1471. data/test/network/handler/resource.rb +0 -250
  1472. data/test/other/dsl.rb +0 -215
  1473. data/test/other/events.rb +0 -124
  1474. data/test/ral/type/group.rb +0 -170
@@ -7,65 +7,63 @@ require 'puppettest'
7
7
  require 'puppet/network/authconfig'
8
8
 
9
9
  class TestAuthConfig < Test::Unit::TestCase
10
- include PuppetTest
10
+ include PuppetTest
11
11
 
12
- def request(call, client, ip)
13
- r = Puppet::Network::ClientRequest.new(client, ip, false)
14
- h, m = call.split(".")
15
- r.handler = h
16
- r.method = m
17
- r
18
- end
12
+ def request(call, client, ip)
13
+ r = Puppet::Network::ClientRequest.new(client, ip, false)
14
+ h, m = call.split(".")
15
+ r.handler = h
16
+ r.method = m
17
+ r
18
+ end
19
19
 
20
- def test_parsingconfigfile
21
- file = tempfile()
22
- assert(Puppet[:authconfig], "No config path")
20
+ def test_parsingconfigfile
21
+ file = tempfile
22
+ assert(Puppet[:authconfig], "No config path")
23
23
 
24
- Puppet[:authconfig] = file
24
+ Puppet[:authconfig] = file
25
25
 
26
- File.open(file, "w") { |f|
27
- f.puts "[pelementserver.describe]
28
- allow *.madstop.com
29
- deny 10.10.1.1
26
+ File.open(file, "w") { |f|
27
+ f.puts "[pelementserver.describe]
28
+ allow *.madstop.com
29
+ deny 10.10.1.1
30
30
 
31
31
  [fileserver]
32
- allow *.madstop.com
33
- deny 10.10.1.1
32
+ allow *.madstop.com
33
+ deny 10.10.1.1
34
34
 
35
35
  [fileserver.list]
36
- allow 10.10.1.1
36
+ allow 10.10.1.1
37
37
  "
38
- }
39
-
40
- config = nil
41
- assert_nothing_raised {
42
- config = Puppet::Network::AuthConfig.new(file)
43
- }
44
-
45
- assert_nothing_raised {
46
- assert(config.allowed?(request("pelementserver.describe",
47
- "culain.madstop.com", "1.1.1.1")), "Did not allow host")
48
- assert(! config.allowed?(request("pelementserver.describe",
49
- "culain.madstop.com", "10.10.1.1")), "Allowed host")
50
- assert(config.allowed?(request("fileserver.yay",
51
- "culain.madstop.com", "10.1.1.1")), "Did not allow host to fs")
52
- assert(! config.allowed?(request("fileserver.yay",
53
- "culain.madstop.com", "10.10.1.1")), "Allowed host to fs")
54
- assert(config.allowed?(request("fileserver.list",
55
- "culain.madstop.com", "10.10.1.1")), "Did not allow host to fs.list")
56
- }
57
- end
58
-
59
- def test_singleton
60
- auth = nil
61
- assert_nothing_raised { auth = Puppet::Network::AuthConfig.main }
62
- assert(auth, "did not get main authconfig")
63
-
64
- other = nil
65
- assert_nothing_raised { other = Puppet::Network::AuthConfig.main }
66
- assert_equal(auth.object_id, other.object_id,
67
- "did not get same authconfig from class")
68
- end
38
+ }
39
+
40
+ config = nil
41
+ assert_nothing_raised {
42
+ config = Puppet::Network::AuthConfig.new(file)
43
+ }
44
+
45
+ assert_nothing_raised {
46
+ assert(config.allowed?(request("pelementserver.describe", "culain.madstop.com", "1.1.1.1")), "Did not allow host")
47
+ assert(! config.allowed?(request("pelementserver.describe", "culain.madstop.com", "10.10.1.1")), "Allowed host")
48
+ assert(config.allowed?(request("fileserver.yay", "culain.madstop.com", "10.1.1.1")), "Did not allow host to fs")
49
+ assert(! config.allowed?(request("fileserver.yay", "culain.madstop.com", "10.10.1.1")), "Allowed host to fs")
50
+ assert(config.allowed?(request("fileserver.list", "culain.madstop.com", "10.10.1.1")), "Did not allow host to fs.list")
51
+ }
52
+ end
53
+
54
+ def test_singleton
55
+ auth = nil
56
+ assert_nothing_raised { auth = Puppet::Network::AuthConfig.main }
57
+ assert(auth, "did not get main authconfig")
58
+
59
+ other = nil
60
+ assert_nothing_raised { other = Puppet::Network::AuthConfig.main }
61
+
62
+ assert_equal(
63
+ auth.object_id, other.object_id,
64
+
65
+ "did not get same authconfig from class")
66
+ end
69
67
  end
70
68
 
71
69
 
@@ -7,131 +7,132 @@ require 'puppet/network/authorization'
7
7
  require 'mocha'
8
8
 
9
9
  class TestAuthConfig < Test::Unit::TestCase
10
- include PuppetTest
11
-
12
- # A mock class for authconfig
13
- class FakeAuth
14
- class << self
15
- attr_accessor :allow, :exists
16
- end
17
- def allowed?(req)
18
- self.class.allow
19
- end
20
- def exists?
21
- self.class.exists
22
- end
23
- end
24
-
25
- class AuthTest
26
- include Puppet::Network::Authorization
27
-
28
- def clear
29
- @loaded.clear
30
- end
10
+ include PuppetTest
31
11
 
32
- def load(name)
33
- @loaded ||= []
34
- @loaded << name
35
- end
36
-
37
- def handler_loaded?(name)
38
- @loaded ||= []
39
- @loaded.include?(name)
40
- end
12
+ # A mock class for authconfig
13
+ class FakeAuth
14
+ class << self
15
+ attr_accessor :allow, :exists
16
+ end
17
+ def allowed?(req)
18
+ self.class.allow
19
+ end
20
+ def exists?
21
+ self.class.exists
41
22
  end
23
+ end
42
24
 
43
- def setup
44
- super
45
- @obj = AuthTest.new
46
-
47
- # Override the authconfig to make life easier
48
- class << @obj
49
- def authconfig
50
- @authconfig ||= FakeAuth.new
51
- @authconfig
52
- end
53
- end
54
- @request = Puppet::Network::ClientRequest.new("host", "ip", false)
55
- @request.handler = "foo"
56
- @request.method = "bar"
25
+ class AuthTest
26
+ include Puppet::Network::Authorization
27
+
28
+ def clear
29
+ @loaded.clear
57
30
  end
58
31
 
59
- def test_authconfig
60
- obj = AuthTest.new
61
- auth = nil
62
- assert_nothing_raised { auth = obj.send(:authconfig) }
63
- assert(auth, "did not get auth")
64
- assert_equal(Puppet::Network::AuthConfig.main.object_id, auth.object_id,
65
- "did not get main authconfig")
32
+ def load(name)
33
+ @loaded ||= []
34
+ @loaded << name
66
35
  end
67
36
 
68
- def test_authorize
69
- # Make sure that unauthenticated clients can do puppetca stuff, but
70
- # nothing else.
71
- @request.handler = "puppetca"
72
- @request.method = "yay"
73
- assert(@obj.authorized?(@request), "Did not allow unauthenticated ca call")
74
- assert_logged(:notice, /Allowing/, "did not log call")
75
- @request.handler = "other"
76
- assert(! @obj.authorized?(@request), "Allowed unauthencated other call")
77
- assert_logged(:notice, /Denying/, "did not log call")
78
-
79
- @request.authenticated = true
80
- # We start without the namespace auth file, so everything should
81
- # start out denied
82
- assert(! @obj.authorized?(@request), "Allowed call with no config file")
83
- assert_logged(:notice, /Denying/, "did not log call")
84
-
85
- # Now set our name to the master, so calls are allowed
86
- Puppet[:name] = "puppetmasterd"
87
- assert(@obj.authorized?(@request),
88
- "Denied call with no config file and master")
89
- assert_logged(:debug, /Allowing/, "did not log call")
90
-
91
- # Now "create" the file, so we do real tests
92
- FakeAuth.exists = true
93
-
94
- # We start out denying
95
- assert(! @obj.authorized?(@request), "Allowed call when denying")
96
- assert_logged(:notice, /Denying/, "did not log call")
97
-
98
- FakeAuth.allow = true
99
- assert(@obj.authorized?(@request), "Denied call when allowing")
100
- assert_logged(:debug, /Allowing/, "did not log call")
37
+ def handler_loaded?(name)
38
+ @loaded ||= []
39
+ @loaded.include?(name)
101
40
  end
41
+ end
102
42
 
103
- def test_available?
104
- # Start out false
105
- assert(! @obj.available?(@request), "Defaulted to true")
106
- assert_logged(:warning, /requested unavailable/, "did not log call")
43
+ def setup
44
+ super
45
+ @obj = AuthTest.new
107
46
 
108
- @obj.load(@request.handler)
109
- assert(@obj.available?(@request), "did not see it loaded")
47
+ # Override the authconfig to make life easier
48
+ class << @obj
49
+ def authconfig
50
+ @authconfig ||= FakeAuth.new
51
+ end
110
52
  end
111
-
112
- # Make sure we raise things appropriately
113
- def test_verify
114
- # Start out unavailabl
115
- assert_raise(Puppet::Network::InvalidClientRequest) do
116
- @obj.verify(@request)
117
- end
118
- class << @obj
119
- def available?(req)
120
- true
121
- end
122
- end
123
- assert_raise(Puppet::Network::InvalidClientRequest) do
124
- @obj.verify(@request)
125
- end
126
- class << @obj
127
- def authorized?(req)
128
- true
129
- end
130
- end
131
- assert_nothing_raised do
132
- @obj.verify(@request)
133
- end
53
+ @request = Puppet::Network::ClientRequest.new("host", "ip", false)
54
+ @request.handler = "foo"
55
+ @request.method = "bar"
56
+ end
57
+
58
+ def test_authconfig
59
+ obj = AuthTest.new
60
+ auth = nil
61
+ assert_nothing_raised { auth = obj.send(:authconfig) }
62
+ assert(auth, "did not get auth")
63
+ assert_equal(Puppet::Network::AuthConfig.main.object_id, auth.object_id, "did not get main authconfig")
64
+ end
65
+
66
+ def test_authorize
67
+ # Make sure that unauthenticated clients can do puppetca stuff, but
68
+ # nothing else.
69
+ @request.handler = "puppetca"
70
+ @request.method = "yay"
71
+ assert(@obj.authorized?(@request), "Did not allow unauthenticated ca call")
72
+ assert_logged(:notice, /Allowing/, "did not log call")
73
+ @request.handler = "other"
74
+ assert(! @obj.authorized?(@request), "Allowed unauthencated other call")
75
+ assert_logged(:notice, /Denying/, "did not log call")
76
+
77
+ @request.authenticated = true
78
+ # We start without the namespace auth file, so everything should
79
+ # start out denied
80
+ assert(! @obj.authorized?(@request), "Allowed call with no config file")
81
+ assert_logged(:notice, /Denying/, "did not log call")
82
+
83
+ # Now set our run_mode to master, so calls are allowed
84
+ Puppet.run_mode.stubs(:master?).returns true
85
+
86
+ assert(
87
+ @obj.authorized?(@request),
88
+
89
+ "Denied call with no config file and master")
90
+ assert_logged(:debug, /Allowing/, "did not log call")
91
+
92
+ # Now "create" the file, so we do real tests
93
+ FakeAuth.exists = true
94
+
95
+ # We start out denying
96
+ assert(! @obj.authorized?(@request), "Allowed call when denying")
97
+ assert_logged(:notice, /Denying/, "did not log call")
98
+
99
+ FakeAuth.allow = true
100
+ assert(@obj.authorized?(@request), "Denied call when allowing")
101
+ assert_logged(:debug, /Allowing/, "did not log call")
102
+ end
103
+
104
+ def test_available?
105
+ # Start out false
106
+ assert(! @obj.available?(@request), "Defaulted to true")
107
+ assert_logged(:warning, /requested unavailable/, "did not log call")
108
+
109
+ @obj.load(@request.handler)
110
+ assert(@obj.available?(@request), "did not see it loaded")
111
+ end
112
+
113
+ # Make sure we raise things appropriately
114
+ def test_verify
115
+ # Start out unavailabl
116
+ assert_raise(Puppet::Network::InvalidClientRequest) do
117
+ @obj.verify(@request)
118
+ end
119
+ class << @obj
120
+ def available?(req)
121
+ true
122
+ end
123
+ end
124
+ assert_raise(Puppet::Network::InvalidClientRequest) do
125
+ @obj.verify(@request)
126
+ end
127
+ class << @obj
128
+ def authorized?(req)
129
+ true
130
+ end
131
+ end
132
+ assert_nothing_raised do
133
+ @obj.verify(@request)
134
134
  end
135
+ end
135
136
  end
136
137
 
137
138
 
@@ -7,486 +7,534 @@ require 'mocha'
7
7
  require 'puppet/network/authstore'
8
8
 
9
9
  class TestAuthStore < Test::Unit::TestCase
10
- include PuppetTest
11
- Declaration = Puppet::Network::AuthStore::Declaration
12
- def mkstore
13
- store = nil
14
- assert_nothing_raised {
15
- store = Puppet::Network::AuthStore.new
16
- }
17
-
18
- return store
10
+ include PuppetTest
11
+ Declaration = Puppet::Network::AuthStore::Declaration
12
+ def mkstore
13
+ store = nil
14
+ assert_nothing_raised {
15
+ store = Puppet::Network::AuthStore.new
16
+ }
17
+
18
+ store
19
+ end
20
+
21
+ def setup
22
+ super
23
+ @store = mkstore
24
+ end
25
+
26
+ def test_localallow
27
+ Puppet[:trace] = false
28
+ assert_nothing_raised {
29
+ assert(@store.allowed?(nil, nil), "Store disallowed local access")
30
+ }
31
+
32
+ assert_raise(Puppet::DevError) {
33
+ @store.allowed?("kirby.madstop.com", nil)
34
+ }
35
+
36
+ assert_raise(Puppet::DevError) {
37
+ @store.allowed?(nil, "192.168.0.1")
38
+ }
39
+ end
40
+
41
+ def test_simpleips
42
+ %w{
43
+ 192.168.0.5
44
+ 7.0.48.7
45
+ }.each { |ip|
46
+ assert_nothing_raised("Failed to @store IP address #{ip}") {
47
+ @store.allow(ip)
48
+ }
49
+
50
+ assert(@store.allowed?("hosttest.com", ip), "IP #{ip} not allowed")
51
+ }
52
+
53
+ #assert_raise(Puppet::AuthStoreError) {
54
+ # @store.allow("192.168.674.0")
55
+ #}
56
+ end
57
+
58
+ def test_ipranges
59
+ %w{
60
+ 192.168.0.*
61
+ 192.168.1.0/24
62
+ 192.178.*
63
+ 193.179.0.0/8
64
+ }.each { |range|
65
+ assert_nothing_raised("Failed to @store IP range #{range}") {
66
+ @store.allow(range)
67
+ }
68
+ }
69
+
70
+ %w{
71
+ 192.168.0.1
72
+ 192.168.1.5
73
+ 192.178.0.5
74
+ 193.0.0.1
75
+ }.each { |ip|
76
+ assert(@store.allowed?("fakename.com", ip), "IP #{ip} is not allowed")
77
+ }
78
+ end
79
+
80
+ def test_iprangedenials
81
+ assert_nothing_raised("Failed to @store overlapping IP ranges") {
82
+ @store.allow("192.168.0.0/16")
83
+ @store.deny("192.168.0.0/24")
84
+ }
85
+
86
+ assert(@store.allowed?("fake.name", "192.168.1.50"), "/16 ip not allowed")
87
+ assert(! @store.allowed?("fake.name", "192.168.0.50"), "/24 ip allowed")
88
+ end
89
+
90
+ def test_subdomaindenails
91
+ assert_nothing_raised("Failed to @store overlapping IP ranges") {
92
+ @store.allow("*.madstop.com")
93
+ @store.deny("*.sub.madstop.com")
94
+ }
95
+
96
+
97
+ assert(
98
+ @store.allowed?("hostname.madstop.com", "192.168.1.50"),
99
+
100
+ "hostname not allowed")
101
+
102
+ assert(
103
+ ! @store.allowed?("name.sub.madstop.com", "192.168.0.50"),
104
+
105
+ "subname name allowed")
106
+ end
107
+
108
+ def test_orderingstuff
109
+ assert_nothing_raised("Failed to @store overlapping IP ranges") {
110
+ @store.allow("*.madstop.com")
111
+ @store.deny("192.168.0.0/24")
112
+ }
113
+
114
+
115
+ assert(
116
+ @store.allowed?("hostname.madstop.com", "192.168.1.50"),
117
+
118
+ "hostname not allowed")
119
+
120
+ assert(
121
+ ! @store.allowed?("hostname.madstop.com", "192.168.0.50"),
122
+
123
+ "Host allowed over IP")
124
+ end
125
+
126
+ def test_globalallow
127
+ assert_nothing_raised("Failed to add global allow") {
128
+ @store.allow("*")
129
+ }
130
+
131
+ [
132
+ %w{hostname.com 192.168.0.4},
133
+ %w{localhost 192.168.0.1},
134
+ %w{localhost 127.0.0.1}
135
+
136
+ ].each { |ary|
137
+ assert(@store.allowed?(*ary), "Failed to allow #{ary.join(",")}")
138
+ }
139
+ end
140
+
141
+ def test_store
142
+ assert_nothing_raised do
143
+
144
+ assert_nil(
145
+ @store.send(:store, :allow, "*.host.com"),
146
+
147
+ "store did not return nil")
19
148
  end
149
+ assert_equal([Declaration.new(:allow, "*.host.com")],
150
+ @store.send(:instance_variable_get, "@declarations"),
151
+ "Did not store declaration")
20
152
 
21
- def setup
22
- super
23
- @store = mkstore
24
- end
25
-
26
- def test_localallow
27
- Puppet[:trace] = false
28
- assert_nothing_raised {
29
- assert(@store.allowed?(nil, nil), "Store disallowed local access")
30
- }
153
+ # Now add another one and make sure it gets sorted appropriately
154
+ assert_nothing_raised do
31
155
 
32
- assert_raise(Puppet::DevError) {
33
- @store.allowed?("kirby.madstop.com", nil)
34
- }
156
+ assert_nil(
157
+ @store.send(:store, :allow, "me.host.com"),
35
158
 
36
- assert_raise(Puppet::DevError) {
37
- @store.allowed?(nil, "192.168.0.1")
38
- }
159
+ "store did not return nil")
39
160
  end
40
161
 
41
- def test_simpleips
42
- %w{
43
- 192.168.0.5
44
- 7.0.48.7
45
- }.each { |ip|
46
- assert_nothing_raised("Failed to @store IP address %s" % ip) {
47
- @store.allow(ip)
48
- }
49
-
50
- assert(@store.allowed?("hosttest.com", ip), "IP %s not allowed" % ip)
51
- }
52
-
53
- #assert_raise(Puppet::AuthStoreError) {
54
- # @store.allow("192.168.674.0")
55
- #}
56
- end
57
162
 
58
- def test_ipranges
59
- %w{
60
- 192.168.0.*
61
- 192.168.1.0/24
62
- 192.178.*
63
- 193.179.0.0/8
64
- }.each { |range|
65
- assert_nothing_raised("Failed to @store IP range %s" % range) {
66
- @store.allow(range)
67
- }
68
- }
69
-
70
- %w{
71
- 192.168.0.1
72
- 192.168.1.5
73
- 192.178.0.5
74
- 193.0.0.1
75
- }.each { |ip|
76
- assert(@store.allowed?("fakename.com", ip), "IP %s is not allowed" % ip)
77
- }
78
- end
163
+ assert_equal(
164
+ [
165
+ Declaration.new(:allow, "me.host.com"),
79
166
 
80
- def test_iprangedenials
81
- assert_nothing_raised("Failed to @store overlapping IP ranges") {
82
- @store.allow("192.168.0.0/16")
83
- @store.deny("192.168.0.0/24")
84
- }
167
+ Declaration.new(:allow, "*.host.com")
168
+ ],
169
+ @store.send(:instance_variable_get, "@declarations"),
170
+ "Did not sort declarations")
171
+ end
85
172
 
86
- assert(@store.allowed?("fake.name", "192.168.1.50"), "/16 ip not allowed")
87
- assert(! @store.allowed?("fake.name", "192.168.0.50"), "/24 ip allowed")
88
- end
173
+ def test_allow_and_deny
174
+ store = Puppet::Network::AuthStore.new
175
+ store.expects(:store).with(:allow, "host.com")
176
+ store.allow("host.com")
177
+
178
+ store = Puppet::Network::AuthStore.new
179
+ store.expects(:store).with(:deny, "host.com")
180
+ store.deny("host.com")
89
181
 
90
- def test_subdomaindenails
91
- assert_nothing_raised("Failed to @store overlapping IP ranges") {
92
- @store.allow("*.madstop.com")
93
- @store.deny("*.sub.madstop.com")
94
- }
182
+ store = Puppet::Network::AuthStore.new
183
+ assert_nothing_raised do
95
184
 
96
- assert(@store.allowed?("hostname.madstop.com", "192.168.1.50"),
97
- "hostname not allowed")
98
- assert(! @store.allowed?("name.sub.madstop.com", "192.168.0.50"),
99
- "subname name allowed")
185
+ assert_nil(
186
+ store.allow("*"),
187
+
188
+ "allow did not return nil")
100
189
  end
101
190
 
102
- def test_orderingstuff
103
- assert_nothing_raised("Failed to @store overlapping IP ranges") {
104
- @store.allow("*.madstop.com")
105
- @store.deny("192.168.0.0/24")
106
- }
107
191
 
108
- assert(@store.allowed?("hostname.madstop.com", "192.168.1.50"),
109
- "hostname not allowed")
110
- assert(! @store.allowed?("hostname.madstop.com", "192.168.0.50"),
111
- "Host allowed over IP")
192
+ assert(
193
+ store.globalallow?,
194
+
195
+ "did not enable global allow")
196
+ end
197
+
198
+ def test_hostnames
199
+ Puppet[:trace] = false
200
+ %w{
201
+ kirby.madstop.com
202
+ luke.madstop.net
203
+ name-other.madstop.net
204
+ }.each { |name|
205
+ assert_nothing_raised("Failed to @store simple name #{name}") {
206
+ @store.allow(name)
207
+ }
208
+ assert(@store.allowed?(name, "192.168.0.1"), "Name #{name} not allowed")
209
+ }
210
+
211
+ %w{
212
+ ^invalid!
213
+ inval$id
214
+
215
+ }.each { |pat|
216
+
217
+ assert_raise(
218
+ Puppet::AuthStoreError,
219
+
220
+ "name '#{pat}' was allowed") {
221
+ @store.allow(pat)
222
+ }
223
+ }
224
+ end
225
+
226
+ def test_domains
227
+ assert_nothing_raised("Failed to @store domains") {
228
+ @store.allow("*.a.very.long.domain.name.com")
229
+ @store.allow("*.madstop.com")
230
+ @store.allow("*.some-other.net")
231
+ @store.allow("*.much.longer.more-other.net")
232
+ }
233
+
234
+ %w{
235
+ madstop.com
236
+ culain.madstop.com
237
+ kirby.madstop.com
238
+ funtest.some-other.net
239
+ ya-test.madstop.com
240
+ some.much.much.longer.more-other.net
241
+ }.each { |name|
242
+ assert(@store.allowed?(name, "192.168.0.1"), "Host #{name} not allowed")
243
+ }
244
+
245
+ assert_raise(Puppet::AuthStoreError) {
246
+ @store.allow("domain.*.com")
247
+ }
248
+
249
+
250
+ assert(
251
+ !@store.allowed?("very.long.domain.name.com", "1.2.3.4"),
252
+
253
+ "Long hostname allowed")
254
+
255
+ assert_raise(Puppet::AuthStoreError) {
256
+ @store.allow("domain.*.other.com")
257
+ }
258
+ end
259
+
260
+ # #531
261
+ def test_case_insensitivity
262
+ @store.allow("hostname.com")
263
+
264
+ %w{hostname.com Hostname.COM hostname.Com HOSTNAME.COM}.each do |name|
265
+ assert(@store.allowed?(name, "127.0.0.1"), "did not allow #{name}")
112
266
  end
267
+ end
113
268
 
114
- def test_globalallow
115
- assert_nothing_raised("Failed to add global allow") {
116
- @store.allow("*")
117
- }
269
+ def test_allowed?
270
+ Puppet[:trace] = false
118
271
 
119
- [
120
- %w{hostname.com 192.168.0.4},
121
- %w{localhost 192.168.0.1},
122
- %w{localhost 127.0.0.1}
272
+ assert(
273
+ @store.allowed?(nil, nil),
123
274
 
124
- ].each { |ary|
125
- assert(@store.allowed?(*ary), "Failed to allow %s" % [ary.join(",")])
126
- }
275
+ "Did not default to true for local checks")
276
+ assert_raise(Puppet::DevError, "did not fail on one input") do
277
+ @store.allowed?("host.com", nil)
127
278
  end
128
-
129
- def test_store
130
- assert_nothing_raised do
131
- assert_nil(@store.send(:store, :allow, "*.host.com"),
132
- "store did not return nil")
133
- end
134
- assert_equal([Declaration.new(:allow, "*.host.com")],
135
- @store.send(:instance_variable_get, "@declarations"),
136
- "Did not store declaration")
137
-
138
- # Now add another one and make sure it gets sorted appropriately
139
- assert_nothing_raised do
140
- assert_nil(@store.send(:store, :allow, "me.host.com"),
141
- "store did not return nil")
142
- end
143
-
144
- assert_equal([
145
- Declaration.new(:allow, "me.host.com"),
146
- Declaration.new(:allow, "*.host.com")
147
- ],
148
- @store.send(:instance_variable_get, "@declarations"),
149
- "Did not sort declarations")
279
+ assert_raise(Puppet::DevError, "did not fail on one input") do
280
+ @store.allowed?(nil, "192.168.0.1")
150
281
  end
151
282
 
152
- def test_allow_and_deny
153
- store = Puppet::Network::AuthStore.new
154
- store.expects(:store).with(:allow, "host.com")
155
- store.allow("host.com")
283
+ end
156
284
 
157
- store = Puppet::Network::AuthStore.new
158
- store.expects(:store).with(:deny, "host.com")
159
- store.deny("host.com")
285
+ # Make sure more specific allows and denies win over generalities
286
+ def test_specific_overrides
287
+ @store.allow("host.madstop.com")
288
+ @store.deny("*.madstop.com")
160
289
 
161
- store = Puppet::Network::AuthStore.new
162
- assert_nothing_raised do
163
- assert_nil(store.allow("*"),
164
- "allow did not return nil")
165
- end
166
290
 
167
- assert(store.globalallow?,
168
- "did not enable global allow")
169
- end
291
+ assert(
292
+ @store.allowed?("host.madstop.com", "192.168.0.1"),
170
293
 
171
- def test_hostnames
172
- Puppet[:trace] = false
173
- %w{
174
- kirby.madstop.com
175
- luke.madstop.net
176
- name-other.madstop.net
177
- }.each { |name|
178
- assert_nothing_raised("Failed to @store simple name %s" % name) {
179
- @store.allow(name)
180
- }
181
- assert(@store.allowed?(name, "192.168.0.1"), "Name %s not allowed" % name)
182
- }
183
-
184
- %w{
185
- ^invalid!
186
- inval$id
187
-
188
- }.each { |pat|
189
- assert_raise(Puppet::AuthStoreError,
190
- "name '%s' was allowed" % pat) {
191
- @store.allow(pat)
192
- }
193
- }
194
- end
294
+ "More specific allowal by name failed")
195
295
 
196
- def test_domains
197
- assert_nothing_raised("Failed to @store domains") {
198
- @store.allow("*.a.very.long.domain.name.com")
199
- @store.allow("*.madstop.com")
200
- @store.allow("*.some-other.net")
201
- @store.allow("*.much.longer.more-other.net")
202
- }
203
-
204
- %w{
205
- madstop.com
206
- culain.madstop.com
207
- kirby.madstop.com
208
- funtest.some-other.net
209
- ya-test.madstop.com
210
- some.much.much.longer.more-other.net
211
- }.each { |name|
212
- assert(@store.allowed?(name, "192.168.0.1"), "Host %s not allowed" % name)
213
- }
214
-
215
- assert_raise(Puppet::AuthStoreError) {
216
- @store.allow("domain.*.com")
217
- }
218
-
219
- assert(!@store.allowed?("very.long.domain.name.com", "1.2.3.4"),
220
- "Long hostname allowed")
221
-
222
- assert_raise(Puppet::AuthStoreError) {
223
- @store.allow("domain.*.other.com")
224
- }
225
- end
296
+ @store.allow("192.168.0.1")
297
+ @store.deny("192.168.0.0/24")
226
298
 
227
- # #531
228
- def test_case_insensitivity
229
- @store.allow("hostname.com")
230
299
 
231
- %w{hostname.com Hostname.COM hostname.Com HOSTNAME.COM}.each do |name|
232
- assert(@store.allowed?(name, "127.0.0.1"),
233
- "did not allow %s" % name)
234
- end
235
- end
300
+ assert(
301
+ @store.allowed?("host.madstop.com", "192.168.0.1"),
236
302
 
237
- def test_allowed?
238
- Puppet[:trace] = false
239
- assert(@store.allowed?(nil, nil),
240
- "Did not default to true for local checks")
241
- assert_raise(Puppet::DevError, "did not fail on one input") do
242
- @store.allowed?("host.com", nil)
243
- end
244
- assert_raise(Puppet::DevError, "did not fail on one input") do
245
- @store.allowed?(nil, "192.168.0.1")
246
- end
303
+ "More specific allowal by ip failed")
304
+ end
247
305
 
248
- end
306
+ def test_dynamic_backreferences
307
+ @store.allow("$1.madstop.com")
249
308
 
250
- # Make sure more specific allows and denies win over generalities
251
- def test_specific_overrides
252
- @store.allow("host.madstop.com")
253
- @store.deny("*.madstop.com")
309
+ assert_nothing_raised { @store.interpolate([nil, "host"]) }
310
+ assert(@store.allowed?("host.madstop.com", "192.168.0.1"), "interpolation failed")
311
+ assert_nothing_raised { @store.reset_interpolation }
312
+ end
254
313
 
255
- assert(@store.allowed?("host.madstop.com", "192.168.0.1"),
256
- "More specific allowal by name failed")
314
+ def test_dynamic_ip
315
+ @store.allow("192.168.0.$1")
257
316
 
258
- @store.allow("192.168.0.1")
259
- @store.deny("192.168.0.0/24")
317
+ assert_nothing_raised { @store.interpolate([nil, "12"]) }
318
+ assert(@store.allowed?("host.madstop.com", "192.168.0.12"), "interpolation failed")
319
+ assert_nothing_raised { @store.reset_interpolation }
320
+ end
260
321
 
261
- assert(@store.allowed?("host.madstop.com", "192.168.0.1"),
262
- "More specific allowal by ip failed")
263
- end
322
+ def test_multiple_dynamic_backreferences
323
+ @store.allow("$1.$2")
264
324
 
265
- def test_dynamic_backreferences
266
- @store.allow("$1.madstop.com")
325
+ assert_nothing_raised { @store.interpolate([nil, "host", "madstop.com"]) }
326
+ assert(@store.allowed?("host.madstop.com", "192.168.0.1"), "interpolation failed")
327
+ assert_nothing_raised { @store.reset_interpolation }
328
+ end
267
329
 
268
- assert_nothing_raised { @store.interpolate([nil, "host"]) }
269
- assert(@store.allowed?("host.madstop.com", "192.168.0.1"), "interpolation failed")
270
- assert_nothing_raised { @store.reset_interpolation }
271
- end
330
+ def test_multithreaded_allow_with_dynamic_backreferences
331
+ @store.allow("$1.madstop.com")
272
332
 
273
- def test_dynamic_ip
274
- @store.allow("192.168.0.$1")
333
+ threads = []
334
+ 9.times { |a|
335
+ threads << Thread.new {
336
+ 9.times { |b|
337
+ Thread.pass
338
+ @store.interpolate([nil, "a#{b}", "madstop.com"])
339
+ Thread.pass
340
+ assert( @store.allowed?("a#{b}.madstop.com", "192.168.0.1") )
341
+ Thread.pass
342
+ @store.reset_interpolation
343
+ Thread.pass
344
+ }
345
+ }
346
+ }
347
+ threads.each { |th| th.join }
348
+ end
275
349
 
276
- assert_nothing_raised { @store.interpolate([nil, "12"]) }
277
- assert(@store.allowed?("host.madstop.com", "192.168.0.12"), "interpolation failed")
278
- assert_nothing_raised { @store.reset_interpolation }
350
+ end
351
+
352
+ class TestAuthStoreDeclaration < PuppetTest::TestCase
353
+ include PuppetTest
354
+ Declaration = Puppet::Network::AuthStore::Declaration
355
+
356
+ def setup
357
+ super
358
+ @decl = Declaration.new(:allow, "hostname.com")
359
+ end
360
+
361
+ def test_parse
362
+ {
363
+ "192.168.0.1" => [:ip, IPAddr.new("192.168.0.1"), nil],
364
+ "2001:700:300:1800::" => [:ip, IPAddr.new("2001:700:300:1800::"), nil],
365
+ "2001:700:300:1800::/64" => [:ip, IPAddr.new("2001:700:300:1800::/64"), 64],
366
+ "192.168.0.1/32" => [:ip, IPAddr.new("192.168.0.1/32"), 32],
367
+ "192.168.0.1/24" => [:ip, IPAddr.new("192.168.0.1/24"), 24],
368
+ "192.*" => [:ip, IPAddr.new("192.0.0.0/8"), 8],
369
+ "192.168.*" => [:ip, IPAddr.new("192.168.0.0/16"), 16],
370
+ "192.168.0.*" => [:ip, IPAddr.new("192.168.0.0/24"), 24],
371
+ "hostname.com" => [:domain, %w{com hostname}, nil],
372
+ "Hostname.COM" => [:domain, %w{com hostname}, nil],
373
+ "billy.Hostname.COM" => [:domain, %w{com hostname billy}, nil],
374
+ "billy-jean.Hostname.COM" => [:domain, %w{com hostname billy-jean}, nil],
375
+ "*.hostname.COM" => [:domain, %w{com hostname}, 2],
376
+ "*.hostname.COM" => [:domain, %w{com hostname}, 2],
377
+ "$1.hostname.COM" => [:dynamic, %w{com hostname $1}, nil],
378
+ "192.168.$1.$2" => [:dynamic, %w{$2 $1 168 192}, nil],
379
+ "8A5BC90C-B8FD-4CBC-81DA-BAD84D551791" => [:opaque, %w{8A5BC90C-B8FD-4CBC-81DA-BAD84D551791}, nil]
380
+ }.each do |input, output|
381
+
382
+ # Create a new decl each time, so values aren't cached.
383
+ assert_nothing_raised do
384
+ @decl = Declaration.new(:allow, input)
385
+ end
386
+
387
+ [:name, :pattern, :length].zip(output).each do |method, value|
388
+ assert_equal(value, @decl.send(method), "Got incorrect value for #{method} from #{input}")
389
+ end
279
390
  end
280
391
 
281
- def test_multiple_dynamic_backreferences
282
- @store.allow("$1.$2")
392
+ %w{-hostname.com hostname.*}.each do |input|
393
+ assert_raise(Puppet::AuthStoreError, "Did not fail on #{input}") do
394
+ @decl.pattern = input
395
+ end
396
+ end
283
397
 
284
- assert_nothing_raised { @store.interpolate([nil, "host", "madstop.com"]) }
285
- assert(@store.allowed?("host.madstop.com", "192.168.0.1"), "interpolation failed")
286
- assert_nothing_raised { @store.reset_interpolation }
398
+ ["hostname .com", "192.168 .0.1"].each do |input|
399
+ assert_raise(Puppet::AuthStoreError, "Did not fail on #{input}") do
400
+ @decl.pattern = input
401
+ end
287
402
  end
403
+ end
288
404
 
289
- def test_multithreaded_allow_with_dynamic_backreferences
290
- @store.allow("$1.madstop.com")
291
-
292
- threads = []
293
- 9.times { |a|
294
- threads << Thread.new {
295
- 9.times { |b|
296
- Thread.pass
297
- @store.interpolate([nil, "a#{b}", "madstop.com"])
298
- Thread.pass
299
- assert( @store.allowed?("a#{b}.madstop.com", "192.168.0.1") )
300
- Thread.pass
301
- @store.reset_interpolation
302
- Thread.pass
303
- }
304
- }
305
- }
306
- threads.each { |th| th.join }
405
+ def test_result
406
+ ["allow", :allow].each do |val|
407
+ assert_nothing_raised { @decl.type = val }
408
+ assert_equal(true, @decl.result, "did not result to true with #{val.inspect}")
307
409
  end
308
410
 
309
- end
411
+ [:deny, "deny"].each do |val|
412
+ assert_nothing_raised { @decl.type = val }
310
413
 
311
- class TestAuthStoreDeclaration < PuppetTest::TestCase
312
- include PuppetTest
313
- Declaration = Puppet::Network::AuthStore::Declaration
414
+ assert_equal(
415
+ false, @decl.result,
314
416
 
315
- def setup
316
- super
317
- @decl = Declaration.new(:allow, "hostname.com")
417
+ "did not result to false with #{val.inspect}")
318
418
  end
319
419
 
320
- def test_parse
321
- {
322
- "192.168.0.1" => [:ip, IPAddr.new("192.168.0.1"), nil],
323
- "2001:700:300:1800::" => [:ip, IPAddr.new("2001:700:300:1800::"), nil],
324
- "2001:700:300:1800::/64" => [:ip, IPAddr.new("2001:700:300:1800::/64"), 64],
325
- "192.168.0.1/32" => [:ip, IPAddr.new("192.168.0.1/32"), 32],
326
- "192.168.0.1/24" => [:ip, IPAddr.new("192.168.0.1/24"), 24],
327
- "192.*" => [:ip, IPAddr.new("192.0.0.0/8"), 8],
328
- "192.168.*" => [:ip, IPAddr.new("192.168.0.0/16"), 16],
329
- "192.168.0.*" => [:ip, IPAddr.new("192.168.0.0/24"), 24],
330
- "hostname.com" => [:domain, %w{com hostname}, nil],
331
- "Hostname.COM" => [:domain, %w{com hostname}, nil],
332
- "billy.Hostname.COM" => [:domain, %w{com hostname billy}, nil],
333
- "billy-jean.Hostname.COM" => [:domain, %w{com hostname billy-jean}, nil],
334
- "*.hostname.COM" => [:domain, %w{com hostname}, 2],
335
- "*.hostname.COM" => [:domain, %w{com hostname}, 2],
336
- "$1.hostname.COM" => [:dynamic, %w{com hostname $1}, nil],
337
- "192.168.$1.$2" => [:dynamic, %w{$2 $1 168 192}, nil],
338
- "8A5BC90C-B8FD-4CBC-81DA-BAD84D551791" => [:opaque, %w{8A5BC90C-B8FD-4CBC-81DA-BAD84D551791}, nil]
339
- }.each do |input, output|
340
-
341
- # Create a new decl each time, so values aren't cached.
342
- assert_nothing_raised do
343
- @decl = Declaration.new(:allow, input)
344
- end
345
-
346
- [:name, :pattern, :length].zip(output).each do |method, value|
347
- assert_equal(value, @decl.send(method),
348
- "Got incorrect value for %s from %s" % [method, input])
349
- end
350
- end
351
-
352
- %w{-hostname.com hostname.*}.each do |input|
353
- assert_raise(Puppet::AuthStoreError, "Did not fail on %s" % input) do
354
- @decl.pattern = input
355
- end
356
- end
357
-
358
- ["hostname .com", "192.168 .0.1"].each do |input|
359
- assert_raise(Puppet::AuthStoreError, "Did not fail on %s" % input) do
360
- @decl.pattern = input
361
- end
362
- end
420
+ ["yay", 1, nil, false, true].each do |val|
421
+ assert_raise(ArgumentError, "Did not fail on #{val.inspect}") do
422
+ @decl.type = val
423
+ end
363
424
  end
364
-
365
- def test_result
366
- ["allow", :allow].each do |val|
367
- assert_nothing_raised { @decl.type = val }
368
- assert_equal(true, @decl.result, "did not result to true with %s" %
369
- val.inspect)
370
- end
371
-
372
- [:deny, "deny"].each do |val|
373
- assert_nothing_raised { @decl.type = val }
374
- assert_equal(false, @decl.result,
375
- "did not result to false with %s" % val.inspect)
376
- end
377
-
378
- ["yay", 1, nil, false, true].each do |val|
379
- assert_raise(ArgumentError, "Did not fail on %s" % val.inspect) do
380
- @decl.type = val
381
- end
382
- end
425
+ end
426
+
427
+ def test_munge_name
428
+ {
429
+ "hostname.com" => %w{com hostname},
430
+ "alley.hostname.com" => %w{com hostname alley},
431
+ "*.hostname.com" => %w{com hostname *},
432
+ "*.HOSTNAME.Com" => %w{com hostname *},
433
+ "*.HOSTNAME.Com" => %w{com hostname *},
434
+
435
+ }.each do |input, output|
436
+ assert_equal(output, @decl.send(:munge_name, input), "munged #{input} incorrectly")
383
437
  end
438
+ end
384
439
 
385
- def test_munge_name
386
- {
387
- "hostname.com" => %w{com hostname},
388
- "alley.hostname.com" => %w{com hostname alley},
389
- "*.hostname.com" => %w{com hostname *},
390
- "*.HOSTNAME.Com" => %w{com hostname *},
391
- "*.HOSTNAME.Com" => %w{com hostname *},
392
-
393
- }.each do |input, output|
394
- assert_equal(output, @decl.send(:munge_name, input),
395
- "munged %s incorrectly" % input)
396
- end
397
- end
440
+ # Make sure people can specify TLDs
441
+ def test_match_tlds
442
+ assert_nothing_raised {
443
+ @decl.pattern = "*.tld"
444
+ }
398
445
 
399
- # Make sure people can specify TLDs
400
- def test_match_tlds
401
- assert_nothing_raised {
402
- @decl.pattern = "*.tld"
403
- }
446
+ assert_equal(%w{tld}, @decl.pattern, "Failed to allow custom tld")
447
+ end
404
448
 
405
- assert_equal(%w{tld}, @decl.pattern, "Failed to allow custom tld")
406
- end
449
+ # Make sure we sort correctly.
450
+ def test_sorting
451
+ # Make sure declarations with no length sort first.
452
+ host_exact = Declaration.new(:allow, "host.com")
453
+ host_range = Declaration.new(:allow, "*.host.com")
407
454
 
408
- # Make sure we sort correctly.
409
- def test_sorting
410
- # Make sure declarations with no length sort first.
411
- host_exact = Declaration.new(:allow, "host.com")
412
- host_range = Declaration.new(:allow, "*.host.com")
455
+ ip_exact = Declaration.new(:allow, "192.168.0.1")
456
+ ip_range = Declaration.new(:allow, "192.168.0.*")
413
457
 
414
- ip_exact = Declaration.new(:allow, "192.168.0.1")
415
- ip_range = Declaration.new(:allow, "192.168.0.*")
416
458
 
417
- assert_equal(-1, host_exact <=> host_range,
418
- "exact name match did not sort first")
459
+ assert_equal(
460
+ -1, host_exact <=> host_range,
419
461
 
420
- assert_equal(-1, ip_exact <=> ip_range,
421
- "exact ip match did not sort first")
462
+ "exact name match did not sort first")
422
463
 
423
- # Next make sure we sort by length
424
- ip_long = Declaration.new(:allow, "192.168.*")
425
- assert_equal(-1, ip_range <=> ip_long, "/16 sorted before /24 in ip")
426
464
 
427
- # Now try it using masks
428
- ip24 = Declaration.new(:allow, "192.168.0.0/24")
429
- ip16 = Declaration.new(:allow, "192.168.0.0/16")
465
+ assert_equal(
466
+ -1, ip_exact <=> ip_range,
430
467
 
431
- assert_equal(-1, ip24 <=> ip16, "/16 sorted before /24 in ip with masks")
468
+ "exact ip match did not sort first")
432
469
 
433
- # Make sure ip checks sort before host checks
434
- assert_equal(-1, ip_exact <=> host_exact,
435
- "IP exact did not sort before host exact")
470
+ # Next make sure we sort by length
471
+ ip_long = Declaration.new(:allow, "192.168.*")
472
+ assert_equal(-1, ip_range <=> ip_long, "/16 sorted before /24 in ip")
436
473
 
437
- assert_equal(-1, ip_range <=> host_range,
438
- "IP range did not sort before host range")
474
+ # Now try it using masks
475
+ ip24 = Declaration.new(:allow, "192.168.0.0/24")
476
+ ip16 = Declaration.new(:allow, "192.168.0.0/16")
439
477
 
440
- host_long = Declaration.new(:allow, "*.domain.host.com")
478
+ assert_equal(-1, ip24 <=> ip16, "/16 sorted before /24 in ip with masks")
441
479
 
442
- assert_equal(-1, host_long <=> host_range, "did not sort by domain length")
480
+ # Make sure ip checks sort before host checks
481
+ assert_equal(-1, ip_exact <=> host_exact, "IP exact did not sort before host exact")
443
482
 
444
- # Now make sure denies sort before allows, for equivalent
445
- # declarations.
446
- host_deny = Declaration.new(:deny, "host.com")
447
- assert_equal(-1, host_deny <=> host_exact, "deny did not sort before allow when exact")
448
483
 
449
- host_range_deny = Declaration.new(:deny, "*.host.com")
450
- assert_equal(-1, host_range_deny <=> host_range,
451
- "deny did not sort before allow when ranged")
484
+ assert_equal(
485
+ -1, ip_range <=> host_range,
452
486
 
453
- ip_allow = Declaration.new(:allow, "192.168.0.0/16")
454
- ip_deny = Declaration.new(:deny, "192.168.0.0/16")
487
+ "IP range did not sort before host range")
455
488
 
456
- assert_equal(-1, ip_deny <=> ip_allow,
457
- "deny did not sort before allow in ip range")
489
+ host_long = Declaration.new(:allow, "*.domain.host.com")
458
490
 
459
- %w{host.com *.domain.com 192.168.0.1 192.168.0.1/24}.each do |decl|
460
- assert_equal(0, Declaration.new(:allow, decl) <=>
461
- Declaration.new(:allow, decl),
462
- "Equivalent declarations for %s were considered different" %
463
- decl
464
- )
465
- end
466
- end
491
+ assert_equal(-1, host_long <=> host_range, "did not sort by domain length")
467
492
 
468
- def test_match?
469
- host = Declaration.new(:allow, "host.com")
470
- host.expects(:matchname?).with("host.com")
471
- host.match?("host.com", "192.168.0.1")
493
+ # Now make sure denies sort before allows, for equivalent
494
+ # declarations.
495
+ host_deny = Declaration.new(:deny, "host.com")
496
+ assert_equal(-1, host_deny <=> host_exact, "deny did not sort before allow when exact")
472
497
 
473
- ip = Declaration.new(:allow, "192.168.0.1")
474
- ip.pattern.expects(:include?)
475
- ip.match?("host.com", "192.168.0.1")
476
- end
498
+ host_range_deny = Declaration.new(:deny, "*.host.com")
499
+ assert_equal(-1, host_range_deny <=> host_range, "deny did not sort before allow when ranged")
500
+
501
+ ip_allow = Declaration.new(:allow, "192.168.0.0/16")
502
+ ip_deny = Declaration.new(:deny, "192.168.0.0/16")
477
503
 
478
- def test_matchname?
479
- host = Declaration.new(:allow, "host.com")
480
- assert(host.send(:matchname?, "host.com"), "exact did not match")
481
- assert(! host.send(:matchname?, "yay.com"), "incorrect match")
482
-
483
- domain = Declaration.new(:allow, "*.domain.com")
484
- %w{host.domain.com domain.com very.long.domain.com very-long.domain.com
485
- }.each do |name|
486
- assert(domain.send(:matchname?, name),
487
- "Did not match %s" % name)
488
- end
504
+
505
+ assert_equal(
506
+ -1, ip_deny <=> ip_allow,
507
+
508
+ "deny did not sort before allow in ip range")
509
+
510
+ %w{host.com *.domain.com 192.168.0.1 192.168.0.1/24}.each do |decl|
511
+ assert_equal(0, Declaration.new(:allow, decl) <=>
512
+ Declaration.new(:allow, decl),
513
+ "Equivalent declarations for #{decl} were considered different"
514
+ )
515
+ end
516
+ end
517
+
518
+ def test_match?
519
+ host = Declaration.new(:allow, "host.com")
520
+ host.expects(:matchname?).with("host.com")
521
+ host.match?("host.com", "192.168.0.1")
522
+
523
+ ip = Declaration.new(:allow, "192.168.0.1")
524
+ ip.pattern.expects(:include?)
525
+ ip.match?("host.com", "192.168.0.1")
526
+ end
527
+
528
+ def test_matchname?
529
+ host = Declaration.new(:allow, "host.com")
530
+ assert(host.send(:matchname?, "host.com"), "exact did not match")
531
+ assert(! host.send(:matchname?, "yay.com"), "incorrect match")
532
+
533
+ domain = Declaration.new(:allow, "*.domain.com")
534
+ %w{host.domain.com domain.com very.long.domain.com very-long.domain.com }.each do |name|
535
+ assert(domain.send(:matchname?, name), "Did not match #{name}")
489
536
  end
537
+ end
490
538
  end
491
539
 
492
540