jschema 0.1.1 → 0.1.2
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 +4 -4
- data/lib/jschema/json_reference.rb +1 -1
- data/lib/jschema/schema_uri.rb +6 -2
- data/lib/jschema/simple_validator.rb +3 -3
- data/lib/jschema/string_length_validator.rb +2 -2
- data/lib/jschema/validator/dependencies.rb +2 -2
- data/lib/jschema/validator/format.rb +7 -3
- data/lib/jschema/validator/items.rb +2 -2
- data/lib/jschema/validator/max_items.rb +2 -2
- data/lib/jschema/validator/max_properties.rb +2 -2
- data/lib/jschema/validator/maximum.rb +2 -2
- data/lib/jschema/validator/min_items.rb +2 -2
- data/lib/jschema/validator/min_properties.rb +2 -2
- data/lib/jschema/validator/minimum.rb +2 -2
- data/lib/jschema/validator/multiple_of.rb +2 -2
- data/lib/jschema/validator/pattern.rb +2 -2
- data/lib/jschema/validator/properties.rb +2 -2
- data/lib/jschema/validator/required.rb +2 -2
- data/lib/jschema/validator/unique_items.rb +2 -2
- metadata +4 -78
- data/test/assert_received.rb +0 -15
- data/test/string_length_validator_tests.rb +0 -18
- data/test/test_assert_received.rb +0 -39
- data/test/test_integration.rb +0 -30
- data/test/test_json_reference.rb +0 -115
- data/test/test_schema.rb +0 -132
- data/test/test_schema_ref.rb +0 -19
- data/test/test_schema_uri.rb +0 -56
- data/test/test_validator.rb +0 -29
- data/test/validator/argument_is_array_of_schemas_tests.rb +0 -22
- data/test/validator/assertions.rb +0 -56
- data/test/validator/properties_limit_tests.rb +0 -13
- data/test/validator/schema_validation_helpers.rb +0 -29
- data/test/validator/test_all_of.rb +0 -30
- data/test/validator/test_any_of.rb +0 -31
- data/test/validator/test_dependencies.rb +0 -106
- data/test/validator/test_enum.rb +0 -30
- data/test/validator/test_format.rb +0 -78
- data/test/validator/test_items.rb +0 -119
- data/test/validator/test_max_items.rb +0 -26
- data/test/validator/test_max_length.rb +0 -30
- data/test/validator/test_max_properties.rb +0 -29
- data/test/validator/test_maximum.rb +0 -58
- data/test/validator/test_min_items.rb +0 -27
- data/test/validator/test_min_length.rb +0 -30
- data/test/validator/test_min_properties.rb +0 -29
- data/test/validator/test_minimum.rb +0 -58
- data/test/validator/test_multiple_of.rb +0 -38
- data/test/validator/test_not.rb +0 -32
- data/test/validator/test_one_of.rb +0 -31
- data/test/validator/test_pattern.rb +0 -32
- data/test/validator/test_properties.rb +0 -128
- data/test/validator/test_required.rb +0 -30
- data/test/validator/test_simple_validator.rb +0 -107
- data/test/validator/test_type.rb +0 -97
- data/test/validator/test_unique_items.rb +0 -30
- data/test/validator/validation_against_schemas_tests.rb +0 -24
@@ -1,30 +0,0 @@
|
|
1
|
-
require 'minitest/autorun'
|
2
|
-
require 'jschema'
|
3
|
-
|
4
|
-
require_relative 'assertions'
|
5
|
-
|
6
|
-
class TestRequired < Minitest::Test
|
7
|
-
include Assertions
|
8
|
-
|
9
|
-
def test_that_argument_is_string_array
|
10
|
-
assert_raises_unless_string_array 'required'
|
11
|
-
end
|
12
|
-
|
13
|
-
def test_passing_validation
|
14
|
-
assert validator(['test']).valid?('test' => 123)
|
15
|
-
end
|
16
|
-
|
17
|
-
def test_passing_validation_when_property_has_false_value
|
18
|
-
assert validator(['test']).valid?('test' => false)
|
19
|
-
end
|
20
|
-
|
21
|
-
def test_failing_validation
|
22
|
-
refute validator(['test']).valid?({})
|
23
|
-
end
|
24
|
-
|
25
|
-
private
|
26
|
-
|
27
|
-
def validator_class
|
28
|
-
JSchema::Validator::Required
|
29
|
-
end
|
30
|
-
end
|
@@ -1,107 +0,0 @@
|
|
1
|
-
require 'minitest/autorun'
|
2
|
-
require 'jschema'
|
3
|
-
|
4
|
-
require_relative 'assertions'
|
5
|
-
|
6
|
-
class TestSimpleValidator < Minitest::Test
|
7
|
-
include Assertions
|
8
|
-
|
9
|
-
def setup
|
10
|
-
super
|
11
|
-
@validator_class = Class.new(JSchema::SimpleValidator) do
|
12
|
-
private
|
13
|
-
|
14
|
-
self.keywords = ['param']
|
15
|
-
|
16
|
-
def validate_args(param)
|
17
|
-
true
|
18
|
-
end
|
19
|
-
|
20
|
-
def post_initialize(param)
|
21
|
-
end
|
22
|
-
|
23
|
-
def validate_instance(param)
|
24
|
-
end
|
25
|
-
|
26
|
-
def applicable_types
|
27
|
-
[String]
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
def test_parent_attribute
|
33
|
-
parent = Object.new
|
34
|
-
example = @validator_class.new('param', parent)
|
35
|
-
assert_equal parent, example.parent
|
36
|
-
end
|
37
|
-
|
38
|
-
def test_building_from_schema
|
39
|
-
validator_example = build_from_schema('param' => 'test')
|
40
|
-
assert_instance_of validator_class, validator_example
|
41
|
-
end
|
42
|
-
|
43
|
-
def test_building_from_empty_schema
|
44
|
-
assert_nil build_from_schema
|
45
|
-
end
|
46
|
-
|
47
|
-
def test_passing_validation
|
48
|
-
stub_validator nil, true do |vdr|
|
49
|
-
assert vdr.valid?('instance')
|
50
|
-
assert_nil vdr.validate('instance')
|
51
|
-
end
|
52
|
-
end
|
53
|
-
|
54
|
-
def test_failing_validation
|
55
|
-
stub_validator nil, false do |vdr|
|
56
|
-
refute vdr.valid?('instance')
|
57
|
-
assert_equal 'error', vdr.validate('instance')
|
58
|
-
end
|
59
|
-
end
|
60
|
-
|
61
|
-
def test_invalid_params
|
62
|
-
assert_raises(JSchema::InvalidSchema) do
|
63
|
-
Class.new(JSchema::SimpleValidator) do
|
64
|
-
private
|
65
|
-
|
66
|
-
def validate_args
|
67
|
-
false
|
68
|
-
end
|
69
|
-
end.new('test')
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
|
-
def test_that_validation_always_passes_if_validator_is_not_applicable
|
74
|
-
stub_validator [Fixnum], false do |vdr|
|
75
|
-
assert vdr.valid?('instance')
|
76
|
-
end
|
77
|
-
end
|
78
|
-
|
79
|
-
def test_failing_validation_when_validator_is_applicable
|
80
|
-
stub_validator [Fixnum], false do |vdr|
|
81
|
-
refute vdr.valid?(0)
|
82
|
-
end
|
83
|
-
end
|
84
|
-
|
85
|
-
def test_failing_validation_when_instance_is_descendant_of_applicable_types
|
86
|
-
stub_validator [Hash], false do |vdr|
|
87
|
-
descendant_type = Class.new(Hash)
|
88
|
-
refute vdr.valid?(descendant_type.new)
|
89
|
-
end
|
90
|
-
end
|
91
|
-
|
92
|
-
private
|
93
|
-
|
94
|
-
def stub_validator(applicable_types, valid)
|
95
|
-
validator_example = validator 'test'
|
96
|
-
validation_result = valid ? nil : 'error'
|
97
|
-
validator_example.stub :applicable_types, applicable_types do
|
98
|
-
validator_example.stub :validate_instance, validation_result do
|
99
|
-
yield validator_example
|
100
|
-
end
|
101
|
-
end
|
102
|
-
end
|
103
|
-
|
104
|
-
def validator_class
|
105
|
-
@validator_class
|
106
|
-
end
|
107
|
-
end
|
data/test/validator/test_type.rb
DELETED
@@ -1,97 +0,0 @@
|
|
1
|
-
require 'minitest/autorun'
|
2
|
-
require 'jschema'
|
3
|
-
|
4
|
-
require_relative 'assertions'
|
5
|
-
|
6
|
-
class TestType < Minitest::Test
|
7
|
-
include Assertions
|
8
|
-
|
9
|
-
def test_that_argument_is_a_string_or_an_array
|
10
|
-
assert_raises_unless 'type', :string, :array
|
11
|
-
end
|
12
|
-
|
13
|
-
def test_that_argument_is_a_unique_string_array
|
14
|
-
assert_raises_unless_string_array 'type'
|
15
|
-
end
|
16
|
-
|
17
|
-
def test_passing_string_validation
|
18
|
-
assert validator('string').valid?('str')
|
19
|
-
end
|
20
|
-
|
21
|
-
def test_failing_string_validation
|
22
|
-
refute validator('string').valid?(1)
|
23
|
-
end
|
24
|
-
|
25
|
-
def test_passing_integer_validation
|
26
|
-
assert validator('integer').valid?(1)
|
27
|
-
assert validator('integer').valid?(2**64)
|
28
|
-
end
|
29
|
-
|
30
|
-
def test_failing_integer_validation
|
31
|
-
refute validator('integer').valid?('str')
|
32
|
-
end
|
33
|
-
|
34
|
-
def test_passing_array_validation
|
35
|
-
assert validator('array').valid?([])
|
36
|
-
end
|
37
|
-
|
38
|
-
def test_failing_array_validation
|
39
|
-
refute validator('array').valid?('str')
|
40
|
-
end
|
41
|
-
|
42
|
-
def test_passing_boolean_validation
|
43
|
-
assert validator('boolean').valid?(true)
|
44
|
-
assert validator('boolean').valid?(false)
|
45
|
-
end
|
46
|
-
|
47
|
-
def test_failing_boolean_validation
|
48
|
-
refute validator('boolean').valid?(nil)
|
49
|
-
refute validator('boolean').valid?(0)
|
50
|
-
end
|
51
|
-
|
52
|
-
def test_passing_null_validation
|
53
|
-
assert validator('null').valid?(nil)
|
54
|
-
end
|
55
|
-
|
56
|
-
def test_failing_null_validation
|
57
|
-
refute validator('null').valid?(false)
|
58
|
-
refute validator('null').valid?('')
|
59
|
-
end
|
60
|
-
|
61
|
-
def test_passing_object_validation
|
62
|
-
assert validator('object').valid?('test' => 123)
|
63
|
-
end
|
64
|
-
|
65
|
-
def test_failing_object_validation
|
66
|
-
refute validator('object').valid?([])
|
67
|
-
end
|
68
|
-
|
69
|
-
def test_passing_number_validation
|
70
|
-
assert validator('number').valid?(1)
|
71
|
-
assert validator('number').valid?(1.2)
|
72
|
-
assert validator('number').valid?(BigDecimal.new('1.2'))
|
73
|
-
assert validator('number').valid?(2**64)
|
74
|
-
end
|
75
|
-
|
76
|
-
def test_failing_number_validation
|
77
|
-
refute validator('number').valid?('1')
|
78
|
-
end
|
79
|
-
|
80
|
-
def test_passing_multiple_type_validation
|
81
|
-
mvalidator = validator ['string', 'null']
|
82
|
-
assert mvalidator.valid?('str')
|
83
|
-
assert mvalidator.valid?(nil)
|
84
|
-
end
|
85
|
-
|
86
|
-
def test_failing_multiple_type_validation
|
87
|
-
mvalidator = validator ['string', 'null']
|
88
|
-
refute mvalidator.valid?(1)
|
89
|
-
refute mvalidator.valid?(false)
|
90
|
-
end
|
91
|
-
|
92
|
-
private
|
93
|
-
|
94
|
-
def validator_class
|
95
|
-
JSchema::Validator::Type
|
96
|
-
end
|
97
|
-
end
|
@@ -1,30 +0,0 @@
|
|
1
|
-
require 'minitest/autorun'
|
2
|
-
require 'jschema'
|
3
|
-
|
4
|
-
require_relative 'assertions'
|
5
|
-
|
6
|
-
class TestUniqueItems < Minitest::Test
|
7
|
-
include Assertions
|
8
|
-
|
9
|
-
def test_that_argument_is_boolean
|
10
|
-
assert_raises_unless 'uniqueItems', :boolean
|
11
|
-
end
|
12
|
-
|
13
|
-
def test_passing_validation_when_unique_items_is_true
|
14
|
-
assert validator(true).valid?([1, 2])
|
15
|
-
end
|
16
|
-
|
17
|
-
def test_passing_validation_when_unique_items_is_false
|
18
|
-
assert validator(false).valid?([1, 1])
|
19
|
-
end
|
20
|
-
|
21
|
-
def test_failing_validation
|
22
|
-
refute validator(true).valid?([1, 1])
|
23
|
-
end
|
24
|
-
|
25
|
-
private
|
26
|
-
|
27
|
-
def validator_class
|
28
|
-
JSchema::Validator::UniqueItems
|
29
|
-
end
|
30
|
-
end
|
@@ -1,24 +0,0 @@
|
|
1
|
-
require_relative 'argument_is_array_of_schemas_tests'
|
2
|
-
|
3
|
-
module ValidationAgainstSchemasTests
|
4
|
-
include SchemaValidationHelpers
|
5
|
-
include ArgumentIsArrayOfSchemasTests
|
6
|
-
|
7
|
-
def test_passing_validation_against_one_schema
|
8
|
-
stub_schema_validations(true) do
|
9
|
-
assert validator([generate_schema]).valid?('test')
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
def test_failing_validation_against_one_schema
|
14
|
-
stub_schema_validations(false) do
|
15
|
-
refute validator([generate_schema]).valid?('test')
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
def test_failing_validation_all_validations_fail
|
20
|
-
stub_schema_validations(false, false) do
|
21
|
-
refute validator([generate_schema, generate_schema]).valid?('test')
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|