poolparty 0.2.84 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (642) hide show
  1. data/History.txt +7 -0
  2. data/License.txt +1 -1
  3. data/PostInstall.txt +1 -1
  4. data/README.txt +13 -22
  5. data/Rakefile +26 -35
  6. data/VERSION.yml +4 -0
  7. data/bin/cloud +24 -3
  8. data/bin/cloud-bootstrap +31 -0
  9. data/bin/cloud-configure +36 -20
  10. data/bin/{pool-console → cloud-console} +0 -0
  11. data/bin/cloud-contract +7 -7
  12. data/bin/cloud-describe +28 -0
  13. data/bin/cloud-expand +13 -6
  14. data/bin/cloud-handle-load +3 -3
  15. data/bin/cloud-list +9 -14
  16. data/bin/cloud-osxcopy +6 -5
  17. data/bin/cloud-provision +17 -22
  18. data/bin/cloud-setup-dev +11 -11
  19. data/bin/cloud-show +28 -0
  20. data/bin/cloud-spec +2 -2
  21. data/bin/cloud-ssh +10 -3
  22. data/bin/cloud-start +21 -23
  23. data/bin/cloud-terminate +15 -7
  24. data/bin/cloud-verify +32 -0
  25. data/bin/install-poolparty +216 -0
  26. data/bin/server-butterfly +25 -0
  27. data/bin/server-cloud-elections +37 -0
  28. data/bin/server-ensure-provisioning +33 -0
  29. data/bin/server-get-load +9 -12
  30. data/bin/server-list-active +25 -12
  31. data/bin/server-manage-election +67 -0
  32. data/bin/server-monitor.ru +42 -0
  33. data/bin/server-query-agent +15 -0
  34. data/bin/server-rerun +1 -1
  35. data/bin/server-write-new-nodes +2 -2
  36. data/config/jeweler.rb +52 -0
  37. data/config/requirements.rb +1 -9
  38. data/examples/basic.rb +10 -10
  39. data/examples/deploy.rb +5 -0
  40. data/examples/fairchild.rb +28 -0
  41. data/examples/fairchild_chef.rb +19 -0
  42. data/examples/maize.rb +37 -0
  43. data/examples/paparazzi.conf.erb +21 -0
  44. data/generators/poolspec/poolspec_generator.rb +1 -9
  45. data/generators/poolspec/templates/pool_spec_template.erb +0 -1
  46. data/lib/poolparty/{aska/aska.rb → aska.rb} +19 -28
  47. data/lib/poolparty/base_packages/haproxy.rb +48 -31
  48. data/lib/poolparty/base_packages/heartbeat.rb +6 -62
  49. data/lib/poolparty/base_packages/poolparty.rb +5 -105
  50. data/lib/poolparty/base_packages/ruby.rb +4 -4
  51. data/lib/poolparty/base_packages/runit.rb +1 -1
  52. data/lib/poolparty/core/array.rb +21 -3
  53. data/lib/poolparty/core/hash.rb +45 -10
  54. data/lib/poolparty/core/kernel.rb +30 -8
  55. data/lib/poolparty/core/nil.rb +8 -0
  56. data/lib/poolparty/core/object.rb +34 -25
  57. data/lib/poolparty/core/ordered_hash.rb +99 -0
  58. data/lib/poolparty/core/string.rb +112 -15
  59. data/lib/poolparty/core/symbol.rb +10 -0
  60. data/lib/poolparty/dependencies.rb +49 -0
  61. data/lib/poolparty/dependency_resolver/chef_resolver.rb +237 -0
  62. data/lib/poolparty/dependency_resolver/dependency_resolver.rb +42 -0
  63. data/lib/poolparty/dependency_resolver/dependency_resolver_cloud_extensions.rb +29 -0
  64. data/lib/poolparty/{dependency_resolutions → dependency_resolver}/puppet.rb +34 -29
  65. data/lib/poolparty/dependency_resolver/puppet_resolver.rb +188 -0
  66. data/lib/poolparty/exceptions/MasterException.rb +2 -2
  67. data/lib/poolparty/exceptions/RemoteException.rb +1 -1
  68. data/lib/poolparty/exceptions/dependency_resolver_exception.rb +5 -0
  69. data/lib/poolparty/exceptions/package_exception.rb +7 -0
  70. data/lib/poolparty/extra/deployments.rb +7 -7
  71. data/lib/poolparty/helpers/binary.rb +26 -32
  72. data/lib/poolparty/helpers/console.rb +1 -1
  73. data/lib/poolparty/helpers/display.rb +1 -5
  74. data/lib/poolparty/helpers/hash_printer.rb +44 -0
  75. data/lib/poolparty/helpers/loading.rb +4 -0
  76. data/lib/poolparty/helpers/optioner.rb +39 -25
  77. data/lib/poolparty/lite.rb +30 -0
  78. data/lib/poolparty/modules/callbacks.rb +44 -0
  79. data/lib/poolparty/modules/cloud_dsl.rb +38 -8
  80. data/lib/poolparty/modules/cloud_resourcer.rb +67 -97
  81. data/lib/poolparty/modules/daemonizable.rb +141 -0
  82. data/lib/poolparty/modules/definable_resource.rb +8 -14
  83. data/lib/poolparty/modules/file_writer.rb +25 -17
  84. data/lib/poolparty/modules/pinger.rb +28 -0
  85. data/lib/poolparty/modules/pretty_printer.rb +1 -1
  86. data/lib/poolparty/modules/resourcing_dsl.rb +55 -40
  87. data/lib/poolparty/modules/searchable_paths.rb +91 -0
  88. data/lib/poolparty/modules/thread_pool.rb +107 -106
  89. data/lib/poolparty/modules/user_helpers.rb +20 -0
  90. data/lib/poolparty/monitors/base_monitor.rb +18 -75
  91. data/lib/poolparty/monitors/monitor_rack.rb +123 -0
  92. data/lib/poolparty/monitors/monitors/favicon_monitor.rb +12 -0
  93. data/lib/poolparty/monitors/monitors/load_monitor.rb +9 -0
  94. data/lib/poolparty/monitors/monitors/memory_monitor.rb +9 -9
  95. data/lib/poolparty/monitors/monitors/neighborhood_monitor.rb +77 -0
  96. data/lib/poolparty/monitors/monitors/stats_monitor.rb +187 -0
  97. data/lib/poolparty/monitors/monitors/time_monitor.rb +15 -0
  98. data/lib/poolparty/net/init.rb +10 -0
  99. data/lib/poolparty/net/remote_bases.rb +20 -0
  100. data/lib/poolparty/net/remote_instance.rb +26 -44
  101. data/lib/poolparty/net/remoter/cloud_control.rb +24 -0
  102. data/lib/poolparty/net/remoter/connections.rb +172 -0
  103. data/lib/poolparty/net/remoter/interactive.rb +45 -0
  104. data/lib/poolparty/net/remoter_base.rb +116 -111
  105. data/lib/poolparty/net/remoter_bases/ec2/ec2.rb +245 -0
  106. data/lib/poolparty/net/remoter_bases/ec2/ec2_remote_instance.rb +53 -0
  107. data/lib/poolparty/net/{remote_bases → remoter_bases}/ec2/ec2_response_object.rb +2 -4
  108. data/lib/poolparty/net/remoter_bases/vmrun/utilities/vm_disk.rb +12 -0
  109. data/lib/poolparty/net/remoter_bases/vmrun/utilities/vmx.rb +33 -0
  110. data/lib/poolparty/net/remoter_bases/vmrun/utilities/vmx_file.rb +117 -0
  111. data/lib/poolparty/net/remoter_bases/vmrun/vmrun.rb +158 -0
  112. data/lib/poolparty/net/remoter_bases/vmrun/vmrun_instance.rb +71 -0
  113. data/lib/poolparty/plugins/apache2/apache.rb +340 -0
  114. data/lib/poolparty/plugins/bind.rb +11 -0
  115. data/lib/poolparty/plugins/chef.rb +173 -0
  116. data/lib/poolparty/plugins/chef_deploy.rb +58 -0
  117. data/lib/poolparty/plugins/deploy_directory.rb +49 -0
  118. data/lib/poolparty/plugins/gem_package.rb +61 -0
  119. data/lib/poolparty/plugins/git.rb +41 -24
  120. data/lib/poolparty/plugins/line_in_file.rb +30 -0
  121. data/lib/poolparty/plugins/nanite.rb +41 -0
  122. data/lib/poolparty/plugins/rails_deploy.rb +76 -0
  123. data/lib/poolparty/plugins/svn.rb +56 -39
  124. data/lib/poolparty/poolparty/cloud.rb +137 -167
  125. data/lib/poolparty/poolparty/{base.rb → default.rb} +62 -25
  126. data/lib/poolparty/poolparty/key.rb +78 -0
  127. data/lib/poolparty/poolparty/loggable.rb +28 -27
  128. data/lib/poolparty/poolparty/neighborhoods.rb +102 -0
  129. data/lib/poolparty/poolparty/plugin.rb +53 -18
  130. data/lib/poolparty/poolparty/plugin_model.rb +20 -23
  131. data/lib/poolparty/poolparty/pool.rb +34 -26
  132. data/lib/poolparty/poolparty/poolparty_base_class.rb +190 -0
  133. data/lib/poolparty/poolparty/resource.rb +92 -178
  134. data/lib/poolparty/poolparty/script.rb +32 -20
  135. data/lib/poolparty/poolparty/service.rb +44 -0
  136. data/lib/poolparty/poolparty/template.rb +27 -0
  137. data/lib/poolparty/provision/boot_strapper.rb +164 -0
  138. data/lib/poolparty/provision/configurations/chef.rb +26 -0
  139. data/lib/poolparty/provision/configurations/puppet.rb +28 -0
  140. data/lib/poolparty/provision/dr_configure.rb +142 -0
  141. data/lib/poolparty/resources/cron.rb +51 -0
  142. data/lib/poolparty/resources/directory.rb +36 -0
  143. data/lib/poolparty/resources/exec.rb +47 -0
  144. data/lib/poolparty/resources/file.rb +73 -0
  145. data/lib/poolparty/resources/host.rb +37 -0
  146. data/lib/poolparty/resources/mount.rb +45 -0
  147. data/lib/poolparty/resources/package.rb +41 -0
  148. data/lib/poolparty/resources/remote_file.rb +52 -0
  149. data/lib/poolparty/resources/service.rb +41 -0
  150. data/lib/poolparty/resources/sshkey.rb +49 -0
  151. data/lib/poolparty/resources/symlink.rb +43 -0
  152. data/lib/poolparty/{poolparty/resources/remote_user.rb → resources/user.rb} +1 -5
  153. data/lib/poolparty/resources/variable.rb +34 -0
  154. data/lib/poolparty/resources.rb +42 -0
  155. data/lib/poolparty/schema.rb +79 -0
  156. data/lib/poolparty/templates/apache2/apache2.conf +14 -0
  157. data/lib/poolparty/templates/apache2/base.conf.erb +168 -0
  158. data/lib/poolparty/templates/apache2/browser_fixes.conf.erb +26 -0
  159. data/lib/poolparty/templates/apache2/debian.conf.erb +675 -0
  160. data/lib/poolparty/templates/apache2/default-site.conf.erb +41 -0
  161. data/lib/poolparty/templates/apache2/directory_indexes.conf.erb +101 -0
  162. data/lib/poolparty/templates/apache2/logging-syslog.conf.erb +42 -0
  163. data/lib/poolparty/templates/apache2/mime-extras.conf.erb +211 -0
  164. data/lib/poolparty/templates/apache2/mime-minimal.conf.erb +15 -0
  165. data/lib/poolparty/templates/apache2/mpm-worker.conf.erb +20 -0
  166. data/lib/poolparty/templates/apache2/mpm-worker.erb +20 -0
  167. data/lib/poolparty/templates/apache2/passenger.conf.erb +20 -0
  168. data/lib/poolparty/templates/apache2/php.ini.erb +1253 -0
  169. data/lib/poolparty/templates/apache2/server-status.erb +19 -0
  170. data/lib/poolparty/templates/erlang_cookie_maker +6 -0
  171. data/lib/poolparty/templates/gemrc_template +11 -0
  172. data/lib/poolparty/templates/ha.cf +1 -1
  173. data/lib/poolparty/templates/haproxy.conf +29 -27
  174. data/lib/poolparty/templates/haresources +2 -2
  175. data/lib/poolparty/templates/monitor.ru +16 -0
  176. data/lib/poolparty/templates/php.ini.erb +1253 -0
  177. data/lib/poolparty/templates/puppet/add_puppet_to_hosts +6 -0
  178. data/lib/poolparty/templates/puppet/puppet.conf +2 -0
  179. data/lib/poolparty/templates/puppet/puppetrunner +14 -0
  180. data/lib/poolparty/templates/puppet/site.pp +4 -0
  181. data/lib/poolparty/templates/puppetrunner +11 -5
  182. data/lib/poolparty/verification/verifier_base.rb +17 -0
  183. data/lib/poolparty/verification/verifiers/http_match.rb +43 -0
  184. data/lib/poolparty/verification/verifiers/http_status.rb +59 -0
  185. data/lib/poolparty/verification/verifiers/ping.rb +34 -0
  186. data/lib/poolparty/verification/verify.rb +76 -0
  187. data/lib/poolparty.rb +76 -22
  188. data/lib/poolpartycl.rb +66 -1
  189. data/script/destroy +1 -1
  190. data/script/generate +1 -1
  191. data/spec/bin/bin_spec_helper.rb +7 -0
  192. data/spec/bin/fixtures/bin_cloud_for_test.rb +13 -0
  193. data/spec/bin/server-list-active_spec.rb +24 -0
  194. data/spec/poolparty/aska/aska_spec.rb +5 -5
  195. data/spec/poolparty/base_packages/haproxy_spec.rb +2 -8
  196. data/spec/poolparty/base_packages/heartbeat_spec.rb +3 -26
  197. data/spec/poolparty/bin/console_spec.rb +11 -29
  198. data/spec/poolparty/core/array_spec.rb +20 -3
  199. data/spec/poolparty/core/hash_spec.rb +30 -28
  200. data/spec/poolparty/core/object_spec.rb +2 -3
  201. data/spec/poolparty/core/ordered_hash_spec.rb +48 -0
  202. data/spec/poolparty/core/string_spec.rb +1 -27
  203. data/spec/poolparty/dependencies_spec.rb +11 -0
  204. data/spec/poolparty/dependency_resolver/chef_resolver_spec.rb +107 -0
  205. data/spec/poolparty/dependency_resolver/dependency_resolver_cloud_extensions_spec.rb +122 -0
  206. data/spec/poolparty/dependency_resolver/dependency_resolver_spec.rb +16 -0
  207. data/spec/poolparty/dependency_resolver/puppet_resolver_spec.rb +121 -0
  208. data/spec/poolparty/extra/deployments_spec.rb +9 -5
  209. data/spec/poolparty/fixtures/clouds.json +128 -0
  210. data/spec/poolparty/fixtures/test_template.erb +1 -0
  211. data/spec/poolparty/helpers/binary_spec.rb +1 -1
  212. data/spec/poolparty/helpers/hash_printer_spec.rb +34 -0
  213. data/spec/poolparty/helpers/optioner_spec.rb +1 -1
  214. data/spec/poolparty/id_rsa +27 -0
  215. data/spec/poolparty/modules/cloud_resourcer_spec.rb +26 -111
  216. data/spec/poolparty/modules/definable_resource.rb +1 -1
  217. data/spec/poolparty/modules/file_writer_spec.rb +10 -4
  218. data/spec/poolparty/modules/searchable_paths_spec.rb +76 -0
  219. data/spec/poolparty/monitors/base_monitor_spec.rb +112 -111
  220. data/spec/poolparty/monitors/monitors/cpu_monitor_spec.rb +18 -16
  221. data/spec/poolparty/monitors/monitors/memory_monitor_spec.rb +48 -47
  222. data/spec/poolparty/net/remote_instance_spec.rb +9 -73
  223. data/spec/poolparty/net/remote_spec.rb +287 -310
  224. data/spec/poolparty/net/remoter_base_spec.rb +3 -56
  225. data/spec/poolparty/net/remoter_bases/ec2_mocks_and_stubs.rb +24 -0
  226. data/spec/poolparty/net/remoter_bases/ec2_remote_instance_spec.rb +114 -0
  227. data/spec/poolparty/net/{remote_bases → remoter_bases}/ec2_spec.rb +51 -53
  228. data/spec/poolparty/net/remoter_spec.rb +96 -86
  229. data/spec/poolparty/plugins/chef_spec.rb +7 -0
  230. data/spec/poolparty/plugins/deploydirectory_spec.rb +51 -52
  231. data/spec/poolparty/plugins/git_spec.rb +16 -20
  232. data/spec/poolparty/plugins/line_spec.rb +14 -8
  233. data/spec/poolparty/poolparty/cloud_spec.rb +85 -183
  234. data/spec/poolparty/poolparty/configurers/files/ruby_basic.rb +3 -4
  235. data/spec/poolparty/poolparty/configurers/ruby_spec.rb +7 -23
  236. data/spec/poolparty/poolparty/{base_spec.rb → default_spec.rb} +44 -41
  237. data/spec/poolparty/poolparty/example_spec.rb +43 -11
  238. data/spec/poolparty/poolparty/key_spec.rb +42 -0
  239. data/spec/poolparty/poolparty/neighborhoods_spec.rb +65 -0
  240. data/spec/poolparty/poolparty/plugin_model_spec.rb +14 -24
  241. data/spec/poolparty/poolparty/plugin_spec.rb +25 -96
  242. data/spec/poolparty/poolparty/pool_spec.rb +3 -1
  243. data/spec/poolparty/poolparty/resource_spec.rb +70 -270
  244. data/spec/poolparty/poolparty/script_spec.rb +30 -53
  245. data/spec/poolparty/poolparty/service_spec.rb +5 -0
  246. data/spec/poolparty/poolparty/template_spec.rb +26 -0
  247. data/spec/poolparty/poolparty/test_plugins/webserver.rb +8 -25
  248. data/spec/poolparty/poolparty_base_class_spec.rb +84 -0
  249. data/spec/poolparty/poolparty_spec.rb +7 -4
  250. data/spec/poolparty/resources/cron_spec.rb +44 -0
  251. data/spec/poolparty/resources/directory_spec.rb +40 -0
  252. data/spec/poolparty/resources/exec_spec.rb +37 -0
  253. data/spec/poolparty/resources/file_spec.rb +64 -0
  254. data/spec/poolparty/resources/gem_spec.rb +7 -0
  255. data/spec/poolparty/resources/host_spec.rb +35 -0
  256. data/spec/poolparty/resources/package_spec.rb +26 -0
  257. data/spec/poolparty/resources/service_spec.rb +29 -0
  258. data/spec/poolparty/resources/sshkey_spec.rb +40 -0
  259. data/spec/poolparty/resources/symlink_spec.rb +29 -0
  260. data/spec/poolparty/resources/user_spec.rb +48 -0
  261. data/spec/poolparty/resources/variable_spec.rb +26 -0
  262. data/spec/poolparty/schema_spec.rb +53 -0
  263. data/spec/poolparty/spec_helper.rb +107 -23
  264. data/spec/poolparty/test_spec_helper.rb +13 -0
  265. data/tasks/development.rake +85 -69
  266. data/tasks/poolparty.rake +54 -0
  267. data/tasks/server.rake +41 -39
  268. data/tasks/spec.rake +35 -1
  269. data/test/fixtures/test_template.erb +1 -0
  270. data/test/poolparty/core/array_test.rb +21 -0
  271. data/test/poolparty/core/hash_test.rb +34 -0
  272. data/test/poolparty/core/string_test.rb +29 -0
  273. data/test/poolparty/dependency_resolver/puppet_resolver_test.rb +90 -0
  274. data/test/poolparty/modules/callbacks_test.rb +40 -0
  275. data/test/poolparty/modules/cloud_dsl_test.rb +60 -0
  276. data/test/poolparty/net/remoter_bases/vmrun/vmrun_test.rb +54 -0
  277. data/test/poolparty/net/remoter_test.rb +14 -0
  278. data/test/poolparty/poolparty/neighborhood_test.rb +23 -0
  279. data/test/poolparty/poolparty/poolparty_base_class_test.rb +84 -0
  280. data/test/poolparty/poolparty/template_test.rb +31 -0
  281. data/test/poolparty/provision/boot_strapper_test.rb +6 -0
  282. data/test/poolparty/provision/dr_configure_test.rb +6 -0
  283. data/test/poolparty/verification/verify_test.rb +49 -0
  284. data/test/test_helper.rb +8 -2
  285. data/test/test_poolparty.rb +6 -5
  286. data/vendor/chef/apache2/README.rdoc +59 -0
  287. data/vendor/chef/apache2/attributes/apache.rb +72 -0
  288. data/vendor/chef/apache2/definitions/apache_module.rb +36 -0
  289. data/vendor/chef/apache2/definitions/apache_site.rb +36 -0
  290. data/vendor/chef/apache2/definitions/web_app.rb +45 -0
  291. data/vendor/chef/apache2/files/default/apache2_module_conf_generate.pl +41 -0
  292. data/vendor/chef/apache2/recipes/default.rb +132 -0
  293. data/vendor/chef/apache2/recipes/mod_alias.rb +20 -0
  294. data/vendor/chef/apache2/recipes/mod_auth_basic.rb +20 -0
  295. data/vendor/chef/apache2/recipes/mod_auth_digest.rb +20 -0
  296. data/vendor/chef/apache2/recipes/mod_authn_file.rb +20 -0
  297. data/vendor/chef/apache2/recipes/mod_authnz_ldap.rb +20 -0
  298. data/vendor/chef/apache2/recipes/mod_authz_default.rb +20 -0
  299. data/vendor/chef/apache2/recipes/mod_authz_groupfile.rb +20 -0
  300. data/vendor/chef/apache2/recipes/mod_authz_host.rb +20 -0
  301. data/vendor/chef/apache2/recipes/mod_authz_user.rb +20 -0
  302. data/vendor/chef/apache2/recipes/mod_autoindex.rb +20 -0
  303. data/vendor/chef/apache2/recipes/mod_cgi.rb +20 -0
  304. data/vendor/chef/apache2/recipes/mod_dav.rb +20 -0
  305. data/vendor/chef/apache2/recipes/mod_dav_svn.rb +20 -0
  306. data/vendor/chef/apache2/recipes/mod_deflate.rb +20 -0
  307. data/vendor/chef/apache2/recipes/mod_dir.rb +20 -0
  308. data/vendor/chef/apache2/recipes/mod_env.rb +20 -0
  309. data/vendor/chef/apache2/recipes/mod_expires.rb +20 -0
  310. data/vendor/chef/apache2/recipes/mod_fcgid.rb +35 -0
  311. data/vendor/chef/apache2/recipes/mod_headers.rb +20 -0
  312. data/vendor/chef/apache2/recipes/mod_ldap.rb +20 -0
  313. data/vendor/chef/apache2/recipes/mod_log_config.rb +20 -0
  314. data/vendor/chef/apache2/recipes/mod_mime.rb +20 -0
  315. data/vendor/chef/apache2/recipes/mod_negotiation.rb +20 -0
  316. data/vendor/chef/apache2/recipes/mod_php5.rb +27 -0
  317. data/vendor/chef/apache2/recipes/mod_proxy.rb +20 -0
  318. data/vendor/chef/apache2/recipes/mod_proxy_http.rb +20 -0
  319. data/vendor/chef/apache2/recipes/mod_python.rb +22 -0
  320. data/vendor/chef/apache2/recipes/mod_rewrite.rb +20 -0
  321. data/vendor/chef/apache2/recipes/mod_setenvif.rb +20 -0
  322. data/vendor/chef/apache2/recipes/mod_ssl.rb +20 -0
  323. data/vendor/chef/apache2/recipes/mod_status.rb +20 -0
  324. data/vendor/chef/apache2/templates/default/a2dismod.erb +22 -0
  325. data/vendor/chef/apache2/templates/default/a2dissite.erb +29 -0
  326. data/vendor/chef/apache2/templates/default/a2enmod.erb +37 -0
  327. data/vendor/chef/apache2/templates/default/a2ensite.erb +38 -0
  328. data/vendor/chef/apache2/templates/default/apache2.conf.erb +630 -0
  329. data/vendor/chef/apache2/templates/default/default-site.erb +45 -0
  330. data/vendor/chef/apache2/templates/default/port_apache.erb +2 -0
  331. data/vendor/chef/apache2/templates/default/ports.conf.erb +6 -0
  332. data/vendor/chef/apache2/templates/default/web_app.conf.erb +43 -0
  333. data/vendor/chef/chef-deploy/LICENSE +201 -0
  334. data/vendor/chef/chef-deploy/README.rdoc +24 -0
  335. data/vendor/chef/chef-deploy/Rakefile +57 -0
  336. data/vendor/chef/chef-deploy/TODO +4 -0
  337. data/vendor/chef/chef-deploy/lib/chef-deploy/cached_deploy.rb +230 -0
  338. data/vendor/chef/chef-deploy/lib/chef-deploy/git.rb +132 -0
  339. data/vendor/chef/chef-deploy/lib/chef-deploy/subversion.rb +98 -0
  340. data/vendor/chef/chef-deploy/lib/chef-deploy.rb +183 -0
  341. data/vendor/gems/butterfly/History.txt +4 -0
  342. data/vendor/gems/butterfly/PostInstall.txt +2 -0
  343. data/vendor/gems/butterfly/README.rdoc +48 -0
  344. data/vendor/gems/butterfly/Rakefile +62 -0
  345. data/vendor/gems/butterfly/VERSION.yml +4 -0
  346. data/vendor/gems/butterfly/bin/flutter +4 -0
  347. data/vendor/gems/butterfly/butterfly.gemspec +37 -0
  348. data/vendor/gems/butterfly/examples/config.ru +15 -0
  349. data/vendor/gems/butterfly/examples/my_app.rb +12 -0
  350. data/vendor/gems/butterfly/lib/butterfly.rb +14 -0
  351. data/vendor/gems/butterfly/lib/handler.rb +48 -0
  352. data/vendor/gems/butterfly/lib/request.rb +29 -0
  353. data/vendor/gems/butterfly/lib/response.rb +49 -0
  354. data/vendor/gems/butterfly/script/console +10 -0
  355. data/vendor/gems/butterfly/script/destroy +14 -0
  356. data/vendor/gems/butterfly/script/generate +14 -0
  357. data/vendor/gems/butterfly/test/test_adapter_base.rb +23 -0
  358. data/vendor/gems/butterfly/test/test_butterfly_request.rb +46 -0
  359. data/vendor/gems/butterfly/test/test_butterfly_response.rb +43 -0
  360. data/vendor/gems/butterfly/test/test_butterfly_server.rb +16 -0
  361. data/vendor/gems/butterfly/test/test_default.rb +12 -0
  362. data/vendor/gems/butterfly/test/test_helper.rb +6 -0
  363. data/vendor/gems/dslify/History.txt +4 -0
  364. data/vendor/gems/dslify/Manifest.txt +25 -0
  365. data/vendor/gems/dslify/PostInstall.txt +5 -0
  366. data/vendor/gems/dslify/README.txt +60 -0
  367. data/vendor/gems/dslify/Rakefile +56 -0
  368. data/{config → vendor/gems/dslify/config}/hoe.rb +12 -55
  369. data/vendor/gems/dslify/config/requirements.rb +15 -0
  370. data/vendor/gems/dslify/dslify.gemspec +40 -0
  371. data/vendor/gems/dslify/lib/dslify/dslify.rb +76 -0
  372. data/vendor/gems/dslify/lib/dslify/version.rb +10 -0
  373. data/vendor/gems/dslify/lib/dslify.rb +7 -0
  374. data/vendor/gems/dslify/script/console +10 -0
  375. data/vendor/gems/dslify/script/destroy +14 -0
  376. data/vendor/gems/dslify/script/generate +14 -0
  377. data/{script → vendor/gems/dslify/script}/txt2html +4 -4
  378. data/{setup.rb → vendor/gems/dslify/setup.rb} +3 -3
  379. data/{tasks → vendor/gems/dslify/tasks}/deployment.rake +4 -18
  380. data/vendor/gems/dslify/tasks/environment.rake +7 -0
  381. data/{tasks → vendor/gems/dslify/tasks}/website.rake +0 -0
  382. data/vendor/gems/dslify/test/test_dslify.rb +138 -0
  383. data/vendor/gems/dslify/website/index.html +86 -0
  384. data/vendor/gems/dslify/website/index.txt +83 -0
  385. data/{website → vendor/gems/dslify/website}/javascripts/rounded_corners_lite.inc.js +0 -0
  386. data/{website → vendor/gems/dslify/website}/stylesheets/screen.css +18 -27
  387. data/{website → vendor/gems/dslify/website}/template.html.erb +1 -2
  388. data/vendor/gems/parenting/History.txt +4 -0
  389. data/vendor/gems/parenting/Manifest.txt +14 -0
  390. data/vendor/gems/parenting/PostInstall.txt +2 -0
  391. data/vendor/gems/parenting/README.rdoc +47 -0
  392. data/vendor/gems/parenting/Rakefile +28 -0
  393. data/vendor/gems/parenting/lib/parenting/parenting.rb +61 -0
  394. data/vendor/gems/parenting/lib/parenting.rb +10 -0
  395. data/vendor/gems/parenting/parenting.gemspec +39 -0
  396. data/vendor/gems/parenting/script/console +10 -0
  397. data/vendor/gems/parenting/script/destroy +14 -0
  398. data/vendor/gems/parenting/script/generate +14 -0
  399. data/vendor/gems/parenting/test/file_to_eval.rb +9 -0
  400. data/vendor/gems/parenting/test/test_helper.rb +5 -0
  401. data/vendor/gems/parenting/test/test_parenting.rb +117 -0
  402. data/vendor/gems/suitcase/LICENSE +20 -0
  403. data/vendor/gems/suitcase/README.rdoc +31 -0
  404. data/vendor/gems/suitcase/Rakefile +57 -0
  405. data/vendor/gems/suitcase/VERSION.yml +4 -0
  406. data/vendor/gems/suitcase/lib/suitcase/unzipper.rb +15 -0
  407. data/vendor/gems/suitcase/lib/suitcase/zipper.rb +119 -0
  408. data/vendor/gems/suitcase/lib/suitcase.rb +5 -0
  409. data/vendor/gems/suitcase/suitcase.gemspec +32 -0
  410. data/vendor/gems/suitcase/test/suitcase_test.rb +102 -0
  411. data/vendor/gems/suitcase/test/test_dir/box.rb +1 -0
  412. data/vendor/gems/suitcase/test/test_dir/test.txt +1 -0
  413. data/vendor/gems/suitcase/test/test_helper.rb +12 -0
  414. metadata +370 -343
  415. data/Capfile +0 -1
  416. data/Manifest.txt +0 -414
  417. data/bin/cloud-add-keypair +0 -28
  418. data/bin/cloud-ensure-provisioning +0 -39
  419. data/bin/cloud-maintain +0 -30
  420. data/bin/cloud-refresh +0 -17
  421. data/bin/cloud-run +0 -18
  422. data/bin/cloud-stats +0 -17
  423. data/bin/messenger-get-current-nodes +0 -14
  424. data/bin/pool +0 -31
  425. data/bin/pool-describe +0 -8
  426. data/bin/pool-generate +0 -18
  427. data/bin/pool-init +0 -28
  428. data/bin/pool-list +0 -30
  429. data/bin/pool-start +0 -26
  430. data/bin/server-build-messenger +0 -27
  431. data/bin/server-clean-cert-for +0 -15
  432. data/bin/server-list-responding +0 -24
  433. data/bin/server-start-client +0 -29
  434. data/bin/server-start-master +0 -26
  435. data/bin/server-start-node +0 -32
  436. data/bin/server-stop-client +0 -3
  437. data/bin/server-stop-master +0 -3
  438. data/bin/server-stop-node +0 -3
  439. data/bin/server-update-hosts +0 -49
  440. data/lib/erlang/messenger/Emakefile +0 -1
  441. data/lib/erlang/messenger/Makefile +0 -15
  442. data/lib/erlang/messenger/README +0 -5
  443. data/lib/erlang/messenger/Rakefile +0 -72
  444. data/lib/erlang/messenger/control +0 -11
  445. data/lib/erlang/messenger/ebin/client.app +0 -19
  446. data/lib/erlang/messenger/ebin/client_app.beam +0 -0
  447. data/lib/erlang/messenger/ebin/client_server.beam +0 -0
  448. data/lib/erlang/messenger/ebin/erl_crash.dump +0 -10326
  449. data/lib/erlang/messenger/ebin/master.app +0 -19
  450. data/lib/erlang/messenger/ebin/master_app.beam +0 -0
  451. data/lib/erlang/messenger/ebin/node.app +0 -19
  452. data/lib/erlang/messenger/ebin/node_app.beam +0 -0
  453. data/lib/erlang/messenger/ebin/packager.app +0 -19
  454. data/lib/erlang/messenger/ebin/pm_client.beam +0 -0
  455. data/lib/erlang/messenger/ebin/pm_client_old.beam +0 -0
  456. data/lib/erlang/messenger/ebin/pm_client_rel-0.1.rel +0 -1
  457. data/lib/erlang/messenger/ebin/pm_client_supervisor.beam +0 -0
  458. data/lib/erlang/messenger/ebin/pm_cluster.beam +0 -0
  459. data/lib/erlang/messenger/ebin/pm_event_manager.beam +0 -0
  460. data/lib/erlang/messenger/ebin/pm_master.beam +0 -0
  461. data/lib/erlang/messenger/ebin/pm_master_event_handler.beam +0 -0
  462. data/lib/erlang/messenger/ebin/pm_master_rel-0.1.rel +0 -1
  463. data/lib/erlang/messenger/ebin/pm_master_supervisor.beam +0 -0
  464. data/lib/erlang/messenger/ebin/pm_node.beam +0 -0
  465. data/lib/erlang/messenger/ebin/pm_node_rel-0.1.rel +0 -1
  466. data/lib/erlang/messenger/ebin/pm_node_supervisor.beam +0 -0
  467. data/lib/erlang/messenger/ebin/pm_packager.beam +0 -0
  468. data/lib/erlang/messenger/ebin/pm_spawner.beam +0 -0
  469. data/lib/erlang/messenger/ebin/pm_strings.beam +0 -0
  470. data/lib/erlang/messenger/ebin/utils.beam +0 -0
  471. data/lib/erlang/messenger/include/defines.hrl +0 -27
  472. data/lib/erlang/messenger/lib/eunit/AUTHORS +0 -2
  473. data/lib/erlang/messenger/lib/eunit/CHANGELOG +0 -14
  474. data/lib/erlang/messenger/lib/eunit/COPYING +0 -504
  475. data/lib/erlang/messenger/lib/eunit/Makefile +0 -28
  476. data/lib/erlang/messenger/lib/eunit/NOTES +0 -276
  477. data/lib/erlang/messenger/lib/eunit/README +0 -3
  478. data/lib/erlang/messenger/lib/eunit/doc/edoc-info +0 -3
  479. data/lib/erlang/messenger/lib/eunit/doc/erlang.png +0 -0
  480. data/lib/erlang/messenger/lib/eunit/doc/eunit.html +0 -172
  481. data/lib/erlang/messenger/lib/eunit/doc/index.html +0 -17
  482. data/lib/erlang/messenger/lib/eunit/doc/modules-frame.html +0 -12
  483. data/lib/erlang/messenger/lib/eunit/doc/overview-summary.html +0 -984
  484. data/lib/erlang/messenger/lib/eunit/doc/overview.edoc +0 -980
  485. data/lib/erlang/messenger/lib/eunit/doc/packages-frame.html +0 -11
  486. data/lib/erlang/messenger/lib/eunit/doc/stylesheet.css +0 -55
  487. data/lib/erlang/messenger/lib/eunit/ebin/autoload.beam +0 -0
  488. data/lib/erlang/messenger/lib/eunit/ebin/code_monitor.beam +0 -0
  489. data/lib/erlang/messenger/lib/eunit/ebin/eunit.app +0 -21
  490. data/lib/erlang/messenger/lib/eunit/ebin/eunit.appup +0 -1
  491. data/lib/erlang/messenger/lib/eunit/ebin/eunit.beam +0 -0
  492. data/lib/erlang/messenger/lib/eunit/ebin/eunit_autoexport.beam +0 -0
  493. data/lib/erlang/messenger/lib/eunit/ebin/eunit_data.beam +0 -0
  494. data/lib/erlang/messenger/lib/eunit/ebin/eunit_lib.beam +0 -0
  495. data/lib/erlang/messenger/lib/eunit/ebin/eunit_proc.beam +0 -0
  496. data/lib/erlang/messenger/lib/eunit/ebin/eunit_serial.beam +0 -0
  497. data/lib/erlang/messenger/lib/eunit/ebin/eunit_server.beam +0 -0
  498. data/lib/erlang/messenger/lib/eunit/ebin/eunit_striptests.beam +0 -0
  499. data/lib/erlang/messenger/lib/eunit/ebin/eunit_test.beam +0 -0
  500. data/lib/erlang/messenger/lib/eunit/ebin/eunit_tests.beam +0 -0
  501. data/lib/erlang/messenger/lib/eunit/ebin/eunit_tty.beam +0 -0
  502. data/lib/erlang/messenger/lib/eunit/ebin/file_monitor.beam +0 -0
  503. data/lib/erlang/messenger/lib/eunit/examples/eunit_examples.erl +0 -339
  504. data/lib/erlang/messenger/lib/eunit/examples/fib.erl +0 -19
  505. data/lib/erlang/messenger/lib/eunit/examples/tests.txt +0 -1
  506. data/lib/erlang/messenger/lib/eunit/include/eunit.hrl +0 -313
  507. data/lib/erlang/messenger/lib/eunit/src/Makefile +0 -46
  508. data/lib/erlang/messenger/lib/eunit/src/autoload.erl +0 -388
  509. data/lib/erlang/messenger/lib/eunit/src/code_monitor.erl +0 -243
  510. data/lib/erlang/messenger/lib/eunit/src/eunit.app.src +0 -21
  511. data/lib/erlang/messenger/lib/eunit/src/eunit.appup.src +0 -1
  512. data/lib/erlang/messenger/lib/eunit/src/eunit.erl +0 -196
  513. data/lib/erlang/messenger/lib/eunit/src/eunit_autoexport.erl +0 -102
  514. data/lib/erlang/messenger/lib/eunit/src/eunit_data.erl +0 -798
  515. data/lib/erlang/messenger/lib/eunit/src/eunit_internal.hrl +0 -48
  516. data/lib/erlang/messenger/lib/eunit/src/eunit_lib.erl +0 -682
  517. data/lib/erlang/messenger/lib/eunit/src/eunit_proc.erl +0 -552
  518. data/lib/erlang/messenger/lib/eunit/src/eunit_serial.erl +0 -157
  519. data/lib/erlang/messenger/lib/eunit/src/eunit_server.erl +0 -340
  520. data/lib/erlang/messenger/lib/eunit/src/eunit_striptests.erl +0 -64
  521. data/lib/erlang/messenger/lib/eunit/src/eunit_test.erl +0 -334
  522. data/lib/erlang/messenger/lib/eunit/src/eunit_tests.erl +0 -45
  523. data/lib/erlang/messenger/lib/eunit/src/eunit_tty.erl +0 -272
  524. data/lib/erlang/messenger/lib/eunit/src/file_monitor.erl +0 -409
  525. data/lib/erlang/messenger/lib/eunit/sys.config +0 -9
  526. data/lib/erlang/messenger/lib/eunit/vsn.mk +0 -1
  527. data/lib/erlang/messenger/pm_client_rel-0.1.boot +0 -0
  528. data/lib/erlang/messenger/pm_client_rel-0.1.script +0 -238
  529. data/lib/erlang/messenger/pm_master_rel-0.1.boot +0 -0
  530. data/lib/erlang/messenger/pm_master_rel-0.1.script +0 -239
  531. data/lib/erlang/messenger/pm_node_rel-0.1.boot +0 -0
  532. data/lib/erlang/messenger/pm_node_rel-0.1.script +0 -237
  533. data/lib/erlang/messenger/src/client_app.erl +0 -39
  534. data/lib/erlang/messenger/src/client_server.erl +0 -60
  535. data/lib/erlang/messenger/src/master_app.erl +0 -39
  536. data/lib/erlang/messenger/src/node_app.erl +0 -39
  537. data/lib/erlang/messenger/src/pm_client.erl +0 -49
  538. data/lib/erlang/messenger/src/pm_client_supervisor.erl +0 -38
  539. data/lib/erlang/messenger/src/pm_cluster.erl +0 -61
  540. data/lib/erlang/messenger/src/pm_event_manager.erl +0 -27
  541. data/lib/erlang/messenger/src/pm_master.erl +0 -215
  542. data/lib/erlang/messenger/src/pm_master_event_handler.erl +0 -72
  543. data/lib/erlang/messenger/src/pm_master_supervisor.erl +0 -39
  544. data/lib/erlang/messenger/src/pm_node.erl +0 -200
  545. data/lib/erlang/messenger/src/pm_node_supervisor.erl +0 -38
  546. data/lib/erlang/messenger/src/pm_packager.erl +0 -76
  547. data/lib/erlang/messenger/src/pm_spawner.erl +0 -213
  548. data/lib/erlang/messenger/src/pm_strings.erl +0 -11
  549. data/lib/erlang/messenger/src/utils.erl +0 -73
  550. data/lib/erlang/messenger/useful_snippets +0 -17
  551. data/lib/poolparty/capistrano.rb +0 -18
  552. data/lib/poolparty/config/postlaunchmessage.txt +0 -5
  553. data/lib/poolparty/dependency_resolutions/base.rb +0 -12
  554. data/lib/poolparty/modules/configurable.rb +0 -36
  555. data/lib/poolparty/modules/method_missing_sugar.rb +0 -58
  556. data/lib/poolparty/monitors/monitors/cpu_monitor.rb +0 -15
  557. data/lib/poolparty/monitors/monitors/web_monitor.rb +0 -18
  558. data/lib/poolparty/net/messenger.rb +0 -72
  559. data/lib/poolparty/net/remote.rb +0 -38
  560. data/lib/poolparty/net/remote_bases/ec2.rb +0 -190
  561. data/lib/poolparty/net/remoter.rb +0 -343
  562. data/lib/poolparty/plugins/deploydirectory.rb +0 -71
  563. data/lib/poolparty/plugins/line.rb +0 -77
  564. data/lib/poolparty/plugins/rsyncmirror.rb +0 -26
  565. data/lib/poolparty/poolparty/custom_resource.rb +0 -45
  566. data/lib/poolparty/poolparty/resources/class_package.rb +0 -105
  567. data/lib/poolparty/poolparty/resources/conditional.rb +0 -67
  568. data/lib/poolparty/poolparty/resources/cron.rb +0 -14
  569. data/lib/poolparty/poolparty/resources/custom_service.rb +0 -30
  570. data/lib/poolparty/poolparty/resources/directory.rb +0 -26
  571. data/lib/poolparty/poolparty/resources/exec.rb +0 -28
  572. data/lib/poolparty/poolparty/resources/file.rb +0 -23
  573. data/lib/poolparty/poolparty/resources/gem_package.rb +0 -52
  574. data/lib/poolparty/poolparty/resources/host.rb +0 -14
  575. data/lib/poolparty/poolparty/resources/mount.rb +0 -22
  576. data/lib/poolparty/poolparty/resources/package.rb +0 -24
  577. data/lib/poolparty/poolparty/resources/remote_file.rb +0 -26
  578. data/lib/poolparty/poolparty/resources/service.rb +0 -21
  579. data/lib/poolparty/poolparty/resources/sshkey.rb +0 -23
  580. data/lib/poolparty/poolparty/resources/symlink.rb +0 -25
  581. data/lib/poolparty/poolparty/resources/variable.rb +0 -32
  582. data/lib/poolparty/provisioners/capistrano/capistrano.rb +0 -127
  583. data/lib/poolparty/provisioners/capistrano/capistrano_configurer.rb +0 -58
  584. data/lib/poolparty/provisioners/capistrano/recipies/base.rb +0 -104
  585. data/lib/poolparty/provisioners/capistrano/recipies/master.rb +0 -121
  586. data/lib/poolparty/provisioners/capistrano/recipies/slave.rb +0 -12
  587. data/lib/poolparty/provisioners/provisioner_base.rb +0 -204
  588. data/lib/poolparty/spec/core/string.rb +0 -16
  589. data/lib/poolparty/spec/matchers/a_spec_extensions_base.rb +0 -26
  590. data/lib/poolparty/spec/matchers/have_cron.rb +0 -28
  591. data/lib/poolparty/spec/matchers/have_deploydirectory.rb +0 -15
  592. data/lib/poolparty/spec/matchers/have_directory.rb +0 -31
  593. data/lib/poolparty/spec/matchers/have_exec.rb +0 -28
  594. data/lib/poolparty/spec/matchers/have_file.rb +0 -28
  595. data/lib/poolparty/spec/matchers/have_gempackage.rb +0 -28
  596. data/lib/poolparty/spec/matchers/have_git.rb +0 -28
  597. data/lib/poolparty/spec/matchers/have_host.rb +0 -28
  598. data/lib/poolparty/spec/matchers/have_mount.rb +0 -28
  599. data/lib/poolparty/spec/matchers/have_package.rb +0 -28
  600. data/lib/poolparty/spec/matchers/have_remotefile.rb +0 -28
  601. data/lib/poolparty/spec/matchers/have_rsyncmirror.rb +0 -28
  602. data/lib/poolparty/spec/matchers/have_service.rb +0 -28
  603. data/lib/poolparty/spec/matchers/have_sshkey.rb +0 -28
  604. data/lib/poolparty/spec/matchers/have_symlink.rb +0 -28
  605. data/lib/poolparty/spec/matchers/have_variable.rb +0 -32
  606. data/lib/poolparty/spec/spec/dynamic_matchers.rb +0 -63
  607. data/lib/poolparty/spec/spec/ensure_matchers_exist.rb +0 -7
  608. data/lib/poolparty/spec/templates/have_base.rb +0 -28
  609. data/lib/poolparty/templates/puppet.conf +0 -26
  610. data/lib/poolparty/templates/puppetcleaner +0 -12
  611. data/lib/poolparty/templates/puppetrerun +0 -22
  612. data/lib/poolparty/version.rb +0 -9
  613. data/lib/poolpartyspec.rb +0 -34
  614. data/log/pool.log +0 -0
  615. data/poolparty.gemspec +0 -580
  616. data/spec/poolparty/dependency_resolutions/base_spec.rb +0 -11
  617. data/spec/poolparty/modules/configurable_spec.rb +0 -29
  618. data/spec/poolparty/net/log/pool.log +0 -0
  619. data/spec/poolparty/net/messenger_spec.rb +0 -16
  620. data/spec/poolparty/plugins/svn_spec.rb +0 -16
  621. data/spec/poolparty/poolparty/custom_resource_spec.rb +0 -120
  622. data/spec/poolparty/poolparty/resources/class_package_spec.rb +0 -120
  623. data/spec/poolparty/poolparty/resources/conditional_spec.rb +0 -77
  624. data/spec/poolparty/poolparty/resources/cron_spec.rb +0 -50
  625. data/spec/poolparty/poolparty/resources/directory_spec.rb +0 -40
  626. data/spec/poolparty/poolparty/resources/exec_spec.rb +0 -37
  627. data/spec/poolparty/poolparty/resources/file_spec.rb +0 -40
  628. data/spec/poolparty/poolparty/resources/gem_spec.rb +0 -46
  629. data/spec/poolparty/poolparty/resources/host_spec.rb +0 -28
  630. data/spec/poolparty/poolparty/resources/package_spec.rb +0 -44
  631. data/spec/poolparty/poolparty/resources/remote_file_spec.rb +0 -40
  632. data/spec/poolparty/poolparty/resources/service_spec.rb +0 -45
  633. data/spec/poolparty/poolparty/resources/sshkey_spec.rb +0 -48
  634. data/spec/poolparty/poolparty/resources/symlink_spec.rb +0 -22
  635. data/spec/poolparty/poolparty/resources/user_spec.rb +0 -38
  636. data/spec/poolparty/poolparty/resources/variable_spec.rb +0 -24
  637. data/spec/poolparty/provisioners/capistrano/capistrano_spec.rb +0 -27
  638. data/spec/poolparty/provisioners/provisioner_base_spec.rb +0 -120
  639. data/spec/poolparty/spec/core/string_spec.rb +0 -57
  640. data/website/index.html +0 -107
  641. data/website/index.txt +0 -95
  642. data/website/stylesheets/code.css +0 -29
