selenium-rspec-dsl 1.0.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 (236) hide show
  1. data/common/shared/common.rb +167 -0
  2. data/config/aggregate_reports.rb +124 -0
  3. data/config/array_extension.rb +13 -0
  4. data/config/multi_process_behaviour_runner.rb +50 -0
  5. data/config/selenium-setup.rb +32 -0
  6. data/config/site_config.rb +8 -0
  7. data/sites/button.rb +31 -0
  8. data/sites/buttonAjax.rb +14 -0
  9. data/sites/buttonJQuery.rb +26 -0
  10. data/sites/buttonMultiWindow.rb +99 -0
  11. data/sites/buttonNonLoad.rb +11 -0
  12. data/sites/checkbox.rb +22 -0
  13. data/sites/checkboxExtjs.rb +10 -0
  14. data/sites/checkboxGwt.rb +24 -0
  15. data/sites/dropdown.rb +28 -0
  16. data/sites/dropdownAjax.rb +40 -0
  17. data/sites/dropdownExtjs.rb +32 -0
  18. data/sites/dropdownJQuery.rb +40 -0
  19. data/sites/dropdownLoad.rb +25 -0
  20. data/sites/element.rb +172 -0
  21. data/sites/form.rb +7 -0
  22. data/sites/image.rb +7 -0
  23. data/sites/label.rb +32 -0
  24. data/sites/link.rb +32 -0
  25. data/sites/linkMultiWindow.rb +160 -0
  26. data/sites/linkNonLoad.rb +11 -0
  27. data/sites/listbox.rb +16 -0
  28. data/sites/page.rb +16 -0
  29. data/sites/panel.rb +7 -0
  30. data/sites/radiobutton.rb +10 -0
  31. data/sites/tabPanel.rb +7 -0
  32. data/sites/table.rb +48 -0
  33. data/sites/tableExtjs.rb +42 -0
  34. data/sites/test/googleResults_screen.rb +15 -0
  35. data/sites/test/googleSearch_screen.rb +27 -0
  36. data/sites/textbox.rb +16 -0
  37. data/sites/tree.rb +7 -0
  38. data/sites/treeGwt.rb +32 -0
  39. data/spec/spec.opts +6 -0
  40. data/spec/spec_helper.rb +40 -0
  41. data/spec/test/testPass_spec.rb +36 -0
  42. data/spec/test/testPending_spec.rb +13 -0
  43. data/vendor/selenium-client-1.2.17/README.markdown +328 -0
  44. data/vendor/selenium-client-1.2.17/examples/rspec/google_spec.rb +41 -0
  45. data/vendor/selenium-client-1.2.17/examples/script/google.rb +25 -0
  46. data/vendor/selenium-client-1.2.17/examples/testunit/google_test.rb +39 -0
  47. data/vendor/selenium-client-1.2.17/lib/nautilus/shell.rb +32 -0
  48. data/vendor/selenium-client-1.2.17/lib/selenium.rb +14 -0
  49. data/vendor/selenium-client-1.2.17/lib/selenium/client.rb +27 -0
  50. data/vendor/selenium-client-1.2.17/lib/selenium/client/base.rb +118 -0
  51. data/vendor/selenium-client-1.2.17/lib/selenium/client/driver.rb +11 -0
  52. data/vendor/selenium-client-1.2.17/lib/selenium/client/extensions.rb +118 -0
  53. data/vendor/selenium-client-1.2.17/lib/selenium/client/generated_driver.rb +1711 -0
  54. data/vendor/selenium-client-1.2.17/lib/selenium/client/idiomatic.rb +488 -0
  55. data/vendor/selenium-client-1.2.17/lib/selenium/client/javascript_expression_builder.rb +116 -0
  56. data/vendor/selenium-client-1.2.17/lib/selenium/client/javascript_frameworks/jquery.rb +13 -0
  57. data/vendor/selenium-client-1.2.17/lib/selenium/client/javascript_frameworks/prototype.rb +13 -0
  58. data/vendor/selenium-client-1.2.17/lib/selenium/client/protocol.rb +96 -0
  59. data/vendor/selenium-client-1.2.17/lib/selenium/client/selenium_helper.rb +34 -0
  60. data/vendor/selenium-client-1.2.17/lib/selenium/command_error.rb +4 -0
  61. data/vendor/selenium-client-1.2.17/lib/selenium/protocol_error.rb +4 -0
  62. data/vendor/selenium-client-1.2.17/lib/selenium/rake/default_tasks.rb +16 -0
  63. data/vendor/selenium-client-1.2.17/lib/selenium/rake/remote_control_start_task.rb +70 -0
  64. data/vendor/selenium-client-1.2.17/lib/selenium/rake/remote_control_stop_task.rb +44 -0
  65. data/vendor/selenium-client-1.2.17/lib/selenium/rake/tasks.rb +6 -0
  66. data/vendor/selenium-client-1.2.17/lib/selenium/remote_control/remote_control.rb +33 -0
  67. data/vendor/selenium-client-1.2.17/lib/selenium/rspec/reporting/file_path_strategy.rb +78 -0
  68. data/vendor/selenium-client-1.2.17/lib/selenium/rspec/reporting/html_report.rb +123 -0
  69. data/vendor/selenium-client-1.2.17/lib/selenium/rspec/reporting/selenium_test_report_formatter.rb +87 -0
  70. data/vendor/selenium-client-1.2.17/lib/selenium/rspec/reporting/system_capture.rb +72 -0
  71. data/vendor/selenium-client-1.2.17/lib/selenium/rspec/rspec_extensions.rb +96 -0
  72. data/vendor/selenium-client-1.2.17/lib/selenium/rspec/spec_helper.rb +35 -0
  73. data/vendor/selenium-client-1.2.17/lib/tcp_socket_extension.rb +32 -0
  74. data/vendor/selenium-client-1.2.17/test/all_unit_tests.rb +3 -0
  75. data/vendor/selenium-grid-1.0.4/Capfile +107 -0
  76. data/vendor/selenium-grid-1.0.4/README +10 -0
  77. data/vendor/selenium-grid-1.0.4/Rakefile +190 -0
  78. data/vendor/selenium-grid-1.0.4/build.xml +182 -0
  79. data/vendor/selenium-grid-1.0.4/doc/resources/Multiple Environments Demo Setup.svg +518 -0
  80. data/vendor/selenium-grid-1.0.4/doc/resources/Multiple Machine Demo Setup.svg +371 -0
  81. data/vendor/selenium-grid-1.0.4/doc/resources/Rakefile +18 -0
  82. data/vendor/selenium-grid-1.0.4/doc/resources/Requesting a Specific Environment.svg +576 -0
  83. data/vendor/selenium-grid-1.0.4/doc/resources/Selenium Grid Setup.svg +539 -0
  84. data/vendor/selenium-grid-1.0.4/doc/resources/Selenium Grid.css +68 -0
  85. data/vendor/selenium-grid-1.0.4/doc/resources/Traditional Selenium Setup.svg +295 -0
  86. data/vendor/selenium-grid-1.0.4/doc/website/Rakefile +37 -0
  87. data/vendor/selenium-grid-1.0.4/doc/website/diagrams/Multiple Environment Demo Setup - Small.png +0 -0
  88. data/vendor/selenium-grid-1.0.4/doc/website/diagrams/Multiple Environment Demo Setup.png +0 -0
  89. data/vendor/selenium-grid-1.0.4/doc/website/diagrams/Multiple Machine Demo Setup - Small.png +0 -0
  90. data/vendor/selenium-grid-1.0.4/doc/website/diagrams/Multiple Machine Demo Setup.png +0 -0
  91. data/vendor/selenium-grid-1.0.4/doc/website/diagrams/Requesting a Specific Environment - Small.png +0 -0
  92. data/vendor/selenium-grid-1.0.4/doc/website/diagrams/Requesting a Specific Environment.png +0 -0
  93. data/vendor/selenium-grid-1.0.4/doc/website/diagrams/Selenium Grid Logo.graffle +1015 -0
  94. data/vendor/selenium-grid-1.0.4/doc/website/diagrams/Selenium Grid Setup - Small.png +0 -0
  95. data/vendor/selenium-grid-1.0.4/doc/website/diagrams/Selenium Grid Setup.png +0 -0
  96. data/vendor/selenium-grid-1.0.4/doc/website/diagrams/Traditional Selenium Setup - Small.png +0 -0
  97. data/vendor/selenium-grid-1.0.4/doc/website/diagrams/Traditional Selenium Setup.png +0 -0
  98. data/vendor/selenium-grid-1.0.4/doc/website/faq.markdown +686 -0
  99. data/vendor/selenium-grid-1.0.4/doc/website/images/ant_version_osx_screenshot.png +0 -0
  100. data/vendor/selenium-grid-1.0.4/doc/website/images/ant_version_win_screenshot.png +0 -0
  101. data/vendor/selenium-grid-1.0.4/doc/website/images/background_better.png +0 -0
  102. data/vendor/selenium-grid-1.0.4/doc/website/images/background_feedback.png +0 -0
  103. data/vendor/selenium-grid-1.0.4/doc/website/images/background_participate.png +0 -0
  104. data/vendor/selenium-grid-1.0.4/doc/website/images/background_start_tracks.png +0 -0
  105. data/vendor/selenium-grid-1.0.4/doc/website/images/background_started.png +0 -0
  106. data/vendor/selenium-grid-1.0.4/doc/website/images/check_path_osx_screenshot.png +0 -0
  107. data/vendor/selenium-grid-1.0.4/doc/website/images/check_path_win_screenshot.png +0 -0
  108. data/vendor/selenium-grid-1.0.4/doc/website/images/dot_profile_editing_osx_screenshot.png +0 -0
  109. data/vendor/selenium-grid-1.0.4/doc/website/images/dot_profile_osx_screenshot.png +0 -0
  110. data/vendor/selenium-grid-1.0.4/doc/website/images/install/linux/linux-ant-install.png +0 -0
  111. data/vendor/selenium-grid-1.0.4/doc/website/images/install/linux/linux-ant-profile-update.png +0 -0
  112. data/vendor/selenium-grid-1.0.4/doc/website/images/install/linux/linux-ant-verify.png +0 -0
  113. data/vendor/selenium-grid-1.0.4/doc/website/images/install/linux/linux-ant-version.png +0 -0
  114. data/vendor/selenium-grid-1.0.4/doc/website/images/install/linux/linux-java-version.png +0 -0
  115. data/vendor/selenium-grid-1.0.4/doc/website/images/install/linux/linux-navigate-path.png +0 -0
  116. data/vendor/selenium-grid-1.0.4/doc/website/images/install/linux/linux-selenium-install.png +0 -0
  117. data/vendor/selenium-grid-1.0.4/doc/website/images/install/linux/linux-selenium-sanity-check.png +0 -0
  118. data/vendor/selenium-grid-1.0.4/doc/website/images/install/win/selenium-check.bmp +0 -0
  119. data/vendor/selenium-grid-1.0.4/doc/website/images/install_ant_osx_screenshot.png +0 -0
  120. data/vendor/selenium-grid-1.0.4/doc/website/images/installing_grid_osx_screenshot.png +0 -0
  121. data/vendor/selenium-grid-1.0.4/doc/website/images/java_version_osx_screenshot.png +0 -0
  122. data/vendor/selenium-grid-1.0.4/doc/website/images/java_version_win_screenshot.png +0 -0
  123. data/vendor/selenium-grid-1.0.4/doc/website/images/sanity_check_osx_screenshot.png +0 -0
  124. data/vendor/selenium-grid-1.0.4/doc/website/images/sanity_check_win_screenshot.png +0 -0
  125. data/vendor/selenium-grid-1.0.4/doc/website/images/selenium-grid-logo-huge-white.png +0 -0
  126. data/vendor/selenium-grid-1.0.4/doc/website/images/selenium-grid-logo-huge.png +0 -0
  127. data/vendor/selenium-grid-1.0.4/doc/website/images/selenium-grid-logo-large.png +0 -0
  128. data/vendor/selenium-grid-1.0.4/doc/website/images/selenium-grid-logo-small.png +0 -0
  129. data/vendor/selenium-grid-1.0.4/doc/website/images/selenium-grid-logo.png +0 -0
  130. data/vendor/selenium-grid-1.0.4/doc/website/images/selenium_grid_logo_large.png +0 -0
  131. data/vendor/selenium-grid-1.0.4/doc/website/images/update_path_win_screenshot.png +0 -0
  132. data/vendor/selenium-grid-1.0.4/doc/website/javascripts/shadedborder.js +267 -0
  133. data/vendor/selenium-grid-1.0.4/doc/website/stylesheets/document.css +82 -0
  134. data/vendor/selenium-grid-1.0.4/doc/website/stylesheets/faq.css +97 -0
  135. data/vendor/selenium-grid-1.0.4/doc/website/stylesheets/home.css +133 -0
  136. data/vendor/selenium-grid-1.0.4/doc/website/stylesheets/openqa.css +72 -0
  137. data/vendor/selenium-grid-1.0.4/doc/website/stylesheets/site.css +74 -0
  138. data/vendor/selenium-grid-1.0.4/examples/ec2/Capfile +276 -0
  139. data/vendor/selenium-grid-1.0.4/examples/ec2/etc/background.png +0 -0
  140. data/vendor/selenium-grid-1.0.4/examples/ec2/etc/background.svg +163 -0
  141. data/vendor/selenium-grid-1.0.4/examples/ec2/lib/selenium_grid/aws/cloud.rb +35 -0
  142. data/vendor/selenium-grid-1.0.4/examples/ec2/lib/selenium_grid/aws/ec2.rb +7 -0
  143. data/vendor/selenium-grid-1.0.4/examples/ec2/lib/selenium_grid/aws/ec2_client.rb +54 -0
  144. data/vendor/selenium-grid-1.0.4/examples/ec2/lib/selenium_grid/aws/hub.rb +22 -0
  145. data/vendor/selenium-grid-1.0.4/examples/ec2/lib/selenium_grid/aws/remote_command.rb +47 -0
  146. data/vendor/selenium-grid-1.0.4/examples/ec2/lib/selenium_grid/aws/server.rb +56 -0
  147. data/vendor/selenium-grid-1.0.4/examples/ec2/test/unit/all_test.rb +2 -0
  148. data/vendor/selenium-grid-1.0.4/examples/ec2/test/unit/cloud_test.rb +27 -0
  149. data/vendor/selenium-grid-1.0.4/examples/ec2/test/unit/ec2_client_test.rb +137 -0
  150. data/vendor/selenium-grid-1.0.4/examples/ec2/test/unit/hub_test.rb +24 -0
  151. data/vendor/selenium-grid-1.0.4/examples/ec2/test/unit/remote_command_test.rb +46 -0
  152. data/vendor/selenium-grid-1.0.4/examples/ec2/test/unit/server_test.rb +22 -0
  153. data/vendor/selenium-grid-1.0.4/examples/ec2/test/unit/test_helper.rb +4 -0
  154. data/vendor/selenium-grid-1.0.4/examples/ec2/vnc_password +1 -0
  155. data/vendor/selenium-grid-1.0.4/examples/java/Java Example.iml +18 -0
  156. data/vendor/selenium-grid-1.0.4/examples/java/build.xml +90 -0
  157. data/vendor/selenium-grid-1.0.4/examples/java/src/com/thoughtworks/selenium/grid/examples/java/GoogleImageTestBase.java +46 -0
  158. data/vendor/selenium-grid-1.0.4/examples/java/src/com/thoughtworks/selenium/grid/examples/java/ParisTest.java +50 -0
  159. data/vendor/selenium-grid-1.0.4/examples/java/src/com/thoughtworks/selenium/grid/examples/java/PerigordTest.java +42 -0
  160. data/vendor/selenium-grid-1.0.4/examples/java/target/classes/com/thoughtworks/selenium/grid/examples/java/GoogleImageTestBase.class +0 -0
  161. data/vendor/selenium-grid-1.0.4/examples/java/target/classes/com/thoughtworks/selenium/grid/examples/java/ParisTest.class +0 -0
  162. data/vendor/selenium-grid-1.0.4/examples/java/target/classes/com/thoughtworks/selenium/grid/examples/java/PerigordTest.class +0 -0
  163. data/vendor/selenium-grid-1.0.4/examples/java/testng-slow.xml +9 -0
  164. data/vendor/selenium-grid-1.0.4/examples/java/testng.xml +9 -0
  165. data/vendor/selenium-grid-1.0.4/examples/ruby/README +66 -0
  166. data/vendor/selenium-grid-1.0.4/examples/ruby/Rakefile +101 -0
  167. data/vendor/selenium-grid-1.0.4/examples/ruby/Ruby Example.iml +17 -0
  168. data/vendor/selenium-grid-1.0.4/examples/ruby/flickr_example.rb +16 -0
  169. data/vendor/selenium-grid-1.0.4/examples/ruby/lib/array_extension.rb +13 -0
  170. data/vendor/selenium-grid-1.0.4/examples/ruby/lib/multi_process_behaviour_runner.rb +28 -0
  171. data/vendor/selenium-grid-1.0.4/examples/ruby/paris_spec.rb +34 -0
  172. data/vendor/selenium-grid-1.0.4/examples/ruby/perigord_spec.rb +22 -0
  173. data/vendor/selenium-grid-1.0.4/examples/ruby/spec_helper.rb +59 -0
  174. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_04b8969da99c51289f692b41abbf271b_page_screenshot.png +0 -0
  175. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_04b8969da99c51289f692b41abbf271b_system_screenshot.png +0 -0
  176. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_280fd974268e3aecb89fbfbee25b5322_page_screenshot.png +0 -0
  177. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_280fd974268e3aecb89fbfbee25b5322_system_screenshot.png +0 -0
  178. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_8808fb9026e023f809d50ddc9cf00cd3_page_screenshot.png +0 -0
  179. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_8808fb9026e023f809d50ddc9cf00cd3_system_screenshot.png +0 -0
  180. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_94b209474d36add5ba908f308c63aa15_page_screenshot.png +0 -0
  181. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_94b209474d36add5ba908f308c63aa15_system_screenshot.png +0 -0
  182. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_a18dd8ce90cb4681d55b2148326ff085_page_screenshot.png +0 -0
  183. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_a18dd8ce90cb4681d55b2148326ff085_system_screenshot.png +0 -0
  184. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_b877a400a718a915c95038427389e0d9_page_screenshot.png +0 -0
  185. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_b877a400a718a915c95038427389e0d9_system_screenshot.png +0 -0
  186. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_c1c6e8109e89867b52f6e123b8847b85_page_screenshot.png +0 -0
  187. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_c1c6e8109e89867b52f6e123b8847b85_system_screenshot.png +0 -0
  188. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_c9e7156818e496f6abb983a9a1725295_page_screenshot.png +0 -0
  189. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_c9e7156818e496f6abb983a9a1725295_system_screenshot.png +0 -0
  190. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_d6b2848186a7e4a73e19692c0fab2ae5_page_screenshot.png +0 -0
  191. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_d6b2848186a7e4a73e19692c0fab2ae5_system_screenshot.png +0 -0
  192. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_e30337afe445f0b6ebd29ecfaf4cd9f0_page_screenshot.png +0 -0
  193. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_e30337afe445f0b6ebd29ecfaf4cd9f0_system_screenshot.png +0 -0
  194. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_edc2da92cbf119e95eae988bb6f80792_page_screenshot.png +0 -0
  195. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_edc2da92cbf119e95eae988bb6f80792_system_screenshot.png +0 -0
  196. data/vendor/selenium-grid-1.0.4/grid_configuration.yml +46 -0
  197. data/vendor/selenium-grid-1.0.4/lib/build/common-build.xml +228 -0
  198. data/vendor/selenium-grid-1.0.4/lib/ruby/file_extensions.rb +9 -0
  199. data/vendor/selenium-grid-1.0.4/lib/ruby/java/classpath.rb +28 -0
  200. data/vendor/selenium-grid-1.0.4/lib/ruby/java/vm.rb +31 -0
  201. data/vendor/selenium-grid-1.0.4/lib/ruby/s_grid/hub.rb +29 -0
  202. data/vendor/selenium-grid-1.0.4/lib/ruby/s_grid/remote_control.rb +40 -0
  203. data/vendor/selenium-grid-1.0.4/lib/ruby/tcp_socket_extensions.rb +23 -0
  204. data/vendor/selenium-grid-1.0.4/lib/selenium-grid-demo-1.0.4.jar +0 -0
  205. data/vendor/selenium-grid-1.0.4/lib/selenium-grid-demo-standalone-1.0.4.jar +0 -0
  206. data/vendor/selenium-grid-1.0.4/lib/selenium-grid-hub-1.0.4.jar +0 -0
  207. data/vendor/selenium-grid-1.0.4/lib/selenium-grid-hub-standalone-1.0.4.jar +0 -0
  208. data/vendor/selenium-grid-1.0.4/lib/selenium-grid-remote-control-1.0.4.jar +0 -0
  209. data/vendor/selenium-grid-1.0.4/lib/selenium-grid-remote-control-standalone-1.0.4.jar +0 -0
  210. data/vendor/selenium-grid-1.0.4/lib/selenium-grid-tools-1.0.4.jar +0 -0
  211. data/vendor/selenium-grid-1.0.4/lib/selenium-grid-tools-standalone-1.0.4.jar +0 -0
  212. data/vendor/selenium-grid-1.0.4/lib/testng.policy +11 -0
  213. data/vendor/selenium-grid-1.0.4/log/test.txt +1 -0
  214. data/vendor/selenium-grid-1.0.4/project.properties +4 -0
  215. data/vendor/selenium-grid-1.0.4/sample-scripts/kill-rcs.sh +3 -0
  216. data/vendor/selenium-grid-1.0.4/sample-scripts/launch-rc.sh +4 -0
  217. data/vendor/selenium-grid-1.0.4/sample-scripts/launch-rcs.sh +5 -0
  218. data/vendor/selenium-grid-1.0.4/sample-scripts/launch-remote-controls.rb +20 -0
  219. data/vendor/selenium-grid-1.0.4/target/reports/Selenium Grid Demo In Parallel/Command line test.html +218 -0
  220. data/vendor/selenium-grid-1.0.4/target/reports/Selenium Grid Demo In Parallel/classes.html +44 -0
  221. data/vendor/selenium-grid-1.0.4/target/reports/Selenium Grid Demo In Parallel/groups.html +5 -0
  222. data/vendor/selenium-grid-1.0.4/target/reports/Selenium Grid Demo In Parallel/index.html +6 -0
  223. data/vendor/selenium-grid-1.0.4/target/reports/Selenium Grid Demo In Parallel/main.html +2 -0
  224. data/vendor/selenium-grid-1.0.4/target/reports/Selenium Grid Demo In Parallel/methods-alphabetical.html +12 -0
  225. data/vendor/selenium-grid-1.0.4/target/reports/Selenium Grid Demo In Parallel/methods-not-run.html +2 -0
  226. data/vendor/selenium-grid-1.0.4/target/reports/Selenium Grid Demo In Parallel/methods.html +12 -0
  227. data/vendor/selenium-grid-1.0.4/target/reports/Selenium Grid Demo In Parallel/reporter-output.html +1 -0
  228. data/vendor/selenium-grid-1.0.4/target/reports/Selenium Grid Demo In Parallel/testng.xml.html +1 -0
  229. data/vendor/selenium-grid-1.0.4/target/reports/Selenium Grid Demo In Parallel/toc.html +30 -0
  230. data/vendor/selenium-grid-1.0.4/target/reports/emailable-report.html +117 -0
  231. data/vendor/selenium-grid-1.0.4/target/reports/index.html +9 -0
  232. data/vendor/selenium-grid-1.0.4/vendor/commons-logging-1.0.4.jar +0 -0
  233. data/vendor/selenium-grid-1.0.4/vendor/selenium-java-client-driver-1.0.1.jar +0 -0
  234. data/vendor/selenium-grid-1.0.4/vendor/selenium-server-1.0.3.jar +0 -0
  235. data/vendor/selenium-grid-1.0.4/vendor/testng-5.7-jdk15.jar +0 -0
  236. metadata +296 -0
