1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
use Mojo::Base -strict;
use Test::More;
use JSON::Validator;
plan skip_all => $@ unless eval { JSON::Validator::_yaml_module() };
my $validator = JSON::Validator->new;
my @errors = $validator->schema('data://Some::Module/s_pec-/-ficaTion')
->validate({firstName => 'yikes!'});
is int(@errors), 1, 'one error';
is $errors[0]->path, '/lastName', 'lastName';
is $errors[0]->message, 'Missing property.', 'required';
is_deeply $errors[0]->TO_JSON,
{path => '/lastName', message => 'Missing property.'}, 'TO_JSON';
done_testing;
package Some::Module;
__DATA__
@@ s_pec-/-ficaTion
---
title: Example Schema
type: object
required:
- firstName
- lastName
properties:
firstName:
type: string
lastName:
type: string
age:
type: integer
minimum: 0
description: Age in years
|