@@ -4,8 +4,8 @@ require File.dirname(__FILE__) + '/../test_plugins/webserver'
4
4
  describe "Configurer" do
5
5
  before(:each) do
6
6
  reset!
7
- @basic = read_file(File.join(File.dirname(__FILE__), "files", "ruby_basic.rb"))
8
- Script.inflate @basic
7
+ @basic = File.join(File.dirname(__FILE__), "files", "ruby_basic.rb")
8
+ PoolParty::Pool::Pool.load_from_file @basic
9
9
  @conf = Object.new
10
10
  end
11
11
  it "should not be nil" do
@@ -16,25 +16,13 @@ describe "Configurer" do
16
16
  before(:each) do
17
17
  @s = Script.new
18
18
  Script.stub!(:new).and_return(@s)
19
- @basic = read_file(File.join(File.dirname(__FILE__), "files", "ruby_basic.rb"))
20
- end
21
- it "should load the basic example configure" do
22
- @s.should_receive(:inflate).and_return true
23
- end
24
- it "should call inflate on the pools" do
25
- @s.pools.each {|a,b| b.should_receive(:inflate).and_return true }
26
- end
27
- describe "pool" do
28
- before(:each) do
29
- Script.inflate @basic
30
- @pool = pool(:poolpartyrb)
31
- end
19
+ @basic = File.join(File.dirname(__FILE__), "files", "ruby_basic.rb")
32
20
  end
