Sha256: 969e1f46e98cdc42798b8006f3b43299d02fc8af40b3e93616910eafffd7e6c3

Contents?: true

Size: 1.23 KB

Versions: 8

Compression:

Stored size: 1.23 KB

Contents

require File.join(File.dirname(__FILE__), "..", "..", "example_helper.rb")

describe "Relevance::Tarantula::AttackHandler" do
  before do
    @handler = Relevance::Tarantula::AttackHandler.new
    attack = Relevance::Tarantula::Attack.new({:name => 'foo_name', :input => 'foo_code', :output => '<bad>'})
    @handler.stubs(:attacks).returns([attack])
  end
  
  it "lets safe documents through" do
    result = @handler.handle(Relevance::Tarantula::Result.new(:response => stub(:html? => true, :body => '<a href="/foo">good</a>')))
    result.should == nil
  end
  
  it "detects the supplied code" do
    result = @handler.handle(Relevance::Tarantula::Result.new(:response => stub(:html? => true, :body => '<a href="/foo"><bad></a>')))
    result.success.should == false
  end
end

describe "Attacks without an output specified" do
  it "never matches anything" do
    handler = Relevance::Tarantula::AttackHandler.new
    attack = Relevance::Tarantula::Attack.new({:name => 'foo_name', :input => 'foo_code'})
    Relevance::Tarantula::AttackFormSubmission.stubs(:attacks).returns([attack])
    result = handler.handle(Relevance::Tarantula::Result.new(:response => stub(:html? => true, :body => '<a href="/foo">good</a>')))
    result.should == nil
  end
end

Version data entries

8 entries across 8 versions & 2 rubygems

Version Path
relevance-tarantula-0.1.0 examples/relevance/tarantula/attack_handler_example.rb
relevance-tarantula-0.1.1 examples/relevance/tarantula/attack_handler_example.rb
relevance-tarantula-0.1.2 examples/relevance/tarantula/attack_handler_example.rb
relevance-tarantula-0.1.3 examples/relevance/tarantula/attack_handler_example.rb
relevance-tarantula-0.1.4 examples/relevance/tarantula/attack_handler_example.rb
relevance-tarantula-0.1.5 examples/relevance/tarantula/attack_handler_example.rb
tarantula-0.1.5 examples/relevance/tarantula/attack_handler_example.rb
tarantula-0.1.4 examples/relevance/tarantula/attack_handler_example.rb