@@ -0,0 +1,163 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+ <svg
4
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
5
+ xmlns:cc="http://creativecommons.org/ns#"
6
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
7
+ xmlns:svg="http://www.w3.org/2000/svg"
8
+ xmlns="http://www.w3.org/2000/svg"
9
+ xmlns:xlink="http://www.w3.org/1999/xlink"
10
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
+ width="1480"
13
+ height="1024"
14
+ id="svg2"
15
+ sodipodi:version="0.32"
16
+ inkscape:version="0.45+devel"
17
+ version="1.0"
18
+ sodipodi:docname="background.svg"
19
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
20
+ inkscape:export-filename="/Users/ph7/Projects/Selenium Grid/trunk/examples/ec2/etc/background.png"
21
+ inkscape:export-xdpi="90"
22
+ inkscape:export-ydpi="90">
23
+ <defs
24
+ id="defs4">
25
+ <linearGradient
26
+ id="linearGradient2998">
27
+ <stop
28
+ style="stop-color:#000000;stop-opacity:0.66071427;"
29
+ offset="0"
30
+ id="stop3000" />
31
+ <stop
32
+ style="stop-color:#000000;stop-opacity:0.19642857;"
33
+ offset="1"
34
+ id="stop3002" />
35
+ </linearGradient>
36
+ <linearGradient
37
+ inkscape:collect="always"
38
+ xlink:href="#linearGradient2998"
39
+ id="linearGradient3004"
40
+ x1="648.57147"
41
+ y1="61.142857"
42
+ x2="648.57147"
43
+ y2="995.42859"
44
+ gradientUnits="userSpaceOnUse" />
45
+ </defs>
46
+ <sodipodi:namedview
47
+ id="base"
48
+ pagecolor="#ffffff"
49
+ bordercolor="#666666"
50
+ borderopacity="1.0"
51
+ gridtolerance="10000"
52
+ guidetolerance="10"
53
+ objecttolerance="10"
54
+ inkscape:pageopacity="0.0"
55
+ inkscape:pageshadow="2"
56
+ inkscape:zoom="1"
57
+ inkscape:cx="1041.8411"
58
+ inkscape:cy="399.79368"
59
+ inkscape:document-units="px"
60
+ inkscape:current-layer="layer1"
61
+ showgrid="false"
62
+ inkscape:window-width="1057"
63
+ inkscape:window-height="650"
64
+ inkscape:window-x="77"
65
+ inkscape:window-y="24" />
66
+ <metadata
67
+ id="metadata7">
68
+ <rdf:RDF>
69
+ <cc:Work
70
+ rdf:about="">
71
+ <dc:format>image/svg+xml</dc:format>
72
+ <dc:type
73
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
74
+ </cc:Work>
75
+ </rdf:RDF>
76
+ </metadata>
77
+ <g
78
+ inkscape:label="Layer 1"
79
+ inkscape:groupmode="layer"
80
+ id="layer1">
81
+ <rect
82
+ id="rect2419"
83
+ width="1487.509"
84
+ height="1024.7954"
85
+ x="0.63174653"
86
+ y="-1.0825403"
87
+ style="fill:url(#linearGradient3004);fill-opacity:1;stroke:none" />
88
+ <text
89
+ sodipodi:linespacing="100%"
90
+ id="text2355"
91
+ y="398.43076"
92
+ x="259.96875"
93
+ style="font-size:144px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#ffd5d5;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Lucida Grande"
94
+ xml:space="preserve"><tspan
95
+ y="398.43076"
96
+ x="259.96875"
97
+ id="tspan2357"
98
+ sodipodi:role="line">Selenium Grid</tspan></text>
99
+ <text
100
+ xml:space="preserve"
101
+ style="font-size:144px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#aa0000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Lucida Grande"
102
+ x="257.96875"
103
+ y="395.43076"
104
+ id="text2409"
105
+ sodipodi:linespacing="100%"><tspan
106
+ sodipodi:role="line"
107
+ id="tspan2411"
108
+ x="257.96875"
109
+ y="395.43076">Selenium Grid</tspan></text>
110
+ <text
111
+ sodipodi:linespacing="130%"
112
+ id="text2345"
113
+ y="755.77026"
114
+ x="749.03375"
115
+ style="font-size:100px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:129.99999523%;writing-mode:lr-tb;text-anchor:middle;fill:#cccccf;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
116
+ xml:space="preserve"><tspan
117
+ y="755.77026"
118
+ x="764.95172"
119
+ id="tspan2347"
120
+ sodipodi:role="line">Web Testing That </tspan><tspan
121
+ y="885.77026"
122
+ x="749.03375"
123
+ id="tspan2349"
124
+ sodipodi:role="line">Doesn't Take Hours!</tspan></text>
125
+ <text
126
+ xml:space="preserve"
127
+ style="font-size:100px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:130%;writing-mode:lr;text-anchor:middle;fill:#333333;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
128
+ x="745.03375"
129
+ y="751.77026"
130
+ id="text2413"
131
+ sodipodi:linespacing="130%"><tspan
132
+ sodipodi:role="line"
133
+ id="tspan2922"
134
+ x="757.76813"
135
+ y="751.77026">Web Testing That </tspan><tspan
136
+ sodipodi:role="line"
137
+ id="tspan2924"
138
+ x="745.03375"
139
+ y="831.77026">Doesn't Take Hours!</tspan></text>
140
+ <text
141
+ sodipodi:linespacing="100%"
142
+ id="text2351"
143
+ y="539.26727"
144
+ x="225.04688"
145
+ style="font-size:64px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#eeeeee;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Lucida Grande"
146
+ xml:space="preserve"><tspan
147
+ y="539.26727"
148
+ x="225.04688"
149
+ id="tspan2353"
150
+ sodipodi:role="line">http://selenium-grid.seleniumhq.org</tspan></text>
151
+ <text
152
+ xml:space="preserve"
153
+ style="font-size:64px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Lucida Grande"
154
+ x="223.04688"
155
+ y="537.26727"
156
+ id="text3008"
157
+ sodipodi:linespacing="100%"><tspan
158
+ sodipodi:role="line"
159
+ id="tspan3010"
160
+ x="223.04688"
161
+ y="537.26727">http://selenium-grid.seleniumhq.org</tspan></text>
162
+ </g>
163
+ </svg>
@@ -0,0 +1,35 @@
1
+ module SeleniumGrid
2
+ module AWS
3
+
4
+ class Cloud
5
+ FILE = "cloud.yml"
6
+ attr_accessor :hub, :farms
7
+
8
+ def self.load
9
+ begin
10
+ YAML.load(File.read(FILE))
11
+ rescue Errno::ENOENT
12
+ new
13
+ end
14
+ end
15
+
16
+ def self.update
17
+ cloud = self.load
18
+ yield cloud
19
+ ensure
20
+ cloud.write unless cloud.nil?
21
+ end
22
+
23
+ def write
24
+ File.open(FILE, "w") {|file| file.write(self.to_yaml)}
25
+ end
26
+
27
+ def farms
28
+ @farms ||= []
29
+ end
30
+
31
+ end
32
+
33
+ end
34
+ end
35
+
@@ -0,0 +1,7 @@
1
+ require 'rubygems'
2
+ require "yaml"
3
+ require File.dirname(__FILE__) + '/cloud'
4
+ require File.dirname(__FILE__) + '/ec2_client'
5
+ require File.dirname(__FILE__) + '/server'
6
+ require File.dirname(__FILE__) + '/hub'
7
+ require File.dirname(__FILE__) + '/remote_command'
@@ -0,0 +1,54 @@
1
+ module SeleniumGrid
2
+ module AWS
3
+ module Ec2Client
4
+
5
+ def describe(instance_id)
6
+ output = ec2_shell "ec2-describe-instances #{instance_id}"
7
+ output =~ /INSTANCE\s+(i-.*)$/
8
+ fields = $1.split(/\s+/)
9
+ if output =~ /running/
10
+ {:instance_id => fields[0],
11
+ :ami => fields[1],
12
+ :public_dns => fields[2],
13
+ :private_dns => fields[3],
14
+ :status => fields[4] }
15
+ else
16
+ {:instance_id => fields[0],
17
+ :ami => fields[1],
18
+ :status => fields[2] }
19
+ end
20
+ end
21
+
22
+ def launch(ami, options ={})
23
+ output = ec2_shell "ec2-run-instances #{ami} -k #{options[:keypair]}"
24
+ output =~ /INSTANCE\s+(i-\S+)\s+ami-/
25
+ $1
26
+ end
27
+
28
+ def shutdown(instance_id)
29
+ ec2_shell "ec2-terminate-instances #{instance_id}"
30
+ end
31
+
32
+ def version
33
+ ec2_shell "ec2-version"
34
+ end
35
+
36
+ def authorize_port(port)
37
+ puts "Opening port #{port}..."
38
+ ec2_shell "ec2-authorize default -p #{port}"
39
+ end
40
+
41
+ def ec2_shell(command)
42
+ puts "[EC2] '#{command}'" if tracing?
43
+ output = `${EC2_HOME}/bin/#{command}`
44
+ puts "[EC2] #{output}" if tracing?
45
+ output
46
+ end
47
+
48
+ def tracing?
49
+ ENV['TRACE_EC2_COMMANDS']
50
+ end
51
+
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,22 @@
1
+ module SeleniumGrid
2
+ module AWS
3
+
4
+ class Hub < Server
5
+
6
+ def url
7
+ "http://#{public_dns}:4444"
8
+ end
9
+
10
+ def private_url
11
+ "http://#{private_dns}:4444"
12
+ end
13
+
14
+ def console_url
15
+ "#{url}/console"
16
+ end
17
+
18
+ end
19
+
20
+ end
21
+ end
22
+
@@ -0,0 +1,47 @@
1
+ module SeleniumGrid
2
+ module AWS
3
+
4
+ class RemoteCommand
5
+ attr_accessor :options
6
+
7
+ def initialize(command, options={})
8
+ @command, @options = command, options
9
+ end
10
+
11
+ def execute
12
+ puts full_command
13
+ system full_command
14
+ raise "Error with #{full_command}" if 0 != $?
15
+ end
16
+
17
+ def full_command
18
+ cmd = "#{ssh_command} "
19
+ cmd << "\"su -l #{options[:su]} -c " if options[:su]
20
+ cmd << "'#{remote_command}'"
21
+ cmd << '"' if options[:su]
22
+ cmd
23
+ end
24
+
25
+ def ssh_command
26
+ shell_command = [ "ssh" ]
27
+ shell_command << "-i '#{options[:keypair]}'" if options[:keypair]
28
+ shell_command << "root@#{options[:host]}"
29
+
30
+ shell_command.join " "
31
+ end
32
+
33
+ def remote_command
34
+ shell_command = []
35
+ shell_command << "PATH=#{options[:path]}:${PATH}; export PATH;" if options[:path]
36
+ shell_command << "DISPLAY=#{options[:display]}; export DISPLAY;" if options[:display]
37
+ shell_command << "cd '#{options[:pwd]}';" if options[:pwd]
38
+ shell_command << @command
39
+
40
+ shell_command.join " "
41
+ end
42
+
43
+ end
44
+
45
+ end
46
+ end
47
+
@@ -0,0 +1,56 @@
1
+ module SeleniumGrid
2
+ module AWS
3
+
4
+ class Server
5
+ extend Ec2Client
6
+
7
+ attr_accessor :instance_id, :public_dns, :private_dns
8
+
9
+ def initialize(instance_id)
10
+ self.instance_id = instance_id
11
+ end
12
+
13
+ def self.boot(ami, options = {})
14
+ new launch(ami, options)
15
+ end
16
+
17
+ def self.boot_and_acquire_dns(ami, options)
18
+ server = boot(ami, options)
19
+ server.wait_for_dns
20
+ end
21
+
22
+ def wait_for_dns
23
+ puts "Fetching DNS Info..."
24
+ until dns_allocated?
25
+ sleep 2
26
+ putc "."
27
+ refresh_status
28
+ end
29
+ puts
30
+ self
31
+ end
32
+
33
+ def dns_allocated?
34
+ public_dns != nil && public_dns != "" &&
35
+ private_dns != nil && private_dns != ""
36
+ end
37
+
38
+ def refresh_status
39
+ info = self.class.describe instance_id
40
+ @public_dns = info[:public_dns]
41
+ @private_dns = info[:private_dns]
42
+ end
43
+
44
+ def shutdown
45
+ self.class.shutdown instance_id
46
+ end
47
+
48
+ def run(command, options)
49
+ command = RemoteCommand.new command, options.merge(:host => public_dns)
50
+ command.execute
51
+ end
52
+ end
53
+
54
+ end
55
+ end
56
+
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env ruby
2
+ Dir['**/*_test.rb'].each {|test_file| require test_file }
@@ -0,0 +1,27 @@
1
+ require File.dirname(__FILE__) + "/test_helper"
2
+
3
+ unit_tests do
4
+
5
+ test "hub is nil on a fresh cloud" do
6
+ assert_nil SeleniumGrid::AWS::Cloud.new.hub
7
+ end
8
+
9
+ test "hub return the latest assigned hub instance" do
10
+ cloud = SeleniumGrid::AWS::Cloud.new
11
+ cloud.hub = :old_hub
12
+ cloud.hub = :new_hub
13
+ assert_equal :new_hub, cloud.hub
14
+ end
15
+
16
+ test "remote_control_farms is empty on a fresh cloud" do
17
+ assert_equal [], SeleniumGrid::AWS::Cloud.new.farms
18
+ end
19
+
20
+ test "remote_control_farms returns all added farms" do
21
+ cloud = SeleniumGrid::AWS::Cloud.new
22
+ cloud.farms << :a_farm
23
+ cloud.farms << :another_farm
24
+ assert_equal [:a_farm, :another_farm], cloud.farms
25
+ end
26
+
27
+ end
@@ -0,0 +1,137 @@
1
+ require File.dirname(__FILE__) + "/test_helper"
2
+
3
+ unit_tests do
4
+
5
+ test "run_instance launch a new AMI using ec2-run-instances script" do
6
+ client = Class.new.extend SeleniumGrid::AWS::Ec2Client
7
+ client.expects(:ec2_shell).with("ec2-run-instances TheAMI -k TheKeyPair")
8
+ client.launch "TheAMI", :keypair => "TheKeyPair"
9
+ end
10
+
11
+ test "run_instance returns the instance id when launch is successful" do
12
+ client = Class.new.extend SeleniumGrid::AWS::Ec2Client
13
+ client.stubs(:ec2_shell).returns(<<-EOS)
14
+ RESERVATION r-ee629587 069216575636 default
15
+ INSTANCE i-6fef1006 ami-d306e3ba pending grid-keypair 0 m1.small 2008-02-17T20:49:08+0000
16
+ EOS
17
+ assert_equal "i-6fef1006", client.launch(:an_ami)
18
+ end
19
+
20
+ test "authorize launch ec2-authorize script for default group" do
21
+ client = Class.new.extend SeleniumGrid::AWS::Ec2Client
22
+ client.expects(:ec2_shell).with("ec2-authorize default -p ThePort")
23
+ client.authorize_port "ThePort"
24
+ end
25
+
26
+ test "describe launch ec2-describe script for a particular AMI" do
27
+ client = Class.new.extend SeleniumGrid::AWS::Ec2Client
28
+ client.expects(:ec2_shell).with("ec2-describe-instances TheAMI").returns("INSTANCE i-")
29
+ client.describe "TheAMI"
30
+ end
31
+
32
+ test "describe returns the instance id when running" do
33
+ client = Class.new.extend SeleniumGrid::AWS::Ec2Client
34
+ client.stubs(:ec2_shell).returns(<<-EOS)
35
+ RESERVATION r-ee629587 069216575636 default
36
+ INSTANCE i-6fef1006 ami-d306e3ba ec2-67-202-19-143.compute-1.amazonaws.com domU-12-31-38-00-3D-E6.compute-1.internal running grid-keypair 0 m1.small 2008-02-17T20:49:08+0000
37
+ EOS
38
+ assert_equal "i-6fef1006", client.describe(:an_ami)[:instance_id]
39
+ end
40
+
41
+ test "describe returns the ami when running" do
42
+ client = Class.new.extend SeleniumGrid::AWS::Ec2Client
43
+ client.stubs(:ec2_shell).returns(<<-EOS)
44
+ RESERVATION r-ee629587 069216575636 default
45
+ INSTANCE i-6fef1006 ami-d306e3ba ec2-67-202-19-143.compute-1.amazonaws.com domU-12-31-38-00-3D-E6.compute-1.internal running grid-keypair 0 m1.small 2008-02-17T20:49:08+0000
46
+ EOS
47
+ assert_equal "ami-d306e3ba", client.describe(:an_ami)[:ami]
48
+ end
49
+
50
+ test "describe returns the public_dns when running" do
51
+ client = Class.new.extend SeleniumGrid::AWS::Ec2Client
52
+ client.stubs(:ec2_shell).returns(<<-EOS)
53
+ RESERVATION r-ee629587 069216575636 default
54
+ INSTANCE i-6fef1006 ami-d306e3ba ec2-67-202-19-143.compute-1.amazonaws.com domU-12-31-38-00-3D-E6.compute-1.internal running grid-keypair 0 m1.small 2008-02-17T20:49:08+0000
55
+ EOS
56
+ assert_equal "ec2-67-202-19-143.compute-1.amazonaws.com",
57
+ client.describe(:an_ami)[:public_dns]
58
+ end
59
+
60
+ test "describe returns the private_dns when running" do
61
+ client = Class.new.extend SeleniumGrid::AWS::Ec2Client
62
+ client.stubs(:ec2_shell).returns(<<-EOS)
63
+ RESERVATION r-ee629587 069216575636 default
64
+ INSTANCE i-6fef1006 ami-d306e3ba ec2-67-202-19-143.compute-1.amazonaws.com domU-12-31-38-00-3D-E6.compute-1.internal running grid-keypair 0 m1.small 2008-02-17T20:49:08+0000
65
+ EOS
66
+ assert_equal "domU-12-31-38-00-3D-E6.compute-1.internal",
67
+ client.describe(:an_ami)[:private_dns]
68
+ end
69
+
70
+ test "describe returns the status when running" do
71
+ client = Class.new.extend SeleniumGrid::AWS::Ec2Client
72
+ client.stubs(:ec2_shell).returns(<<-EOS)
73
+ RESERVATION r-ee629587 069216575636 default
74
+ INSTANCE i-6fef1006 ami-d306e3ba ec2-67-202-19-143.compute-1.amazonaws.com domU-12-31-38-00-3D-E6.compute-1.internal running grid-keypair 0 m1.small 2008-02-17T20:49:08+0000
75
+ EOS
76
+ assert_equal "running", client.describe(:an_ami)[:status]
77
+ end
78
+
79
+ test "describe returns the instance id when terminated" do
80
+ client = Class.new.extend SeleniumGrid::AWS::Ec2Client
81
+ client.stubs(:ec2_shell).returns(<<-EOS)
82
+ RESERVATION r-ee629587 069216575636 default
83
+ INSTANCE i-6fef1006 ami-d306e3ba terminated grid-keypair 0 m1.small 2008-02-17T20:49:08+0000
84
+ EOS
85
+ assert_equal "i-6fef1006", client.describe(:an_ami)[:instance_id]
86
+ end
87
+
88
+ test "describe returns the status when pending" do
89
+ client = Class.new.extend SeleniumGrid::AWS::Ec2Client
90
+ client.stubs(:ec2_shell).returns(<<-EOS)
91
+ RESERVATION r-40609729 069216575636 default
92
+ INSTANCE i-afee11c6 ami-6801e401 pending grid-keypair 0 m1.small 2008-02-17T22:33:38+0000
93
+ EOS
94
+ assert_equal "pending", client.describe(:an_ami)[:status]
95
+ end
96
+
97
+ test "describe returns a nil public dns the status when pending" do
98
+ client = Class.new.extend SeleniumGrid::AWS::Ec2Client
99
+ client.stubs(:ec2_shell).returns(<<-EOS)
100
+ RESERVATION r-40609729 069216575636 default
101
+ INSTANCE i-afee11c6 ami-6801e401 pending grid-keypair 0 m1.small 2008-02-17T22:33:38+0000
102
+ EOS
103
+ assert_nil client.describe(:an_ami)[:public_dns]
104
+ end
105
+
106
+ test "describe returns a nil private dns the status when pending" do
107
+ client = Class.new.extend SeleniumGrid::AWS::Ec2Client
108
+ client.stubs(:ec2_shell).returns(<<-EOS)
109
+ RESERVATION r-40609729 069216575636 default
110
+ INSTANCE i-afee11c6 ami-6801e401 pending grid-keypair 0 m1.small 2008-02-17T22:33:38+0000
111
+ EOS
112
+ assert_nil client.describe(:an_ami)[:private_dns]
113
+ end
114
+
115
+ test "describe returns the status when terminated" do
116
+ client = Class.new.extend SeleniumGrid::AWS::Ec2Client
117
+ client.stubs(:ec2_shell).returns(<<-EOS)
118
+ RESERVATION r-ee629587 069216575636 default
119
+ INSTANCE i-6fef1006 ami-d306e3ba terminated grid-keypair 0 m1.small 2008-02-17T20:49:08+0000
120
+ EOS
121
+ assert_equal "terminated", client.describe(:an_ami)[:status]
122
+ end
123
+
124
+ test "shutdown terminates an instance" do
125
+ client = Class.new.extend SeleniumGrid::AWS::Ec2Client
126
+ client.expects(:ec2_shell).with("ec2-terminate-instances The-Instance-ID")
127
+ client.shutdown("The-Instance-ID")
128
+ end
129
+
130
+ test "version returns EC2 version using defined keypair" do
131
+ client = Class.new.extend SeleniumGrid::AWS::Ec2Client
132
+ client.expects(:ec2_shell).with("ec2-version").returns(:ec2_version)
133
+ assert_equal :ec2_version, client.version
134
+ end
135
+
136
+ # ec2-version -K "${EC2_PRIVATE_KEY}"
137
+ end