forked from relevance/tarantula
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME
85 lines (59 loc) · 1.94 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
== tarantula ==
== Description ==
Tarantula is a big fuzzy spider. It crawls your Rails application, fuzzing data to see what breaks.
== Install ==
{{{
#!sh
script/plugin install git://github.com/relevance/tarantula.git 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" on our Trac instance here: http://opensource.thinkrelevance.com/. 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