codez-tarantula 0.5.3 → 0.5.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- ODQxNDU0NGJhMWE5YzI2MjNlZjk0MmNkNzhmYzg0YzA0MDRmM2ZkZA==
5
- data.tar.gz: !binary |-
6
- Y2ExYTcwMTU3ZjYzNWY4YWYzNzQxM2FiNmU3MDNkMTJiNWFlYWJiZA==
2
+ SHA1:
3
+ metadata.gz: 34d2f2f8bc74e380b9a60be1b49dae47f537dc01
4
+ data.tar.gz: 5cf354d6e9b7cae4a85f215ddc69958ad37196e6
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- ZmRlZTM3ZWRkNjMxYzQ5OGZkNTBkMjgwN2Q5NDM2OTE4NDc4NTZhZGE2OTU4
10
- OTg1ZTRkZTdkYjg4NGQ5ZTYwZTM5OTZkMzg1Mjc4ZjhmZTgzMDg1NDIzOTUw
11
- OGQxMWRkZTY5YmUzNmJhNTA0ZjA3NDJhNmFjOWNmNmEzYzQ2N2Q=
12
- data.tar.gz: !binary |-
13
- MDhjZGU5ZGUyNmRlNjJiOGFmMTc0Y2VmYzM0NjM3NGQwYjY2OTVlZTU0MWUz
14
- ZDhjYmI2Y2MyZDRmYWM2ZjA0MjE1YTVhZmVkOGI0NjU3MjhmNjE3ZTIzZjUx
15
- YjdkYmQwOTU3MzQxNGY5ZmQ1NWE5ZjIzOWM1ZGUzMTQxMWU3Zjk=
6
+ metadata.gz: e3d842e4412b28a32de8dbde9e646ed975520aa7ba3fa74321538c6ec8334f412c3a0e2162329d6522017abb46b047d2a7341d735831790ffef9f11f7e834e25
7
+ data.tar.gz: 7b8828dbe33d9243df426809dd588a1abc6eb9cf1f9df17c1948cf337a6d7c13c6db4e1981900ae5f7d4fdbad5edc3ba03335f52c69e37156a43b48a1d78ad9e
data/.gitignore CHANGED
@@ -10,3 +10,5 @@ coverage
10
10
  Gemfile.lock
11
11
  .project
12
12
  .rvmrc
13
+ .idea/
14
+ tarantula.iml
data/CHANGELOG CHANGED
@@ -1,3 +1,9 @@
1
+ v0.5.4
2
+ * Do not change values of hidden fields
3
+
4
+ v0.5.3
5
+ * Rails 4.1 compatibility
6
+
1
7
  v0.5.1
2
8
  * Rescue exceptions for Rails 3 integration tests and return them as 404/500 responses.
3
9
 
@@ -22,9 +28,9 @@ v0.1.8 Add timeouts for crawls to help really long builds [Rob Sanheim]
22
28
 
23
29
  v0.1.7 Minor clean up [Rob Sanheim]
24
30
 
25
- v0.1.6
31
+ v0.1.6
26
32
  * add testing for all Rails versions 2.0.2 and up
27
- * various clean up and housekeeping tasks;
33
+ * various clean up and housekeeping tasks;
28
34
  * start Ruby 1.9 work (but we need Hpricot)
29
35
  * show 50 chars of URL, not 30
30
36
  * ensure that ActiveRecord gets loaded correctly for the crawler, so that it can rescue RecordNotFound exceptions
@@ -40,7 +46,7 @@ v0.1.2 Remove dependency on Facets gem [Aaron Bedra]
40
46
 
41
47
  v0.1.1 Bugfix: Add ability to handle anchor tags that lack an href attribute #13 [Kevin Gisi]
42
48
 
43
- v0.1.0
49
+ v0.1.0
44
50
  * Improve the generated test template to include inline documentation and make the simple case simple [Jason Rudolph]
45
51
  * Update README to better serve first-time users [Jason Rudolph]
46
52
  * Update development dependencies declarations [Jason Rudolph]
@@ -48,7 +54,7 @@ v0.1.0
48
54
  ** Convert test suite to micronaut
49
55
  ** Replace Echoe with Jeweler for gem management
50
56
  ** Remove unused code
51
-
57
+
52
58
  v0.0.8.1
53
59
  * Fix numerous installation and initial setup issues
54
60
  * Enhance rake tasks to support use of Tarantula in a continuous integration environment
@@ -59,7 +65,7 @@ v0.0.8.1
59
65
  ** Include example of adding a custom attack handler
60
66
  * Simplify design to address concerns about hard-to-read fonts
61
67
 
62
- v0.0.5
68
+ v0.0.5
63
69
  * Make sure we don't include Relevance::Tarantula into Object - will cause issues with Rails dependencies and is a bad idea in general
64
70
  * Update Rakefile for development dependencies
65
71
  * Other small clean up tasks
@@ -17,11 +17,13 @@ module Relevance
17
17
  end
18
18
 
19
19
  def input(input_field)
20
+ return input_field['value'] if input_field['type'] == 'hidden'
21
+
20
22
  case input_field['name']
