input_sanitizer 0.1.10 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.github/workflows/ci.yaml +26 -0
- data/.github/workflows/gempush.yml +28 -0
- data/.gitignore +2 -1
- data/CHANGELOG +99 -0
- data/LICENSE +201 -22
- data/README.md +24 -4
- data/input_sanitizer.gemspec +10 -4
- data/lib/input_sanitizer.rb +5 -2
- data/lib/input_sanitizer/errors.rb +142 -0
- data/lib/input_sanitizer/extended_converters.rb +5 -42
- data/lib/input_sanitizer/extended_converters/comma_joined_integers_converter.rb +15 -0
- data/lib/input_sanitizer/extended_converters/comma_joined_strings_converter.rb +15 -0
- data/lib/input_sanitizer/extended_converters/positive_integer_converter.rb +12 -0
- data/lib/input_sanitizer/extended_converters/specific_values_converter.rb +19 -0
- data/lib/input_sanitizer/restricted_hash.rb +49 -8
- data/lib/input_sanitizer/v1.rb +22 -0
- data/lib/input_sanitizer/v1/clean_field.rb +38 -0
- data/lib/input_sanitizer/{default_converters.rb → v1/default_converters.rb} +20 -13
- data/lib/input_sanitizer/v1/sanitizer.rb +166 -0
- data/lib/input_sanitizer/v2.rb +13 -0
- data/lib/input_sanitizer/v2/clean_field.rb +36 -0
- data/lib/input_sanitizer/v2/clean_payload_collection_field.rb +41 -0
- data/lib/input_sanitizer/v2/clean_query_collection_field.rb +40 -0
- data/lib/input_sanitizer/v2/error_collection.rb +49 -0
- data/lib/input_sanitizer/v2/nested_sanitizer_factory.rb +19 -0
- data/lib/input_sanitizer/v2/payload_sanitizer.rb +130 -0
- data/lib/input_sanitizer/v2/payload_transform.rb +42 -0
- data/lib/input_sanitizer/v2/query_sanitizer.rb +33 -0
- data/lib/input_sanitizer/v2/types.rb +227 -0
- data/lib/input_sanitizer/version.rb +1 -1
- data/spec/extended_converters/comma_joined_integers_converter_spec.rb +18 -0
- data/spec/extended_converters/comma_joined_strings_converter_spec.rb +18 -0
- data/spec/extended_converters/positive_integer_converter_spec.rb +18 -0
- data/spec/extended_converters/specific_values_converter_spec.rb +27 -0
- data/spec/restricted_hash_spec.rb +37 -7
- data/spec/sanitizer_spec.rb +129 -26
- data/spec/spec_helper.rb +17 -2
- data/spec/v1/default_converters_spec.rb +141 -0
- data/spec/v2/converters_spec.rb +174 -0
- data/spec/v2/payload_sanitizer_spec.rb +534 -0
- data/spec/v2/payload_transform_spec.rb +98 -0
- data/spec/v2/query_sanitizer_spec.rb +300 -0
- data/v2.md +52 -0
- metadata +105 -40
- data/.travis.yml +0 -12
- data/lib/input_sanitizer/sanitizer.rb +0 -140
- data/spec/default_converters_spec.rb +0 -101
- data/spec/extended_converters_spec.rb +0 -62
@@ -1,62 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
require 'input_sanitizer/extended_converters'
|
3
|
-
|
4
|
-
describe InputSanitizer::AllowNil do
|
5
|
-
it "passes blanks" do
|
6
|
-
lambda { |_| 1 }.extend(InputSanitizer::AllowNil).call("").should be_nil
|
7
|
-
end
|
8
|
-
|
9
|
-
it "passes things the extended sanitizer passes" do
|
10
|
-
lambda { |_| :something }.extend(InputSanitizer::AllowNil).call(:stuff).
|
11
|
-
should eq(:something)
|
12
|
-
end
|
13
|
-
|
14
|
-
it "raises error if the extended sanitizer raises error" do
|
15
|
-
action = lambda do
|
16
|
-
lambda { |_| raise "Some error" }.extend(InputSanitizer::AllowNil).call(:stuff)
|
17
|
-
end
|
18
|
-
|
19
|
-
action.should raise_error
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
describe InputSanitizer::PositiveIntegerConverter do
|
24
|
-
let(:converter) { InputSanitizer::PositiveIntegerConverter.new }
|
25
|
-
|
26
|
-
it "raises error if integer less than zero" do
|
27
|
-
lambda { converter.call("-3") }.should raise_error(InputSanitizer::ConversionError)
|
28
|
-
end
|
29
|
-
|
30
|
-
it "raises error if integer equals zero" do
|
31
|
-
lambda { converter.call("0") }.should raise_error(InputSanitizer::ConversionError)
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
describe InputSanitizer::CommaJoinedIntegersConverter do
|
36
|
-
let(:converter) { InputSanitizer::CommaJoinedIntegersConverter.new }
|
37
|
-
|
38
|
-
it "parses to array of ids" do
|
39
|
-
converter.call("1,2,3,5").should == [1, 2, 3, 5]
|
40
|
-
end
|
41
|
-
|
42
|
-
it "raises on invalid character" do
|
43
|
-
lambda { converter.call(":") }.should raise_error(InputSanitizer::ConversionError)
|
44
|
-
end
|
45
|
-
end
|
46
|
-
|
47
|
-
describe InputSanitizer::SpecificValuesConverter do
|
48
|
-
let(:converter) { InputSanitizer::SpecificValuesConverter.new([:a, :b]) }
|
49
|
-
|
50
|
-
it "converts valid value to symbol" do
|
51
|
-
converter.call("b").should == :b
|
52
|
-
end
|
53
|
-
|
54
|
-
it "raises on invalid value" do
|
55
|
-
lambda { converter.call("c") }.should raise_error(InputSanitizer::ConversionError)
|
56
|
-
end
|
57
|
-
|
58
|
-
it "converts valid value to string" do
|
59
|
-
converter = InputSanitizer::SpecificValuesConverter.new(["a", "b"])
|
60
|
-
converter.call("a").should == "a"
|
61
|
-
end
|
62
|
-
end
|