33
21
  describe "clouds" do
34
22
  before(:each) do
35
23
  reset!
36
- Script.inflate @basic
37
- @cloud = pool(:poolpartyrb).cloud(:app)
24
+ PoolParty::Pool::Pool.load_from_file @basic
25
+ @cloud = clouds[:app]
38
26
  end
39
27
  it "should contain a list of the clouds within the pool (:app)" do
40
28
  @cloud.should_not be_nil
@@ -43,16 +31,12 @@ describe "Configurer" do
43
31
  @cloud.minimum_instances.should == 1
44
32
  end
45
33
  it "should set the maximum instances on the :app cloud" do
46
- @cloud.maximum_instances.should == 1
34
+ @cloud.maximum_instances.should == 5
47
35
  end
48
36
  it "should set the keypair name on the :app cloud too" do
49
- @cloud.keypair.should == "name"
37
+ @cloud.keypair.to_s.should =~ /id_rsa/
50
38
  end
51
39
  end
52
-
53
- after do
54
- Script.inflate @basic
55
- end
56
40
  end
57
41
 
58
42
  end
@@ -1,53 +1,56 @@
1
1
  require File.dirname(__FILE__) + '/../spec_helper'
2
2
 
3
- describe "Base" do
3
+ describe "Default" do
4
4
  before(:each) do
