Browse the Ruby on Rails Community.

You are here: Browse Railsplugins Tarantula

Tarantula

Description

Tarantula is a big fuzzy spider. It crawls your Rails application, fuzzing data to see what breaks.

Install

{{{ #!sh script/plugin install http://opensource.thinkrelevance.com/svn/rubygems/tarantula/trunk tarantula }}}

Dependencies

{{{ gem install htmlentities gem install facets }}}

Usage ==

Create a Rails integration test that looks like this, filling in your own auth params. You will probably want to include all fixtures.

{{{
  1. somewhere require ‘relevance/tarantula’
  1. in your test def test_with_login post ’/sessions/create’, :password => ‘your-pass’ assert_response :redirect assert_redirected_to ’/’ follow_redirect! tarantula_crawl(self) end }}}

If you want to set custom options, you can get access to the crawler and set properties before running it. For example, this would turn on HTMLTidy.

{{{ def test_with_login post ’/sessions/create’, :password => ‘your-pass’ assert_response :redirect assert_redirected_to ’/’ follow_redirect! t = tarantula_crawler(self) t.handlers << Relevance::Tarantula::TidyHandler.new t.crawl ’/’ end }}}

Assuming your project is at /work/project/:

{{{ #!sh cd /work/project rake tarantula:test }}}

Verbose Mode

If you run the test you will get a report in tmp/tarantula. You can also set VERBOSE=true to see more detail as the test runs.

For more options see the test suite.

Allowed Errors

If, for example, a 404 is an appropriate response for some URLs, you can tell Tarantula to allow 404s for URLs matching a regexp:

{{{ t = tarantula_crawler(self) t.allow_404_for %r{/users/\d+/} }}}

Bugs/Requests

Please submit your bug reports, patches or feature requests as a ticket under the component “tarantula”. You’ll have to create an account (Sorry! Otherwise we’d get way too much spam).

License and Copyright

Copyright© 2008 Relevance, Inc., released under the MIT license

NOTE: This description has been extracted from the Plugin README and so the formatting may need updating to make browser friendly

Users


See all details


Membership

+ Join this railsplugin

Record Maintainer

'None'