| 1 |
diff -Naru --exclude=.svn --exclude='*~' tarantula.orig/lib/relevance/tarantula/crawler.rb tarantula.less_mem/lib/relevance/tarantula/crawler.rb |
|---|
| 2 |
--- tarantula.orig/lib/relevance/tarantula/crawler.rb 2008-05-03 18:49:16.000000000 -0400 |
|---|
| 3 |
+++ tarantula.less_mem/lib/relevance/tarantula/crawler.rb 2008-05-04 00:05:25.000000000 -0400 |
|---|
| 4 |
@@ -20,15 +20,15 @@ |
|---|
| 5 |
@links_to_crawl = [] |
|---|
| 6 |
@forms_to_crawl = [] |
|---|
| 7 |
@referrers = {} |
|---|
| 8 |
- @skip_uri_patterns =[ |
|---|
| 9 |
+ @skip_uri_patterns = [ |
|---|
| 10 |
/^javascript/, |
|---|
| 11 |
/^mailto/, |
|---|
| 12 |
- /^http/, |
|---|
| 13 |
+ /^http/, |
|---|
| 14 |
] |
|---|
| 15 |
self.transform_url_patterns = [ |
|---|
| 16 |
[/#.*$/, ''] |
|---|
| 17 |
] |
|---|
| 18 |
- @reporters = [] |
|---|
| 19 |
+ @reporters = [Relevance::Tarantula::IOReporter.new($stderr)] |
|---|
| 20 |
@decoder = HTMLEntities.new |
|---|
| 21 |
|
|---|
| 22 |
end |
|---|
| 23 |
@@ -74,9 +74,9 @@ |
|---|
| 24 |
end |
|---|
| 25 |
|
|---|
| 26 |
def save_result(result) |
|---|
| 27 |
- return if result.nil? |
|---|
| 28 |
- collection = result.success ? successes : failures |
|---|
| 29 |
- collection << result |
|---|
| 30 |
+ reporters.each do |reporter| |
|---|
| 31 |
+ reporter.report(result) |
|---|
| 32 |
+ end |
|---|
| 33 |
end |
|---|
| 34 |
|
|---|
| 35 |
def handle_link_results(link, response) |
|---|
| 36 |
@@ -178,26 +178,21 @@ |
|---|
| 37 |
end |
|---|
| 38 |
|
|---|
| 39 |
def generate_reports |
|---|
| 40 |
- FileUtils.mkdir_p(report_dir) |
|---|
| 41 |
+ errors = [] |
|---|
| 42 |
reporters.each do |reporter| |
|---|
| 43 |
- reporter.report(report_dir, self) |
|---|
| 44 |
- end |
|---|
| 45 |
- end |
|---|
| 46 |
- |
|---|
| 47 |
- def report_to_console |
|---|
| 48 |
- unless (failures).empty? |
|---|
| 49 |
- $stderr.puts "****** FAILURES" |
|---|
| 50 |
- failures.each do |failure| |
|---|
| 51 |
- $stderr.puts "#{failure.code}: #{failure.url}" |
|---|
| 52 |
+ begin |
|---|
| 53 |
+ reporter.finish_report |
|---|
| 54 |
+ rescue RuntimeError => e |
|---|
| 55 |
+ errors << e |
|---|
| 56 |
end |
|---|
| 57 |
- raise "#{failures.size} failures" |
|---|
| 58 |
+ end |
|---|
| 59 |
+ unless errors.empty? |
|---|
| 60 |
+ raise errors.map(&:message).join("\n") |
|---|
| 61 |
end |
|---|
| 62 |
end |
|---|
| 63 |
|
|---|
| 64 |
def report_results |
|---|
| 65 |
- puts "Writing results to #{report_dir}" |
|---|
| 66 |
generate_reports |
|---|
| 67 |
- report_to_console |
|---|
| 68 |
end |
|---|
| 69 |
|
|---|
| 70 |
def total_links_count |
|---|
| 71 |
@@ -217,4 +212,4 @@ |
|---|
| 72 |
print "\r #{links_completed_count} of #{total_links_count} links completed " |
|---|
| 73 |
end |
|---|
| 74 |
end |
|---|
| 75 |
-end |
|---|
| 76 |
\ No newline at end of file |
|---|
| 77 |
+end |
|---|
| 78 |
diff -Naru --exclude=.svn --exclude='*~' tarantula.orig/lib/relevance/tarantula/html_reporter.rb tarantula.less_mem/lib/relevance/tarantula/html_reporter.rb |
|---|
| 79 |
--- tarantula.orig/lib/relevance/tarantula/html_reporter.rb 2008-05-03 18:49:16.000000000 -0400 |
|---|
| 80 |
+++ tarantula.less_mem/lib/relevance/tarantula/html_reporter.rb 2008-05-04 00:04:11.000000000 -0400 |
|---|
| 81 |
@@ -1,28 +1,33 @@ |
|---|
| 82 |
class Relevance::Tarantula::HtmlReporter |
|---|
| 83 |
+ |
|---|
| 84 |
include Relevance::Tarantula |
|---|
| 85 |
- attr_accessor :basedir, :results |
|---|
| 86 |
+ attr_accessor :basedir, :results |
|---|
| 87 |
delegate :successes, :failures, :to => :results |
|---|
| 88 |
- def self.report(basedir, results) |
|---|
| 89 |
- self.new(basedir, results) |
|---|
| 90 |
- end |
|---|
| 91 |
- |
|---|
| 92 |
- def initialize(basedir, results) |
|---|
| 93 |
+ |
|---|
| 94 |
+ HtmlResultOverview = Struct.new(:code, :url, :description, :method, :referrer, :file_name) |
|---|
| 95 |
+ |
|---|
| 96 |
+ def initialize(basedir) |
|---|
| 97 |
@basedir = basedir |
|---|
| 98 |
- @results = results |
|---|
| 99 |
- copy_styles |
|---|
| 100 |
- create_index |
|---|
| 101 |
- create_detail_reports |
|---|
| 102 |
+ @results = Struct.new(:successes, :failures).new([], []) |
|---|
| 103 |
+ FileUtils.mkdir_p(@basedir) |
|---|
| 104 |
end |
|---|
| 105 |
|
|---|
| 106 |
- def template(name) |
|---|
| 107 |
- File.read(File.join(File.dirname(__FILE__), name)) |
|---|
| 108 |
+ def report(result) |
|---|
| 109 |
+ return if result.nil? |
|---|
| 110 |
+ |
|---|
| 111 |
+ create_detail_report(result) |
|---|
| 112 |
+ |
|---|
| 113 |
+ collection = result.success ? results.successes : results.failures |
|---|
| 114 |
+ collection << HtmlResultOverview.new( |
|---|
| 115 |
+ result.code, result.url, result.description, result.method, result.referrer, result.file_name |
|---|
| 116 |
+ ) |
|---|
| 117 |
end |
|---|
| 118 |
|
|---|
| 119 |
- def output(name, body) |
|---|
| 120 |
- File.open(File.join(basedir, name), "w") do |file| |
|---|
| 121 |
- file.write body |
|---|
| 122 |
- end |
|---|
| 123 |
- end |
|---|
| 124 |
+ def finish_report |
|---|
| 125 |
+ puts "Writing results to #{basedir}" |
|---|
| 126 |
+ copy_styles |
|---|
| 127 |
+ create_index |
|---|
| 128 |
+ end |
|---|
| 129 |
|
|---|
| 130 |
def copy_styles |
|---|
| 131 |
# not using cp_r because it picks up .svn crap |
|---|
| 132 |
@@ -44,19 +49,26 @@ |
|---|
| 133 |
template = ERB.new(template("index.html.erb")) |
|---|
| 134 |
output("index.html", template.result(binding)) |
|---|
| 135 |
end |
|---|
| 136 |
- |
|---|
| 137 |
- def create_detail_reports |
|---|
| 138 |
- template = ERB.new(template("detail.html.erb")) |
|---|
| 139 |
- results.successes.each do |result| |
|---|
| 140 |
- output(result.file_name, template.result(result.send(:binding))) |
|---|
| 141 |
- end |
|---|
| 142 |
- results.failures.each do |result| |
|---|
| 143 |
- output(result.file_name, template.result(result.send(:binding))) |
|---|
| 144 |
+ |
|---|
| 145 |
+ def template(name) |
|---|
| 146 |
+ File.read(File.join(File.dirname(__FILE__), name)) |
|---|
| 147 |
+ end |
|---|
| 148 |
+ |
|---|
| 149 |
+ def output(name, body) |
|---|
| 150 |
+ File.open(File.join(basedir, name), "w") do |file| |
|---|
| 151 |
+ file.write body |
|---|
| 152 |
end |
|---|
| 153 |
+ end |
|---|
| 154 |
+ |
|---|
| 155 |
+ def create_detail_report(result) |
|---|
| 156 |
+ template = ERB.new(template("detail.html.erb")) |
|---|
| 157 |
+ output(result.file_name, template.result(result.send(:binding))) |
|---|
| 158 |
end |
|---|
| 159 |
- |
|---|
| 160 |
+ |
|---|
| 161 |
# CSS class for HTML status codes |
|---|
| 162 |
def class_for_code(code) |
|---|
| 163 |
"r#{Integer(code)/100}" |
|---|
| 164 |
end |
|---|
| 165 |
+ |
|---|
| 166 |
+ |
|---|
| 167 |
end |
|---|
| 168 |
\ No newline at end of file |
|---|
| 169 |
diff -Naru --exclude=.svn --exclude='*~' tarantula.orig/lib/relevance/tarantula/io_reporter.rb tarantula.less_mem/lib/relevance/tarantula/io_reporter.rb |
|---|
| 170 |
--- tarantula.orig/lib/relevance/tarantula/io_reporter.rb 1969-12-31 19:00:00.000000000 -0500 |
|---|
| 171 |
+++ tarantula.less_mem/lib/relevance/tarantula/io_reporter.rb 2008-05-04 00:04:11.000000000 -0400 |
|---|
| 172 |
@@ -0,0 +1,34 @@ |
|---|
| 173 |
+class Relevance::Tarantula::IOReporter |
|---|
| 174 |
+ |
|---|
| 175 |
+ include Relevance::Tarantula |
|---|
| 176 |
+ attr_accessor :io, :results |
|---|
| 177 |
+ delegate :successes, :failures, :to => :results |
|---|
| 178 |
+ |
|---|
| 179 |
+ IOResultOverview = Struct.new(:code, :url) |
|---|
| 180 |
+ |
|---|
| 181 |
+ def initialize(io) |
|---|
| 182 |
+ @io = io |
|---|
| 183 |
+ @results = Struct.new(:successes, :failures).new([], []) |
|---|
| 184 |
+ end |
|---|
| 185 |
+ |
|---|
| 186 |
+ def report(result) |
|---|
| 187 |
+ return if result.nil? |
|---|
| 188 |
+ |
|---|
| 189 |
+ unless result.success # collection = result.success ? results.successes : results.failures |
|---|
| 190 |
+ results.failures << IOResultOverview.new( |
|---|
| 191 |
+ result.code, result.url |
|---|
| 192 |
+ ) |
|---|
| 193 |
+ end |
|---|
| 194 |
+ end |
|---|
| 195 |
+ |
|---|
| 196 |
+ def finish_report |
|---|
| 197 |
+ unless (failures).empty? |
|---|
| 198 |
+ io.puts "****** FAILURES" |
|---|
| 199 |
+ failures.each do |failure| |
|---|
| 200 |
+ io.puts "#{failure.code}: #{failure.url}" |
|---|
| 201 |
+ end |
|---|
| 202 |
+ raise "#{failures.size} failures" |
|---|
| 203 |
+ end |
|---|
| 204 |
+ end |
|---|
| 205 |
+ |
|---|
| 206 |
+end |
|---|
| 207 |
\ No newline at end of file |
|---|
| 208 |
diff -Naru --exclude=.svn --exclude='*~' tarantula.orig/lib/relevance/tarantula/rails_integration_proxy.rb tarantula.less_mem/lib/relevance/tarantula/rails_integration_proxy.rb |
|---|
| 209 |
--- tarantula.orig/lib/relevance/tarantula/rails_integration_proxy.rb 2008-05-03 18:49:16.000000000 -0400 |
|---|
| 210 |
+++ tarantula.less_mem/lib/relevance/tarantula/rails_integration_proxy.rb 2008-05-04 00:04:11.000000000 -0400 |
|---|
| 211 |
@@ -18,7 +18,7 @@ |
|---|
| 212 |
[/\?\d+$/, ''], # strip trailing numbers for assets |
|---|
| 213 |
[/^http:\/\/#{integration_test.host}/, ''] # strip full path down to relative |
|---|
| 214 |
] |
|---|
| 215 |
- t.reporters << Relevance::Tarantula::HtmlReporter |
|---|
| 216 |
+ t.reporters << Relevance::Tarantula::HtmlReporter.new(t.report_dir) |
|---|
| 217 |
t |
|---|
| 218 |
end |
|---|
| 219 |
|
|---|
| 220 |
diff -Naru --exclude=.svn --exclude='*~' tarantula.orig/lib/relevance/tarantula/result.rb tarantula.less_mem/lib/relevance/tarantula/result.rb |
|---|
| 221 |
--- tarantula.orig/lib/relevance/tarantula/result.rb 2008-05-03 18:49:16.000000000 -0400 |
|---|
| 222 |
+++ tarantula.less_mem/lib/relevance/tarantula/result.rb 2008-05-04 00:04:11.000000000 -0400 |
|---|
| 223 |
@@ -30,7 +30,7 @@ |
|---|
| 224 |
"#{DEFAULT_LOCALHOST}#{url}" |
|---|
| 225 |
end |
|---|
| 226 |
ALLOW_NNN_FOR = /^allow_(\d\d\d)_for$/ |
|---|
| 227 |
- class <<self |
|---|
| 228 |
+ class << self |
|---|
| 229 |
attr_accessor :next_number |
|---|
| 230 |
def handle(result) |
|---|
| 231 |
retval = result.dup |
|---|
| 232 |
diff -Naru --exclude=.svn --exclude='*~' tarantula.orig/lib/relevance/tarantula.rb tarantula.less_mem/lib/relevance/tarantula.rb |
|---|
| 233 |
--- tarantula.orig/lib/relevance/tarantula.rb 2008-05-03 18:49:16.000000000 -0400 |
|---|
| 234 |
+++ tarantula.less_mem/lib/relevance/tarantula.rb 2008-05-04 00:04:11.000000000 -0400 |
|---|
| 235 |
@@ -47,6 +47,7 @@ |
|---|
| 236 |
|
|---|
| 237 |
require 'relevance/tarantula/html_reporter' |
|---|
| 238 |
require 'relevance/tarantula/html_report_helper' |
|---|
| 239 |
+require 'relevance/tarantula/io_reporter' |
|---|
| 240 |
require 'relevance/tarantula/recording' |
|---|
| 241 |
require 'relevance/tarantula/response' |
|---|
| 242 |
require 'relevance/tarantula/result' |
|---|
| 243 |
diff -Naru --exclude=.svn --exclude='*~' tarantula.orig/test/relevance/core_extensions/test_case_test.rb tarantula.less_mem/test/relevance/core_extensions/test_case_test.rb |
|---|
| 244 |
--- tarantula.orig/test/relevance/core_extensions/test_case_test.rb 2008-05-03 18:49:15.000000000 -0400 |
|---|
| 245 |
+++ tarantula.less_mem/test/relevance/core_extensions/test_case_test.rb 2008-05-04 00:04:11.000000000 -0400 |
|---|
| 246 |
@@ -4,6 +4,7 @@ |
|---|
| 247 |
describe "TestCase extensions" do |
|---|
| 248 |
it "can create the crawler" do |
|---|
| 249 |
RailsIntegrationProxy.stubs(:rails_root).returns("STUB_RAILS_ROOT") |
|---|
| 250 |
+ Crawler.any_instance.stubs(:rails_root).returns("STUB_RAILS_ROOT") |
|---|
| 251 |
tarantula_crawler(stub_everything) |
|---|
| 252 |
end |
|---|
| 253 |
|
|---|
| 254 |
diff -Naru --exclude=.svn --exclude='*~' tarantula.orig/test/relevance/tarantula/crawler_test.rb tarantula.less_mem/test/relevance/tarantula/crawler_test.rb |
|---|
| 255 |
--- tarantula.orig/test/relevance/tarantula/crawler_test.rb 2008-05-03 18:49:16.000000000 -0400 |
|---|
| 256 |
+++ tarantula.less_mem/test/relevance/tarantula/crawler_test.rb 2008-05-04 00:06:59.000000000 -0400 |
|---|
| 257 |
@@ -98,12 +98,9 @@ |
|---|
| 258 |
end |
|---|
| 259 |
|
|---|
| 260 |
describe 'Relevance::Tarantula::Crawler#report_results' do |
|---|
| 261 |
- it "delegates to generate_reports then report_to_console" do |
|---|
| 262 |
+ it "delegates to generate_reports" do |
|---|
| 263 |
crawler = Crawler.new |
|---|
| 264 |
- crawler.expects(:report_dir) |
|---|
| 265 |
- crawler.expects(:puts) |
|---|
| 266 |
crawler.expects(:generate_reports) |
|---|
| 267 |
- crawler.expects(:report_to_console) |
|---|
| 268 |
crawler.report_results |
|---|
| 269 |
end |
|---|
| 270 |
end |
|---|
| 271 |
@@ -187,21 +184,14 @@ |
|---|
| 272 |
crawler.do_crawl |
|---|
| 273 |
end |
|---|
| 274 |
|
|---|
| 275 |
- it "reports errors to stderr and then raises" do |
|---|
| 276 |
- crawler = Crawler.new |
|---|
| 277 |
- crawler.failures << stub(:code => "404", :url => "/uh-oh") |
|---|
| 278 |
- $stderr.expects(:puts).with("****** FAILURES") |
|---|
| 279 |
- $stderr.expects(:puts).with("404: /uh-oh") |
|---|
| 280 |
- lambda {crawler.report_to_console}.should.raise RuntimeError |
|---|
| 281 |
- end |
|---|
| 282 |
- |
|---|
| 283 |
it "asks each reporter to write its report in report_dir" do |
|---|
| 284 |
crawler = Crawler.new |
|---|
| 285 |
- crawler.failures << stub(:code => "404", :url => "/uh-oh") |
|---|
| 286 |
crawler.stubs(:report_dir).returns(test_output_dir) |
|---|
| 287 |
reporter = stub_everything |
|---|
| 288 |
reporter.expects(:report) |
|---|
| 289 |
+ reporter.expects(:finish_report) |
|---|
| 290 |
crawler.reporters = [reporter] |
|---|
| 291 |
+ crawler.save_result stub(:code => "404", :url => "/uh-oh") |
|---|
| 292 |
crawler.generate_reports |
|---|
| 293 |
end |
|---|
| 294 |
|
|---|
| 295 |
@@ -286,4 +276,4 @@ |
|---|
| 296 |
crawler = Crawler.new |
|---|
| 297 |
lambda{crawler.foo}.should.raise(NoMethodError) |
|---|
| 298 |
end |
|---|
| 299 |
-end |
|---|
| 300 |
\ No newline at end of file |
|---|
| 301 |
+end |
|---|
| 302 |
diff -Naru --exclude=.svn --exclude='*~' tarantula.orig/test/relevance/tarantula/html_reporter_test.rb tarantula.less_mem/test/relevance/tarantula/html_reporter_test.rb |
|---|
| 303 |
--- tarantula.orig/test/relevance/tarantula/html_reporter_test.rb 2008-05-03 18:49:16.000000000 -0400 |
|---|
| 304 |
+++ tarantula.less_mem/test/relevance/tarantula/html_reporter_test.rb 2008-05-04 00:04:11.000000000 -0400 |
|---|
| 305 |
@@ -6,7 +6,7 @@ |
|---|
| 306 |
FileUtils.rm_rf(test_output_dir) |
|---|
| 307 |
FileUtils.mkdir_p(test_output_dir) |
|---|
| 308 |
Relevance::Tarantula::Result.next_number = 0 |
|---|
| 309 |
- @results = (1..10).map do |index| |
|---|
| 310 |
+ @success_results = (1..10).map do |index| |
|---|
| 311 |
Relevance::Tarantula::Result.new( |
|---|
| 312 |
:success => true, |
|---|
| 313 |
:method => "get", |
|---|
| 314 |
@@ -23,6 +23,23 @@ |
|---|
| 315 |
:data => "{:param1 => :value, :param2 => :another_value}" |
|---|
| 316 |
) |
|---|
| 317 |
end |
|---|
| 318 |
+ @fail_results = (1..10).map do |index| |
|---|
| 319 |
+ Relevance::Tarantula::Result.new( |
|---|
| 320 |
+ :success => false, |
|---|
| 321 |
+ :method => "get", |
|---|
| 322 |
+ :url => "/widgets/#{index}", |
|---|
| 323 |
+ :response => stub(:code => 500, :body => "<h1>header</h1>\n<p>text</p>"), |
|---|
| 324 |
+ :referrer => "/random/#{rand(100)}", |
|---|
| 325 |
+ :log => <<-END, |
|---|
| 326 |
+Made-up stack trace: |
|---|
| 327 |
+/some_module/some_class.rb:697:in `bad_method' |
|---|
| 328 |
+/some_module/other_class.rb:12345677:in `long_method' |
|---|
| 329 |
+this link should be <a href="#">escaped</a> |
|---|
| 330 |
+blah blah blah |
|---|
| 331 |
+END |
|---|
| 332 |
+ :data => "{:param1 => :value, :param2 => :another_value}" |
|---|
| 333 |
+ ) |
|---|
| 334 |
+ end |
|---|
| 335 |
@index = File.join(test_output_dir, "index.html") |
|---|
| 336 |
FileUtils.rm_f @index |
|---|
| 337 |
@detail = File.join(test_output_dir, "1.html") |
|---|
| 338 |
@@ -31,8 +48,10 @@ |
|---|
| 339 |
|
|---|
| 340 |
it "creates a report based on tarantula results" do |
|---|
| 341 |
Relevance::Tarantula::Result.any_instance.stubs(:rails_root).returns("STUB_ROOT") |
|---|
| 342 |
- results = stub(:successes => @results, :failures => @results) |
|---|
| 343 |
- Relevance::Tarantula::HtmlReporter.report(test_output_dir, results) |
|---|
| 344 |
+ # results = stub(:successes => @results, :failures => @results) |
|---|
| 345 |
+ reporter = Relevance::Tarantula::HtmlReporter.new(test_output_dir) |
|---|
| 346 |
+ (@success_results + @fail_results).each {|r| reporter.report(r)} |
|---|
| 347 |
+ reporter.finish_report |
|---|
| 348 |
File.should.exist @index |
|---|
| 349 |
File.should.exist @detail |
|---|
| 350 |
end |
|---|
| 351 |
diff -Naru --exclude=.svn --exclude='*~' tarantula.orig/test/relevance/tarantula/io_reporter_test.rb tarantula.less_mem/test/relevance/tarantula/io_reporter_test.rb |
|---|
| 352 |
--- tarantula.orig/test/relevance/tarantula/io_reporter_test.rb 1969-12-31 19:00:00.000000000 -0500 |
|---|
| 353 |
+++ tarantula.less_mem/test/relevance/tarantula/io_reporter_test.rb 2008-05-04 00:04:11.000000000 -0400 |
|---|
| 354 |
@@ -0,0 +1,12 @@ |
|---|
| 355 |
+require File.join(File.dirname(__FILE__), "..", "..", "test_helper.rb") |
|---|
| 356 |
+include Relevance::Tarantula |
|---|
| 357 |
+ |
|---|
| 358 |
+describe 'Relevance::Tarantula::IOReporter' do |
|---|
| 359 |
+ it "reports errors to stderr and then raises" do |
|---|
| 360 |
+ reporter = IOReporter.new($stderr) |
|---|
| 361 |
+ reporter.report stub(:code => "404", :url => "/uh-oh", :success => false) |
|---|
| 362 |
+ $stderr.expects(:puts).with("****** FAILURES") |
|---|
| 363 |
+ $stderr.expects(:puts).with("404: /uh-oh") |
|---|
| 364 |
+ lambda {reporter.finish_report}.should.raise RuntimeError |
|---|
| 365 |
+ end |
|---|
| 366 |
+end |
|---|
| 367 |
diff -Naru --exclude=.svn --exclude='*~' tarantula.orig/test/relevance/tarantula/rails_integration_proxy_test.rb tarantula.less_mem/test/relevance/tarantula/rails_integration_proxy_test.rb |
|---|
| 368 |
--- tarantula.orig/test/relevance/tarantula/rails_integration_proxy_test.rb 2008-05-03 18:49:16.000000000 -0400 |
|---|
| 369 |
+++ tarantula.less_mem/test/relevance/tarantula/rails_integration_proxy_test.rb 2008-05-04 00:04:11.000000000 -0400 |
|---|
| 370 |
@@ -4,6 +4,7 @@ |
|---|
| 371 |
describe "Relevance::Tarantula::RailsIntegrationProxy rails_integration_test" do |
|---|
| 372 |
before { |
|---|
| 373 |
Crawler.any_instance.stubs(:crawl) |
|---|
| 374 |
+ Crawler.any_instance.stubs(:rails_root).returns("STUB_RAILS_ROOT") |
|---|
| 375 |
RailsIntegrationProxy.stubs(:rails_root).returns("STUB_RAILS_ROOT") |
|---|
| 376 |
} |
|---|
| 377 |
|
|---|