5
5
  # To clear out the instance variables just in case
6
- Base.instance_eval do
6
+ Default.instance_eval do
7
7
  @access_key = @secret_access_key = nil
8
8
  end
9
+ ENV.stub!(:[]).with("HOME").and_return "/home"
9
10
  ENV.stub!(:[]).with("AWS_ACCESS_KEY").and_return "KEY"
11
+ ENV.stub!(:[]).with("AWS_ACCESS_KEY_ID").and_return nil
10
12
  ENV.stub!(:[]).with("AWS_SECRET_ACCESS_KEY").and_return "SECRET"
11
13
  end
12
14
  it "should set the user to root" do
13
- Base.user.should == "root"
15
+ Default.user.should == "root"
14
16
  end
15
17
  it "should set the base keypair path to $HOME/.ec2" do
16
- Base.base_keypair_path.should =~ /\.ec2/
18
+ Default.base_keypair_path.should =~ /\.ec2/
17
19
  end
18
20
  it "should set the storage_directory to the tmp directory of the current working directory" do
19
- Base.storage_directory.should =~ /tmp/
21
+ # Default.storage_directory.should =~ /var\/poolparty/
22
+ pending
23
+ end
24
+ it "should have the vendor_path" do
25
+ ::File.expand_path(Default.vendor_path).should =~ /\/vendor/
20
26
  end