21
23
  when /amount/ then random_int
22
24
  when /_id$/ then random_whole_number
23
25
  when /uploaded_data/ then nil
24
- when nil then input['value']
26
+ when nil then input_field['value']
25
27
  else
26
28
  random_int
27
29
  end
@@ -1,5 +1,5 @@
1
1
  module Relevance
2
2
  module Tarantula
3
- VERSION = "0.5.3"
3
+ VERSION = "0.5.4"
4
4
  end
5
5
  end
@@ -1,7 +1,7 @@
1
1
  require "spec_helper"
2
2
 
3
3
  describe Relevance::Tarantula::FormSubmission do
4
-
4
+
5
5
  describe "with a good form" do
6
6
  # TODO: add more from field types to this example form as needed
7
7
  before do
@@ -14,7 +14,7 @@ describe Relevance::Tarantula::FormSubmission do
14
14
  <select id="foo_opened_on_1i" name="foo[opened_on(1i)]">
15
15
  <option value="2003">2003</option>
16
16
  <option value="2004">2004</option>
17
- </select>
17
+ </select>
18
18
  </form>
19
19
  })
20
20
  end
@@ -29,7 +29,7 @@ describe Relevance::Tarantula::FormSubmission do
29
29
  response.content_type.should == "text/plain"
30
30
  response.body.should == "ActiveRecord::RecordNotFound"
31
31
  end
32
-
32
+
33
33
  it "submits the form and logs response" do
34
34
  doc = Hpricot('<form action="/action" method="post"/>')
35
35
  form = make_form(doc.at('form'))
@@ -38,7 +38,7 @@ describe Relevance::Tarantula::FormSubmission do
38
38
  fs.expects(:log).with("Response 200 for #{fs}")
39
39
  fs.crawl
40
40
  end
41
-
41
+
42
42
  end
43
43
 
44
44
  describe "with default attack" do
@@ -46,50 +46,50 @@ describe Relevance::Tarantula::FormSubmission do
46
46
  @form = make_form(@tag.at('form'))
47
47
  @fs = Relevance::Tarantula::FormSubmission.new(@form)
48
48
  end
49
-
49
+
50
50
  it "can mutate text areas" do
51
51
  @fs.attack.stubs(:random_int).returns("42")
52
52
  @fs.mutate_text_areas(@form).should == {"comment" => "42"}
53
53
  end
54
-
54
+
55
55
  it "can mutate selects" do
56
56
  Hpricot::Elements.any_instance.stubs(:sample).returns(stub(:[] => "2006-stub"))
57
57
  @fs.mutate_selects(@form).should == {"foo[opened_on(1i)]" => "2006-stub"}
58
58
  end
59
-
59
+
60
60
  it "can mutate inputs" do
61
61
  @fs.attack.stubs(:random_int).returns("43")
62
- @fs.mutate_inputs(@form).should == {"commit"=>"43", "secret"=>"43", "email"=>"43"}
62
+ @fs.mutate_inputs(@form).should == {"commit"=>"43", "secret"=>"secret", "email"=>"43"}
63
63
  end
64
64
 
65
65
  it "has a signature based on action and fields" do
66
66
  @fs.signature.should == ['/session', [
67
- "comment",
68
- "commit",
69
- "email",
70
- "foo[opened_on(1i)]",
67
+ "comment",
68
+ "commit",
69
+ "email",
70
+ "foo[opened_on(1i)]",
71
71
  "secret"],
72
72
  @fs.attack.name]
73
73
  end
74
-
74
+
75
75
  it "has a friendly to_s" do
76
76
  @fs.to_s.should =~ %r{^/session post}
77
77
  end
78
78
  end
79
-
79
+
80
80
  describe "with a custom attack" do
81
81
  before do
82
82
  @form = make_form(@tag.at('form'))
