relevance-tarantula 0.2.0 → 0.2.1

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.
data/Rakefile CHANGED
@@ -65,4 +65,4 @@ if ENV["RUN_CODE_RUN"]
65
65
  task :default => "examples:multi_rails"
66
66
  else
67
67
  task :default => "examples"
68
- end
68
+ end
data/VERSION.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
- :major: 0
3
2
  :minor: 2
4
- :patch: 0
3
+ :patch: 1
4
+ :major: 0
@@ -1,6 +1,6 @@
1
1
  lib_path = File.expand_path(File.dirname(__FILE__) + "/../lib")
2
2
  $LOAD_PATH.unshift lib_path unless $LOAD_PATH.include?(lib_path)
3
-
3
+ require 'rubygems'
4
4
  gem "spicycode-micronaut", ">= 0.2.4"
5
5
  gem "log_buddy"
6
6
  gem "mocha"
@@ -41,7 +41,7 @@ describe "Relevance::Tarantula::RailsIntegrationProxy" do
41
41
  it "adds a response accessor to its delegate rails integration test" do
42
42
  o = Object.new
43
43
  Relevance::Tarantula::RailsIntegrationProxy.new(o)
44
- o.methods(false).sort.should == %w{response response=}
44
+ o.methods(false).map(&:to_s).sort.should == %w{response response=}
45
45
  end
46
46
 
47
47
  end
@@ -68,8 +68,9 @@ class Relevance::Tarantula::AttackFormSubmission
68
68
 
69
69
  def random_data(input)
70
70
  case input['name']
71
- when /^_method$/ : input['value']
72
- else attack.input
71
+ when /^_method$/ then input['value']
72
+ else
73
+ attack.input
73
74
  end
74
75
  end
75
76
  end
@@ -25,18 +25,18 @@
25
25
  </ul>
26
26
 
27
27
  <div id="report">
28
- <h3>Detail of <%= short_description %> <em>Generated on <%= Time.now %></em></h3>
29
- <p><b>Resource</b> <a href="<%= full_url %>"><%= full_url %></a></p>
30
- <p><b>Response</b> <span class="r<%= code.first %>"><%= code %></span></p>
31
- <p><b>Referrer</b> <%= referrer || "" %></p>
28
+ <h3>Detail of <%= result.short_description %> <em>Generated on <%= Time.now %></em></h3>
29
+ <p><b>Resource</b> <a href="<%= result.full_url %>"><%= result.full_url %></a></p>
30
+ <p><b>Response</b> <span class="r<%= result.code.first %>"><%= result.code %></span></p>
31
+ <p><b>Referrer</b> <%= result.referrer || "" %></p>
32
32
 
33
33
  <table class="output">
34
34
  <tbody>
35
35
  <tr>
36
36
  <th colspan="2">#&nbsp;&nbsp;Data</th>
37
37
  </tr>
38
- <% if data %>
39
- <%= wrap_in_line_number_table_row(data) %>
38
+ <% if result.data %>
39
+ <%= result.wrap_in_line_number_table_row(result.data) %>
40
40
  <% else %>
41
41
  <tr>
42
42
  <td colspan="2">No Data</td>
@@ -50,8 +50,8 @@
50
50
  <tr>
51
51
  <th colspan="2">#&nbsp;&nbsp;Body</th>
52
52
  </tr>
53
- <% if body %>
54
- <%= wrap_in_line_number_table_row(body) %>
53
+ <% if result.body %>
54
+ <%= result.wrap_in_line_number_table_row(result.body) %>
55
55
  <% else %>
56
56
  <tr>
57
57
  <td colspan="2">No Body</td>
@@ -65,8 +65,8 @@
65
65
  <tr>
66
66
  <th colspan="2">#&nbsp;&nbsp;Log</th>
67
67
  </tr>