21
27
  it "should set the tmp path to tmp" do
22
- Base.tmp_path.should == "/tmp/poolparty"
28
+ Default.tmp_path.should == "/tmp/poolparty"
23
29
  end
24
30
  it "should set the remote storage path to /var/poolparty" do
25
- Base.remote_storage_path.should == "/var/poolparty"
26
- end
27
- it "should set the fileserver_base to puppet://" do
28
- Base.fileserver_base.should =~ /puppet:\/\//
31
+ Default.remote_storage_path.should == "/var/poolparty"
29
32
  end
30
- it "should have an access key" do
31
- Base.access_key.should == "KEY"
33
+ it "should have an access key" do
34
+ Default.access_key.should == "KEY"
32
35
  end
33
36
  it "should have a secret access key" do
34
- Base.secret_access_key.should == "SECRET"
37
+ Default.secret_access_key.should == "SECRET"
35
38
  end
36
39
  describe "keys" do
37
40
  it "should have an array of key_file_locations" do
38
- Base.key_file_locations.class.should == Array
41
+ Default.key_file_locations.class.should == Array
39
42
  end
40
43
  it "should test if the files exist when looking for the file" do
41
44
  ::File.stub!(:file?).and_return false
42
45
  ::File.stub!(:file?).with("ppkeys").and_return true
