Class: JSON::Fuzz::Generator::Keyword::MinProperties
- Inherits:
-
Object
- Object
- JSON::Fuzz::Generator::Keyword::MinProperties
- Defined in:
- lib/json/fuzz/generator/keyword/min_properties.rb
Class Method Summary collapse
Class Method Details
.invalid_params(attributes) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/json/fuzz/generator/keyword/min_properties.rb', line 7 def invalid_params(attributes) min_properties = attributes["minProperties"] raise "No minProperties keyword given: #{attributes}" unless min_properties generated_params = [] invalid_param = {} template = valid_param(attributes) template.delete(template.keys.sample) [template] end |
.valid_param(attributes) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/json/fuzz/generator/keyword/min_properties.rb', line 20 def valid_param(attributes) attributes = Marshal.load(Marshal.dump(attributes)) min_properties = attributes.delete("minProperties") raise "No minProperties keyword given: #{attributes}" unless min_properties template = JSON::Fuzz::Generator.default_param(attributes) while template.size < min_properties key = /\w+/.gen template[key] = template[template.keys.sample] end template end |