PATH=C:\mingw\bin;C:\cygwin\bin;C:\cpanfly-5.20\var\megalib\bin;C:\Perl64-5.20\site\bin;C:\Perl64-5.20\bin;C:\cygwin\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\PROGRA~2\Perforce;C:\instantclient_11_2;C:\cygwin\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\PROGRA~2\Perforce;C:\mysql\bin Start 2014-11-07T06:17:53 ActivePerl-2000 CPAN-2.00 PATH=C:/CPANFL~1.20/var/libs/bin;C:\mingw\bin;C:\cygwin\bin;C:\CPANFL~1.20\var\megalib\bin;C:\Perl64-5.20\site\bin;C:\Perl64-5.20\bin;C:\cygwin\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WINDOW~1\v1.0;C:\PROGRA~2\Perforce;C:\INSTAN~1;C:\cygwin\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WINDOW~1\v1.0;C:\PROGRA~2\Perforce;C:\mysql\bin Reading 'C:\cpanfly-5.20\var\cpan\Metadata' Database was generated on Fri, 07 Nov 2014 13:29:02 GMT Running make for T/TI/TIMB/WebAPI-DBIC-0.001009.tar.gz Fetching with LWP: http://cpan.nas1.activestate.com/authors/id/T/TI/TIMB/WebAPI-DBIC-0.001009.tar.gz Fetching with LWP: http://cpan.nas1.activestate.com/authors/id/T/TI/TIMB/CHECKSUMS Checksum for C:\cpanfly-5.20\var\cpan\sources\authors\id\T\TI\TIMB\WebAPI-DBIC-0.001009.tar.gz ok WebAPI-DBIC-0.001009 WebAPI-DBIC-0.001009/README WebAPI-DBIC-0.001009/Changes WebAPI-DBIC-0.001009/LICENSE WebAPI-DBIC-0.001009/cpanfile WebAPI-DBIC-0.001009/dist.ini WebAPI-DBIC-0.001009/META.yml WebAPI-DBIC-0.001009/MANIFEST WebAPI-DBIC-0.001009/NOTES.pod WebAPI-DBIC-0.001009/README.md WebAPI-DBIC-0.001009/META.json WebAPI-DBIC-0.001009/Makefile.PL WebAPI-DBIC-0.001009/MANIFEST.SKIP WebAPI-DBIC-0.001009/t WebAPI-DBIC-0.001009/t/00-compile.t WebAPI-DBIC-0.001009/t/lib WebAPI-DBIC-0.001009/t/lib/TestDS.pm WebAPI-DBIC-0.001009/t/10-basics-hal.t WebAPI-DBIC-0.001009/t/11-paging-hal.t WebAPI-DBIC-0.001009/t/13-fields-hal.t WebAPI-DBIC-0.001009/t/50-modify-hal.t WebAPI-DBIC-0.001009/lib/WebAPI WebAPI-DBIC-0.001009/lib/WebAPI/DBIC.pm WebAPI-DBIC-0.001009/t/10-basics-core.t WebAPI-DBIC-0.001009/t/11-paging-core.t WebAPI-DBIC-0.001009/t/13-fields-core.t WebAPI-DBIC-0.001009/t/50-modify-core.t WebAPI-DBIC-0.001009/t/53-put_rel-hal.t WebAPI-DBIC-0.001009/t/60-invoke-core.t WebAPI-DBIC-0.001009/run-chinook-demo.sh WebAPI-DBIC-0.001009/t/14-distinct-hal.t WebAPI-DBIC-0.001009/t/20-prefetch-hal.t WebAPI-DBIC-0.001009/t/30-ordering-hal.t WebAPI-DBIC-0.001009/t/52-post_rel-hal.t WebAPI-DBIC-0.001009/t/53-put_rel-core.t WebAPI-DBIC-0.001009/t/lib/TestDS_HAL.pm WebAPI-DBIC-0.001009/t/lib/TestSchema.pm WebAPI-DBIC-0.001009/data_service_api.pod WebAPI-DBIC-0.001009/webapi-dbic-any.psgi WebAPI-DBIC-0.001009/t/12-searching-hal.t WebAPI-DBIC-0.001009/t/14-distinct-core.t WebAPI-DBIC-0.001009/t/30-ordering-core.t WebAPI-DBIC-0.001009/t/lib/DummySchema.pm WebAPI-DBIC-0.001009/webapi-dbic-demo.psgi WebAPI-DBIC-0.001009/hal-browser WebAPI-DBIC-0.001009/hal-browser/README.md WebAPI-DBIC-0.001009/hal-browser/js WebAPI-DBIC-0.001009/hal-browser/js/hal.js WebAPI-DBIC-0.001009/t/12-searching-core.t WebAPI-DBIC-0.001009/run-testschema-demo.sh WebAPI-DBIC-0.001009/hal-browser/styles.css WebAPI-DBIC-0.001009/t/release-pod-syntax.t WebAPI-DBIC-0.001009/lib/WebAPI/DBIC WebAPI-DBIC-0.001009/lib/WebAPI/DBIC/Util.pm WebAPI-DBIC-0.001009/hal-browser/browser.html WebAPI-DBIC-0.001009/t/lib/TestRole WebAPI-DBIC-0.001009/t/lib/TestRole/Schema.pm WebAPI-DBIC-0.001009/lib/WebAPI/DBIC/Router.pm WebAPI-DBIC-0.001009/lib/WebAPI/DBIC/WebApp.pm WebAPI-DBIC-0.001009/t/lib/DummyLoadedSchema.pm WebAPI-DBIC-0.001009/hal-browser/MIT-LICENSE.txt WebAPI-DBIC-0.001009/hal-browser/js/hal WebAPI-DBIC-0.001009/hal-browser/js/hal/browser.js WebAPI-DBIC-0.001009/t/lib/TestSchema/Result WebAPI-DBIC-0.001009/t/lib/TestSchema/Result/CD.pm WebAPI-DBIC-0.001009/hal-browser/js/hal/resource.js WebAPI-DBIC-0.001009/t/lib/TestSchema/Result/Gig.pm WebAPI-DBIC-0.001009/lib/WebAPI/DBIC/Resource WebAPI-DBIC-0.001009/lib/WebAPI/DBIC/Resource/Base.pm WebAPI-DBIC-0.001009/t/lib/TestSchema/Result/Genre.pm WebAPI-DBIC-0.001009/t/lib/TestSchema/Result/Track.pm WebAPI-DBIC-0.001009/hal-browser/js/hal/http WebAPI-DBIC-0.001009/hal-browser/js/hal/http/client.js WebAPI-DBIC-0.001009/hal-browser/js/hal/views WebAPI-DBIC-0.001009/hal-browser/js/hal/views/links.js WebAPI-DBIC-0.001009/hal-browser/vendor/js WebAPI-DBIC-0.001009/hal-browser/vendor/js/backbone.js WebAPI-DBIC-0.001009/t/lib/TestSchema/Result/Artist.pm WebAPI-DBIC-0.001009/hal-browser/vendor/js/bootstrap.js WebAPI-DBIC-0.001009/lib/WebAPI/DBIC/Role WebAPI-DBIC-0.001009/lib/WebAPI/DBIC/Role/JsonParams.pm WebAPI-DBIC-0.001009/hal-browser/js/hal/views/browser.js WebAPI-DBIC-0.001009/hal-browser/vendor/js/underscore.js WebAPI-DBIC-0.001009/lib/WebAPI/DBIC/Role/JsonEncoder.pm WebAPI-DBIC-0.001009/t/lib/TestSchema/Result/Producer.pm WebAPI-DBIC-0.001009/hal-browser/js/hal/views/explorer.js WebAPI-DBIC-0.001009/hal-browser/js/hal/views/resource.js WebAPI-DBIC-0.001009/hal-browser/js/hal/views/response.js WebAPI-DBIC-0.001009/hal-browser/vendor/css WebAPI-DBIC-0.001009/hal-browser/vendor/css/bootstrap.css WebAPI-DBIC-0.001009/lib/WebAPI/DBIC/Resource/Role WebAPI-DBIC-0.001009/lib/WebAPI/DBIC/Resource/Role/Set.pm WebAPI-DBIC-0.001009/lib/WebAPI/HTTP/Throwable WebAPI-DBIC-0.001009/lib/WebAPI/HTTP/Throwable/Factory.pm WebAPI-DBIC-0.001009/hal-browser/js/hal/views/inspector.js WebAPI-DBIC-0.001009/hal-browser/vendor/js/uritemplates.js WebAPI-DBIC-0.001009/lib/WebAPI/DBIC/Resource/Role/DBIC.pm WebAPI-DBIC-0.001009/lib/WebAPI/DBIC/Resource/Role/Item.pm WebAPI-DBIC-0.001009/hal-browser/js/hal/views/navigation.js WebAPI-DBIC-0.001009/hal-browser/js/hal/views/properties.js WebAPI-DBIC-0.001009/hal-browser/vendor/img WebAPI-DBIC-0.001009/hal-browser/vendor/img/ajax-loader.gif WebAPI-DBIC-0.001009/hal-browser/vendor/js/jquery-1.10.2.js WebAPI-DBIC-0.001009/lib/WebAPI/DBIC/Resource/GenericSet.pm WebAPI-DBIC-0.001009/lib/WebAPI/DBIC/Resource/GenericCore.pm WebAPI-DBIC-0.001009/lib/WebAPI/DBIC/Resource/GenericItem.pm WebAPI-DBIC-0.001009/lib/WebAPI/DBIC/Resource/Role/Router.pm WebAPI-DBIC-0.001009/lib/WebAPI/DBIC/Resource/Role/SetHAL.pm WebAPI-DBIC-0.001009/hal-browser/js/hal/views/location_bar.js WebAPI-DBIC-0.001009/lib/WebAPI/DBIC/Resource/Role/ItemHAL.pm WebAPI-DBIC-0.001009/hal-browser/js/hal/views/documentation.js WebAPI-DBIC-0.001009/hal-browser/js/hal/views/response_body.js WebAPI-DBIC-0.001009/lib/WebAPI/DBIC/Resource/Role/DBIC_HAL.pm WebAPI-DBIC-0.001009/lib/WebAPI/DBIC/Resource/Role/DBICAuth.pm WebAPI-DBIC-0.001009/lib/WebAPI/DBIC/Resource/Role/Identity.pm WebAPI-DBIC-0.001009/t/lib/TestSchema/Result/CD_to_Producer.pm WebAPI-DBIC-0.001009/hal-browser/vendor/js/jquery-1.10.2.min.js WebAPI-DBIC-0.001009/lib/WebAPI/HTTP/Throwable/Role WebAPI-DBIC-0.001009/lib/WebAPI/HTTP/Throwable/Role/JSONBody.pm WebAPI-DBIC-0.001009/hal-browser/js/hal/views/request_headers.js WebAPI-DBIC-0.001009/hal-browser/vendor/js/jquery-1.10.2.min.map WebAPI-DBIC-0.001009/lib/WebAPI/DBIC/Resource/Role/DBICParams.pm WebAPI-DBIC-0.001009/lib/WebAPI/DBIC/Resource/Role/ItemInvoke.pm WebAPI-DBIC-0.001009/hal-browser/js/hal/views/query_uri_dialog.js WebAPI-DBIC-0.001009/hal-browser/js/hal/views/response_headers.js WebAPI-DBIC-0.001009/lib/WebAPI/DBIC/Resource/Role/SetWritable.pm WebAPI-DBIC-0.001009/hal-browser/js/hal/views/embedded_resource.js WebAPI-DBIC-0.001009/lib/WebAPI/DBIC/Resource/GenericItemInvoke.pm WebAPI-DBIC-0.001009/lib/WebAPI/DBIC/Resource/Role/ItemWritable.pm WebAPI-DBIC-0.001009/lib/WebAPI/DBIC/Resource/Role/Relationship.pm WebAPI-DBIC-0.001009/hal-browser/js/hal/views/embedded_resources.js WebAPI-DBIC-0.001009/lib/WebAPI/DBIC/Resource/Role/DBICException.pm WebAPI-DBIC-0.001009/hal-browser/vendor/css/bootstrap-responsive.css WebAPI-DBIC-0.001009/hal-browser/vendor/img/glyphicons-halflings.png WebAPI-DBIC-0.001009/lib/WebAPI/DBIC/Resource/Role/SetWritableHAL.pm WebAPI-DBIC-0.001009/lib/WebAPI/DBIC/Resource/Role/ItemWritableHAL.pm WebAPI-DBIC-0.001009/hal-browser/js/hal/views/non_safe_request_dialog.js WebAPI-DBIC-0.001009/hal-browser/vendor/img/glyphicons-halflings-white.png CPAN.pm: Building T/TI/TIMB/WebAPI-DBIC-0.001009.tar.gz >>> C:\Perl64-5.20\bin\perl.exe Makefile.PL Checking if your kit is complete... Looks good Generating a dmake-style Makefile Writing Makefile for WebAPI::DBIC Writing MYMETA.yml and MYMETA.json >>> dmake cp lib/WebAPI/DBIC/Resource/GenericItemInvoke.pm blib\lib\WebAPI\DBIC\Resource\GenericItemInvoke.pm cp lib/WebAPI/DBIC/Resource/Role/DBIC.pm blib\lib\WebAPI\DBIC\Resource\Role\DBIC.pm cp lib/WebAPI/DBIC/Resource/Role/Item.pm blib\lib\WebAPI\DBIC\Resource\Role\Item.pm cp lib/WebAPI/DBIC/Resource/GenericItem.pm blib\lib\WebAPI\DBIC\Resource\GenericItem.pm cp lib/WebAPI/DBIC/Resource/Role/DBICException.pm blib\lib\WebAPI\DBIC\Resource\Role\DBICException.pm cp lib/WebAPI/DBIC/Resource/Role/DBIC_HAL.pm blib\lib\WebAPI\DBIC\Resource\Role\DBIC_HAL.pm cp lib/WebAPI/DBIC.pm blib\lib\WebAPI\DBIC.pm cp lib/WebAPI/DBIC/Resource/GenericSet.pm blib\lib\WebAPI\DBIC\Resource\GenericSet.pm cp lib/WebAPI/DBIC/Resource/Role/Identity.pm blib\lib\WebAPI\DBIC\Resource\Role\Identity.pm cp lib/WebAPI/DBIC/Resource/Role/DBICParams.pm blib\lib\WebAPI\DBIC\Resource\Role\DBICParams.pm cp lib/WebAPI/DBIC/Resource/Base.pm blib\lib\WebAPI\DBIC\Resource\Base.pm cp lib/WebAPI/DBIC/Resource/Role/DBICAuth.pm blib\lib\WebAPI\DBIC\Resource\Role\DBICAuth.pm cp data_service_api.pod blib\lib\WebAPI\data_service_api.pod cp lib/WebAPI/DBIC/Resource/GenericCore.pm blib\lib\WebAPI\DBIC\Resource\GenericCore.pm cp NOTES.pod blib\lib\WebAPI\NOTES.pod cp lib/WebAPI/DBIC/Resource/Role/SetHAL.pm blib\lib\WebAPI\DBIC\Resource\Role\SetHAL.pm cp lib/WebAPI/DBIC/WebApp.pm blib\lib\WebAPI\DBIC\WebApp.pm cp lib/WebAPI/DBIC/Util.pm blib\lib\WebAPI\DBIC\Util.pm cp lib/WebAPI/DBIC/Router.pm blib\lib\WebAPI\DBIC\Router.pm cp lib/WebAPI/DBIC/Resource/Role/Relationship.pm blib\lib\WebAPI\DBIC\Resource\Role\Relationship.pm cp lib/WebAPI/DBIC/Resource/Role/Set.pm blib\lib\WebAPI\DBIC\Resource\Role\Set.pm cp lib/WebAPI/DBIC/Role/JsonParams.pm blib\lib\WebAPI\DBIC\Role\JsonParams.pm cp lib/WebAPI/DBIC/Role/JsonEncoder.pm blib\lib\WebAPI\DBIC\Role\JsonEncoder.pm cp lib/WebAPI/DBIC/Resource/Role/ItemWritableHAL.pm blib\lib\WebAPI\DBIC\Resource\Role\ItemWritableHAL.pm cp lib/WebAPI/DBIC/Resource/Role/SetWritableHAL.pm blib\lib\WebAPI\DBIC\Resource\Role\SetWritableHAL.pm cp lib/WebAPI/DBIC/Resource/Role/ItemWritable.pm blib\lib\WebAPI\DBIC\Resource\Role\ItemWritable.pm cp lib/WebAPI/DBIC/Resource/Role/Router.pm blib\lib\WebAPI\DBIC\Resource\Role\Router.pm cp lib/WebAPI/DBIC/Resource/Role/SetWritable.pm blib\lib\WebAPI\DBIC\Resource\Role\SetWritable.pm cp lib/WebAPI/DBIC/Resource/Role/ItemHAL.pm blib\lib\WebAPI\DBIC\Resource\Role\ItemHAL.pm cp lib/WebAPI/DBIC/Resource/Role/ItemInvoke.pm blib\lib\WebAPI\DBIC\Resource\Role\ItemInvoke.pm cp lib/WebAPI/HTTP/Throwable/Factory.pm blib\lib\WebAPI\HTTP\Throwable\Factory.pm cp lib/WebAPI/HTTP/Throwable/Role/JSONBody.pm blib\lib\WebAPI\HTTP\Throwable\Role\JSONBody.pm TIMB/WebAPI-DBIC-0.001009.tar.gz dmake -- OK Running make test >>> dmake test TEST_VERBOSE=1 "C:\Perl64-5.20\bin\perl.exe" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib\lib', 'blib\arch')" t/*.t t/00-compile.t .......... ok 1 - lib\WebAPI\DBIC.pm compiles ok 2 - lib\WebAPI\DBIC\Router.pm compiles ok 3 - lib\WebAPI\DBIC\Util.pm compiles ok 4 - lib\WebAPI\DBIC\WebApp.pm compiles ok 5 - blib\lib\WebAPI\DBIC.pm compiles ok 6 - lib\WebAPI\DBIC\Resource\Base.pm compiles ok 7 - lib\WebAPI\DBIC\Resource\GenericCore.pm compiles ok 8 - lib\WebAPI\DBIC\Resource\GenericItem.pm compiles ok 9 - lib\WebAPI\DBIC\Resource\GenericItemInvoke.pm compiles ok 10 - lib\WebAPI\DBIC\Resource\GenericSet.pm compiles ok 11 - lib\WebAPI\DBIC\Role\JsonEncoder.pm compiles ok 12 - lib\WebAPI\DBIC\Role\JsonParams.pm compiles ok 13 - lib\WebAPI\HTTP\Throwable\Factory.pm compiles ok 14 - blib\lib\WebAPI\DBIC\Router.pm compiles ok 15 - blib\lib\WebAPI\DBIC\Util.pm compiles ok 16 - blib\lib\WebAPI\DBIC\WebApp.pm compiles ok 17 - lib\WebAPI\DBIC\Resource\Role\DBIC.pm compiles ok 18 - lib\WebAPI\DBIC\Resource\Role\DBICAuth.pm compiles ok 19 - lib\WebAPI\DBIC\Resource\Role\DBICException.pm compiles ok 20 - lib\WebAPI\DBIC\Resource\Role\DBICParams.pm compiles ok 21 - lib\WebAPI\DBIC\Resource\Role\DBIC_HAL.pm compiles ok 22 - lib\WebAPI\DBIC\Resource\Role\Identity.pm compiles ok 23 - lib\WebAPI\DBIC\Resource\Role\Item.pm compiles ok 24 - lib\WebAPI\DBIC\Resource\Role\ItemHAL.pm compiles ok 25 - lib\WebAPI\DBIC\Resource\Role\ItemInvoke.pm compiles ok 26 - lib\WebAPI\DBIC\Resource\Role\ItemWritable.pm compiles ok 27 - lib\WebAPI\DBIC\Resource\Role\ItemWritableHAL.pm compiles ok 28 - lib\WebAPI\DBIC\Resource\Role\Relationship.pm compiles ok 29 - lib\WebAPI\DBIC\Resource\Role\Router.pm compiles ok 30 - lib\WebAPI\DBIC\Resource\Role\Set.pm compiles ok 31 - lib\WebAPI\DBIC\Resource\Role\SetHAL.pm compiles ok 32 - lib\WebAPI\DBIC\Resource\Role\SetWritable.pm compiles ok 33 - lib\WebAPI\DBIC\Resource\Role\SetWritableHAL.pm compiles ok 34 - lib\WebAPI\HTTP\Throwable\Role\JSONBody.pm compiles ok 35 - blib\lib\WebAPI\DBIC\Resource\Base.pm compiles ok 36 - blib\lib\WebAPI\DBIC\Resource\GenericCore.pm compiles ok 37 - blib\lib\WebAPI\DBIC\Resource\GenericItem.pm compiles ok 38 - blib\lib\WebAPI\DBIC\Resource\GenericItemInvoke.pm compiles ok 39 - blib\lib\WebAPI\DBIC\Resource\GenericSet.pm compiles ok 40 - blib\lib\WebAPI\DBIC\Role\JsonEncoder.pm compiles ok 41 - blib\lib\WebAPI\DBIC\Role\JsonParams.pm compiles ok 42 - blib\lib\WebAPI\HTTP\Throwable\Factory.pm compiles ok 43 - blib\lib\WebAPI\DBIC\Resource\Role\DBIC.pm compiles ok 44 - blib\lib\WebAPI\DBIC\Resource\Role\DBICAuth.pm compiles ok 45 - blib\lib\WebAPI\DBIC\Resource\Role\DBICException.pm compiles ok 46 - blib\lib\WebAPI\DBIC\Resource\Role\DBICParams.pm compiles ok 47 - blib\lib\WebAPI\DBIC\Resource\Role\DBIC_HAL.pm compiles ok 48 - blib\lib\WebAPI\DBIC\Resource\Role\Identity.pm compiles ok 49 - blib\lib\WebAPI\DBIC\Resource\Role\Item.pm compiles ok 50 - blib\lib\WebAPI\DBIC\Resource\Role\ItemHAL.pm compiles ok 51 - blib\lib\WebAPI\DBIC\Resource\Role\ItemInvoke.pm compiles ok 52 - blib\lib\WebAPI\DBIC\Resource\Role\ItemWritable.pm compiles ok 53 - blib\lib\WebAPI\DBIC\Resource\Role\ItemWritableHAL.pm compiles ok 54 - blib\lib\WebAPI\DBIC\Resource\Role\Relationship.pm compiles ok 55 - blib\lib\WebAPI\DBIC\Resource\Role\Router.pm compiles ok 56 - blib\lib\WebAPI\DBIC\Resource\Role\Set.pm compiles ok 57 - blib\lib\WebAPI\DBIC\Resource\Role\SetHAL.pm compiles ok 58 - blib\lib\WebAPI\DBIC\Resource\Role\SetWritable.pm compiles ok 59 - blib\lib\WebAPI\DBIC\Resource\Role\SetWritableHAL.pm compiles ok 60 - blib\lib\WebAPI\HTTP\Throwable\Role\JSONBody.pm compiles 1..60 ok t/10-basics-core.t ...... # Subtest: testing with main ok 1 - Path temp-test-db is accessible, forcing 'force_drop_table' # Subtest: ===== Get - single field key ===== # GET /artist ok 1 ok 2 - response is a ref ok 3 - /artist includes 1 ok 4 - /artist includes 2 ok 5 - /artist includes 3 ok 6 - /artist includes 4 ok 7 - /artist includes 5 ok 8 - /artist includes 6 ok 9 - /artist data looks sane ok 10 - /artist data looks sane # GET /artist/1 ok 11 ok 12 - response is a ref ok 13 - data isn't a hash ok 14 - set has less than 3 attributes ok 15 - artistid ok 16 - data matches # GET /artist/2 ok 17 ok 18 - response is a ref ok 19 - data isn't a hash ok 20 - set has less than 3 attributes ok 21 - artistid ok 22 - data matches 1..22 ok 2 - ===== Get - single field key ===== # Subtest: ===== Get - multi-field key ===== # GET /gig/1/2014-01-01T01:01:01Z ok 1 ok 2 - response is a ref ok 3 - data isn't a hash ok 4 - set has less than 1 attributes ok 5 - artistid ok 6 - gig_datetime # GET /gig/2/2014-06-30T19:00:00Z ok 7 ok 8 - response is a ref ok 9 - data isn't a hash ok 10 - set has less than 1 attributes ok 11 - artistid ok 12 - gig_datetime 1..12 ok 3 - ===== Get - multi-field key ===== # Bye! 1..3 ok 1 - testing with main 1..1 ok TestSchema::Result::Artist relationship cds_without_genre has coderef-based condition which is not handled yet - unknown crosstable_cond_key TestSchema::Result::Artist relationship cds_90s has coderef-based condition which is not handled yet - unknown crosstable_cond_key TestSchema::Result::Artist relationship cds_84 has coderef-based condition which is not handled yet - unknown crosstable_cond_key TestSchema::Result::Artist relationship cds_80s has coderef-based condition which is not handled yet - unknown crosstable_cond_key t/10-basics-hal.t ....... # Subtest: testing with main ok 1 - Path temp-test-db is accessible, forcing 'force_drop_table' # Subtest: ===== Get - single field key ===== # GET /artist ok 1 ok 2 - response is a ref ok 3 - data isn't a hash ok 4 - _embedded isn't hash ok 5 - _embedded has artist array ok 6 - set has at least 2 items ok 7 - /artist includes 1 ok 8 - /artist includes 2 ok 9 - /artist includes 3 ok 10 - /artist data looks sane # GET /artist/1 ok 11 ok 12 - response is a ref ok 13 - data isn't a hash ok 14 - set has less than 3 attributes ok 15 - artistid ok 16 - data matches # GET /artist/2 ok 17 ok 18 - response is a ref ok 19 - data isn't a hash ok 20 - set has less than 3 attributes ok 21 - artistid ok 22 - data matches 1..22 ok 2 - ===== Get - single field key ===== # Subtest: ===== Get - multi-field key ===== # GET /gig/1/2014-01-01T01:01:01Z ok 1 ok 2 - response is a ref ok 3 - data isn't a hash ok 4 - set has less than 1 attributes ok 5 - artistid ok 6 - gig_datetime # GET /gig/2/2014-06-30T19:00:00Z ok 7 ok 8 - response is a ref ok 9 - data isn't a hash ok 10 - set has less than 1 attributes ok 11 - artistid ok 12 - gig_datetime 1..12 ok 3 - ===== Get - multi-field key ===== # Bye! 1..3 ok 1 - testing with main 1..1 ok t/11-paging-core.t ...... # Subtest: testing with main ok 1 - Path temp-test-db is accessible, forcing 'force_drop_table' # Subtest: ===== Paging ===== # GET /artist ok 1 ok 2 - response is a ref # rows 1, page 1 implied # GET /artist?rows=1 ok 3 ok 4 - response is a ref ok 5 - correct number of rows ok 6 - record matches # rows 2, page 1 implied # GET /artist?rows=2 ok 7 ok 8 - response is a ref ok 9 - correct number of rows ok 10 - record matches ok 11 - record matches # rows 3, page 1 implied # GET /artist?rows=3 ok 12 ok 13 - response is a ref ok 14 - correct number of rows ok 15 - record matches ok 16 - record matches ok 17 - record matches # page 1, with small rows param # GET /artist?rows=2&page=1 ok 18 ok 19 - response is a ref ok 20 - record matches ok 21 - record matches # page 2, with small rows param # GET /artist?rows=2&page=2 ok 22 ok 23 - response is a ref ok 24 - record matches ok 25 - record matches # page 1, with small rows param with count # GET /artist?rows=2&with=count&page=1 ok 26 ok 27 - response is a ref ok 28 - record matches ok 29 - record matches # page 2, with small rows param with count # GET /artist?rows=2&with=count&page=2 ok 30 ok 31 - response is a ref ok 32 - record matches ok 33 - record matches 1..33 ok 2 - ===== Paging ===== 1..2 ok 1 - testing with main 1..1 ok TestSchema::Result::Artist relationship cds_84 has coderef-based condition which is not handled yet - unknown crosstable_cond_key TestSchema::Result::Artist relationship cds_without_genre has coderef-based condition which is not handled yet - unknown crosstable_cond_key TestSchema::Result::Artist relationship cds_90s has coderef-based condition which is not handled yet - unknown crosstable_cond_key TestSchema::Result::Artist relationship cds_80s has coderef-based condition which is not handled yet - unknown crosstable_cond_key t/11-paging-hal.t ....... # Subtest: testing with main ok 1 - Path temp-test-db is accessible, forcing 'force_drop_table' # Subtest: ===== Paging ===== # GET /artist ok 1 ok 2 - response is a ref ok 3 - data isn't a hash ok 4 - _embedded isn't hash ok 5 - _embedded has artist array ok 6 - set has at least 2 items ok 7 - /artist includes 1 ok 8 - /artist includes 2 ok 9 - /artist includes 3 ok 10 - /artist data looks sane # rows 1, page 1 implied # GET /artist?rows=1 ok 11 ok 12 - response is a ref ok 13 - data isn't a hash ok 14 - _embedded isn't hash ok 15 - _embedded has artist array ok 16 - set has at least 1 items ok 17 - set has at most 1 items ok 18 - record matches ok 19 - has _links hashref ok 20 - next link ok 21 - should not have prev link ok 22 - should not have first link ok 23 - should not have last link # rows 2, page 1 implied # GET /artist?rows=2 ok 24 ok 25 - response is a ref ok 26 - data isn't a hash ok 27 - _embedded isn't hash ok 28 - _embedded has artist array ok 29 - set has at least 2 items ok 30 - set has at most 2 items ok 31 - record matches ok 32 - record matches ok 33 - has _links hashref ok 34 - next link ok 35 - should not have prev link ok 36 - should not have first link ok 37 - should not have last link # rows 3, page 1 implied # GET /artist?rows=3 ok 38 ok 39 - response is a ref ok 40 - data isn't a hash ok 41 - _embedded isn't hash ok 42 - _embedded has artist array ok 43 - set has at least 3 items ok 44 - set has at most 3 items ok 45 - record matches ok 46 - record matches ok 47 - record matches ok 48 - has _links hashref ok 49 - next link ok 50 - should not have prev link ok 51 - should not have first link ok 52 - should not have last link # page 1, with small rows param # GET /artist?rows=2&page=1 ok 53 ok 54 - response is a ref ok 55 - data isn't a hash ok 56 - _embedded isn't hash ok 57 - _embedded has artist array ok 58 - set has at least 2 items ok 59 - set has at most 2 items ok 60 - record matches ok 61 - record matches ok 62 - has _links hashref ok 63 - next link of /artist?rows=2&page=1 ok 64 - should not have prev link ok 65 - should not have first link ok 66 - should not have last link of /artist?rows=2&page=1 # page 2, with small rows param # GET /artist?rows=2&page=2 ok 67 ok 68 - response is a ref ok 69 - data isn't a hash ok 70 - _embedded isn't hash ok 71 - _embedded has artist array ok 72 - set has at least 2 items ok 73 - set has at most 2 items ok 74 - record matches ok 75 - record matches ok 76 - has _links hashref ok 77 - next link of /artist?rows=2&page=2 ok 78 - prev link of /artist?rows=2&page=2 ok 79 - first link of /artist?rows=2&page=2 ok 80 - should not have last link of /artist?rows=2&page=2 # page 1, with small rows param with count # GET /artist?rows=2&with=count&page=1 ok 81 ok 82 - response is a ref ok 83 - data isn't a hash ok 84 - _embedded isn't hash ok 85 - _embedded has artist array ok 86 - set has at least 2 items ok 87 - set has at most 2 items ok 88 - record matches ok 89 - record matches ok 90 - has _links hashref ok 91 - next link of /artist?rows=2&with=count&page=1 ok 92 - should not have prev link ok 93 - should not have first link ok 94 - should have last link of /artist?rows=2&with=count&page=1 # page 2, with small rows param with count # GET /artist?rows=2&with=count&page=2 ok 95 ok 96 - response is a ref ok 97 - data isn't a hash ok 98 - _embedded isn't hash ok 99 - _embedded has artist array ok 100 - set has at least 2 items ok 101 - set has at most 2 items ok 102 - record matches ok 103 - record matches ok 104 - has _links hashref ok 105 - next link of /artist?rows=2&with=count&page=2 ok 106 - prev link of /artist?rows=2&with=count&page=2 ok 107 - first link of /artist?rows=2&with=count&page=2 ok 108 - should have last link of /artist?rows=2&with=count&page=2 # me.* param pass-thru # GET /artist?me.artistid=1 ok 109 ok 110 - response is a ref ok 111 - data isn't a hash ok 112 - _embedded isn't hash ok 113 - _embedded has artist array ok 114 - set has at least 1 items ok 115 - has $data->{_links}{self}{href} ok 116 - me.artistid param passed through 1..116 ok 2 - ===== Paging ===== 1..2 ok 1 - testing with main 1..1 ok t/12-searching-core.t ... # Subtest: testing with main ok 1 - Path temp-test-db is accessible, forcing 'force_drop_table' # Subtest: ===== Paging ===== # GET /artist ok 1 ok 2 - response is a ref # GET /artist?me.nonesuch=42 ok 3 ok 4 - response is a ref # GET /artist?me.artistid=2 ok 5 ok 6 - response is a ref ok 7 - record matches # GET /artist?me.artistid=3 ok 8 ok 9 - response is a ref ok 10 - record matches # Subtest: search by json array # GET /artist?me.artistid~json=%5B1%2C3%5D ok 1 ok 2 - response is a ref ok 3 - record matches ok 4 - record matches 1..4 ok 11 - search by json array # Subtest: search by json hash # GET /artist?me.artistid~json=%7B%22%3C%3D%22%3A2%7D ok 1 ok 2 - response is a ref ok 3 - record matches ok 4 - record matches 1..4 ok 12 - search by json hash 1..12 ok 2 - ===== Paging ===== 1..2 ok 1 - testing with main 1..1 ok TestSchema::Result::Artist relationship cds_84 has coderef-based condition which is not handled yet - unknown crosstable_cond_key TestSchema::Result::Artist relationship cds_without_genre has coderef-based condition which is not handled yet - unknown crosstable_cond_key TestSchema::Result::Artist relationship cds_90s has coderef-based condition which is not handled yet - unknown crosstable_cond_key TestSchema::Result::Artist relationship cds_80s has coderef-based condition which is not handled yet - unknown crosstable_cond_key t/12-searching-hal.t .... # Subtest: testing with main ok 1 - Path temp-test-db is accessible, forcing 'force_drop_table' # Subtest: ===== Paging ===== # GET /artist ok 1 ok 2 - response is a ref ok 3 - data isn't a hash ok 4 - _embedded isn't hash ok 5 - _embedded has artist array ok 6 - set has at least 2 items ok 7 - /artist includes 1 ok 8 - /artist includes 2 ok 9 - /artist includes 3 ok 10 - /artist data looks sane # GET /artist?me.nonesuch=42 ok 11 ok 12 - response is a ref # GET /artist?me.artistid=2 ok 13 ok 14 - response is a ref ok 15 - data isn't a hash ok 16 - _embedded isn't hash ok 17 - _embedded has artist array ok 18 - set has at least 1 items ok 19 - set has at most 1 items ok 20 - record matches # GET /artist?me.artistid=3 ok 21 ok 22 - response is a ref ok 23 - data isn't a hash ok 24 - _embedded isn't hash ok 25 - _embedded has artist array ok 26 - set has at least 1 items ok 27 - set has at most 1 items ok 28 - record matches # Subtest: search by json array # GET /artist?me.artistid~json=%5B1%2C3%5D ok 1 ok 2 - response is a ref ok 3 - data isn't a hash ok 4 - _embedded isn't hash ok 5 - _embedded has artist array ok 6 - set has at least 2 items ok 7 - set has at most 2 items ok 8 - record matches ok 9 - record matches 1..9 ok 29 - search by json array # Subtest: search by json hash # GET /artist?me.artistid~json=%7B%22%3C%3D%22%3A2%7D ok 1 ok 2 - response is a ref ok 3 - data isn't a hash ok 4 - _embedded isn't hash ok 5 - _embedded has artist array ok 6 - set has at least 2 items ok 7 - set has at most 2 items ok 8 - record matches ok 9 - record matches 1..9 ok 30 - search by json hash 1..30 ok 2 - ===== Paging ===== 1..2 ok 1 - testing with main 1..1 ok t/13-fields-core.t ...... # Subtest: testing with main ok 1 - Path temp-test-db is accessible, forcing 'force_drop_table' # Subtest: ===== Get with fields param ===== # GET /artist?fields=artistid,name ok 1 ok 2 - response is a ref ok 3 - /artist data looks sane ok 4 - rank fields not preset # GET /artist/1?fields=artistid,name ok 5 ok 6 - response is a ref ok 7 - data isn't a hash ok 8 - set has less than 2 attributes ok 9 - artistid ok 10 - data matches # GET /artist/2?fields=artistid,rank ok 11 ok 12 - response is a ref ok 13 - data isn't a hash ok 14 - set has less than 2 attributes ok 15 - artistid ok 16 - has rank field 1..16 ok 2 - ===== Get with fields param ===== 1..2 ok 1 - testing with main 1..1 ok TestSchema::Result::Artist relationship cds_without_genre has coderef-based condition which is not handled yet - unknown crosstable_cond_key TestSchema::Result::Artist relationship cds_84 has coderef-based condition which is not handled yet - unknown crosstable_cond_key TestSchema::Result::Artist relationship cds_80s has coderef-based condition which is not handled yet - unknown crosstable_cond_key TestSchema::Result::Artist relationship cds_90s has coderef-based condition which is not handled yet - unknown crosstable_cond_key t/13-fields-hal.t ....... # Subtest: testing with main ok 1 - Path temp-test-db is accessible, forcing 'force_drop_table' # Subtest: ===== Get with fields param ===== # GET /artist?fields=artistid,name ok 1 ok 2 - response is a ref ok 3 - data isn't a hash ok 4 - _embedded isn't hash ok 5 - _embedded has artist array ok 6 - set has at least 2 items ok 7 - /artist includes 1 ok 8 - /artist includes 2 ok 9 - /artist includes 3 ok 10 - /artist data looks sane ok 11 - rank fields not preset # GET /artist/1?fields=artistid,name ok 12 ok 13 - response is a ref ok 14 - data isn't a hash ok 15 - set has less than 2 attributes ok 16 - artistid ok 17 - data matches # GET /artist/2?fields=artistid,rank ok 18 ok 19 - response is a ref ok 20 - data isn't a hash ok 21 - set has less than 2 attributes ok 22 - artistid ok 23 - has rank field 1..23 ok 2 - ===== Get with fields param ===== 1..2 ok 1 - testing with main 1..1 ok t/14-distinct-core.t .... # Subtest: testing with main ok 1 - Path temp-test-db is accessible, forcing 'force_drop_table' # Subtest: ===== GET distinct ===== # GET /cd?fields=year&order=year&distinct=1 ok 1 ok 2 - response is a ref ok 3 1..3 ok 2 - ===== GET distinct ===== 1..2 ok 1 - testing with main 1..1 ok t/14-distinct-hal.t ..... # Subtest: testing with main ok 1 - Path temp-test-db is accessible, forcing 'force_drop_table' # Subtest: ===== GET distinct ===== # GET /cd?fields=year&order=year&distinct=1 ok 1 ok 2 - response is a ref ok 3 - data isn't a hash ok 4 - _embedded isn't hash ok 5 - _embedded has cd array ok 6 - set has at least 4 items ok 7 - set has at most 4 items ok 8 1..8 ok 2 - ===== GET distinct ===== 1..2 ok 1 - testing with main 1..1 ok TestSchema::Result::Artist relationship cds_84 has coderef-based condition which is not handled yet - unknown crosstable_cond_key TestSchema::Result::Artist relationship cds_90s has coderef-based condition which is not handled yet - unknown crosstable_cond_key TestSchema::Result::Artist relationship cds_80s has coderef-based condition which is not handled yet - unknown crosstable_cond_key TestSchema::Result::Artist relationship cds_without_genre has coderef-based condition which is not handled yet - unknown crosstable_cond_key Exception: DBIx::Class::ResultSource::_resolve_join(): No such relationship producers on CD at C:\cpanfly-5.20\var\cpan\build\WebAPI-DBIC-0.001009-7Vpy6f\blib\lib/WebAPI/DBIC/Resource/Role/DBIC_HAL.pm line 75 t/20-prefetch-hal.t ..... # Subtest: testing with main ok 1 - Path temp-test-db is accessible, forcing 'force_drop_table' # Subtest: ===== Prefetch ===== # prefetch on item # GET /cd/1?prefetch=artist,genre ok 1 ok 2 - response is a ref ok 3 - data isn't a hash ok 4 - set has less than 1 attributes ok 5 - data isn't a hash ok 6 - _embedded isn't hash ok 7 - set has less than 2 attributes ok 8 - set has more than 2 attributes ok 9 - has embedded genreid ok 10 - genreid matches ok 11 - has embedded artistid ok 12 - artistid matches # prefetch on set # GET /cd?rows=2&page=1&prefetch=artist,genre ok 13 ok 14 - response is a ref ok 15 - data isn't a hash ok 16 - _embedded isn't hash ok 17 - _embedded has cd array ok 18 - set has at least 2 items ok 19 - set has at most 2 items ok 20 - data isn't a hash ok 21 - _embedded isn't hash ok 22 - set has less than 2 attributes ok 23 - set has more than 2 attributes ok 24 - has embedded genreid ok 25 - genreid matches ok 26 - has embedded person_id ok 27 - artistid matches ok 28 - data isn't a hash ok 29 - _embedded isn't hash ok 30 - set has less than 2 attributes ok 31 - set has more than 2 attributes ok 32 - has embedded genreid ok 33 - genreid matches ok 34 - has embedded person_id ok 35 - artistid matches # filter on prefetch with string # GET /cd?prefetch=artist&artist.name=Caterwauler+McCrae ok 36 ok 37 - response is a ref ok 38 - data isn't a hash ok 39 - _embedded isn't hash ok 40 - _embedded has cd array ok 41 - set has at least 3 items ok 42 - set has at most 3 items ok 43 - data isn't a hash ok 44 - _embedded isn't hash ok 45 - set has less than 1 attributes ok 46 - set has more than 1 attributes ok 47 - has embedded artist ok 48 - artist has the correct name ok 49 - data isn't a hash ok 50 - _embedded isn't hash ok 51 - set has less than 1 attributes ok 52 - set has more than 1 attributes ok 53 - has embedded artist ok 54 - artist has the correct name ok 55 - data isn't a hash ok 56 - _embedded isn't hash ok 57 - set has less than 1 attributes ok 58 - set has more than 1 attributes ok 59 - has embedded artist ok 60 - artist has the correct name # filter on prefetch with JSON # GET /cd?prefetch=artist&artist.name~json={"like":"%McCrae"} ok 61 ok 62 - response is a ref ok 63 - data isn't a hash ok 64 - _embedded isn't hash ok 65 - _embedded has cd array ok 66 - set has at least 3 items ok 67 - set has at most 3 items ok 68 - data isn't a hash ok 69 - _embedded isn't hash ok 70 - set has less than 1 attributes ok 71 - set has more than 1 attributes ok 72 - has embessed artist ok 73 - artist has the correct name ok 74 - data isn't a hash ok 75 - _embedded isn't hash ok 76 - set has less than 1 attributes ok 77 - set has more than 1 attributes ok 78 - has embessed artist ok 79 - artist has the correct name ok 80 - data isn't a hash ok 81 - _embedded isn't hash ok 82 - set has less than 1 attributes ok 83 - set has more than 1 attributes ok 84 - has embessed artist ok 85 - artist has the correct name # multi type relation (has_many) in prefetch on set # GET /artist?prefetch=cds&rows=2 ok 86 ok 87 - response is a ref ok 88 - data isn't a hash ok 89 - _embedded isn't hash ok 90 - _embedded has artist array ok 91 - set has at least 2 items ok 92 - set has at most 2 items ok 93 - data isn't a hash ok 94 - _embedded isn't hash ok 95 - _embedded has cds array ok 96 - set has at least 1 items ok 97 - set has at most 3 items ok 98 - cd has the correct artistid ok 99 - cd has the correct artistid ok 100 - cd has the correct artistid ok 101 - data isn't a hash ok 102 - _embedded isn't hash ok 103 - _embedded has cds array ok 104 - set has at least 1 items ok 105 - set has at most 3 items ok 106 - cd has the correct artistid # multi type relation (has_many) in prefetch on item # GET /artist/1?prefetch=cds ok 107 ok 108 - response is a ref ok 109 - data isn't a hash ok 110 - set has less than 1 attributes ok 111 - data isn't a hash ok 112 - _embedded isn't hash ok 113 - _embedded has cds array ok 114 - set has at least 1 items ok 115 - set has at most 3 items ok 116 - cd has the correct artistid ok 117 - cd has the correct artistid ok 118 - cd has the correct artistid # multi type relation (many_to_many) in prefetch on item # GET /cd/1?prefetch~json={"cd_to_producer":"producer"} ok 119 # TODO complex prefetch requests are not handled yet ok 120 - response is a ref ok 121 - data isn't a hash # TODO complex prefetch requests are not handled yet ok 122 - set has less than 1 attributes # TODO complex prefetch requests are not handled yet ok 123 - data isn't a hash # TODO complex prefetch requests are not handled yet ok 124 - _embedded isn't hash # TODO complex prefetch requests are not handled yet not ok 125 - _embedded has producers array # TODO complex prefetch requests are not handled yet # Failed (TODO) test '_embedded has producers array' # at t/20-prefetch-hal.t line 131. # got: '' # expected: 'ARRAY' ok 126 - data isn't a hash # TODO complex prefetch requests are not handled yet ok 127 - _embedded isn't hash # TODO complex prefetch requests are not handled yet not ok 128 - _embedded has cd_to_producers array # TODO complex prefetch requests are not handled yet # Failed (TODO) test '_embedded has cd_to_producers array' # at t/20-prefetch-hal.t line 132. # got: '' # expected: 'ARRAY' # filter on nested prefetch # GET /artist?prefetch~json={"cds":"producers"}&cds.year~json={">":"1997"}&producers.name=Matt+S+Trout&rows=2 not ok 129 # TODO complex prefetch requests are not handled yet # Failed (TODO) test at t/20-prefetch-hal.t line 139. # status doesn't match, expected HTTP status code '200', got 500 # 500 Internal Server Error # Vary: Accept # Content-Length: 0 # Content-Type: application/hal+json # not ok 130 - data isn't a hash # TODO complex prefetch requests are not handled yet # Failed (TODO) test 'data isn't a hash' # at t/20-prefetch-hal.t line 144. # got: '' # expected: 'HASH' not ok 131 - _embedded isn't hash # TODO complex prefetch requests are not handled yet # Failed (TODO) test '_embedded isn't hash' # at t/20-prefetch-hal.t line 144. # got: '' # expected: 'HASH' # HASH(0x76a2c50) not ok 132 - _embedded has artist array # TODO complex prefetch requests are not handled yet # Failed (TODO) test '_embedded has artist array' # at t/20-prefetch-hal.t line 144. # got: '' # expected: 'ARRAY' # prefetch with query on ambiguous field # GET /cd/?me.artist=1&prefetch=artist ok 133 ok 134 - response is a ref # prefetch on invalid name # GET /cd/1?prefetch=nonesuch ok 135 ok 136 - response is a ref # prefetch on item with partial response of prefetched item # GET /cd/1?prefetch=artist,genre&fields=cdid,artist.artistid,genre.genreid not ok 137 # TODO partial response of prefetched items is not implemented yet # Failed (TODO) test at t/20-prefetch-hal.t line 176. # status doesn't match, expected HTTP status code '200', got 400 # 400 Bad Request # Content-Length: 212 # Content-Type: application/json # # { # "errors" : [ # { # "_meta" : { # "fields" : "artist.artistid" # }, # "parameter" : "invalid fields clause - can't refer to prefetch relations at the moment" # } # ] # } ok 138 - response is a ref ok 139 - data isn't a hash # TODO partial response of prefetched items is not implemented yet ok 140 - set has less than 1 attributes # TODO partial response of prefetched items is not implemented yet ok 141 - data isn't a hash # TODO partial response of prefetched items is not implemented yet not ok 142 - _embedded isn't hash # TODO partial response of prefetched items is not implemented yet # Failed (TODO) test '_embedded isn't hash' # at t/20-prefetch-hal.t line 178. # got: '' # expected: 'HASH' # HASH(0x78f7c70) not ok 143 - set has less than 2 attributes # TODO partial response of prefetched items is not implemented yet # Failed (TODO) test 'set has less than 2 attributes' # at t/20-prefetch-hal.t line 178. # '0' # >= # '2' ok 144 - set has more than 2 attributes # TODO partial response of prefetched items is not implemented yet not ok 145 - has embedded genreid # TODO partial response of prefetched items is not implemented yet # Failed (TODO) test 'has embedded genreid' # at t/20-prefetch-hal.t line 179. # got: '' # expected: 'HASH' ok 146 - genreid matches # TODO partial response of prefetched items is not implemented yet not ok 147 - has embedded artistid # TODO partial response of prefetched items is not implemented yet # Failed (TODO) test 'has embedded artistid' # at t/20-prefetch-hal.t line 181. # got: '' # expected: 'HASH' ok 148 - artist matches # TODO partial response of prefetched items is not implemented yet not ok 149 - only has id column # TODO partial response of prefetched items is not implemented yet # Failed (TODO) test 'only has id column' # at t/20-prefetch-hal.t line 184. # got: '0' # expected: '1' not ok 150 - only has id column # TODO partial response of prefetched items is not implemented yet # Failed (TODO) test 'only has id column' # at t/20-prefetch-hal.t line 185. # got: '0' # expected: '1' # prefetch on set with partial response of prefetched items # GET /cd?rows=2&page=1&prefetch=artist,genre&fields=id,genre.genreid,artist.artistid not ok 151 # TODO partial response of prefetched items is not implemented yet # Failed (TODO) test at t/20-prefetch-hal.t line 190. # status doesn't match, expected HTTP status code '200', got 400 # 400 Bad Request # Content-Length: 210 # Content-Type: application/json # # { # "errors" : [ # { # "_meta" : { # "fields" : "genre.genreid" # }, # "parameter" : "invalid fields clause - can't refer to prefetch relations at the moment" # } # ] # } ok 152 - response is a ref ok 153 - data isn't a hash # TODO partial response of prefetched items is not implemented yet not ok 154 - _embedded isn't hash # TODO partial response of prefetched items is not implemented yet # Failed (TODO) test '_embedded isn't hash' # at t/20-prefetch-hal.t line 191. # got: '' # expected: 'HASH' # HASH(0x4d10330) not ok 155 - _embedded has cd array # TODO partial response of prefetched items is not implemented yet # Failed (TODO) test '_embedded has cd array' # at t/20-prefetch-hal.t line 191. # got: '' # expected: 'ARRAY' 1..155 ok 2 - ===== Prefetch ===== 1..2 ok 1 - testing with main 1..1 ok t/30-ordering-core.t .... # Subtest: testing with main ok 1 - Path temp-test-db is accessible, forcing 'force_drop_table' # Subtest: ===== Ordering ===== # GET /cd?rows=1000&order=me.cdid ok 1 ok 2 - response is a ref ok 3 - /cd includes 1 ok 4 - /cd includes 2 ok 5 - /cd includes 3 ok 6 - /cd data looks sane # GET /cd?rows=1000&order=me.cdid%20desc ok 7 ok 8 - response is a ref ok 9 - reversed ok 10 - ordered # GET /cd?rows=1000&order=me.title%20desc,cdid%20desc ok 11 ok 12 - response is a ref ok 13 - same set of rows returned ok 14 ok 15 - ordered # GET /cd?rows=1000&order=me.title,cdid%20asc ok 16 ok 17 - response is a ref ok 18 - same set of rows returned ok 19 ok 20 - ordered 1..20 ok 2 - ===== Ordering ===== 1..2 ok 1 - testing with main 1..1 ok t/30-ordering-hal.t ..... # Subtest: testing with main ok 1 - Path temp-test-db is accessible, forcing 'force_drop_table' # Subtest: ===== Ordering ===== # GET /cd?rows=1000&order=me.cdid ok 1 ok 2 - response is a ref ok 3 - data isn't a hash ok 4 - _embedded isn't hash ok 5 - _embedded has cd array ok 6 - set has at least 2 items ok 7 - /cd includes 1 ok 8 - /cd includes 2 ok 9 - /cd includes 3 ok 10 - /cd data looks sane # GET /cd?rows=1000&order=me.cdid%20desc ok 11 ok 12 - response is a ref ok 13 - data isn't a hash ok 14 - _embedded isn't hash ok 15 - _embedded has cd array ok 16 - set has at least 2 items ok 17 - reversed ok 18 - ordered # GET /cd?rows=1000&order=me.title%20desc,cdid%20desc ok 19 ok 20 - response is a ref ok 21 - data isn't a hash ok 22 - _embedded isn't hash ok 23 - _embedded has cd array ok 24 - set has at least 2 items ok 25 - same set of rows returned ok 26 ok 27 - ordered # GET /cd?rows=1000&order=me.title,cdid%20asc ok 28 ok 29 - response is a ref ok 30 - data isn't a hash ok 31 - _embedded isn't hash ok 32 - _embedded has cd array ok 33 - set has at least 2 items ok 34 - same set of rows returned ok 35 ok 36 - ordered # ===== Ordering with prefetch ===== # GET /cd?prefetch=artist&order=artist.name ok 37 ok 38 - response is a ref ok 39 - data isn't a hash ok 40 - _embedded isn't hash ok 41 - _embedded has cd array ok 42 - set has at least 2 items ok 43 - ordered # GET /cd?prefetch=artist,genre&order=genre.name%20desc,artist.name%20asc ok 44 ok 45 - response is a ref ok 46 - data isn't a hash ok 47 - _embedded isn't hash ok 48 - _embedded has cd array ok 49 - set has at least 2 items ok 50 - matched sufficient records ok 51 - ordered 1..51 ok 2 - ===== Ordering ===== 1..2 ok 1 - testing with main 1..1 ok t/50-modify-core.t ...... # Subtest: testing with main ok 1 - Path temp-test-db is accessible, forcing 'force_drop_table' # Subtest: ===== Create - POST ===== # GET /artist ok 1 ok 2 - response is a ref ok 3 - /artist includes 1 ok 4 - /artist includes 2 ok 5 - /artist includes 3 ok 6 - /artist data looks sane # plain post # POST /artist ok 7 ok 8 - has Location header ok 9 - no data returned without prefetch # GET /artist/7 ok 10 ok 11 - response is a ref ok 12 - new item has id ok 13 - new item has new id ok 14 ok 15 # post with prefetch=self # POST /artist?prefetch=self ok 16 ok 17 - has Location header ok 18 - response is a ref # GET /artist/8 ok 19 ok 20 - response is a ref ok 21 - new item has id ok 22 - new item has new id ok 23 ok 24 ok 25 - returned prefetch matches item at location # ===== Update - PUT ===== # put without prefetch=self # PUT /artist/8 ok 26 ok 27 - no response body # GET /artist/8 ok 28 ok 29 - response is a ref ok 30 # put with prefetch=self # PUT /artist/8?prefetch=self ok 31 ok 32 - response is a ref ok 33 - has response body ok 34 - prefetch response has updated rank # GET /artist/8 ok 35 ok 36 - response is a ref ok 37 - returned prefetch matches item at location # ===== Delete - DELETE ===== # DELETE /artist/7 ok 38 ok 39 - no response body # GET /person_types/7 ok 40 # DELETE /artist/8 ok 41 ok 42 - no response body # GET /person_types/8 ok 43 1..43 ok 2 - ===== Create - POST ===== 1..2 ok 1 - testing with main 1..1 ok TestSchema::Result::Artist relationship cds_80s has coderef-based condition which is not handled yet - unknown crosstable_cond_key TestSchema::Result::Artist relationship cds_84 has coderef-based condition which is not handled yet - unknown crosstable_cond_key TestSchema::Result::Artist relationship cds_without_genre has coderef-based condition which is not handled yet - unknown crosstable_cond_key TestSchema::Result::Artist relationship cds_90s has coderef-based condition which is not handled yet - unknown crosstable_cond_key t/50-modify-hal.t ....... # Subtest: testing with main ok 1 - Path temp-test-db is accessible, forcing 'force_drop_table' # Subtest: ===== Create - POST ===== # GET /artist ok 1 ok 2 - response is a ref ok 3 - data isn't a hash ok 4 - _embedded isn't hash ok 5 - _embedded has artist array ok 6 - set has at least 2 items ok 7 - /artist includes 1 ok 8 - /artist includes 2 ok 9 - /artist includes 3 ok 10 - /artist data looks sane # plain post # POST /artist ok 11 ok 12 - has Location header ok 13 - no data returned without prefetch # GET /artist/7 ok 14 ok 15 - response is a ref ok 16 - new item has id ok 17 - new item has new id ok 18 ok 19 # post with prefetch=self # POST /artist?prefetch=self ok 20 ok 21 - has Location header ok 22 - response is a ref # GET /artist/8 ok 23 ok 24 - response is a ref ok 25 - new item has id ok 26 - new item has new id ok 27 ok 28 ok 29 - returned prefetch matches item at location # ===== Update - PUT ===== # put without prefetch=self # PUT /artist/8 ok 30 ok 31 - no response body # GET /artist/8 ok 32 ok 33 - response is a ref ok 34 # put with prefetch=self # PUT /artist/8?prefetch=self ok 35 ok 36 - response is a ref ok 37 - has response body ok 38 - prefetch response has updated rank # GET /artist/8 ok 39 ok 40 - response is a ref ok 41 - returned prefetch matches item at location # ===== Delete - DELETE ===== # DELETE /artist/7 ok 42 ok 43 - no response body # GET /person_types/7 ok 44 # DELETE /artist/8 ok 45 ok 46 - no response body # GET /person_types/8 ok 47 1..47 ok 2 - ===== Create - POST ===== 1..2 ok 1 - testing with main 1..1 ok TestSchema::Result::Track relationship next_tracks has coderef-based condition which is not handled yet - unknown crosstable_cond_key t/52-post_rel-hal.t ..... # Subtest: testing with main ok 1 - Path temp-test-db is accessible, forcing 'force_drop_table' # Subtest: ===== Create item, with embedded items, by POST to set ===== # POST /track?rollback=1 ok 1 ok 2 - has Location header ok 3 - returns reasonable Location ok 4 - returns no data # POST /track?rollback=1&prefetch=self ok 5 ok 6 - has Location header ok 7 - response is a ref ok 8 - returns reasonable Location ok 9 - return data ok 10 - has trackid assigned ok 11 ok 12 ok 13 - has cd assigned ok 14 - has no _embedded # POST /track?rollback=1&prefetch=self,disc ok 15 ok 16 - has Location header ok 17 - response is a ref ok 18 - returns reasonable Location ok 19 - return data ok 20 - has trackid assigned ok 21 ok 22 ok 23 - has cd assigned ok 24 - has _embedded ok 25 ok 26 - has _embedded disc ok 27 - disc matches ok 28 - disc name matches 1..28 ok 2 - ===== Create item, with embedded items, by POST to set ===== 1..2 ok 1 - testing with main 1..1 ok t/53-put_rel-core.t ..... # Subtest: testing with main ok 1 - Path temp-test-db is accessible, forcing 'force_drop_table' # Subtest: ===== Update a resource and related resources via PUT ===== # POST /track?prefetch=self ok 1 ok 2 - has Location header ok 3 - response is a ref # PUT /track/19?prefetch=self,disc ok 4 ok 5 - response is a ref ok 6 - return data ok 7 - has trackid assigned ok 8 ok 9 - has same position assigned # recheck data as a separate request # GET /track/19?prefetch=self,disc ok 10 ok 11 - response is a ref ok 12 - has trackid assigned ok 13 ok 14 - has same position assigned # DELETE /track/19 ok 15 1..15 ok 2 - ===== Update a resource and related resources via PUT ===== 1..2 ok 1 - testing with main 1..1 ok TestSchema::Result::Track relationship next_tracks has coderef-based condition which is not handled yet - unknown crosstable_cond_key t/53-put_rel-hal.t ...... # Subtest: testing with main ok 1 - Path temp-test-db is accessible, forcing 'force_drop_table' # Subtest: ===== Update a resource and related resources via PUT ===== # POST /track?prefetch=self ok 1 ok 2 - has Location header ok 3 - response is a ref # PUT /track/19?prefetch=self,disc ok 4 ok 5 - response is a ref ok 6 - return data ok 7 - has trackid assigned ok 8 ok 9 - has same position assigned ok 10 - has _embedded ok 11 - has embedded disc ok 12 ok 13 # recheck data as a separate request # GET /track/19?prefetch=self,disc ok 14 ok 15 - response is a ref ok 16 - has trackid assigned ok 17 ok 18 - has same position assigned ok 19 - has _embedded ok 20 - has embedded disc ok 21 ok 22 # DELETE /track/19 ok 23 1..23 ok 2 - ===== Update a resource and related resources via PUT ===== 1..2 ok 1 - testing with main 1..1 ok Exception: DBIx::Class::Row::get_column(): No such column 'nonesuch' on TestSchema::Result::Artist at C:\cpanfly-5.20\var\cpan\build\WebAPI-DBIC-0.001009-7Vpy6f\blib\lib/WebAPI/DBIC/Resource/Role/ItemInvoke.pm line 57 t/60-invoke-core.t ...... # Subtest: testing with main ok 1 - Path temp-test-db is accessible, forcing 'force_drop_table' # Subtest: ===== Invoke ===== # POST /artist/1/invoke/get_column ok 1 ok 2 - response is a ref ok 3 - returns expected data # POST /artist/1/invoke/get_column ok 4 ok 5 - response is a ref ok 6 # POST /artist/1/invoke/get_column ok 7 ok 8 - response is a ref ok 9 # POST /artist/1/invoke/get_column ok 10 ok 11 - response is a ref ok 12 # POST /artist/1/invoke/get_column ok 13 1..13 ok 2 - ===== Invoke ===== 1..2 ok 1 - testing with main 1..1 ok t/release-pod-syntax.t .. skipped: these tests are for release candidate testing All tests successful. Files=21, Tests=79, 154 wallclock secs ( 0.14 usr + 0.02 sys = 0.16 CPU) Result: PASS TIMB/WebAPI-DBIC-0.001009.tar.gz dmake test TEST_VERBOSE=1 -- OK Tim Bunce <Tim.Bunce@pobox.com> A composable RESTful JSON+HAL API to DBIx::Class schemas using roles and Web::Machine >>> (cd C:\cpanfly-5.20\var\cpan\build\WebAPI-DBIC-0.001009-7Vpy6f && tar cvf - WebAPI-DBIC-0.001009.ppd blib) | gzip -c >C:/cpanfly-5.20/var/REPO/T/TI/TIMB/WebAPI-DBIC-0.001009.tar.gz WebAPI-DBIC-0.001009.ppd blib/ blib/lib/ blib/lib/WebAPI/ blib/lib/WebAPI/data_service_api.pod blib/lib/WebAPI/DBIC/ blib/lib/WebAPI/DBIC/Resource/ blib/lib/WebAPI/DBIC/Resource/Base.pm blib/lib/WebAPI/DBIC/Resource/GenericCore.pm blib/lib/WebAPI/DBIC/Resource/GenericItem.pm blib/lib/WebAPI/DBIC/Resource/GenericItemInvoke.pm blib/lib/WebAPI/DBIC/Resource/GenericSet.pm blib/lib/WebAPI/DBIC/Resource/Role/ blib/lib/WebAPI/DBIC/Resource/Role/DBIC.pm blib/lib/WebAPI/DBIC/Resource/Role/DBICAuth.pm blib/lib/WebAPI/DBIC/Resource/Role/DBICException.pm blib/lib/WebAPI/DBIC/Resource/Role/DBICParams.pm blib/lib/WebAPI/DBIC/Resource/Role/DBIC_HAL.pm blib/lib/WebAPI/DBIC/Resource/Role/Identity.pm blib/lib/WebAPI/DBIC/Resource/Role/Item.pm blib/lib/WebAPI/DBIC/Resource/Role/ItemHAL.pm blib/lib/WebAPI/DBIC/Resource/Role/ItemInvoke.pm blib/lib/WebAPI/DBIC/Resource/Role/ItemWritable.pm blib/lib/WebAPI/DBIC/Resource/Role/ItemWritableHAL.pm blib/lib/WebAPI/DBIC/Resource/Role/Relationship.pm blib/lib/WebAPI/DBIC/Resource/Role/Router.pm blib/lib/WebAPI/DBIC/Resource/Role/Set.pm blib/lib/WebAPI/DBIC/Resource/Role/SetHAL.pm blib/lib/WebAPI/DBIC/Resource/Role/SetWritable.pm blib/lib/WebAPI/DBIC/Resource/Role/SetWritableHAL.pm blib/lib/WebAPI/DBIC/Role/ blib/lib/WebAPI/DBIC/Role/JsonEncoder.pm blib/lib/WebAPI/DBIC/Role/JsonParams.pm blib/lib/WebAPI/DBIC/Router.pm blib/lib/WebAPI/DBIC/Util.pm blib/lib/WebAPI/DBIC/WebApp.pm blib/lib/WebAPI/DBIC.pm blib/lib/WebAPI/HTTP/ blib/lib/WebAPI/HTTP/Throwable/ blib/lib/WebAPI/HTTP/Throwable/Factory.pm blib/lib/WebAPI/HTTP/Throwable/Role/ blib/lib/WebAPI/HTTP/Throwable/Role/JSONBody.pm blib/lib/WebAPI/NOTES.pod >>> mv C:\cpanfly-5.20\var\cpan\build\WebAPI-DBIC-0.001009-7Vpy6f/WebAPI-DBIC-0.001009.ppd C:/cpanfly-5.20/var/REPO/T/TI/TIMB Finished 2014-11-07T06:20:36