43
- Base.get_working_key_file_locations.should == "ppkeys"
46
+ Default.get_working_key_file_locations.should == "ppkeys"
44
47
  end
45
48
  it "should call get_working_key_file_locations" do
46
49
  @str = "foo"
47
50
  @str.stub!(:read).and_return true
48
- Base.stub!(:open).and_return @str
49
- Base.should_receive(:get_working_key_file_locations)
50
- Base.read_keyfile
51
+ Default.stub!(:open).and_return @str
52
+ Default.should_receive(:get_working_key_file_locations)
53
+ Default.read_keyfile
51
54
  end
52
55
  describe "with keyfile" do
53
56
  before(:each) do
@@ -56,39 +59,39 @@ describe "Base" do
56
59
  :access_key: KEY
57
60
  :secret_access_key: SECRET"
58
61
  @keyfile.stub!(:read).and_return @str
59
- Base.stub!(:get_working_key_file_locations).and_return @keyfile
60
- Base.stub!(:read_keyfile).and_return @str
61
- Base.stub!(:open).and_return @str
62
- Base.reset!
62
+ Default.stub!(:get_working_key_file_locations).and_return @keyfile
63
+ Default.stub!(:read_keyfile).and_return @str
64
+ Default.stub!(:open).and_return @str
65
+ Default.reset!
63
66
  end
64
67
  it "should call YAML::load on the working key file" do
65
68
  YAML.should_receive(:load).with(@str)
66
- Base.load_keys_from_file
69
+ Default.load_keys_from_file
67
70
  end
68
71
  it "should return a hash" do
69
- Base.load_keys_from_file.class.should == Hash
72
+ Default.load_keys_from_file.class.should == Hash
70
73
  end
71
74
  it "should be able to fetch the access key from the loaded keys" do
72
- Base.load_keys_from_file[:access_key].should == "KEY"
75
+ Default.load_keys_from_file[:access_key].should == "KEY"
73
76
  end
74
77
  it "should be able to fetch the secret_access_key from the loaded key file" do
75
- Base.load_keys_from_file[:secret_access_key].should == "SECRET"
78
+ Default.load_keys_from_file[:secret_access_key].should == "SECRET"
76
79
  end
77
80
  describe "without keyfile" do
78
81
  before(:each) do
79
- Base.stub!(:get_working_key_file_locations).and_return nil
80
- Base.instance_eval do
82
+ Default.stub!(:get_working_key_file_locations).and_return nil
83
+ Default.instance_eval do
81
84
  @access_key = @secret_access_key = nil
82
85
  end
83
86
  ENV.stub!(:[]).with("AWS_ACCESS_KEY").and_return nil
84
87
  ENV.stub!(:[]).with("AWS_SECRET_ACCESS_KEY").and_return nil