83
- @attack = Relevance::Tarantula::Attack.new(:name => 'foo_name',
84
- :input => 'foo_code',
83
+ @attack = Relevance::Tarantula::Attack.new(:name => 'foo_name',
84
+ :input => 'foo_code',
85
85
  :output => 'foo_code')
86
86
  @fs = Relevance::Tarantula::FormSubmission.new(@form, @attack)
87
87
  end
88
-
88
+
89
89
  it "can mutate text areas" do
90
90
  @fs.mutate_text_areas(@form).should == {"comment" => "foo_code"}
91
91
  end
92
-
92
+
93
93
  it "can mutate selects" do
94
94
  Hpricot::Elements.any_instance.stubs(:sample).returns(stub(:[] => "2006-stub"))
95
95
  @fs.mutate_selects(@form).should == {"foo[opened_on(1i)]" => "2006-stub"}
@@ -101,10 +101,10 @@ describe Relevance::Tarantula::FormSubmission do
101
101
 
102
102
  it "has a signature based on action, fields, and attack name" do
103
103
  @fs.signature.should == ['/session', [
104
- "comment",
105
- "commit",
106
- "email",
107
- "foo[opened_on(1i)]",
104
+ "comment",
105
+ "commit",
106
+ "email",
107
+ "foo[opened_on(1i)]",
108
108
  "secret"],
109
109
  "foo_name"
110
110
  ]
@@ -134,7 +134,7 @@ describe Relevance::Tarantula::FormSubmission do
134
134
  end
135
135
  end
136
136
  end
137
-
137
+
138
138
  describe "with a crummy form" do
139
139
  before do
140
140
  @tag = Hpricot(%q{
@@ -143,7 +143,7 @@ describe Relevance::Tarantula::FormSubmission do
143
143
  </form>
144
144
  })
145
145
  end
146
-
146
+
147
147
  describe "with default attack" do
148
148
  before do
149
149
  @form = make_form(@tag.at('form'))
@@ -167,5 +167,5 @@ describe Relevance::Tarantula::FormSubmission do
167
167
  end
168
168
 
169
169
  end
170
-
170
+
171
171
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: codez-tarantula
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.3
4
+ version: 0.5.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Relevance, Inc.
@@ -9,104 +9,104 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-06-02 00:00:00.000000000 Z
12
+ date: 2015-10-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: htmlentities
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - ~>
18
+ - - "~>"
19
19
  - !ruby/object:Gem::Version
20
20
  version: 4.3.0
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - ~>
25
+ - - "~>"
26
26
  - !ruby/object:Gem::Version
27
27
  version: 4.3.0
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: hpricot
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - ~>
32
+ - - "~>"
33
33
  - !ruby/object:Gem::Version
34
34
  version: 0.8.4
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - ~>
39
+ - - "~>"
40
40
  - !ruby/object:Gem::Version
41
41
  version: 0.8.4
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: rspec
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - ~>
46
+ - - "~>"
47
47
  - !ruby/object:Gem::Version
48
48
  version: 2.12.0
49
49
  type: :development
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - ~>
53
+ - - "~>"
54
54
  - !ruby/object:Gem::Version
55
55
  version: 2.12.0
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: rdoc
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - ~>
60
+ - - "~>"
61
61
  - !ruby/object:Gem::Version
62
62
  version: 3.12.0
63
63
  type: :development
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - ~>
67
+ - - "~>"
68
68
  - !ruby/object:Gem::Version
69
69
  version: 3.12.0
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: log_buddy
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
- - - ~>
74
+ - - "~>"
75
75
  - !ruby/object:Gem::Version
76
76
  version: 0.6.0
77
77
  type: :development
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
- - - ~>
81
+ - - "~>"
82
82
  - !ruby/object:Gem::Version
83
83
  version: 0.6.0
84
84
  - !ruby/object:Gem::Dependency
85
85
  name: mocha
86
86
  requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
88
- - - ~>
88
+ - - "~>"
89
89
  - !ruby/object:Gem::Version
90
90
  version: 0.13.2
91
91
  type: :development
92
92
  prerelease: false
93
93
  version_requirements: !ruby/object:Gem::Requirement
94
94
  requirements:
95
- - - ~>
95
+ - - "~>"
96
96
  - !ruby/object:Gem::Version
97
97
  version: 0.13.2
98
98
  - !ruby/object:Gem::Dependency
99
99
  name: rails
100
100
  requirement: !ruby/object:Gem::Requirement
101
101
  requirements:
102
- - - ! '>='
102
+ - - ">="
103
103
  - !ruby/object:Gem::Version
104
104
  version: 2.3.0
105
105
  type: :development
106
106
  prerelease: false
107
107
  version_requirements: !ruby/object:Gem::Requirement
108
108
  requirements:
109
- - - ! '>='
109
+ - - ">="
110
110
  - !ruby/object:Gem::Version
111
111
  version: 2.3.0
112
112
  description: Tarantula is a big fuzzy spider. It crawls your Rails 2.3 and 3.x applications,
@@ -117,9 +117,9 @@ executables: []
117
117
  extensions: []
118
118
  extra_rdoc_files: []
119
119
  files:
120
- - .autotest
121
- - .gitignore
122
- - .travis.yml
120
+ - ".autotest"
121
+ - ".gitignore"
122
+ - ".travis.yml"
123
123
  - CHANGELOG
124
124
  - DSL_EXAMPLES.md
125
125
  - Gemfile
@@ -213,19 +213,18 @@ require_paths:
213
213
  - lib
214
214
  required_ruby_version: !ruby/object:Gem::Requirement
215
215
  requirements:
216
- - - ! '>='
216
+ - - ">="
217
217
  - !ruby/object:Gem::Version
218
218
  version: '0'
219
219
  required_rubygems_version: !ruby/object:Gem::Requirement
220
220
  requirements:
221
- - - ! '>='
221
+ - - ">="
222
222
  - !ruby/object:Gem::Version
223
223
  version: '0'
224
224
  requirements: []
225
225
  rubyforge_project:
226
- rubygems_version: 2.2.2
226
+ rubygems_version: 2.4.3
227
227
  signing_key:
228
228
  specification_version: 4
229
229
  summary: A big hairy fuzzy spider that crawls your site, wreaking havoc
230
230
  test_files: []
231
- has_rdoc: