Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package perl-JSON-Validator for
openSUSE:Factory checked in at 2022-01-13 23:21:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-JSON-Validator (Old)
and /work/SRC/openSUSE:Factory/.perl-JSON-Validator.new.1892 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-JSON-Validator"
Thu Jan 13 23:21:10 2022 rev:39 rq:946123 version:5.05
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-JSON-Validator/perl-JSON-Validator.changes
2021-12-13 20:50:46.580649505 +0100
+++
/work/SRC/openSUSE:Factory/.perl-JSON-Validator.new.1892/perl-JSON-Validator.changes
2022-01-13 23:21:51.100063586 +0100
@@ -1,0 +2,9 @@
+Thu Jan 6 03:07:06 UTC 2022 - Tina M??ller <[email protected]>
+
+- updated to 5.05
+ see /usr/share/doc/packages/perl-JSON-Validator/Changes
+
+ 5.05 2022-01-06T09:33:30+0900
+ - Add EXPERIMETNAL support for coercing to array when posting form data
+
+-------------------------------------------------------------------
Old:
----
JSON-Validator-5.04.tar.gz
New:
----
JSON-Validator-5.05.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-JSON-Validator.spec ++++++
--- /var/tmp/diff_new_pack.SQ2YwK/_old 2022-01-13 23:21:51.468063827 +0100
+++ /var/tmp/diff_new_pack.SQ2YwK/_new 2022-01-13 23:21:51.472063830 +0100
@@ -1,7 +1,7 @@
#
# spec file for package perl-JSON-Validator
#
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
%define cpan_name JSON-Validator
Name: perl-JSON-Validator
-Version: 5.04
+Version: 5.05
Release: 0
Summary: Validate data against a JSON schema
License: Artistic-2.0
++++++ JSON-Validator-5.04.tar.gz -> JSON-Validator-5.05.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/JSON-Validator-5.04/Changes
new/JSON-Validator-5.05/Changes
--- old/JSON-Validator-5.04/Changes 2021-12-09 23:54:09.000000000 +0100
+++ new/JSON-Validator-5.05/Changes 2022-01-06 01:33:30.000000000 +0100
@@ -1,5 +1,8 @@
Revision history for perl distribution JSON-Validator
+5.05 2022-01-06T09:33:30+0900
+ - Add EXPERIMETNAL support for coercing to array when posting form data
+
5.04 2021-12-10T07:54:09+0900
- Fix coercing strings and numbers in schema specification #266
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/JSON-Validator-5.04/MANIFEST
new/JSON-Validator-5.05/MANIFEST
--- old/JSON-Validator-5.04/MANIFEST 2021-12-09 23:54:16.000000000 +0100
+++ new/JSON-Validator-5.05/MANIFEST 2022-01-06 01:33:46.000000000 +0100
@@ -98,6 +98,7 @@
t/openapiv2-headers.t
t/openapiv2-readonly.t
t/openapiv3-basic.t
+t/openapiv3-coerce-array.t
t/openapiv3-default-values.t
t/openapiv3-discriminator.t
t/openapiv3-nullable.t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/JSON-Validator-5.04/META.json
new/JSON-Validator-5.05/META.json
--- old/JSON-Validator-5.04/META.json 2021-12-09 23:54:16.000000000 +0100
+++ new/JSON-Validator-5.05/META.json 2022-01-06 01:33:46.000000000 +0100
@@ -63,6 +63,6 @@
},
"x_IRC" : "ircs://irc.libera.chat:6697/#perl-openapi"
},
- "version" : "5.04",
+ "version" : "5.05",
"x_serialization_backend" : "JSON::PP version 4.06"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/JSON-Validator-5.04/META.yml
new/JSON-Validator-5.05/META.yml
--- old/JSON-Validator-5.04/META.yml 2021-12-09 23:54:16.000000000 +0100
+++ new/JSON-Validator-5.05/META.yml 2022-01-06 01:33:46.000000000 +0100
@@ -32,5 +32,5 @@
homepage: https://mojolicious.org
license: http://www.opensource.org/licenses/artistic-license-2.0
repository: https://github.com/mojolicious/json-validator.git
-version: '5.04'
+version: '5.05'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/JSON-Validator-5.04/lib/JSON/Validator/Schema/OpenAPIv3.pm
new/JSON-Validator-5.05/lib/JSON/Validator/Schema/OpenAPIv3.pm
--- old/JSON-Validator-5.04/lib/JSON/Validator/Schema/OpenAPIv3.pm
2021-11-21 00:59:28.000000000 +0100
+++ new/JSON-Validator-5.05/lib/JSON/Validator/Schema/OpenAPIv3.pm
2022-01-06 01:32:01.000000000 +0100
@@ -289,8 +289,10 @@
return E "/$param->{name}", [qw(object required)];
}
if ($val->{exists}) {
- local $self->{"validate_$direction"} = 1;
$val->{content_type} //= $param->{accepts}[0];
+ local $self->{coerce}{arrays} = 1
+ if $val->{content_type} =~
m!^(application/x-www-form-urlencoded|multipart/form-data)$!;
+ local $self->{"validate_$direction"} = 1;
my @errors = map { $_->path(_prefix_error_path($param->{name}, $_->path));
$_ }
$self->validate($val->{value},
$param->{content}{$val->{content_type}}{schema});
$val->{valid} = @errors ? 0 : 1;
@@ -304,6 +306,7 @@
sub _validate_type_array {
my $self = shift;
+ $_[0] = [$_[0]] if ref $_[0] ne 'ARRAY' and $self->{coerce}{arrays};
return $_[1]->{schema}{nullable} && !defined $_[0] ? () :
$self->SUPER::_validate_type_array(@_);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/JSON-Validator-5.04/lib/JSON/Validator.pm
new/JSON-Validator-5.05/lib/JSON/Validator.pm
--- old/JSON-Validator-5.04/lib/JSON/Validator.pm 2021-12-09
23:54:09.000000000 +0100
+++ new/JSON-Validator-5.05/lib/JSON/Validator.pm 2022-01-06
01:33:30.000000000 +0100
@@ -7,7 +7,7 @@
use Mojo::Util qw(sha1_sum);
use Scalar::Util qw(blessed);
-our $VERSION = '5.04';
+our $VERSION = '5.05';
our %SCHEMAS = (
'http://json-schema.org/draft-04/schema#' => '+Draft4',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/JSON-Validator-5.04/t/openapiv3-coerce-array.t
new/JSON-Validator-5.05/t/openapiv3-coerce-array.t
--- old/JSON-Validator-5.04/t/openapiv3-coerce-array.t 1970-01-01
01:00:00.000000000 +0100
+++ new/JSON-Validator-5.05/t/openapiv3-coerce-array.t 2022-01-06
01:31:43.000000000 +0100
@@ -0,0 +1,55 @@
+use Mojo::Base -strict;
+use JSON::Validator;
+use Test::More;
+
+my $schema = JSON::Validator->new->schema('data://main/openapi.yaml')->schema;
+my ($body, @errors);
+
+subtest 'number to array' => sub {
+ $body = {exists => 1, value => {id => 42}};
+ @errors = $schema->validate_request([post => '/test'], {body => \&body});
+ is "@errors", "", "valid";
+};
+
+subtest 'string to array' => sub {
+ $body = {exists => 1, value => {id => '42'}};
+ @errors = $schema->validate_request([post => '/test'], {body => \&body});
+ is "@errors", "", "valid";
+};
+
+subtest 'already an array' => sub {
+ $body = {exists => 1, value => {id => [42, '43']}};
+ @errors = $schema->validate_request([post => '/test'], {body => \&body});
+ is "@errors", "", "valid";
+};
+
+done_testing;
+
+sub body {$body}
+
+__DATA__
+@@ openapi.yaml
+---
+openapi: 3.0.0
+info:
+ title: Upload test
+ version: 1.0.0
+servers:
+- url: http://example.com/api
+paths:
+ /test:
+ post:
+ operationId: testPost
+ requestBody:
+ required: true
+ content:
+ application/x-www-form-urlencoded:
+ schema:
+ properties:
+ id:
+ type: array
+ items:
+ type: integer
+ responses:
+ 200:
+ description: OK