85
- Base.reset!
88
+ Default.reset!
86
89
  end
87
90
  it "should render the access_key nil" do
88
- Base.access_key.should == nil
91
+ Default.access_key.should == nil
89
92
  end
90
93
  it "should render the secret_access_key as nil" do
91
- Base.secret_access_key.should == nil
94
+ Default.secret_access_key.should == nil
92
95
  end
93
96
  end
94
97
  describe "store_keys_in_file_for" do
@@ -96,15 +99,15 @@ describe "Base" do
96
99
  @obj = Class.new
97
100
  @obj.stub!(:access_key).and_return "MYACCESSKEY"
98
101
  @obj.stub!(:secret_access_key).and_return "MYSECRETACCESSKEY"
99
- Base.stub!(:store_keys_in_file).and_return true
102
+ Default.stub!(:store_keys_in_file).and_return true
100
103
 
101
- Base.store_keys_in_file_for(@obj)
104
+ Default.store_keys_in_file_for(@obj)
102
105
  end
103
106
  it "should take the access key from the object" do
104
- Base.access_key.should == "MYACCESSKEY"
107
+ Default.access_key.should == "MYACCESSKEY"
105
108
  end
106
109
  it "should take the secret_access_key from the object" do
107
- Base.secret_access_key.should == "MYSECRETACCESSKEY"
110
+ Default.secret_access_key.should == "MYSECRETACCESSKEY"
108
111
  end
109
112
  end
110
113
  end
@@ -114,10 +117,10 @@ describe "Base" do
114
117
  @pk = "SECRET"
115
118
  @str = "weee"
116
119
  @hash = {:access_key => @ak, :secret_access_key => @pk}
117
- Base.stub!(:access_key).and_return @ak
118
- Base.stub!(:secret_access_key).and_return @pk
119
- Base.stub!(:write_to_file).and_return true
120
- Base.stub!(:key_file_locations).and_return ["ppkey"]
120
+ Default.stub!(:access_key).and_return @ak
121
+ Default.stub!(:secret_access_key).and_return @pk
122
+ Default.stub!(:write_to_file).and_return true
123
+ Default.stub!(:key_file_locations).and_return ["ppkey"]
121
124
  end
122
125
  # it "should call access_key.nil?" do
123
126
  # @ak.should_receive(:nil?).once.and_return true
@@ -126,10 +129,10 @@ describe "Base" do
126
129
  YAML.should_receive(:dump).and_return @str
127
130
  end
128
131
  it "should call write_to_file with the key file location" do
129
- Base.should_receive(:write_to_file).with("ppkey", YAML::dump(@hash)).and_return true
132
+ Default.should_receive(:write_to_file).with("ppkey", YAML::dump(@hash)).and_return true
130
133
  end
131
134
  after(:each) do
132
- Base.store_keys_in_file
135
+ Default.store_keys_in_file
133
136
  end
134
137
  end
135
138
  end
@@ -3,26 +3,58 @@ require "open-uri"
3
3
 
4
4
  describe "basic" do
5
5
  before(:each) do
6
- @example_dir = ::File.join(::File.dirname(__FILE__), "..", "..", "..", "examples")
7
- reset!
8
- PoolParty::Script.inflate open(@example_dir + "/basic.rb").read
6
+ PoolParty.reset!
7
+ @example_spec_file = ::File.join(::File.dirname(__FILE__), "..", "..", "..", "examples", 'basic.rb')
8
+ PoolParty::Pool::Pool.load_from_file(@example_spec_file)
9
+ @db = clouds[:basic_db]
10
+ @app = clouds[:basic_app]
9
11
  end
10
12
  it "should have one pool called :app" do
11
- pool(:app).should_not be_nil
13
+ pool(:application).should_not == nil
14
+ pools[:application].should_not == nil
12
15
  end
13
16
  it "should have a cloud called :app" do
14
- pool(:app).cloud(:app).should_not be_nil
17
+ clouds[:basic_app].should_not == nil
15
18
  end
16
19
  it "should have a cloud called :db" do
17
- pool(:app).cloud(:db).should_not be_nil
20
+ pools[:application].clouds[:basic_db].should_not == nil
18
21
  end
19
- it "should set the minimum_instances on the cloud to 2 (overriding the pool options)" do
20
- pool(:app).cloud(:app).minimum_instances.should == 2
22
+ it "should set the minimum_instances on the cloud to 2 (overriding the pool options)" do
23
+ pools[:application].minimum_instances.should == 3
24
+ clouds[:basic_app].minimum_instances.should == 12
21
25
  end
22
- it "should set the maximum_instances on the cloud to 5" do
23
- pool(:app).cloud(:app).maximum_instances.should == 5
26
+ it "should set the maximum_instances on the cloud to 50" do
27
+ clouds[:basic_app].maximum_instances.should == 50
24
28
  end
25
29
  it "should set the minimum_instances on the db cloud to 3" do
26
- pool(:app).cloud(:db).minimum_instances.should == 3
30
+ clouds[:basic_db].minimum_instances.should == 19
31
+ clouds[:basic_app].minimum_instances.should == 12
32
+ pools[:application].minimum_instances.should ==3
33
+ end
34
+ it "should set ambiguous methods on the cloud" do
35
+ clouds[:basic_app].junk_yard_dogs.should == "pains"
36
+ clouds[:basic_db].junk_yard_dogs.should == "are bad"
37
+ end
38
+ it "should set the parent to the pool" do
39
+ clouds[:basic_app].parent.should == pools[:application]
40
+ clouds[:basic_db].parent.should == pools[:application]
41
+ clouds[:basic_db].parent.should_not == pools[:app]
42
+ end
43
+ it "should have the keypair matching /auser/on the db cloud " do
44
+ clouds[:basic_db]._keypairs.select{|a| a.filepath.match(/auser/)}
45
+ end
46
+ it "cloud should know what remoter base it is using" do
47
+ clouds[:basic_db].remote_base.class.should == PoolParty::Remote::Ec2
48
+ end
49
+ it "cloud should have methods from the remoter base available" do
50
+ clouds[:basic_db].remote_base.should_receive(:describe_instances).and_return({})
51
+ clouds[:basic_db].describe_instances.should == {}
52
+ end
53
+ it "should not return nil to undefined methods" do
54
+ lambda {clouds[:basic_db].not_a_method_that_exists_anywhere}.should raise_error
55
+ end
56
+ it "should have the keypair set for the specific cloud on top of the keypair stack" do
57
+ #I think this should be the behavior. mf
58
+ # pools[:application].clouds[:basic_db].keypairs.last.filepath.should_match(/auser/)
27
59
  end
28
60
  end
@@ -0,0 +1,42 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ describe "Key" do
4
+ it "be able to be instantiated with a keyfile" do
5
+ lambda {Key.new("file")}.should_not raise_error
6
+ end
7
+ it "should fill in the filepath as id_rsa if no filelocation is given" do
8
+ Key.new.filepath.should == "id_rsa"
9
+ end
10
+ it "should provide valid to_json" do
11
+ lambda {Key.new("file").to_json}.should_not raise_error end
12
+ describe "that exists" do
13
+ before(:each) do
14
+ @keypair = "/var/home/id_rsa"
15
+ ::File.stub!(:file?).with(@keypair).and_return true
16
+ ::File.stub!(:expand_path).with(@keypair).and_return @keypair
17
+
18
+ @key = Key.new(@keypair)
19
+ end
20
+ it "say that the key exists" do
21
+ @key.exists?.should == true
22
+ end
23
+ end
24
+ describe "that is not a full filepath name" do
25
+ before(:each) do
26
+ @keypair = "sshkey_test"
27
+ Dir.stub!(:pwd).and_return "#{::File.dirname(__FILE__)}/test_plugins"
28
+
29
+ @key = Key.new(@keypair)
30
+ end
31
+ it "should search in known locations for the key" do
32
+ @key.should_receive(:search_in_known_locations).and_return nil
33
+ @key.full_filepath
34
+ end
35
+ it "return the full filepath when the key exists (checking last possible Dir.pwd)" do
36
+ @key.full_filepath.should =~ /sshkey_test/
37
+ end
38
+ it "should return the content of the keyfile when requested" do
39
+ @key.content.should == "-- THIS IS A TEST SSH KEY FILE --\n\n"
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,65 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ include PoolParty
4
+
5
+ describe "Neighborhoods" do
6
+ it "should have a constant: Neighborhoods" do
7
+ Object.const_get("Neighborhoods").should == PoolParty::Neighborhoods
8
+ end
9
+ it "should set the schema when starting with a json string (or a hash)" do
10
+ n = Neighborhoods.new({:instances => "b"})
11
+ n.schema.nil?.should == false
12
+ n.schema.class.should == PoolParty::Schema
13
+ end
14
+ it "should raise an error if a new Neighborhood is created with a nil parameter" do
15
+ lambda {Neighborhoods.new}.should raise_error
16
+ end
17
+ it "should raise an error if there are no instances defined in the json" do
18
+ lambda {Neighborhoods.new({:a => "b"})}.should raise_error
19
+ end
20
+ it "should not raise a fit if there ARE instances defined" do
21
+ lambda{Neighborhoods.new({:instances => ["10.0.0.1"]})}.should_not raise_error
22
+ end
23
+ it "should return an instance ip when calling for the first instance" do
24
+ n = Neighborhoods.new(sample_instances_list)
25
+ n.instances.first.ip.should == "127.0.0.1"
26
+ n.instances[1].ip.should == "127.0.0.2"
27
+ end
28
+ it "should return an instance ip when calling for the [0] instance" do
29
+ n = Neighborhoods.new(sample_instances_list)
30
+ n[0].ip.should == "127.0.0.1"
31
+ n[1].ip.should == "127.0.0.2"
32
+ end
33
+ it "should be able to try to save the instances into a json file" do
34
+ filepath = "/tmp/poolparty/neighborhood.json"
35
+ ::File.should_receive(:open).with(filepath, "w").and_return true
36
+ Neighborhoods.new(sample_instances_list).clump(filepath)
37
+ end
38
+ it "should be able to try to save the instances (class method) into a json file" do
39
+ filepath = "/tmp/poolparty/neighborhood.json"
40
+ ::File.should_receive(:open).with(filepath, "w").and_return true
41
+ Neighborhoods.clump(sample_instances_list,filepath)
42
+ end
43
+ it "should load from the default properly with the first's instance's ip" do
44
+ str = "[{\"instance_id\":\"master\",\"launching_time\":\"2009/03/26 01:06:18 -0700\",\"ip\":\"127.0.0.1\"},{\"instance_id\":\"node1\",\"launching_time\":\"2009/03/26 01:06:18 -0700\",\"ip\":\"127.0.0.2\"}]"
45
+ ::File.should_receive(:file?).with("/etc/poolparty/neighborhood.json").and_return true
46
+ ::File.stub!(:file?).and_return false
47
+
48
+ str.stub!(:read).and_return str
49
+ Neighborhoods.should_receive(:open).with("/etc/poolparty/neighborhood.json").and_return str
50
+
51
+ n = Neighborhoods.load_default
52
+ n[0].ip.should == "127.0.0.1"
53
+ end
54
+ context "load_default" do
55
+ it "should try to look in the paths to see if the neighborhood file exists" do
56
+ ::File.should_receive(:file?).with("/etc/poolparty/neighborhood.json").and_return true
57
+ ::File.stub!(:file?).and_return false
58
+ @file = sample_instances_list
59
+ @file.stub!(:read).and_return @file
60
+ Neighborhoods.should_receive(:open).with("/etc/poolparty/neighborhood.json").and_return @file
61
+ n = Neighborhoods.load_default
62
+ n.instances.first.ip.should == "127.0.0.1"
63
+ end
64
+ end
65
+ end
@@ -1,54 +1,44 @@
1
1
  require File.dirname(__FILE__) + '/../spec_helper'
