2
0
Fork 0
mirror of https://github.com/discourse/discourse.git synced 2025-09-09 19:03:09 +08:00

FEATURE: rolls up 1.2.*.* IP ranges when number of entries > 10

This commit is contained in:
Régis Hanol 2014-11-27 19:29:30 +01:00
parent 062e954122
commit 5b90ceb71d
5 changed files with 99 additions and 17 deletions

View file

@ -20,7 +20,7 @@ describe Admin::ScreenedIpAddressesController do
describe 'roll_up' do
it "works" do
it "rolls up 1.2.3.* entries" do
Fabricate(:screened_ip_address, ip_address: "1.2.3.4", match_count: 1)
Fabricate(:screened_ip_address, ip_address: "1.2.3.5", match_count: 1)
Fabricate(:screened_ip_address, ip_address: "1.2.3.6", match_count: 1)
@ -29,7 +29,7 @@ describe Admin::ScreenedIpAddressesController do
Fabricate(:screened_ip_address, ip_address: "42.42.42.5", match_count: 1)
StaffActionLogger.any_instance.expects(:log_roll_up)
SiteSetting.expects(:min_ban_entries_for_roll_up).returns(3)
SiteSetting.stubs(:min_ban_entries_for_roll_up).returns(3)
xhr :post, :roll_up
response.should be_success
@ -39,6 +39,26 @@ describe Admin::ScreenedIpAddressesController do
subnet.match_count.should == 3
end
it "rolls up 1.2.*.* entries" do
Fabricate(:screened_ip_address, ip_address: "1.2.3.4", match_count: 1)
Fabricate(:screened_ip_address, ip_address: "1.2.3.5", match_count: 1)
Fabricate(:screened_ip_address, ip_address: "1.2.4.6", match_count: 1)
Fabricate(:screened_ip_address, ip_address: "1.2.7.8", match_count: 1)
Fabricate(:screened_ip_address, ip_address: "1.2.9.1", match_count: 1)
Fabricate(:screened_ip_address, ip_address: "1.2.42.0/24", match_count: 1)
StaffActionLogger.any_instance.expects(:log_roll_up)
SiteSetting.stubs(:min_ban_entries_for_roll_up).returns(5)
xhr :post, :roll_up
response.should be_success
subnet = ScreenedIpAddress.where(ip_address: "1.2.0.0/16").first
subnet.should be_present
subnet.match_count.should == 6
end
end
end