project_honeypot/spec/url_spec.rb

53 lines
1.5 KiB
Ruby
Raw Normal View History

2010-10-21 07:07:24 +02:00
require "spec_helper"
describe ProjectHoneypot::Url do
describe "with honeypot response" do
2013-01-14 14:30:07 +01:00
let(:url) { ProjectHoneypot::Url.new("127.0.0.1", "127.1.63.3") }
2010-10-21 07:07:24 +02:00
it "is safe" do
2013-01-14 14:30:07 +01:00
url.should_not be_safe
2013-01-14 14:30:07 +01:00
url.safe?(score: 63).should be_false
url.safe?(score: 64).should be_true
2013-01-14 14:30:07 +01:00
url.safe?(last_activity: 1).should be_false
url.safe?(last_activity: 2).should be_true
2013-01-14 14:30:07 +01:00
url.safe?(last_activity: 2, score: 64).should be_true
url.safe?(last_activity: 1, score: 64).should be_false
url.safe?(last_activity: 2, score: 63).should be_false
2013-01-14 14:30:07 +01:00
url.safe?(offenses: [:comment_spammer]).should be_true
url.safe?(offenses: [:suspicious, :comment_spammer]).should be_false
2010-10-21 07:07:24 +02:00
end
it "has the correct latest activity" do
2013-01-14 14:30:07 +01:00
url.last_activity.should == 1
2010-10-21 07:07:24 +02:00
end
it "has the correct score" do
2013-01-14 14:30:07 +01:00
url.score.should == 63
2010-10-21 07:07:24 +02:00
end
it "has the correct offenses" do
2013-01-14 14:30:07 +01:00
url.offenses.should include(:suspicious)
url.offenses.should include(:harvester)
url.offenses.should_not include(:comment_spammer)
url.should be_suspicious
url.should be_harvester
url.should_not be_comment_spammer
2010-10-21 07:07:24 +02:00
end
end
describe "with search engine honeypot response" do
2013-01-14 14:30:07 +01:00
subject { ProjectHoneypot::Url.new("127.0.0.1", "127.0.9.0") }
it { should be_safe }
it { should be_search_engine }
end
2010-10-21 07:07:24 +02:00
describe "with nil honeypot response" do
2013-01-14 14:30:07 +01:00
subject { ProjectHoneypot::Url.new("127.0.0.1", nil) }
2010-10-21 07:07:24 +02:00
it { should be_safe }
end
end