2
- include PoolParty::Resources
3
2
  require File.dirname(__FILE__) + '/test_plugins/webserver'
4
3
 
5
4
  describe "Plugin" do
6
- before(:each) do
7
- @p = pool :poolpartyrb do
8
- cloud :app do
9
- apache do
10
- enable_php
11
- site("heady", {
12
- :document_root => "/root"
13
- })
14
- end
5
+ before(:each) do
6
+ @c = cloud :test_plugin_model_cloud do
7
+ apachetest do
8
+ enable_php
9
+ site("heady", {
10
+ :document_root => "/root"
11
+ })
15
12
  end
16
13
  end
17
- @c = @p.cloud(:app)
18
14
  end
19
15
  describe "methods should include" do
20
16
  it "register_plugin(plugin)" do;WebServers.respond_to?(:register_plugin).should == true;end
21
17
  end
22
18
  describe "registered" do
23
19
  before(:each) do
24
- @plugin = "apache".class_constant.new(@c)
20
+ @plugin = @c.apachetest
25
21
  end
26
22
  describe "storage" do
27
- it "should store the plugin in a Hash on the pool" do
28
- @c.plugins.class.should == Hash
29
- end
30
23
  it "should be able to retrieve the plugin as a name" do
31
- @c.plugin("apache").should_not be_nil
24
+ @c.plugin("apachetest").should_not be_nil
32
25
  end
33
26
  end
27
+ it "be of the class apachetesttestClass on the Kernel" do
28
+ @plugin.class.should == Kernel::ApachetestClass
29
+ end
34
30
  it "should store the regsitered plugins in an array" do
35
31
  @plugin.should_not be_nil
36
32
  end
37
- it "should set the pool on the plugin" do
38
- @plugin.parent.should == @c
39
- end
40
33
  it "should have the plugin name as a method on the cloud " do
41
- @c.respond_to?(:apache).should == true
34
+ @c.respond_to?(:apachetest).should == true
42
35
  end
43
36
  describe "methods" do
44
- before(:each) do
45
- reset!
46
- end
47
37
  it "should call the enable_php method when in the defininition of the cloud" do
48
38
  @plugin.respond_to?(:enable_php).should == true
49
39
  end
50
40
  it "should call php = true in the enable_php" do
51
- @plugin.php.should_not == true
41
+ @plugin.php?.should == false
52
42
  @plugin.enable_php
53
43
  @plugin.php.should == true
54
44
  end
@@ -4,109 +4,38 @@ include PoolParty::Resources
4
4
  require File.dirname(__FILE__) + '/test_plugins/webserver'
5
5
 
6
6
  describe "Plugin" do
7
- before(:each) do
8
- reset_resources!
9
- end
10
7
  describe "wrapped" do
11
8
  before(:each) do
12
9
  reset!
13
- pool :poolpartyrb do
14
- cloud :app do
15
- apache do
16
- enable_php
17
- site("heady", {
18
- :document_root => "/root"
19
- })
20
- end
21
- end
22
- end
23
- @p = pool :poolpartyrb
24
- @c = @p.cloud(:app)
25
- end
26
-
27
- it "should allow access to the pool on the cloud" do
28
- @c.parent.should == @p
29
- end
30
- describe "instance" do
31
- before(:each) do
32
- @plugin = @c.apache
33
- end
34
- it "should not be empty" do
35
- @plugin.class.should == PoolPartyApacheClass
36
- end
37
- it "should have access to the cloud's container" do
38
- @plugin.parent.should == @c
39
- end
40
- it "should have enable_php as a method" do
41
- @plugin.respond_to?(:enable_php).should == true
42
- end
43
- describe "after eval'ing" do
44
- before(:each) do
45
- @plugin.instance_eval do
46
- enable_php
47
- has_gempackage(:name => "aska")
48
- end
49
- end
50
- it "should call enable_php on the class" do
51
- @plugin.php.should == true
52
- end
53
- it "should have resources attached to it" do
54
- @plugin.resources.class.should == Hash
55
- end
56
- it "should have an array of gem resources" do
57
- @plugin.resource(:gempackage).class.should == Array
58
- end
59
- it "should have 1 gem in the resources defined" do
60
- @plugin.resource(:gempackage).size.should == 1
61
- end
62
- it "should have the gem named aska in the gem resource" do
63
- @plugin.get_resource(:gempackage, "aska").name.should == "aska"
10
+ cloud :app_for_plugin do
11
+ apachetest do
12
+ enable_php
13
+ site("heady", {
14
+ :document_root => "/root"
15
+ })
64
16
  end
65
- it "should have its resources visible to its parent" do
66
- @plugin.parent = @c
67
- @c.resources
68
- end
69
- end
70
- describe "before eval'ing" do
71
- before(:each) do
72
- reset!
73
- @plugin = "apache".class_constant.new(@c)
74
- end
75
- it "should call has_line_in_file" do
76
- @plugin.should_receive(:php).and_return true
77
- end
78
- it "should call site" do
79
- @plugin.should_receive(:site).with("frank").and_return true
80
- end
81
- after do
82
- @plugin.instance_eval do
83
- enable_php
84
- site("frank")
85
- end
17
+ apachetest do
18
+ site("boob")
86
19
  end
87
20
  end
21
+ @plugin = clouds[:app_for_plugin].apachetest
88
22
  end
89
- describe "DSL" do
90
- it "should have a cloud method from within the plugin" do
91
- @plugin.respond_to?(:cloud).should == true
92
- end
93
- it "should get a hold of the containing cloud" do
94
- @plugin.cloud.should == @c
95
- end
96
- describe "enable" do
97
- before(:each) do
98
- reset!
99
- @plugin = PoolParty::Plugin::Plugin.new
100
- Kernel::PoolPartyApacheClass.stub!(:new).and_return @plugin
101
- end
102
- it "should call enable on calling realize! when there is no block included" do
103
- @plugin.should_receive(:enable).at_least(1).and_return true
104
- @cloud = cloud :app do
105
- apache
106
- end
107
- @cloud.realize_plugins!
108
- end
109
- end
23
+ it "should not be empty" do
24
+ clouds[:app_for_plugin].apachetest.class.should == ApachetestClass
25
+ end
26
+ it "should set loaded == true" do
27
+ clouds[:app_for_plugin].apachetest.loaded.should == true
28
+ end
29
+ it "should have enable_php as a method" do
30
+ ApachetestClass.new.respond_to?(:enable_php).should == true
31
+ end
32
+ it "should set enable_php" do
33
+ @plugin.enable_php.should == true
34
+ end
35
+ it "should store the plugin in the clouds plugin_store" do
36
+ clouds[:app_for_plugin].plugin_store[-2].class.should == @plugin.class
37
+ clouds[:app_for_plugin].apachetest
38
+ clouds[:app_for_plugin].plugin_store[-2].class.should == @plugin.class
110
39
  end
111
40
  end
112
41
  end
@@ -36,7 +36,9 @@ describe "Pool" do
36
36
  plugin_directory "yaway"
37
37
  end
38
38
  end
39
- it "should call Dir when the plugin directory is set" do
39
+ it "should call Dir when the plugin directory is set" do
40
+ ::File.should_receive(:directory?).with("yaway").once.and_return true
41
+ ::File.stub!(:directory?).and_return(false)
40
42
  Dir.should_receive(:[]).with("yaway/*/*.rb").once.and_return []
41
43
  end
42
44
  end