preaction / Yancy

The Best Web Framework Deserves the Best Content Management System
http://preaction.me/yancy/
Other
54 stars 21 forks source link

Unable to resolve "#definitions/user/properties/username" #137

Closed eserte closed 2 years ago

eserte commented 2 years ago

The test suite fails on most of my smoker systems:

x-view is deprecated and will be removed in v2. Use Yancy::Model or your database's CREATE VIEW instead. at /home/cpansand/.cpan/build/2021101719/Mojolicious-9.21-JC_RbL/blib/lib/Mojolicious/Plugins.pm line 45.
    # No tests run!

#   Failed test 'No tests run for subtest "declared schema"'
#   at t/api.t line 65.
Unable to resolve "#definitions/user/properties/username" from "urn:uuid:bd4b17ef-6275-5b1f-bb6c-2b9ec6190d8e". (schema/base_url) at /home/cpansand/.cpan/build/2021101719/JSON-Validator-5.02-SKFM7V/blib/lib/JSON/Validator/Store.pm line 95.
# Tests were run but no plan was declared and done_testing() was not seen.
# Looks like your test exited with 255 just after 1.
t/api.t ...................... 
Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 1/1 subtests 
Unable to resolve "#definitions/people/properties/id" from "urn:uuid:335f206f-559e-5ef5-8a35-7d0a8b3d8354". (schema/base_url) at /home/cpansand/.cpan/build/2021101719/JSON-Validator-5.02-SKFM7V/blib/lib/JSON/Validator/Store.pm line 95.
t/app.t ...................... 
Dubious, test returned 255 (wstat 65280, 0xff00)
No subtests run 
... etc ...

Possibly reason: Mojolicious::Plugin::OpenAPI 5.00 is installed on these systems.

pavelsr commented 2 years ago

@eserte I have same problem. Please provide your output of cpan -D Mojolicious Mojolicious::Plugin::OpenAPI JSON::Validator Yancy

Mine versions:

Yancy 1.078
Mojolicious 9.22
JSON::Validator 5.02
Mojolicious::Plugin::OpenAPI 5.0
eserte commented 2 years ago

@pavelsr: the reports of my (and others) smoker systems can be found here, including the versions of the dependencies: http://matrix.cpantesters.org/?dist=Yancy%201.078;reports=1

Statistical analysis over my reports gives the following regression candidates:

****************************************************************
Regression 'mod:Mojolicious::Plugin::OpenAPI'
****************************************************************
Name                   Theta          StdErr     T-stat
[0='const']           0.0000          0.0570       0.00
[1='eq_2.14']        -0.0000          0.0987      -0.00
[2='eq_3.41']         0.0000          0.0658       0.00
[3='eq_4.00']         1.0000          0.0987      10.13
[4='eq_4.01']        -0.0000          0.0674      -0.00
[5='eq_4.02']         1.0000          0.0806      12.41
[6='eq_4.03']         0.5000          0.0806       6.20
[7='eq_4.04']         0.0000          0.0736       0.00
[8='eq_4.05']         0.0000          0.0658       0.00
[9='eq_4.06']         1.0000          0.0601      16.65
[10='eq_5.00']        0.0000          0.0583       0.00

R^2= 0.970, N= 88, K= 11
****************************************************************

****************************************************************
Regression 'mod:JSON::Validator'
****************************************************************
Name                   Theta          StdErr     T-stat
[0='const']           1.0000          0.0454      22.04
[1='eq_4.22']        -0.5556          0.0710      -7.83
[2='eq_4.23']        -0.0000          0.0861      -0.00
[3='eq_5.01']        -1.0000          0.1243      -8.05
[4='eq_5.02']        -1.0000          0.0501     -19.95

R^2= 0.865, N= 88, K= 5
****************************************************************

In the first case, theta=0 means "fail", in the second case theta=-1 means "fail". So at least I can say that there was no pass report created if Mojolicious::Plugin::OpenAPI 5.00 was installed, neither there were pass reports with JSON::Validator >= 5.01 (maybe both are connected anyway).