searchlogic 1.5.3 → 1.5.4
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.rdoc +6 -0
- data/Manifest +37 -18
- data/README.rdoc +13 -17
- data/TODO.rdoc +1 -3
- data/lib/searchlogic.rb +6 -6
- data/lib/searchlogic/active_record/connection_adapters/sqlite_adapter.rb +9 -9
- data/lib/searchlogic/conditions/base.rb +20 -6
- data/lib/searchlogic/search/base.rb +0 -5
- data/lib/searchlogic/search/searching.rb +3 -1
- data/lib/searchlogic/version.rb +1 -1
- data/searchlogic.gemspec +4 -4
- data/test/active_record_tests/associations_test.rb +95 -0
- data/test/active_record_tests/base_test.rb +108 -0
- data/test/condition_tests/base_test.rb +54 -0
- data/test/condition_tests/begins_with_test.rb +11 -0
- data/test/condition_tests/blank_test.rb +31 -0
- data/test/condition_tests/child_of_test.rb +17 -0
- data/test/condition_tests/descendant_of_test.rb +16 -0
- data/test/condition_tests/ends_with_test.rb +11 -0
- data/test/condition_tests/equals_test.rb +19 -0
- data/test/condition_tests/greater_than_or_equal_to_test.rb +11 -0
- data/test/condition_tests/greater_than_test.rb +11 -0
- data/test/condition_tests/inclusive_descendant_of_test.rb +16 -0
- data/test/condition_tests/keyswords_test.rb +19 -0
- data/test/condition_tests/less_than_or_equal_to_test.rb +11 -0
- data/test/condition_tests/less_than_test.rb +11 -0
- data/test/condition_tests/like_test.rb +11 -0
- data/test/condition_tests/nil_test.rb +31 -0
- data/test/condition_tests/not_begin_with_test.rb +8 -0
- data/test/condition_tests/not_blank_test.rb +8 -0
- data/test/condition_tests/not_end_with_test.rb +8 -0
- data/test/condition_tests/not_equal_test.rb +19 -0
- data/test/condition_tests/not_have_keywords_test.rb +8 -0
- data/test/condition_tests/not_like_test.rb +8 -0
- data/test/condition_tests/not_nil_test.rb +13 -0
- data/test/condition_tests/sibling_of_test.rb +15 -0
- data/test/conditions_tests/base_test.rb +221 -0
- data/test/conditions_tests/protection_test.rb +18 -0
- data/test/{test_config.rb → config_test.rb} +1 -1
- data/test/fixtures/accounts.yml +0 -3
- data/test/fixtures/animals.yml +7 -0
- data/test/fixtures/orders.yml +2 -4
- data/test/fixtures/user_groups.yml +3 -9
- data/test/fixtures/users.yml +6 -12
- data/{test_libs → test/libs}/acts_as_tree.rb +0 -0
- data/{test_libs → test/libs}/rexml_fix.rb +0 -0
- data/test/modifier_tests/day_of_month_test.rb +16 -0
- data/test/search_tests/base_test.rb +237 -0
- data/test/search_tests/conditions_test.rb +21 -0
- data/test/search_tests/ordering_test.rb +167 -0
- data/test/search_tests/pagination_test.rb +74 -0
- data/test/search_tests/protection_test.rb +26 -0
- data/test/test_helper.rb +79 -83
- metadata +73 -32
- data/examples/README.rdoc +0 -4
- data/test/fixtures/cats.yml +0 -3
- data/test/fixtures/dogs.yml +0 -3
- data/test/test_active_record_associations.rb +0 -81
- data/test/test_active_record_base.rb +0 -93
- data/test/test_condition_base.rb +0 -52
- data/test/test_condition_types.rb +0 -143
- data/test/test_conditions_base.rb +0 -242
- data/test/test_conditions_protection.rb +0 -16
- data/test/test_search_base.rb +0 -227
- data/test/test_search_conditions.rb +0 -19
- data/test/test_search_ordering.rb +0 -165
- data/test/test_search_pagination.rb +0 -72
- data/test/test_search_protection.rb +0 -24
- data/test_libs/ordered_hash.rb +0 -9
@@ -1,24 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/test_helper.rb'
|
2
|
-
|
3
|
-
class TestSearchProtection < Test::Unit::TestCase
|
4
|
-
def test_protection
|
5
|
-
assert_raise(ArgumentError) { Account.build_search(:conditions => "(DELETE FROM users)", :page => 2, :per_page => 15) }
|
6
|
-
Searchlogic::Search::Base::VULNERABLE_FIND_OPTIONS.each { |option| assert_raise(ArgumentError) { Account.build_search(option => "(DELETE FROM users)") } }
|
7
|
-
|
8
|
-
assert_nothing_raised { Account.build_search!(:conditions => "(DELETE FROM users)", :page => 2, :per_page => 15) }
|
9
|
-
Searchlogic::Search::Base::VULNERABLE_FIND_OPTIONS.each { |option| assert_nothing_raised { Account.build_search!(option => "(DELETE FROM users)") } }
|
10
|
-
|
11
|
-
account = Account.first
|
12
|
-
|
13
|
-
assert_raise(ArgumentError) { account.users.build_search(:conditions => "(DELETE FROM users)", :page => 2, :per_page => 15) }
|
14
|
-
Searchlogic::Search::Base::VULNERABLE_FIND_OPTIONS.each { |option| assert_raise(ArgumentError) { account.users.build_search(option => "(DELETE FROM users)") } }
|
15
|
-
|
16
|
-
assert_nothing_raised { account.users.build_search!(:conditions => "(DELETE FROM users)", :page => 2, :per_page => 15) }
|
17
|
-
Searchlogic::Search::Base::VULNERABLE_FIND_OPTIONS.each { |option| assert_nothing_raised { account.users.build_search!(option => "(DELETE FROM users)") } }
|
18
|
-
|
19
|
-
assert_raise(ArgumentError) { Account.build_search(:order_by => "unknown_column") }
|
20
|
-
assert_nothing_raised { Account.build_search!(:order_by => "unknown_column") }
|
21
|
-
assert_raise(ArgumentError) { Account.build_search(:order_by => ["name", "unknown_column"]) }
|
22
|
-
assert_nothing_raised { Account.build_search!(:order_by => ["name", "unknown_column"]) }
|
23
|
-
end
|
24
|
-
end
|