68
- <% if log %>
69
- <%= wrap_in_line_number_table_row(log) {|line| wrap_stack_trace_line(line)} %>
68
+ <% if result.log %>
69
+ <%= result.wrap_in_line_number_table_row(result.log) {|line| wrap_stack_trace_line(line)} %>
70
70
  <% else %>
71
71
  <tr>
72
72
  <td colspan="2">No Log</td>
@@ -78,4 +78,4 @@
78
78
  </div>
79
79
  </div>
80
80
  </body>
81
- </html>
81
+ </html>
@@ -47,12 +47,13 @@ class Relevance::Tarantula::FormSubmission
47
47
 
48
48
  def random_data(input)
49
49
  case input['name']
50
- when /amount/ : random_int
51
- when /_id$/ : random_whole_number
52
- when /uploaded_data/ : nil
53
- when /^_method$/ : input['value']
54
- when nil : input['value']
55
- else random_int
50
+ when /amount/ then random_int
51
+ when /_id$/ then random_whole_number
52
+ when /uploaded_data/ then nil
53
+ when /^_method$/ then input['value']
54
+ when nil then input['value']
55
+ else
56
+ random_int
56
57
  end
57
58
  end
58
59
 
@@ -11,33 +11,43 @@ class Relevance::Tarantula::Result
11
11
  self.instance_variable_set("@#{k}", v)
12
12
  end
13
13
  end
14
+
14
15
  def short_description
15
16
  [method,url].join(" ")
16
17
  end
18
+
17
19
  def sequence_number
18
20
  @sequence_number ||= (self.class.next_number += 1)
19
21
  end
22
+
20
23
  def file_name
21
24
  "#{sequence_number}.html"
22
25
  end
26
+
23
27
  def code
24
28
  response && response.code
25
29
  end
30
+
26
31
  def body
27
32
  response && response.body
28
33
  end
34
+
29
35
  def full_url
30
36
  "#{DEFAULT_LOCALHOST}#{url}"
31
37
  end
38
+
32
39
  ALLOW_NNN_FOR = /^allow_(\d\d\d)_for$/
40
+
33
41
  class << self
34
42
  attr_accessor :next_number
43
+
35
44
  def handle(result)
36
45
  retval = result.dup
37
46
  retval.success = successful?(result.response) || can_skip_error?(result)
38
47
  retval.description = "Bad HTTP Response" unless retval.success
39
48
  retval
40
49
  end
50
+
41
51
  def success_codes
42
52
  %w{200 201 302 401}
43
53
  end
@@ -51,16 +61,17 @@ class Relevance::Tarantula::Result
51
61
  return false unless coll
52
62
  coll.any? {|item| item === result.url}
53
63
  end
64
+
54
65
  def successful?(response)
55
66
  success_codes.member?(response.code)
56
67
  end
68
+
57
69
  def method_missing(meth, *args)
58
70
  super unless ALLOW_NNN_FOR =~ meth.to_s
59
71
  (allow_errors_for[$1] ||= []).push(*args)
60
72
  end
61
73
  end
74
+
62
75
  self.allow_errors_for = {}
63
76
  self.next_number = 0
64
-
65
-
66
- end
77
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: relevance-tarantula
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Relevance, Inc.
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-05-29 00:00:00 -07:00
12
+ date: 2009-08-21 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -109,6 +109,7 @@ files:
109
109
  - template/tarantula_test.rb
110
110
  has_rdoc: true
111
111
  homepage: http://github.com/relevance/tarantula
112
+ licenses:
112
113
  post_install_message:
113
114
  rdoc_options:
114
115
  - --charset=UTF-8
@@ -129,9 +130,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
129
130
  requirements: []
130
131
 
131
132
  rubyforge_project: thinkrelevance
132
- rubygems_version: 1.2.0
133
+ rubygems_version: 1.3.5
133
134
  signing_key:
134
- specification_version: 3
135
+ specification_version: 2
135
136
  summary: A big hairy fuzzy spider that crawls your site, wreaking havoc
136
137
  test_files:
137
138
  - examples/example_helper.rb