This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (
This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (
commit 4864481583c5a144e83cd6bca27b73a4e327bdd0
tree 1e0164f7448249e9f0b34e92baba49354714057b
parent 0f5050f5ab012d481f1f06cdc47573407c8ae6bc
tree 1e0164f7448249e9f0b34e92baba49354714057b
parent 0f5050f5ab012d481f1f06cdc47573407c8ae6bc
| name | age | message | |
|---|---|---|---|
| |
.gitignore | Thu May 29 14:59:04 -0700 2008 | [spicycode] |
| |
MIT-LICENSE | Mon Feb 04 10:20:09 -0800 2008 | [stu] |
| |
README | Tue Feb 26 18:37:35 -0800 2008 | [stu] |
| |
Rakefile | Thu May 29 14:59:04 -0700 2008 | [spicycode] |
| |
init.rb | Mon Feb 04 10:20:09 -0800 2008 | [stu] |
| |
install.rb | Mon Feb 04 10:20:09 -0800 2008 | [stu] |
| |
laf/ | Mon Apr 07 06:46:20 -0700 2008 | [stu] |
| |
lib/ | Fri May 09 06:43:10 -0700 2008 | [justin] |
| |
tasks/ | Tue May 27 11:33:04 -0700 2008 | [abedra] |
| |
template/ | Tue May 27 11:33:04 -0700 2008 | [abedra] |
| |
test/ | Thu May 29 15:18:22 -0700 2008 | [abedra] |
| |
uninstall.rb | Mon Feb 04 10:20:09 -0800 2008 | [stu] |
| |
vendor/ | Thu Feb 28 08:37:09 -0800 2008 | [stu] |
README
== 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.
{{{
# somewhere
require 'relevance/tarantula'
# 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 (c) 2008 Relevance, Inc., released under the MIT license




