PATH=/usr/bin:/bin:/Users/fly1400/var/megalib/bin Start 2014-12-07T01:38:55 ActivePerl-1400 CPAN-2.00 Reading '/Users/fly1400/var/cpan/Metadata' Database was generated on Sun, 07 Dec 2014 07:41:02 GMT Running make for T/TI/TIMB/WebAPI-DBIC-0.002003.tar.gz Checksum for /data/cpan/authors/id/T/TI/TIMB/WebAPI-DBIC-0.002003.tar.gz ok WebAPI-DBIC-0.002003 WebAPI-DBIC-0.002003/README WebAPI-DBIC-0.002003/Changes WebAPI-DBIC-0.002003/LICENSE WebAPI-DBIC-0.002003/cpanfile WebAPI-DBIC-0.002003/dist.ini WebAPI-DBIC-0.002003/META.yml WebAPI-DBIC-0.002003/MANIFEST WebAPI-DBIC-0.002003/NOTES.pod WebAPI-DBIC-0.002003/README.md WebAPI-DBIC-0.002003/META.json WebAPI-DBIC-0.002003/Makefile.PL WebAPI-DBIC-0.002003/MANIFEST.SKIP WebAPI-DBIC-0.002003/t WebAPI-DBIC-0.002003/t/00-compile.t WebAPI-DBIC-0.002003/t/90-root-hal.t WebAPI-DBIC-0.002003/t/etc WebAPI-DBIC-0.002003/t/etc/schema.pl WebAPI-DBIC-0.002003/t/lib WebAPI-DBIC-0.002003/t/lib/TestDS.pm WebAPI-DBIC-0.002003/t/90-root-core.t WebAPI-DBIC-0.002003/t/lib/TestKit.pm WebAPI-DBIC-0.002003/t/10-basics-hal.t WebAPI-DBIC-0.002003/t/11-paging-hal.t WebAPI-DBIC-0.002003/t/13-fields-hal.t WebAPI-DBIC-0.002003/t/50-modify-hal.t WebAPI-DBIC-0.002003/t/90-root-hal.exp WebAPI-DBIC-0.002003/lib/WebAPI WebAPI-DBIC-0.002003/lib/WebAPI/DBIC.pm WebAPI-DBIC-0.002003/t/10-basics-core.t WebAPI-DBIC-0.002003/t/11-paging-core.t WebAPI-DBIC-0.002003/t/13-fields-core.t WebAPI-DBIC-0.002003/t/50-modify-core.t WebAPI-DBIC-0.002003/t/53-put_rel-hal.t WebAPI-DBIC-0.002003/t/60-invoke-core.t WebAPI-DBIC-0.002003/t/90-root-core.exp WebAPI-DBIC-0.002003/run-chinook-demo.sh WebAPI-DBIC-0.002003/t/10-basics-hal.exp WebAPI-DBIC-0.002003/t/11-paging-hal.exp WebAPI-DBIC-0.002003/t/14-distinct-hal.t WebAPI-DBIC-0.002003/t/30-ordering-hal.t WebAPI-DBIC-0.002003/t/40-prefetch-hal.t WebAPI-DBIC-0.002003/t/52-post_rel-hal.t WebAPI-DBIC-0.002003/t/53-put_rel-core.t WebAPI-DBIC-0.002003/t/lib/TestDS_HAL.pm WebAPI-DBIC-0.002003/t/lib/TestSchema.pm WebAPI-DBIC-0.002003/data_service_api.pod WebAPI-DBIC-0.002003/webapi-dbic-any.psgi WebAPI-DBIC-0.002003/t/10-basics-core.exp WebAPI-DBIC-0.002003/t/11-paging-core.exp WebAPI-DBIC-0.002003/t/12-searching-hal.t WebAPI-DBIC-0.002003/t/14-distinct-core.t WebAPI-DBIC-0.002003/t/30-ordering-core.t WebAPI-DBIC-0.002003/t/53-put_rel-hal.exp WebAPI-DBIC-0.002003/webapi-dbic-demo.psgi WebAPI-DBIC-0.002003/hal-browser WebAPI-DBIC-0.002003/hal-browser/README.md WebAPI-DBIC-0.002003/hal-browser/js WebAPI-DBIC-0.002003/hal-browser/js/hal.js WebAPI-DBIC-0.002003/t/10-basics-jsonapi.t WebAPI-DBIC-0.002003/t/12-searching-core.t WebAPI-DBIC-0.002003/t/30-ordering-hal.exp WebAPI-DBIC-0.002003/t/40-prefetch-hal.exp WebAPI-DBIC-0.002003/t/53-put_rel-core.exp WebAPI-DBIC-0.002003/run-testschema-demo.sh WebAPI-DBIC-0.002003/hal-browser/styles.css WebAPI-DBIC-0.002003/t/12-searching-hal.exp WebAPI-DBIC-0.002003/t/30-ordering-core.exp WebAPI-DBIC-0.002003/t/release-pod-syntax.t WebAPI-DBIC-0.002003/lib/WebAPI/DBIC WebAPI-DBIC-0.002003/lib/WebAPI/DBIC/Util.pm WebAPI-DBIC-0.002003/t/10-basics-jsonapi.exp WebAPI-DBIC-0.002003/t/12-searching-core.exp WebAPI-DBIC-0.002003/t/40-prefetch-jsonapi.t WebAPI-DBIC-0.002003/hal-browser/browser.html WebAPI-DBIC-0.002003/lib/WebAPI/DBIC/Router.pm WebAPI-DBIC-0.002003/lib/WebAPI/DBIC/WebApp.pm WebAPI-DBIC-0.002003/t/40-prefetch-jsonapi.exp WebAPI-DBIC-0.002003/t/lib/DummyLoadedSchema.pm WebAPI-DBIC-0.002003/hal-browser/MIT-LICENSE.txt WebAPI-DBIC-0.002003/hal-browser/js/hal WebAPI-DBIC-0.002003/hal-browser/js/hal/browser.js WebAPI-DBIC-0.002003/t/etc/fixtures/basic/CD WebAPI-DBIC-0.002003/t/etc/fixtures/basic/CD/1.fix WebAPI-DBIC-0.002003/t/etc/fixtures/basic/CD/2.fix WebAPI-DBIC-0.002003/t/etc/fixtures/basic/CD/3.fix WebAPI-DBIC-0.002003/t/etc/fixtures/basic/CD/4.fix WebAPI-DBIC-0.002003/t/etc/fixtures/basic/CD/5.fix WebAPI-DBIC-0.002003/t/lib/TestSchema/Result WebAPI-DBIC-0.002003/t/lib/TestSchema/Result/CD.pm WebAPI-DBIC-0.002003/hal-browser/js/hal/resource.js WebAPI-DBIC-0.002003/t/lib/TestSchema/Result/Gig.pm WebAPI-DBIC-0.002003/lib/WebAPI/DBIC/Resource WebAPI-DBIC-0.002003/lib/WebAPI/DBIC/Resource/Base.pm WebAPI-DBIC-0.002003/t/etc/fixtures/basic WebAPI-DBIC-0.002003/t/etc/fixtures/basic/_config_set WebAPI-DBIC-0.002003/t/etc/fixtures/basic/genre WebAPI-DBIC-0.002003/t/etc/fixtures/basic/genre/1.fix WebAPI-DBIC-0.002003/t/etc/fixtures/basic/genre/2.fix WebAPI-DBIC-0.002003/t/etc/fixtures/basic/genre/3.fix WebAPI-DBIC-0.002003/t/etc/fixtures/basic/genre/4.fix WebAPI-DBIC-0.002003/t/etc/fixtures/basic/track WebAPI-DBIC-0.002003/t/etc/fixtures/basic/track/4.fix WebAPI-DBIC-0.002003/t/etc/fixtures/basic/track/5.fix WebAPI-DBIC-0.002003/t/etc/fixtures/basic/track/6.fix WebAPI-DBIC-0.002003/t/etc/fixtures/basic/track/7.fix WebAPI-DBIC-0.002003/t/etc/fixtures/basic/track/8.fix WebAPI-DBIC-0.002003/t/etc/fixtures/basic/track/9.fix WebAPI-DBIC-0.002003/t/lib/TestSchema/Result/Genre.pm WebAPI-DBIC-0.002003/t/lib/TestSchema/Result/Track.pm WebAPI-DBIC-0.002003/hal-browser/js/hal/http WebAPI-DBIC-0.002003/hal-browser/js/hal/http/client.js WebAPI-DBIC-0.002003/hal-browser/js/hal/views WebAPI-DBIC-0.002003/hal-browser/js/hal/views/links.js WebAPI-DBIC-0.002003/hal-browser/vendor/js WebAPI-DBIC-0.002003/hal-browser/vendor/js/backbone.js WebAPI-DBIC-0.002003/t/etc/fixtures/basic/artist WebAPI-DBIC-0.002003/t/etc/fixtures/basic/artist/1.fix WebAPI-DBIC-0.002003/t/etc/fixtures/basic/artist/2.fix WebAPI-DBIC-0.002003/t/etc/fixtures/basic/artist/3.fix WebAPI-DBIC-0.002003/t/etc/fixtures/basic/artist/4.fix WebAPI-DBIC-0.002003/t/etc/fixtures/basic/artist/5.fix WebAPI-DBIC-0.002003/t/etc/fixtures/basic/artist/6.fix WebAPI-DBIC-0.002003/t/etc/fixtures/basic/track/10.fix WebAPI-DBIC-0.002003/t/etc/fixtures/basic/track/11.fix WebAPI-DBIC-0.002003/t/etc/fixtures/basic/track/12.fix WebAPI-DBIC-0.002003/t/etc/fixtures/basic/track/13.fix WebAPI-DBIC-0.002003/t/etc/fixtures/basic/track/14.fix WebAPI-DBIC-0.002003/t/etc/fixtures/basic/track/15.fix WebAPI-DBIC-0.002003/t/etc/fixtures/basic/track/16.fix WebAPI-DBIC-0.002003/t/etc/fixtures/basic/track/17.fix WebAPI-DBIC-0.002003/t/etc/fixtures/basic/track/18.fix WebAPI-DBIC-0.002003/t/lib/TestSchema/Result/Artist.pm WebAPI-DBIC-0.002003/hal-browser/vendor/js/bootstrap.js WebAPI-DBIC-0.002003/lib/WebAPI/DBIC/Role WebAPI-DBIC-0.002003/lib/WebAPI/DBIC/Role/JsonParams.pm WebAPI-DBIC-0.002003/hal-browser/js/hal/views/browser.js WebAPI-DBIC-0.002003/hal-browser/vendor/js/underscore.js WebAPI-DBIC-0.002003/lib/WebAPI/DBIC/Role/JsonEncoder.pm WebAPI-DBIC-0.002003/t/etc/fixtures/basic/producer WebAPI-DBIC-0.002003/t/etc/fixtures/basic/producer/1.fix WebAPI-DBIC-0.002003/t/etc/fixtures/basic/producer/2.fix WebAPI-DBIC-0.002003/t/etc/fixtures/basic/producer/3.fix WebAPI-DBIC-0.002003/t/lib/TestSchema/Result/Producer.pm WebAPI-DBIC-0.002003/hal-browser/js/hal/views/explorer.js WebAPI-DBIC-0.002003/hal-browser/js/hal/views/resource.js WebAPI-DBIC-0.002003/hal-browser/js/hal/views/response.js WebAPI-DBIC-0.002003/hal-browser/vendor/css WebAPI-DBIC-0.002003/hal-browser/vendor/css/bootstrap.css WebAPI-DBIC-0.002003/lib/WebAPI/DBIC/Resource/Role WebAPI-DBIC-0.002003/lib/WebAPI/DBIC/Resource/Role/Set.pm WebAPI-DBIC-0.002003/lib/WebAPI/HTTP/Throwable WebAPI-DBIC-0.002003/lib/WebAPI/HTTP/Throwable/Factory.pm WebAPI-DBIC-0.002003/t/etc/fixtures/basic/_dumper_version WebAPI-DBIC-0.002003/hal-browser/js/hal/views/inspector.js WebAPI-DBIC-0.002003/hal-browser/vendor/js/uritemplates.js WebAPI-DBIC-0.002003/lib/WebAPI/DBIC/Resource/Role/DBIC.pm WebAPI-DBIC-0.002003/lib/WebAPI/DBIC/Resource/Role/Item.pm WebAPI-DBIC-0.002003/lib/WebAPI/DBIC/Resource/Role/Root.pm WebAPI-DBIC-0.002003/hal-browser/js/hal/views/navigation.js WebAPI-DBIC-0.002003/hal-browser/js/hal/views/properties.js WebAPI-DBIC-0.002003/hal-browser/vendor/img WebAPI-DBIC-0.002003/hal-browser/vendor/img/ajax-loader.gif WebAPI-DBIC-0.002003/hal-browser/vendor/js/jquery-1.10.2.js WebAPI-DBIC-0.002003/lib/WebAPI/DBIC/Resource/GenericSet.pm WebAPI-DBIC-0.002003/lib/WebAPI/DBIC/Resource/GenericCore.pm WebAPI-DBIC-0.002003/lib/WebAPI/DBIC/Resource/GenericItem.pm WebAPI-DBIC-0.002003/lib/WebAPI/DBIC/Resource/GenericRoot.pm WebAPI-DBIC-0.002003/lib/WebAPI/DBIC/Resource/Role/Router.pm WebAPI-DBIC-0.002003/lib/WebAPI/DBIC/Resource/Role/SetHAL.pm WebAPI-DBIC-0.002003/hal-browser/js/hal/views/location_bar.js WebAPI-DBIC-0.002003/lib/WebAPI/DBIC/Resource/Role/ItemHAL.pm WebAPI-DBIC-0.002003/lib/WebAPI/DBIC/Resource/Role/RootHAL.pm WebAPI-DBIC-0.002003/t/lib/TestSchema/Result/ClassicAlbums.pm WebAPI-DBIC-0.002003/hal-browser/js/hal/views/documentation.js WebAPI-DBIC-0.002003/hal-browser/js/hal/views/response_body.js WebAPI-DBIC-0.002003/lib/WebAPI/DBIC/Resource/Role/DBIC_HAL.pm WebAPI-DBIC-0.002003/lib/WebAPI/DBIC/Resource/Role/DBICAuth.pm WebAPI-DBIC-0.002003/lib/WebAPI/DBIC/Resource/Role/Identity.pm WebAPI-DBIC-0.002003/t/lib/TestSchema/Result/CD_to_Producer.pm WebAPI-DBIC-0.002003/hal-browser/vendor/js/jquery-1.10.2.min.js WebAPI-DBIC-0.002003/lib/WebAPI/HTTP/Throwable/Role WebAPI-DBIC-0.002003/lib/WebAPI/HTTP/Throwable/Role/JSONBody.pm WebAPI-DBIC-0.002003/hal-browser/js/hal/views/request_headers.js WebAPI-DBIC-0.002003/hal-browser/vendor/js/jquery-1.10.2.min.map WebAPI-DBIC-0.002003/lib/WebAPI/DBIC/Resource/Role/DBICParams.pm WebAPI-DBIC-0.002003/lib/WebAPI/DBIC/Resource/Role/ItemInvoke.pm WebAPI-DBIC-0.002003/lib/WebAPI/DBIC/Resource/Role/SetJSONAPI.pm WebAPI-DBIC-0.002003/t/etc/fixtures/basic/cd_to_producer WebAPI-DBIC-0.002003/t/etc/fixtures/basic/cd_to_producer/1-1.fix WebAPI-DBIC-0.002003/t/etc/fixtures/basic/cd_to_producer/1-2.fix WebAPI-DBIC-0.002003/t/etc/fixtures/basic/cd_to_producer/1-3.fix WebAPI-DBIC-0.002003/hal-browser/js/hal/views/query_uri_dialog.js WebAPI-DBIC-0.002003/hal-browser/js/hal/views/response_headers.js WebAPI-DBIC-0.002003/lib/WebAPI/DBIC/Resource/Role/ItemJSONAPI.pm WebAPI-DBIC-0.002003/lib/WebAPI/DBIC/Resource/Role/SetWritable.pm WebAPI-DBIC-0.002003/hal-browser/js/hal/views/embedded_resource.js WebAPI-DBIC-0.002003/lib/WebAPI/DBIC/Resource/GenericItemInvoke.pm WebAPI-DBIC-0.002003/lib/WebAPI/DBIC/Resource/Role/DBIC_JSONAPI.pm WebAPI-DBIC-0.002003/lib/WebAPI/DBIC/Resource/Role/ItemWritable.pm WebAPI-DBIC-0.002003/lib/WebAPI/DBIC/Resource/Role/Relationship.pm WebAPI-DBIC-0.002003/hal-browser/js/hal/views/embedded_resources.js WebAPI-DBIC-0.002003/lib/WebAPI/DBIC/Resource/Role/DBICException.pm WebAPI-DBIC-0.002003/hal-browser/vendor/css/bootstrap-responsive.css WebAPI-DBIC-0.002003/hal-browser/vendor/img/glyphicons-halflings.png WebAPI-DBIC-0.002003/lib/WebAPI/DBIC/Resource/Role/SetWritableHAL.pm WebAPI-DBIC-0.002003/lib/WebAPI/DBIC/Resource/Role/ItemWritableHAL.pm WebAPI-DBIC-0.002003/hal-browser/js/hal/views/non_safe_request_dialog.js WebAPI-DBIC-0.002003/lib/WebAPI/DBIC/Resource/Role/SetWritableJSONAPI.pm WebAPI-DBIC-0.002003/t/etc/fixtures/basic/gig WebAPI-DBIC-0.002003/t/etc/fixtures/basic/gig/1-2014-01-01T01:01:01Z.fix WebAPI-DBIC-0.002003/t/etc/fixtures/basic/gig/2-2014-06-30T19:00:00Z.fix WebAPI-DBIC-0.002003/t/etc/fixtures/basic/gig/3-2014-06-30T13:00:00Z.fix WebAPI-DBIC-0.002003/lib/WebAPI/DBIC/Resource/Role/ItemWritableJSONAPI.pm WebAPI-DBIC-0.002003/hal-browser/vendor/img/glyphicons-halflings-white.png WebAPI-DBIC-0.002003/t/lib/Test/DBIx/Class/FixtureCommand WebAPI-DBIC-0.002003/t/lib/Test/DBIx/Class/FixtureCommand/TestFixtureCommand.pm CPAN.pm: Building T/TI/TIMB/WebAPI-DBIC-0.002003.tar.gz >>> /Users/fly1400/ap1400/bin/perl Makefile.PL Checking if your kit is complete... Looks good Generating a Unix-style Makefile Writing Makefile for WebAPI::DBIC Writing MYMETA.yml and MYMETA.json >>> make cp lib/WebAPI/DBIC/Resource/Role/Relationship.pm blib/lib/WebAPI/DBIC/Resource/Role/Relationship.pm cp lib/WebAPI/DBIC/Resource/GenericItemInvoke.pm blib/lib/WebAPI/DBIC/Resource/GenericItemInvoke.pm cp lib/WebAPI/DBIC/Resource/Role/RootHAL.pm blib/lib/WebAPI/DBIC/Resource/Role/RootHAL.pm cp lib/WebAPI/HTTP/Throwable/Factory.pm blib/lib/WebAPI/HTTP/Throwable/Factory.pm cp lib/WebAPI/DBIC/Role/JsonEncoder.pm blib/lib/WebAPI/DBIC/Role/JsonEncoder.pm cp lib/WebAPI/DBIC.pm blib/lib/WebAPI/DBIC.pm cp lib/WebAPI/DBIC/Resource/Role/SetWritableJSONAPI.pm blib/lib/WebAPI/DBIC/Resource/Role/SetWritableJSONAPI.pm cp lib/WebAPI/DBIC/Resource/Role/ItemWritableHAL.pm blib/lib/WebAPI/DBIC/Resource/Role/ItemWritableHAL.pm cp lib/WebAPI/DBIC/Resource/Role/SetHAL.pm blib/lib/WebAPI/DBIC/Resource/Role/SetHAL.pm cp lib/WebAPI/DBIC/Resource/Role/ItemWritableJSONAPI.pm blib/lib/WebAPI/DBIC/Resource/Role/ItemWritableJSONAPI.pm cp lib/WebAPI/DBIC/Resource/Role/Item.pm blib/lib/WebAPI/DBIC/Resource/Role/Item.pm cp lib/WebAPI/DBIC/Resource/Role/Root.pm blib/lib/WebAPI/DBIC/Resource/Role/Root.pm cp NOTES.pod blib/lib/WebAPI/NOTES.pod cp lib/WebAPI/DBIC/Resource/GenericSet.pm blib/lib/WebAPI/DBIC/Resource/GenericSet.pm cp lib/WebAPI/DBIC/Resource/GenericItem.pm blib/lib/WebAPI/DBIC/Resource/GenericItem.pm cp lib/WebAPI/DBIC/Resource/Role/SetWritableHAL.pm blib/lib/WebAPI/DBIC/Resource/Role/SetWritableHAL.pm cp lib/WebAPI/DBIC/Resource/Role/SetWritable.pm blib/lib/WebAPI/DBIC/Resource/Role/SetWritable.pm cp lib/WebAPI/DBIC/Resource/Role/DBICException.pm blib/lib/WebAPI/DBIC/Resource/Role/DBICException.pm cp lib/WebAPI/DBIC/Resource/Role/Identity.pm blib/lib/WebAPI/DBIC/Resource/Role/Identity.pm cp lib/WebAPI/DBIC/WebApp.pm blib/lib/WebAPI/DBIC/WebApp.pm cp lib/WebAPI/DBIC/Resource/GenericRoot.pm blib/lib/WebAPI/DBIC/Resource/GenericRoot.pm cp lib/WebAPI/DBIC/Resource/Role/SetJSONAPI.pm blib/lib/WebAPI/DBIC/Resource/Role/SetJSONAPI.pm cp lib/WebAPI/HTTP/Throwable/Role/JSONBody.pm blib/lib/WebAPI/HTTP/Throwable/Role/JSONBody.pm cp data_service_api.pod blib/lib/WebAPI/data_service_api.pod cp lib/WebAPI/DBIC/Resource/Role/DBIC.pm blib/lib/WebAPI/DBIC/Resource/Role/DBIC.pm cp lib/WebAPI/DBIC/Resource/Role/DBICAuth.pm blib/lib/WebAPI/DBIC/Resource/Role/DBICAuth.pm cp lib/WebAPI/DBIC/Resource/Role/Set.pm blib/lib/WebAPI/DBIC/Resource/Role/Set.pm cp lib/WebAPI/DBIC/Resource/Role/ItemInvoke.pm blib/lib/WebAPI/DBIC/Resource/Role/ItemInvoke.pm cp lib/WebAPI/DBIC/Resource/Role/ItemJSONAPI.pm blib/lib/WebAPI/DBIC/Resource/Role/ItemJSONAPI.pm cp lib/WebAPI/DBIC/Resource/Role/DBIC_JSONAPI.pm blib/lib/WebAPI/DBIC/Resource/Role/DBIC_JSONAPI.pm cp lib/WebAPI/DBIC/Role/JsonParams.pm blib/lib/WebAPI/DBIC/Role/JsonParams.pm cp lib/WebAPI/DBIC/Resource/Role/DBICParams.pm blib/lib/WebAPI/DBIC/Resource/Role/DBICParams.pm cp lib/WebAPI/DBIC/Resource/Role/Router.pm blib/lib/WebAPI/DBIC/Resource/Role/Router.pm cp lib/WebAPI/DBIC/Resource/Role/ItemHAL.pm blib/lib/WebAPI/DBIC/Resource/Role/ItemHAL.pm cp lib/WebAPI/DBIC/Resource/Base.pm blib/lib/WebAPI/DBIC/Resource/Base.pm cp lib/WebAPI/DBIC/Resource/Role/ItemWritable.pm blib/lib/WebAPI/DBIC/Resource/Role/ItemWritable.pm cp lib/WebAPI/DBIC/Util.pm blib/lib/WebAPI/DBIC/Util.pm cp lib/WebAPI/DBIC/Resource/Role/DBIC_HAL.pm blib/lib/WebAPI/DBIC/Resource/Role/DBIC_HAL.pm cp lib/WebAPI/DBIC/Router.pm blib/lib/WebAPI/DBIC/Router.pm cp lib/WebAPI/DBIC/Resource/GenericCore.pm blib/lib/WebAPI/DBIC/Resource/GenericCore.pm Manifying 40 pod documents TIMB/WebAPI-DBIC-0.002003.tar.gz make -- OK Running make test >>> make test TEST_VERBOSE=1 PERL_DL_NONLAZY=1 "/Users/fly1400/ap1400/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib/lib', 'blib/arch')" t/*.t webapi-dbic-any.psgi syntax OK Class::MOP::load_class is deprecated at /Users/fly1400/var/megalib/Class/MOP.pm line 68. Class::MOP::load_class("TestSchema") called at /Users/fly1400/var/megalib/Test/DBIx/Class/Types.pm line 24 Test::DBIx::Class::Types::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 64 Moose::Meta::TypeCoercion::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 99 Moose::Meta::TypeCoercion::coerce(Moose::Meta::TypeCoercion=HASH(0x100d67ac0), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeConstraint.pm line 144 Moose::Meta::TypeConstraint::coerce(Moose::Meta::TypeConstraint=HASH(0x100d67c28), "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 219 MooseX::Types::TypeDecorator::_try_delegate(MooseX::Types::TypeDecorator=HASH(0x100d78590), "coerce", "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 184 MooseX::Types::TypeDecorator::AUTOLOAD(MooseX::Types::TypeDecorator=HASH(0x100d78590), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 1249 Moose::Meta::Attribute::_coerce_and_verify(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100d84398), "TestSchema", Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100f6a5a8)) called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 511 Moose::Meta::Attribute::initialize_instance_slot(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100d84398), Moose::Meta::Instance=HASH(0x100f6f2d8), Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100f6a5a8), HASH(0x100f6ad70)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 525 Class::MOP::Class::_construct_instance(Moose::Meta::Class=HASH(0x100f6b118), HASH(0x100f6ad70)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 495 Class::MOP::Class::new_object(Moose::Meta::Class=HASH(0x100f6b118), HASH(0x100f6ad70)) called at /Users/fly1400/var/megalib/Moose/Meta/Class.pm line 273 Moose::Meta::Class::new_object(Moose::Meta::Class=HASH(0x100f6b118), HASH(0x100f6ad70)) called at /Users/fly1400/var/megalib/Moose/Object.pm line 23 Moose::Object::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100dcc558)) called at constructor Test::DBIx::Class::SchemaManager::new (defined at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 241) line 4 Test::DBIx::Class::SchemaManager::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100dcc558)) called at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 153 Test::DBIx::Class::SchemaManager::initialize_schema("Test::DBIx::Class::SchemaManager", HASH(0x100dcc558)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 646 eval {...} called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 645 Test::DBIx::Class::_initialize_schema("Test::DBIx::Class", HASH(0x100c71ce8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 353 Test::DBIx::Class::_initialize("Test::DBIx::Class") called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 36 Test::DBIx::Class::import("Test::DBIx::Class") called at t/lib/DummyLoadedSchema.pm line 8 DummyLoadedSchema::BEGIN() called at t/lib/DummyLoadedSchema.pm line 8 eval {...} called at t/lib/DummyLoadedSchema.pm line 8 require DummyLoadedSchema.pm called at webapi-dbic-demo.psgi line 13 main::BEGIN() called at t/lib/DummyLoadedSchema.pm line 8 eval {...} called at t/lib/DummyLoadedSchema.pm line 8 webapi-dbic-demo.psgi syntax OK 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/GenericRoot.pm compiles ok 11 - lib/WebAPI/DBIC/Resource/GenericSet.pm compiles ok 12 - lib/WebAPI/DBIC/Role/JsonEncoder.pm compiles ok 13 - lib/WebAPI/DBIC/Role/JsonParams.pm compiles ok 14 - lib/WebAPI/HTTP/Throwable/Factory.pm compiles ok 15 - blib/lib/WebAPI/DBIC/Router.pm compiles ok 16 - blib/lib/WebAPI/DBIC/Util.pm compiles ok 17 - blib/lib/WebAPI/DBIC/WebApp.pm compiles ok 18 - lib/WebAPI/DBIC/Resource/Role/DBIC.pm compiles ok 19 - lib/WebAPI/DBIC/Resource/Role/DBIC_HAL.pm compiles ok 20 - lib/WebAPI/DBIC/Resource/Role/DBIC_JSONAPI.pm compiles ok 21 - lib/WebAPI/DBIC/Resource/Role/DBICAuth.pm compiles ok 22 - lib/WebAPI/DBIC/Resource/Role/DBICException.pm compiles ok 23 - lib/WebAPI/DBIC/Resource/Role/DBICParams.pm compiles ok 24 - lib/WebAPI/DBIC/Resource/Role/Identity.pm compiles ok 25 - lib/WebAPI/DBIC/Resource/Role/Item.pm compiles ok 26 - lib/WebAPI/DBIC/Resource/Role/ItemHAL.pm compiles ok 27 - lib/WebAPI/DBIC/Resource/Role/ItemInvoke.pm compiles ok 28 - lib/WebAPI/DBIC/Resource/Role/ItemJSONAPI.pm compiles ok 29 - lib/WebAPI/DBIC/Resource/Role/ItemWritable.pm compiles ok 30 - lib/WebAPI/DBIC/Resource/Role/ItemWritableHAL.pm compiles ok 31 - lib/WebAPI/DBIC/Resource/Role/ItemWritableJSONAPI.pm compiles ok 32 - lib/WebAPI/DBIC/Resource/Role/Relationship.pm compiles ok 33 - lib/WebAPI/DBIC/Resource/Role/Root.pm compiles ok 34 - lib/WebAPI/DBIC/Resource/Role/RootHAL.pm compiles ok 35 - lib/WebAPI/DBIC/Resource/Role/Router.pm compiles ok 36 - lib/WebAPI/DBIC/Resource/Role/Set.pm compiles ok 37 - lib/WebAPI/DBIC/Resource/Role/SetHAL.pm compiles ok 38 - lib/WebAPI/DBIC/Resource/Role/SetJSONAPI.pm compiles ok 39 - lib/WebAPI/DBIC/Resource/Role/SetWritable.pm compiles ok 40 - lib/WebAPI/DBIC/Resource/Role/SetWritableHAL.pm compiles ok 41 - lib/WebAPI/DBIC/Resource/Role/SetWritableJSONAPI.pm compiles ok 42 - lib/WebAPI/HTTP/Throwable/Role/JSONBody.pm compiles ok 43 - blib/lib/WebAPI/DBIC/Resource/Base.pm compiles ok 44 - blib/lib/WebAPI/DBIC/Resource/GenericCore.pm compiles ok 45 - blib/lib/WebAPI/DBIC/Resource/GenericItem.pm compiles ok 46 - blib/lib/WebAPI/DBIC/Resource/GenericItemInvoke.pm compiles ok 47 - blib/lib/WebAPI/DBIC/Resource/GenericRoot.pm compiles ok 48 - blib/lib/WebAPI/DBIC/Resource/GenericSet.pm compiles ok 49 - blib/lib/WebAPI/DBIC/Role/JsonEncoder.pm compiles ok 50 - blib/lib/WebAPI/DBIC/Role/JsonParams.pm compiles ok 51 - blib/lib/WebAPI/HTTP/Throwable/Factory.pm compiles ok 52 - blib/lib/WebAPI/DBIC/Resource/Role/DBIC.pm compiles ok 53 - blib/lib/WebAPI/DBIC/Resource/Role/DBIC_HAL.pm compiles ok 54 - blib/lib/WebAPI/DBIC/Resource/Role/DBIC_JSONAPI.pm compiles ok 55 - blib/lib/WebAPI/DBIC/Resource/Role/DBICAuth.pm compiles ok 56 - blib/lib/WebAPI/DBIC/Resource/Role/DBICException.pm compiles ok 57 - blib/lib/WebAPI/DBIC/Resource/Role/DBICParams.pm compiles ok 58 - blib/lib/WebAPI/DBIC/Resource/Role/Identity.pm compiles ok 59 - blib/lib/WebAPI/DBIC/Resource/Role/Item.pm compiles ok 60 - blib/lib/WebAPI/DBIC/Resource/Role/ItemHAL.pm compiles ok 61 - blib/lib/WebAPI/DBIC/Resource/Role/ItemInvoke.pm compiles ok 62 - blib/lib/WebAPI/DBIC/Resource/Role/ItemJSONAPI.pm compiles ok 63 - blib/lib/WebAPI/DBIC/Resource/Role/ItemWritable.pm compiles ok 64 - blib/lib/WebAPI/DBIC/Resource/Role/ItemWritableHAL.pm compiles ok 65 - blib/lib/WebAPI/DBIC/Resource/Role/ItemWritableJSONAPI.pm compiles ok 66 - blib/lib/WebAPI/DBIC/Resource/Role/Relationship.pm compiles ok 67 - blib/lib/WebAPI/DBIC/Resource/Role/Root.pm compiles ok 68 - blib/lib/WebAPI/DBIC/Resource/Role/RootHAL.pm compiles ok 69 - blib/lib/WebAPI/DBIC/Resource/Role/Router.pm compiles ok 70 - blib/lib/WebAPI/DBIC/Resource/Role/Set.pm compiles ok 71 - blib/lib/WebAPI/DBIC/Resource/Role/SetHAL.pm compiles ok 72 - blib/lib/WebAPI/DBIC/Resource/Role/SetJSONAPI.pm compiles ok 73 - blib/lib/WebAPI/DBIC/Resource/Role/SetWritable.pm compiles ok 74 - blib/lib/WebAPI/DBIC/Resource/Role/SetWritableHAL.pm compiles ok 75 - blib/lib/WebAPI/DBIC/Resource/Role/SetWritableJSONAPI.pm compiles ok 76 - blib/lib/WebAPI/HTTP/Throwable/Role/JSONBody.pm compiles ok 77 - has psgi files 1..77 ok Class::MOP::load_class is deprecated at /Users/fly1400/var/megalib/Class/MOP.pm line 68. Class::MOP::load_class("TestSchema") called at /Users/fly1400/var/megalib/Test/DBIx/Class/Types.pm line 24 Test::DBIx::Class::Types::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 64 Moose::Meta::TypeCoercion::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 99 Moose::Meta::TypeCoercion::coerce(Moose::Meta::TypeCoercion=HASH(0x100e82070), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeConstraint.pm line 144 Moose::Meta::TypeConstraint::coerce(Moose::Meta::TypeConstraint=HASH(0x100e825f8), "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 219 MooseX::Types::TypeDecorator::_try_delegate(MooseX::Types::TypeDecorator=HASH(0x100ebe340), "coerce", "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 184 MooseX::Types::TypeDecorator::AUTOLOAD(MooseX::Types::TypeDecorator=HASH(0x100ebe340), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 1249 Moose::Meta::Attribute::_coerce_and_verify(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec8d48), "TestSchema", Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100a6a958)) called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 511 Moose::Meta::Attribute::initialize_instance_slot(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec8d48), Moose::Meta::Instance=HASH(0x1020aeeb8), Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100a6a958), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 525 Class::MOP::Class::_construct_instance(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 495 Class::MOP::Class::new_object(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Moose/Meta/Class.pm line 273 Moose::Meta::Class::new_object(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Moose/Object.pm line 23 Moose::Object::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100a6a6b8)) called at constructor Test::DBIx::Class::SchemaManager::new (defined at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 241) line 4 Test::DBIx::Class::SchemaManager::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100a6a6b8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 153 Test::DBIx::Class::SchemaManager::initialize_schema("Test::DBIx::Class::SchemaManager", HASH(0x100a6a6b8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 646 eval {...} called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 645 Test::DBIx::Class::_initialize_schema("Test::DBIx::Class", HASH(0x100de4ea8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 353 Test::DBIx::Class::_initialize("Test::DBIx::Class") called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 36 Test::DBIx::Class::import("Test::DBIx::Class") called at (eval 34) line 2 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 eval 'package main; use Test::DBIx::Class ;' called at /Users/fly1400/var/megalib/ToolSet.pm line 71 ToolSet::import("TestKit") called at t/10-basics-core.t line 5 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 # Failed test 'Fixtures Installed' # at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 156. # {UNKNOWN}: DateTime version 1 required--this is only version 0.73 at /Users/fly1400/var/megalib/DateTime/Format/Builder.pm line 11. # BEGIN failed--compilation aborted at /Users/fly1400/var/megalib/DateTime/Format/Builder.pm line 11. # Compilation failed in require at /Users/fly1400/var/megalib/DateTime/Format/SQLite.pm line 72. # BEGIN failed--compilation aborted at /Users/fly1400/var/megalib/DateTime/Format/SQLite.pm line 72. # Compilation failed in require at /Users/fly1400/var/megalib/Class/C3/Componentised.pm line 150. at /Users/fly1400/var/megalib/Class/C3/Componentised.pm line 155 # Failed test '10-basics-core.t output in t/10-basics-core.got matches t/10-basics-core.exp' # at t/lib/TestDS.pm line 67. # +---+---------------------------------------------+----+---------------------------------------------+ # | Ln|Got | Ln|Expected | # +---+---------------------------------------------+----+---------------------------------------------+ # | 1|'=== get single item | 1|'=== get single item | # | 2|Request: | 2|Request: | # | 3|GET /artist/1 | 3|GET /artist/1 | # | 4|Response: | 4|Response: | # * 5|404 Not Found * 5|200 OK * # * 6|Content-type: text/plain * 6|Content-type: application/json * # * 7|Not Found * 7|{ * # | | * 8| "artistid" : 1, * # | | * 9| "charfield" : null, * # | | * 10| "name" : "Caterwauler McCrae", * # | | * 11| "rank" : 13 * # | | * 12|} * # | | * 13|\n * # | 8|=== get different single item | 14|=== get different single item | # | 9|Request: | 15|Request: | # | 10|GET /artist/2 | 16|GET /artist/2 | # | 11|Response: | 17|Response: | # * 12|404 Not Found * 18|200 OK * # * 13|Content-type: text/plain * 19|Content-type: application/json * # * 14|Not Found * 20|{ * # | | * 21| "artistid" : 2, * # | | * 22| "charfield" : null, * # | | * 23| "name" : "Random Boy Band", * # | | * 24| "rank" : 13 * # | | * 25|} * # | | * 26|\n * # | 15|=== get set of items | 27|=== get set of items | # | 16|Request: | 28|Request: | # | 17|GET /artist | 29|GET /artist | # | 18|Response: | 30|Response: | # | 19|200 OK | 31|200 OK | # | 20|Content-type: application/json | 32|Content-type: application/json | # * 21|[] * 33|[ * # | | * 34| { * # | | * 35| "artistid" : 1, * # | | * 36| "charfield" : null, * # | | * 37| "name" : "Caterwauler McCrae", * # | | * 38| "rank" : 13 * # | | * 39| }, * # | | * 40| { * # | | * 41| "artistid" : 2, * # | | * 42| "charfield" : null, * # | | * 43| "name" : "Random Boy Band", * # | | * 44| "rank" : 13 * # | | * 45| }, * # | | * 46| { * # | | * 47| "artistid" : 3, * # | | * 48| "charfield" : null, * # | | * 49| "name" : "We Are Goth", * # | | * 50| "rank" : 13 * # | | * 51| }, * # | | * 52| { * # | | * 53| "artistid" : 4, * # | | * 54| "charfield" : null, * # | | * 55| "name" : "KielbaSka", * # | | * 56| "rank" : 13 * # | | * 57| }, * # | | * 58| { * # | | * 59| "artistid" : 5, * # | | * 60| "charfield" : null, * # | | * 61| "name" : "Gruntfiddle", * # | | * 62| "rank" : 13 * # | | * 63| }, * # | | * 64| { * # | | * 65| "artistid" : 6, * # | | * 66| "charfield" : null, * # | | * 67| "name" : "A-ha Na Na", * # | | * 68| "rank" : 13 * # | | * 69| } * # | | * 70|] * # | 22| | 71| | # | 23|=== get item with multi-field key | 72|=== get item with multi-field key | # | 24|Request: | 73|Request: | # | 25|GET /gig/1/2014-01-01T01:01:01Z | 74|GET /gig/1/2014-01-01T01:01:01Z | # | 26|Response: | 75|Response: | # * 27|404 Not Found * 76|200 OK * # * 28|Content-type: text/plain * 77|Content-type: application/json * # * 29|Not Found * 78|{ * # | | * 79| "artistid" : 1, * # | | * 80| "gig_datetime" : "2014-01-01T01:01:01Z" * # | | * 81|} * # | | * 82|\n * # | 30|=== get different item with multi-field key | 83|=== get different item with multi-field key | # | 31|Request: | 84|Request: | # | 32|GET /gig/2/2014-06-30T19:00:00Z | 85|GET /gig/2/2014-06-30T19:00:00Z | # | 33|Response: | 86|Response: | # * 34|404 Not Found * 87|200 OK * # * 35|Content-type: text/plain * 88|Content-type: application/json * # * 36|Not Found * 89|{ * # | | * 90| "artistid" : 2, * # | | * 91| "gig_datetime" : "2014-06-30T19:00:00Z" * # | | * 92|} * # | | * 93|\n * # | 37|=== get view data | 94|=== get view data | # | 38|Request: | 95|Request: | # | 39|GET /classic_albums | 96|GET /classic_albums | # | 40|Response: | 97|Response: | # | 41|200 OK | 98|200 OK | # | 42|Content-type: application/json | 99|Content-type: application/json | # * 43|[] * 100|[ * # | | * 101| { * # | | * 102| "artist" : "Caterwauler McCrae", * # | | * 103| "cdid" : 1, * # | | * 104| "genre" : "emo", * # | | * 105| "release_year" : "1999", * # | | * 106| "title" : "Spoonful of bees" * # | | * 107| }, * # | | * 108| { * # | | * 109| "artist" : "Caterwauler McCrae", * # | | * 110| "cdid" : 3, * # | | * 111| "genre" : "country", * # | | * 112| "release_year" : "1997", * # | | * 113| "title" : "Caterwaulin\' Blues" * # | | * 114| }, * # | | * 115| { * # | | * 116| "artist" : "We Are Goth", * # | | * 117| "cdid" : 5, * # | | * 118| "genre" : "goth", * # | | * 119| "release_year" : "1998", * # | | * 120| "title" : "Come Be Depressed With Us" * # | | * 121| } * # | | * 122|] * # | 44| | 123| | # | 45|' | 124|' | # +---+---------------------------------------------+----+---------------------------------------------+ # Looks like you failed 1 test of 1. # Failed test '===== basics - specs =====' # at t/10-basics-core.t line 19. # Looks like you failed 2 tests of 2. t/10-basics-core.t ....... importing fixtures - deleting existing temp directory /tmp/5x3o6G66bh - creating temp dir not ok 1 - Fixtures Installed # Subtest: ===== basics - specs ===== # --- Config: # --- Name: get single item # GET /artist/1 # Vary: Accept # Content-Length: 9 # Content-Type: text/plain # --- Name: get different single item # GET /artist/2 # Vary: Accept # Content-Length: 9 # Content-Type: text/plain # --- Name: get set of items # GET /artist # Vary: Accept # Content-Length: 2 # Content-Type: application/json # --- Name: get item with multi-field key # GET /gig/1/2014-01-01T01:01:01Z # Vary: Accept # Content-Length: 9 # Content-Type: text/plain # --- Name: get different item with multi-field key # GET /gig/2/2014-06-30T19:00:00Z # Vary: Accept # Content-Length: 9 # Content-Type: text/plain # --- Name: get view data # GET /classic_albums # Vary: Accept # Content-Length: 2 # Content-Type: application/json not ok 1 - 10-basics-core.t output in t/10-basics-core.got matches t/10-basics-core.exp 1..1 not ok 2 - ===== basics - specs ===== 1..2 Dubious, test returned 2 (wstat 512, 0x200) Failed 2/2 subtests Class::MOP::load_class is deprecated at /Users/fly1400/var/megalib/Class/MOP.pm line 68. Class::MOP::load_class("TestSchema") called at /Users/fly1400/var/megalib/Test/DBIx/Class/Types.pm line 24 Test::DBIx::Class::Types::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 64 Moose::Meta::TypeCoercion::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 99 Moose::Meta::TypeCoercion::coerce(Moose::Meta::TypeCoercion=HASH(0x100e82070), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeConstraint.pm line 144 Moose::Meta::TypeConstraint::coerce(Moose::Meta::TypeConstraint=HASH(0x100e825f8), "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 219 MooseX::Types::TypeDecorator::_try_delegate(MooseX::Types::TypeDecorator=HASH(0x100ebe340), "coerce", "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 184 MooseX::Types::TypeDecorator::AUTOLOAD(MooseX::Types::TypeDecorator=HASH(0x100ebe340), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 1249 Moose::Meta::Attribute::_coerce_and_verify(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec8d48), "TestSchema", Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100a6a958)) called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 511 Moose::Meta::Attribute::initialize_instance_slot(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec8d48), Moose::Meta::Instance=HASH(0x1020aeeb8), Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100a6a958), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 525 Class::MOP::Class::_construct_instance(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 495 Class::MOP::Class::new_object(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Moose/Meta/Class.pm line 273 Moose::Meta::Class::new_object(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Moose/Object.pm line 23 Moose::Object::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100a6a6b8)) called at constructor Test::DBIx::Class::SchemaManager::new (defined at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 241) line 4 Test::DBIx::Class::SchemaManager::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100a6a6b8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 153 Test::DBIx::Class::SchemaManager::initialize_schema("Test::DBIx::Class::SchemaManager", HASH(0x100a6a6b8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 646 eval {...} called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 645 Test::DBIx::Class::_initialize_schema("Test::DBIx::Class", HASH(0x100de4ea8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 353 Test::DBIx::Class::_initialize("Test::DBIx::Class") called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 36 Test::DBIx::Class::import("Test::DBIx::Class") called at (eval 34) line 2 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 eval 'package main; use Test::DBIx::Class ;' called at /Users/fly1400/var/megalib/ToolSet.pm line 71 ToolSet::import("TestKit") called at t/10-basics-hal.t line 5 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 # Failed test 'Fixtures Installed' # at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 156. # {UNKNOWN}: DateTime version 1 required--this is only version 0.73 at /Users/fly1400/var/megalib/DateTime/Format/Builder.pm line 11. # BEGIN failed--compilation aborted at /Users/fly1400/var/megalib/DateTime/Format/Builder.pm line 11. # Compilation failed in require at /Users/fly1400/var/megalib/DateTime/Format/SQLite.pm line 72. # BEGIN failed--compilation aborted at /Users/fly1400/var/megalib/DateTime/Format/SQLite.pm line 72. # Compilation failed in require at /Users/fly1400/var/megalib/Class/C3/Componentised.pm line 150. at /Users/fly1400/var/megalib/Class/C3/Componentised.pm line 155 # Failed test '10-basics-hal.t output in t/10-basics-hal.got matches t/10-basics-hal.exp' # at t/lib/TestDS.pm line 67. # +---+--------------------------------------------------------+----+--------------------------------------------------------+ # | Ln|Got | Ln|Expected | # +---+--------------------------------------------------------+----+--------------------------------------------------------+ # | 1|'=== get single item | 1|'=== get single item | # | 2|Request: | 2|Request: | # | 3|GET /artist/1 | 3|GET /artist/1 | # | 4|Accept: application/hal+json,application/json | 4|Accept: application/hal+json,application/json | # | 5|Response: | 5|Response: | # * 6|404 Not Found * 6|200 OK * # * 7|Content-type: text/plain * 7|Content-type: application/hal+json * # * 8|Not Found * 8|{ * # | | * 9| "_links" : { * # | | * 10| "cds" : { * # | | * 11| "href" : "/cd?me.artist=1" * # | | * 12| }, * # | | * 13| "cds_cref_cond" : { * # | | * 14| "href" : "/cd/1" * # | | * 15| }, * # | | * 16| "self" : { * # | | * 17| "href" : "/artist/1" * # | | * 18| } * # | | * 19| }, * # | | * 20| "artistid" : 1, * # | | * 21| "charfield" : null, * # | | * 22| "name" : "Caterwauler McCrae", * # | | * 23| "rank" : 13 * # | | * 24|} * # | | * 25|\n * # | 9|=== get different single item | 26|=== get different single item | # | 10|Request: | 27|Request: | # | 11|GET /artist/2 | 28|GET /artist/2 | # | 12|Accept: application/hal+json,application/json | 29|Accept: application/hal+json,application/json | # | 13|Response: | 30|Response: | # * 14|404 Not Found * 31|200 OK * # * 15|Content-type: text/plain * 32|Content-type: application/hal+json * # * 16|Not Found * 33|{ * # | | * 34| "_links" : { * # | | * 35| "cds" : { * # | | * 36| "href" : "/cd?me.artist=2" * # | | * 37| }, * # | | * 38| "cds_cref_cond" : { * # | | * 39| "href" : "/cd/2" * # | | * 40| }, * # | | * 41| "self" : { * # | | * 42| "href" : "/artist/2" * # | | * 43| } * # | | * 44| }, * # | | * 45| "artistid" : 2, * # | | * 46| "charfield" : null, * # | | * 47| "name" : "Random Boy Band", * # | | * 48| "rank" : 13 * # | | * 49|} * # | | * 50|\n * # | 17|=== get set of items | 51|=== get set of items | # | 18|Request: | 52|Request: | # | 19|GET /artist | 53|GET /artist | # | 20|Accept: application/hal+json,application/json | 54|Accept: application/hal+json,application/json | # | 21|Response: | 55|Response: | # | 22|200 OK | 56|200 OK | # | 23|Content-type: application/hal+json | 57|Content-type: application/hal+json | # | 24|{ | 58|{ | # | 25| "_embedded" : { | 59| "_embedded" : { | # * 26| "artist" : [] * 60| "artist" : [ * # | | * 61| { * # | | * 62| "_links" : { * # | | * 63| "cds" : { * # | | * 64| "href" : "/cd?me.artist=1" * # | | * 65| }, * # | | * 66| "cds_cref_cond" : { * # | | * 67| "href" : "/cd/1" * # | | * 68| }, * # | | * 69| "self" : { * # | | * 70| "href" : "/artist/1" * # | | * 71| } * # | | * 72| }, * # | | * 73| "artistid" : 1, * # | | * 74| "charfield" : null, * # | | * 75| "name" : "Caterwauler McCrae", * # | | * 76| "rank" : 13 * # | | * 77| }, * # | | * 78| { * # | | * 79| "_links" : { * # | | * 80| "cds" : { * # | | * 81| "href" : "/cd?me.artist=2" * # | | * 82| }, * # | | * 83| "cds_cref_cond" : { * # | | * 84| "href" : "/cd/2" * # | | * 85| }, * # | | * 86| "self" : { * # | | * 87| "href" : "/artist/2" * # | | * 88| } * # | | * 89| }, * # | | * 90| "artistid" : 2, * # | | * 91| "charfield" : null, * # | | * 92| "name" : "Random Boy Band", * # | | * 93| "rank" : 13 * # | | * 94| }, * # | | * 95| { * # | | * 96| "_links" : { * # | | * 97| "cds" : { * # | | * 98| "href" : "/cd?me.artist=3" * # | | * 99| }, * # | | * 100| "cds_cref_cond" : { * # | | * 101| "href" : "/cd/3" * # | | * 102| }, * # | | * 103| "self" : { * # | | * 104| "href" : "/artist/3" * # | | * 105| } * # | | * 106| }, * # | | * 107| "artistid" : 3, * # | | * 108| "charfield" : null, * # | | * 109| "name" : "We Are Goth", * # | | * 110| "rank" : 13 * # | | * 111| }, * # | | * 112| { * # | | * 113| "_links" : { * # | | * 114| "cds" : { * # | | * 115| "href" : "/cd?me.artist=4" * # | | * 116| }, * # | | * 117| "cds_cref_cond" : { * # | | * 118| "href" : "/cd/4" * # | | * 119| }, * # | | * 120| "self" : { * # | | * 121| "href" : "/artist/4" * # | | * 122| } * # | | * 123| }, * # | | * 124| "artistid" : 4, * # | | * 125| "charfield" : null, * # | | * 126| "name" : "KielbaSka", * # | | * 127| "rank" : 13 * # | | * 128| }, * # | | * 129| { * # | | * 130| "_links" : { * # | | * 131| "cds" : { * # | | * 132| "href" : "/cd?me.artist=5" * # | | * 133| }, * # | | * 134| "cds_cref_cond" : { * # | | * 135| "href" : "/cd/5" * # | | * 136| }, * # | | * 137| "self" : { * # | | * 138| "href" : "/artist/5" * # | | * 139| } * # | | * 140| }, * # | | * 141| "artistid" : 5, * # | | * 142| "charfield" : null, * # | | * 143| "name" : "Gruntfiddle", * # | | * 144| "rank" : 13 * # | | * 145| }, * # | | * 146| { * # | | * 147| "_links" : { * # | | * 148| "cds" : { * # | | * 149| "href" : "/cd?me.artist=6" * # | | * 150| }, * # | | * 151| "cds_cref_cond" : { * # | | * 152| "href" : "/cd/6" * # | | * 153| }, * # | | * 154| "self" : { * # | | * 155| "href" : "/artist/6" * # | | * 156| } * # | | * 157| }, * # | | * 158| "artistid" : 6, * # | | * 159| "charfield" : null, * # | | * 160| "name" : "A-ha Na Na", * # | | * 161| "rank" : 13 * # | | * 162| } * # | | * 163| ] * # | 27| }, | 164| }, | # | 28| "_links" : { | 165| "_links" : { | # | 29| "self" : { | 166| "self" : { | # | 30| "href" : "/artist?rows=30&page=1", | 167| "href" : "/artist?rows=30&page=1", | # | 31| "title" : "TestSchema::Result::Artist" | 168| "title" : "TestSchema::Result::Artist" | # | 32| } | 169| } | # | 33| } | 170| } | # | 34|} | 171|} | # | 35| | 172| | # | 36|=== get item with multi-field key | 173|=== get item with multi-field key | # | 37|Request: | 174|Request: | # | 38|GET /gig/1/2014-01-01T01:01:01Z | 175|GET /gig/1/2014-01-01T01:01:01Z | # | 39|Accept: application/hal+json,application/json | 176|Accept: application/hal+json,application/json | # | 40|Response: | 177|Response: | # * 41|404 Not Found * 178|200 OK * # * 42|Content-type: text/plain * 179|Content-type: application/hal+json * # * 43|Not Found * 180|{ * # | | * 181| "_links" : { * # | | * 182| "artist" : { * # | | * 183| "href" : "/artist/1" * # | | * 184| }, * # | | * 185| "self" : { * # | | * 186| "href" : "/gig/1/2014-01-01T01:01:01Z" * # | | * 187| } * # | | * 188| }, * # | | * 189| "artistid" : 1, * # | | * 190| "gig_datetime" : "2014-01-01T01:01:01Z" * # | | * 191|} * # | | * 192|\n * # | 44|=== get different item with multi-field key | 193|=== get different item with multi-field key | # | 45|Request: | 194|Request: | # | 46|GET /gig/2/2014-06-30T19:00:00Z | 195|GET /gig/2/2014-06-30T19:00:00Z | # | 47|Accept: application/hal+json,application/json | 196|Accept: application/hal+json,application/json | # | 48|Response: | 197|Response: | # * 49|404 Not Found * 198|200 OK * # * 50|Content-type: text/plain * 199|Content-type: application/hal+json * # * 51|Not Found * 200|{ * # | | * 201| "_links" : { * # | | * 202| "artist" : { * # | | * 203| "href" : "/artist/2" * # | | * 204| }, * # | | * 205| "self" : { * # | | * 206| "href" : "/gig/2/2014-06-30T19:00:00Z" * # | | * 207| } * # | | * 208| }, * # | | * 209| "artistid" : 2, * # | | * 210| "gig_datetime" : "2014-06-30T19:00:00Z" * # | | * 211|} * # | | * 212|\n * # | 52|=== get view data | 213|=== get view data | # | 53|Request: | 214|Request: | # | 54|GET /classic_albums | 215|GET /classic_albums | # | 55|Accept: application/hal+json,application/json | 216|Accept: application/hal+json,application/json | # | 56|Response: | 217|Response: | # | 57|200 OK | 218|200 OK | # | 58|Content-type: application/hal+json | 219|Content-type: application/hal+json | # | 59|{ | 220|{ | # | 60| "_embedded" : { | 221| "_embedded" : { | # * 61| "classic_albums" : [] * 222| "classic_albums" : [ * # | | * 223| { * # | | * 224| "_links" : { * # | | * 225| "cd" : { * # | | * 226| "href" : "/cd/1" * # | | * 227| }, * # | | * 228| "self" : { * # | | * 229| "href" : "/classic_albums/1" * # | | * 230| } * # | | * 231| }, * # | | * 232| "artist" : "Caterwauler McCrae", * # | | * 233| "cdid" : 1, * # | | * 234| "genre" : "emo", * # | | * 235| "release_year" : "1999", * # | | * 236| "title" : "Spoonful of bees" * # | | * 237| }, * # | | * 238| { * # | | * 239| "_links" : { * # | | * 240| "cd" : { * # | | * 241| "href" : "/cd/3" * # | | * 242| }, * # | | * 243| "self" : { * # | | * 244| "href" : "/classic_albums/3" * # | | * 245| } * # | | * 246| }, * # | | * 247| "artist" : "Caterwauler McCrae", * # | | * 248| "cdid" : 3, * # | | * 249| "genre" : "country", * # | | * 250| "release_year" : "1997", * # | | * 251| "title" : "Caterwaulin\' Blues" * # | | * 252| }, * # | | * 253| { * # | | * 254| "_links" : { * # | | * 255| "cd" : { * # | | * 256| "href" : "/cd/5" * # | | * 257| }, * # | | * 258| "self" : { * # | | * 259| "href" : "/classic_albums/5" * # | | * 260| } * # | | * 261| }, * # | | * 262| "artist" : "We Are Goth", * # | | * 263| "cdid" : 5, * # | | * 264| "genre" : "goth", * # | | * 265| "release_year" : "1998", * # | | * 266| "title" : "Come Be Depressed With Us" * # | | * 267| } * # | | * 268| ] * # | 62| }, | 269| }, | # | 63| "_links" : { | 270| "_links" : { | # | 64| "self" : { | 271| "self" : { | # | 65| "href" : "/classic_albums?rows=30&page=1", | 272| "href" : "/classic_albums?rows=30&page=1", | # | 66| "title" : "TestSchema::Result::ClassicAlbums" | 273| "title" : "TestSchema::Result::ClassicAlbums" | # | 67| } | 274| } | # | 68| } | 275| } | # | 69|} | 276|} | # | 70| | 277| | # | 71|' | 278|' | # +---+--------------------------------------------------------+----+--------------------------------------------------------+ # Looks like you failed 1 test of 1. # Failed test '===== basics - specs =====' # at t/10-basics-hal.t line 18. # Looks like you failed 2 tests of 2. t/10-basics-hal.t ........ importing fixtures - deleting existing temp directory /tmp/tdPFBXTgha - creating temp dir not ok 1 - Fixtures Installed # Subtest: ===== basics - specs ===== # --- Config: # --- Name: get single item # GET /artist/1 # Vary: Accept # Content-Length: 9 # Content-Type: text/plain # --- Name: get different single item # GET /artist/2 # Vary: Accept # Content-Length: 9 # Content-Type: text/plain # --- Name: get set of items # GET /artist # Vary: Accept # Content-Length: 116 # Content-Type: application/hal+json # --- Name: get item with multi-field key # GET /gig/1/2014-01-01T01:01:01Z # Vary: Accept # Content-Length: 9 # Content-Type: text/plain # --- Name: get different item with multi-field key # GET /gig/2/2014-06-30T19:00:00Z # Vary: Accept # Content-Length: 9 # Content-Type: text/plain # --- Name: get view data # GET /classic_albums # Vary: Accept # Content-Length: 139 # Content-Type: application/hal+json not ok 1 - 10-basics-hal.t output in t/10-basics-hal.got matches t/10-basics-hal.exp 1..1 not ok 2 - ===== basics - specs ===== 1..2 Dubious, test returned 2 (wstat 512, 0x200) Failed 2/2 subtests Class::MOP::load_class is deprecated at /Users/fly1400/var/megalib/Class/MOP.pm line 68. Class::MOP::load_class("TestSchema") called at /Users/fly1400/var/megalib/Test/DBIx/Class/Types.pm line 24 Test::DBIx::Class::Types::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 64 Moose::Meta::TypeCoercion::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 99 Moose::Meta::TypeCoercion::coerce(Moose::Meta::TypeCoercion=HASH(0x100e82070), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeConstraint.pm line 144 Moose::Meta::TypeConstraint::coerce(Moose::Meta::TypeConstraint=HASH(0x100e825f8), "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 219 MooseX::Types::TypeDecorator::_try_delegate(MooseX::Types::TypeDecorator=HASH(0x100ebe340), "coerce", "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 184 MooseX::Types::TypeDecorator::AUTOLOAD(MooseX::Types::TypeDecorator=HASH(0x100ebe340), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 1249 Moose::Meta::Attribute::_coerce_and_verify(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec8d48), "TestSchema", Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100a6a958)) called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 511 Moose::Meta::Attribute::initialize_instance_slot(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec8d48), Moose::Meta::Instance=HASH(0x1020aeeb8), Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100a6a958), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 525 Class::MOP::Class::_construct_instance(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 495 Class::MOP::Class::new_object(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Moose/Meta/Class.pm line 273 Moose::Meta::Class::new_object(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Moose/Object.pm line 23 Moose::Object::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100a6a6b8)) called at constructor Test::DBIx::Class::SchemaManager::new (defined at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 241) line 4 Test::DBIx::Class::SchemaManager::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100a6a6b8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 153 Test::DBIx::Class::SchemaManager::initialize_schema("Test::DBIx::Class::SchemaManager", HASH(0x100a6a6b8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 646 eval {...} called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 645 Test::DBIx::Class::_initialize_schema("Test::DBIx::Class", HASH(0x100de4ea8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 353 Test::DBIx::Class::_initialize("Test::DBIx::Class") called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 36 Test::DBIx::Class::import("Test::DBIx::Class") called at (eval 34) line 2 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 eval 'package main; use Test::DBIx::Class ;' called at /Users/fly1400/var/megalib/ToolSet.pm line 71 ToolSet::import("TestKit") called at t/10-basics-jsonapi.t line 5 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 # Failed test 'Fixtures Installed' # at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 156. # {UNKNOWN}: DateTime version 1 required--this is only version 0.73 at /Users/fly1400/var/megalib/DateTime/Format/Builder.pm line 11. # BEGIN failed--compilation aborted at /Users/fly1400/var/megalib/DateTime/Format/Builder.pm line 11. # Compilation failed in require at /Users/fly1400/var/megalib/DateTime/Format/SQLite.pm line 72. # BEGIN failed--compilation aborted at /Users/fly1400/var/megalib/DateTime/Format/SQLite.pm line 72. # Compilation failed in require at /Users/fly1400/var/megalib/Class/C3/Componentised.pm line 150. at /Users/fly1400/var/megalib/Class/C3/Componentised.pm line 155 # Failed test '10-basics-jsonapi.t output in t/10-basics-jsonapi.got matches t/10-basics-jsonapi.exp' # at t/lib/TestDS.pm line 67. # +---+---------------------------------------------+----+---------------------------------------------------+ # | Ln|Got | Ln|Expected | # +---+---------------------------------------------+----+---------------------------------------------------+ # | 1|'=== get single item | 1|'=== get single item | # | 2|Request: | 2|Request: | # | 3|GET /artist/1 | 3|GET /artist/1 | # | 4|Accept: application/vnd.api+json | 4|Accept: application/vnd.api+json | # | 5|Response: | 5|Response: | # * 6|404 Not Found * 6|200 OK * # * 7|Content-type: text/plain * 7|Content-type: application/vnd.api+json * # * 8|Not Found * 8|{ * # | | * 9| "artist" : [ * # | | * 10| { * # | | * 11| "artistid" : 1, * # | | * 12| "charfield" : null, * # | | * 13| "href" : "/artist/1", * # | | * 14| "id" : 1, * # | | * 15| "name" : "Caterwauler McCrae", * # | | * 16| "rank" : 13, * # | | * 17| "type" : "artist" * # | | * 18| } * # | | * 19| ] * # | | * 20|} * # | | * 21|\n * # | 9|=== get different single item | 22|=== get different single item | # | 10|Request: | 23|Request: | # | 11|GET /artist/2 | 24|GET /artist/2 | # | 12|Accept: application/vnd.api+json | 25|Accept: application/vnd.api+json | # | 13|Response: | 26|Response: | # * 14|404 Not Found * 27|200 OK * # * 15|Content-type: text/plain * 28|Content-type: application/vnd.api+json * # * 16|Not Found * 29|{ * # | | * 30| "artist" : [ * # | | * 31| { * # | | * 32| "artistid" : 2, * # | | * 33| "charfield" : null, * # | | * 34| "href" : "/artist/2", * # | | * 35| "id" : 2, * # | | * 36| "name" : "Random Boy Band", * # | | * 37| "rank" : 13, * # | | * 38| "type" : "artist" * # | | * 39| } * # | | * 40| ] * # | | * 41|} * # | | * 42|\n * # | 17|=== get set of items | 43|=== get set of items | # | 18|Request: | 44|Request: | # | 19|GET /artist | 45|GET /artist | # | 20|Accept: application/vnd.api+json | 46|Accept: application/vnd.api+json | # | 21|Response: | 47|Response: | # | 22|200 OK | 48|200 OK | # | 23|Content-type: application/vnd.api+json | 49|Content-type: application/vnd.api+json | # | 24|{ | 50|{ | # * 25| "artist" : [] * 51| "artist" : [ * # | | * 52| { * # | | * 53| "artistid" : 1, * # | | * 54| "charfield" : null, * # | | * 55| "href" : "/artist/1", * # | | * 56| "id" : 1, * # | | * 57| "name" : "Caterwauler McCrae", * # | | * 58| "rank" : 13, * # | | * 59| "type" : "artist" * # | | * 60| }, * # | | * 61| { * # | | * 62| "artistid" : 2, * # | | * 63| "charfield" : null, * # | | * 64| "href" : "/artist/2", * # | | * 65| "id" : 2, * # | | * 66| "name" : "Random Boy Band", * # | | * 67| "rank" : 13, * # | | * 68| "type" : "artist" * # | | * 69| }, * # | | * 70| { * # | | * 71| "artistid" : 3, * # | | * 72| "charfield" : null, * # | | * 73| "href" : "/artist/3", * # | | * 74| "id" : 3, * # | | * 75| "name" : "We Are Goth", * # | | * 76| "rank" : 13, * # | | * 77| "type" : "artist" * # | | * 78| }, * # | | * 79| { * # | | * 80| "artistid" : 4, * # | | * 81| "charfield" : null, * # | | * 82| "href" : "/artist/4", * # | | * 83| "id" : 4, * # | | * 84| "name" : "KielbaSka", * # | | * 85| "rank" : 13, * # | | * 86| "type" : "artist" * # | | * 87| }, * # | | * 88| { * # | | * 89| "artistid" : 5, * # | | * 90| "charfield" : null, * # | | * 91| "href" : "/artist/5", * # | | * 92| "id" : 5, * # | | * 93| "name" : "Gruntfiddle", * # | | * 94| "rank" : 13, * # | | * 95| "type" : "artist" * # | | * 96| }, * # | | * 97| { * # | | * 98| "artistid" : 6, * # | | * 99| "charfield" : null, * # | | * 100| "href" : "/artist/6", * # | | * 101| "id" : 6, * # | | * 102| "name" : "A-ha Na Na", * # | | * 103| "rank" : 13, * # | | * 104| "type" : "artist" * # | | * 105| } * # | | * 106| ] * # | 26|} | 107|} | # | 27| | 108| | # | 28|=== get item with multi-field key | 109|=== get item with multi-field key | # | 29|Request: | 110|Request: | # | 30|GET /gig/1/2014-01-01T01:01:01Z | 111|GET /gig/1/2014-01-01T01:01:01Z | # | 31|Accept: application/vnd.api+json | 112|Accept: application/vnd.api+json | # | 32|Response: | 113|Response: | # * 33|404 Not Found * 114|200 OK * # * 34|Content-type: text/plain * 115|Content-type: application/vnd.api+json * # * 35|Not Found * 116|{ * # | | * 117| "gig" : [ * # | | * 118| { * # | | * 119| "artistid" : 1, * # | | * 120| "gig_datetime" : "2014-01-01T01:01:01Z", * # | | * 121| "href" : "/gig/1/2014-01-01T01:01:01Z", * # | | * 122| "id" : 1, * # | | * 123| "type" : "gig" * # | | * 124| } * # | | * 125| ] * # | | * 126|} * # | | * 127|\n * # | 36|=== get different item with multi-field key | 128|=== get different item with multi-field key | # | 37|Request: | 129|Request: | # | 38|GET /gig/2/2014-06-30T19:00:00Z | 130|GET /gig/2/2014-06-30T19:00:00Z | # | 39|Accept: application/vnd.api+json | 131|Accept: application/vnd.api+json | # | 40|Response: | 132|Response: | # * 41|404 Not Found * 133|200 OK * # * 42|Content-type: text/plain * 134|Content-type: application/vnd.api+json * # * 43|Not Found * 135|{ * # | | * 136| "gig" : [ * # | | * 137| { * # | | * 138| "artistid" : 2, * # | | * 139| "gig_datetime" : "2014-06-30T19:00:00Z", * # | | * 140| "href" : "/gig/2/2014-06-30T19:00:00Z", * # | | * 141| "id" : 2, * # | | * 142| "type" : "gig" * # | | * 143| } * # | | * 144| ] * # | | * 145|} * # | | * 146|\n * # | 44|=== get view data | 147|=== get view data | # | 45|Request: | 148|Request: | # | 46|GET /classic_albums | 149|GET /classic_albums | # | 47|Accept: application/vnd.api+json | 150|Accept: application/vnd.api+json | # | 48|Response: | 151|Response: | # | 49|200 OK | 152|200 OK | # | 50|Content-type: application/vnd.api+json | 153|Content-type: application/vnd.api+json | # | 51|{ | 154|{ | # * 52| "classic_albums" : [] * 155| "classic_albums" : [ * # | | * 156| { * # | | * 157| "artist" : "Caterwauler McCrae", * # | | * 158| "cdid" : 1, * # | | * 159| "genre" : "emo", * # | | * 160| "href" : "/classic_albums/1", * # | | * 161| "id" : 1, * # | | * 162| "release_year" : "1999", * # | | * 163| "title" : "Spoonful of bees", * # | | * 164| "type" : "classic_albums" * # | | * 165| }, * # | | * 166| { * # | | * 167| "artist" : "Caterwauler McCrae", * # | | * 168| "cdid" : 3, * # | | * 169| "genre" : "country", * # | | * 170| "href" : "/classic_albums/3", * # | | * 171| "id" : 3, * # | | * 172| "release_year" : "1997", * # | | * 173| "title" : "Caterwaulin\' Blues", * # | | * 174| "type" : "classic_albums" * # | | * 175| }, * # | | * 176| { * # | | * 177| "artist" : "We Are Goth", * # | | * 178| "cdid" : 5, * # | | * 179| "genre" : "goth", * # | | * 180| "href" : "/classic_albums/5", * # | | * 181| "id" : 5, * # | | * 182| "release_year" : "1998", * # | | * 183| "title" : "Come Be Depressed With Us", * # | | * 184| "type" : "classic_albums" * # | | * 185| } * # | | * 186| ] * # | 53|} | 187|} | # | 54| | 188| | # | 55|' | 189|' | # +---+---------------------------------------------+----+---------------------------------------------------+ # Looks like you failed 1 test of 1. # Failed test '===== basics - specs =====' # at t/10-basics-jsonapi.t line 18. # Looks like you failed 2 tests of 2. t/10-basics-jsonapi.t .... importing fixtures - deleting existing temp directory /tmp/17ybuyGP_M - creating temp dir not ok 1 - Fixtures Installed # Subtest: ===== basics - specs ===== # --- Config: # --- Name: get single item # GET /artist/1 # Vary: Accept # Content-Length: 9 # Content-Type: text/plain # --- Name: get different single item # GET /artist/2 # Vary: Accept # Content-Length: 9 # Content-Type: text/plain # --- Name: get set of items # GET /artist # Vary: Accept # Content-Length: 13 # Content-Type: application/vnd.api+json # --- Name: get item with multi-field key # GET /gig/1/2014-01-01T01:01:01Z # Vary: Accept # Content-Length: 9 # Content-Type: text/plain # --- Name: get different item with multi-field key # GET /gig/2/2014-06-30T19:00:00Z # Vary: Accept # Content-Length: 9 # Content-Type: text/plain # --- Name: get view data # GET /classic_albums # Vary: Accept # Content-Length: 21 # Content-Type: application/vnd.api+json not ok 1 - 10-basics-jsonapi.t output in t/10-basics-jsonapi.got matches t/10-basics-jsonapi.exp 1..1 not ok 2 - ===== basics - specs ===== 1..2 Dubious, test returned 2 (wstat 512, 0x200) Failed 2/2 subtests Class::MOP::load_class is deprecated at /Users/fly1400/var/megalib/Class/MOP.pm line 68. Class::MOP::load_class("TestSchema") called at /Users/fly1400/var/megalib/Test/DBIx/Class/Types.pm line 24 Test::DBIx::Class::Types::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 64 Moose::Meta::TypeCoercion::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 99 Moose::Meta::TypeCoercion::coerce(Moose::Meta::TypeCoercion=HASH(0x100e82070), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeConstraint.pm line 144 Moose::Meta::TypeConstraint::coerce(Moose::Meta::TypeConstraint=HASH(0x100e825f8), "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 219 MooseX::Types::TypeDecorator::_try_delegate(MooseX::Types::TypeDecorator=HASH(0x100ebe340), "coerce", "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 184 MooseX::Types::TypeDecorator::AUTOLOAD(MooseX::Types::TypeDecorator=HASH(0x100ebe340), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 1249 Moose::Meta::Attribute::_coerce_and_verify(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec8d48), "TestSchema", Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100a6a958)) called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 511 Moose::Meta::Attribute::initialize_instance_slot(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec8d48), Moose::Meta::Instance=HASH(0x1020aeeb8), Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100a6a958), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 525 Class::MOP::Class::_construct_instance(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 495 Class::MOP::Class::new_object(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Moose/Meta/Class.pm line 273 Moose::Meta::Class::new_object(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Moose/Object.pm line 23 Moose::Object::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100a6a6b8)) called at constructor Test::DBIx::Class::SchemaManager::new (defined at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 241) line 4 Test::DBIx::Class::SchemaManager::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100a6a6b8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 153 Test::DBIx::Class::SchemaManager::initialize_schema("Test::DBIx::Class::SchemaManager", HASH(0x100a6a6b8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 646 eval {...} called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 645 Test::DBIx::Class::_initialize_schema("Test::DBIx::Class", HASH(0x100de4ea8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 353 Test::DBIx::Class::_initialize("Test::DBIx::Class") called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 36 Test::DBIx::Class::import("Test::DBIx::Class") called at (eval 34) line 2 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 eval 'package main; use Test::DBIx::Class ;' called at /Users/fly1400/var/megalib/ToolSet.pm line 71 ToolSet::import("TestKit") called at t/11-paging-core.t line 5 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 # Failed test 'Fixtures Installed' # at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 156. # {UNKNOWN}: DateTime version 1 required--this is only version 0.73 at /Users/fly1400/var/megalib/DateTime/Format/Builder.pm line 11. # BEGIN failed--compilation aborted at /Users/fly1400/var/megalib/DateTime/Format/Builder.pm line 11. # Compilation failed in require at /Users/fly1400/var/megalib/DateTime/Format/SQLite.pm line 72. # BEGIN failed--compilation aborted at /Users/fly1400/var/megalib/DateTime/Format/SQLite.pm line 72. # Compilation failed in require at /Users/fly1400/var/megalib/Class/C3/Componentised.pm line 150. at /Users/fly1400/var/megalib/Class/C3/Componentised.pm line 155 # Failed test '11-paging-core.t output in t/11-paging-core.got matches t/11-paging-core.exp' # at t/lib/TestDS.pm line 67. # +---+-------------------------------------+---+--------------------------------------+ # | Ln|Got | Ln|Expected | # +---+-------------------------------------+---+--------------------------------------+ # | 1|'=== get 1 row | 1|'=== get 1 row | # | 2|Request: | 2|Request: | # | 3|GET /artist?rows=1 | 3|GET /artist?rows=1 | # | 4|Response: | 4|Response: | # | 5|200 OK | 5|200 OK | # | 6|Content-type: application/json | 6|Content-type: application/json | # * 7|[] * 7|[ * # | | * 8| { * # | | * 9| "artistid" : 1, * # | | * 10| "charfield" : null, * # | | * 11| "name" : "Caterwauler McCrae", * # | | * 12| "rank" : 13 * # | | * 13| } * # | | * 14|] * # | 8| | 15| | # | 9|=== get 2 rows | 16|=== get 2 rows | # | 10|Request: | 17|Request: | # | 11|GET /artist?rows=2 | 18|GET /artist?rows=2 | # | 12|Response: | 19|Response: | # | 13|200 OK | 20|200 OK | # | 14|Content-type: application/json | 21|Content-type: application/json | # * 15|[] * 22|[ * # | | * 23| { * # | | * 24| "artistid" : 1, * # | | * 25| "charfield" : null, * # | | * 26| "name" : "Caterwauler McCrae", * # | | * 27| "rank" : 13 * # | | * 28| }, * # | | * 29| { * # | | * 30| "artistid" : 2, * # | | * 31| "charfield" : null, * # | | * 32| "name" : "Random Boy Band", * # | | * 33| "rank" : 13 * # | | * 34| } * # | | * 35|] * # | 16| | 36| | # | 17|=== get 2 rows from second \'page\' | 37|=== get 2 rows from second \'page\' | # | 18|Request: | 38|Request: | # | 19|GET /artist?rows=2&page=2 | 39|GET /artist?rows=2&page=2 | # | 20|Response: | 40|Response: | # | 21|200 OK | 41|200 OK | # | 22|Content-type: application/json | 42|Content-type: application/json | # * 23|[] * 43|[ * # | | * 44| { * # | | * 45| "artistid" : 3, * # | | * 46| "charfield" : null, * # | | * 47| "name" : "We Are Goth", * # | | * 48| "rank" : 13 * # | | * 49| }, * # | | * 50| { * # | | * 51| "artistid" : 4, * # | | * 52| "charfield" : null, * # | | * 53| "name" : "KielbaSka", * # | | * 54| "rank" : 13 * # | | * 55| } * # | | * 56|] * # | 24| | 57| | # | 25|' | 58|' | # +---+-------------------------------------+---+--------------------------------------+ # Looks like you failed 1 test of 1. # Failed test '===== Paging =====' # at t/11-paging-core.t line 18. # Looks like you failed 2 tests of 2. t/11-paging-core.t ....... importing fixtures - deleting existing temp directory /tmp/5dewbnfVwX - creating temp dir not ok 1 - Fixtures Installed # Subtest: ===== Paging ===== # --- Config: # --- Name: get 1 row # GET /artist?rows=1 # Vary: Accept # Content-Length: 2 # Content-Type: application/json # --- Name: get 2 rows # GET /artist?rows=2 # Vary: Accept # Content-Length: 2 # Content-Type: application/json # --- Name: get 2 rows from second 'page' # GET /artist?rows=2&page=2 # Vary: Accept # Content-Length: 2 # Content-Type: application/json not ok 1 - 11-paging-core.t output in t/11-paging-core.got matches t/11-paging-core.exp 1..1 not ok 2 - ===== Paging ===== 1..2 Dubious, test returned 2 (wstat 512, 0x200) Failed 2/2 subtests Class::MOP::load_class is deprecated at /Users/fly1400/var/megalib/Class/MOP.pm line 68. Class::MOP::load_class("TestSchema") called at /Users/fly1400/var/megalib/Test/DBIx/Class/Types.pm line 24 Test::DBIx::Class::Types::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 64 Moose::Meta::TypeCoercion::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 99 Moose::Meta::TypeCoercion::coerce(Moose::Meta::TypeCoercion=HASH(0x100e82070), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeConstraint.pm line 144 Moose::Meta::TypeConstraint::coerce(Moose::Meta::TypeConstraint=HASH(0x100e825f8), "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 219 MooseX::Types::TypeDecorator::_try_delegate(MooseX::Types::TypeDecorator=HASH(0x100ebe340), "coerce", "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 184 MooseX::Types::TypeDecorator::AUTOLOAD(MooseX::Types::TypeDecorator=HASH(0x100ebe340), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 1249 Moose::Meta::Attribute::_coerce_and_verify(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec8d48), "TestSchema", Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100a6a958)) called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 511 Moose::Meta::Attribute::initialize_instance_slot(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec8d48), Moose::Meta::Instance=HASH(0x1020aeeb8), Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100a6a958), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 525 Class::MOP::Class::_construct_instance(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 495 Class::MOP::Class::new_object(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Moose/Meta/Class.pm line 273 Moose::Meta::Class::new_object(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Moose/Object.pm line 23 Moose::Object::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100a6a6b8)) called at constructor Test::DBIx::Class::SchemaManager::new (defined at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 241) line 4 Test::DBIx::Class::SchemaManager::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100a6a6b8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 153 Test::DBIx::Class::SchemaManager::initialize_schema("Test::DBIx::Class::SchemaManager", HASH(0x100a6a6b8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 646 eval {...} called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 645 Test::DBIx::Class::_initialize_schema("Test::DBIx::Class", HASH(0x100de4ea8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 353 Test::DBIx::Class::_initialize("Test::DBIx::Class") called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 36 Test::DBIx::Class::import("Test::DBIx::Class") called at (eval 34) line 2 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 eval 'package main; use Test::DBIx::Class ;' called at /Users/fly1400/var/megalib/ToolSet.pm line 71 ToolSet::import("TestKit") called at t/11-paging-hal.t line 5 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 # Failed test 'Fixtures Installed' # at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 156. # {UNKNOWN}: DateTime version 1 required--this is only version 0.73 at /Users/fly1400/var/megalib/DateTime/Format/Builder.pm line 11. # BEGIN failed--compilation aborted at /Users/fly1400/var/megalib/DateTime/Format/Builder.pm line 11. # Compilation failed in require at /Users/fly1400/var/megalib/DateTime/Format/SQLite.pm line 72. # BEGIN failed--compilation aborted at /Users/fly1400/var/megalib/DateTime/Format/SQLite.pm line 72. # Compilation failed in require at /Users/fly1400/var/megalib/Class/C3/Componentised.pm line 150. at /Users/fly1400/var/megalib/Class/C3/Componentised.pm line 155 # Failed test '11-paging-hal.t output in t/11-paging-hal.got matches t/11-paging-hal.exp' # at t/lib/TestDS.pm line 67. # +---+-------------------------------------------------------+----+-------------------------------------------------------+ # | Ln|Got | Ln|Expected | # +---+-------------------------------------------------------+----+-------------------------------------------------------+ # | 1|'=== get 1 row | 1|'=== get 1 row | # | 2|Request: | 2|Request: | # | 3|GET /artist?rows=1 | 3|GET /artist?rows=1 | # | 4|Accept: application/hal+json,application/json | 4|Accept: application/hal+json,application/json | # | 5|Response: | 5|Response: | # | 6|200 OK | 6|200 OK | # | 7|Content-type: application/hal+json | 7|Content-type: application/hal+json | # | 8|{ | 8|{ | # | 9| "_embedded" : { | 9| "_embedded" : { | # * 10| "artist" : [] * 10| "artist" : [ * # | | * 11| { * # | | * 12| "_links" : { * # | | * 13| "cds" : { * # | | * 14| "href" : "/cd?me.artist=1" * # | | * 15| }, * # | | * 16| "cds_cref_cond" : { * # | | * 17| "href" : "/cd/1" * # | | * 18| }, * # | | * 19| "self" : { * # | | * 20| "href" : "/artist/1" * # | | * 21| } * # | | * 22| }, * # | | * 23| "artistid" : 1, * # | | * 24| "charfield" : null, * # | | * 25| "name" : "Caterwauler McCrae", * # | | * 26| "rank" : 13 * # | | * 27| } * # | | * 28| ] * # | 11| }, | 29| }, | # | 12| "_links" : { | 30| "_links" : { | # | | * 31| "next" : { * # | | * 32| "href" : "/artist?rows=1&page=2" * # | | * 33| }, * # | 13| "self" : { | 34| "self" : { | # | 14| "href" : "/artist?rows=1&page=1", | 35| "href" : "/artist?rows=1&page=1", | # | 15| "title" : "TestSchema::Result::Artist" | 36| "title" : "TestSchema::Result::Artist" | # | 16| } | 37| } | # | 17| } | 38| } | # | 18|} | 39|} | # | 19| | 40| | # | 20|=== get 2 rows with count | 41|=== get 2 rows with count | # | 21|Request: | 42|Request: | # | 22|GET /artist?rows=2&with=count | 43|GET /artist?rows=2&with=count | # | 23|Accept: application/hal+json,application/json | 44|Accept: application/hal+json,application/json | # | 24|Response: | 45|Response: | # | 25|200 OK | 46|200 OK | # | 26|Content-type: application/hal+json | 47|Content-type: application/hal+json | # | 27|{ | 48|{ | # | 28| "_embedded" : { | 49| "_embedded" : { | # * 29| "artist" : [] * 50| "artist" : [ * # | | * 51| { * # | | * 52| "_links" : { * # | | * 53| "cds" : { * # | | * 54| "href" : "/cd?me.artist=1" * # | | * 55| }, * # | | * 56| "cds_cref_cond" : { * # | | * 57| "href" : "/cd/1" * # | | * 58| }, * # | | * 59| "self" : { * # | | * 60| "href" : "/artist/1" * # | | * 61| } * # | | * 62| }, * # | | * 63| "artistid" : 1, * # | | * 64| "charfield" : null, * # | | * 65| "name" : "Caterwauler McCrae", * # | | * 66| "rank" : 13 * # | | * 67| }, * # | | * 68| { * # | | * 69| "_links" : { * # | | * 70| "cds" : { * # | | * 71| "href" : "/cd?me.artist=2" * # | | * 72| }, * # | | * 73| "cds_cref_cond" : { * # | | * 74| "href" : "/cd/2" * # | | * 75| }, * # | | * 76| "self" : { * # | | * 77| "href" : "/artist/2" * # | | * 78| } * # | | * 79| }, * # | | * 80| "artistid" : 2, * # | | * 81| "charfield" : null, * # | | * 82| "name" : "Random Boy Band", * # | | * 83| "rank" : 13 * # | | * 84| } * # | | * 85| ] * # | 30| }, | 86| }, | # | 31| "_links" : { | 87| "_links" : { | # | | * 88| "last" : { * # | | * 89| "href" : "/artist?rows=2&with=count&page=3" * # | | * 90| }, * # | | * 91| "next" : { * # | | * 92| "href" : "/artist?rows=2&with=count&page=2" * # | | * 93| }, * # | 32| "self" : { | 94| "self" : { | # | 33| "href" : "/artist?rows=2&with=count&page=1", | 95| "href" : "/artist?rows=2&with=count&page=1", | # | 34| "title" : "TestSchema::Result::Artist" | 96| "title" : "TestSchema::Result::Artist" | # | 35| } | 97| } | # | 36| }, | 98| }, | # | 37| "_meta" : { | 99| "_meta" : { | # * 38| "count" : 0 * 100| "count" : 6 * # | 39| } | 101| } | # | 40|} | 102|} | # | 41| | 103| | # | 42|=== get 2 rows from second \'page\' | 104|=== get 2 rows from second \'page\' | # | 43|Request: | 105|Request: | # | 44|GET /artist?rows=2&page=2 | 106|GET /artist?rows=2&page=2 | # | 45|Accept: application/hal+json,application/json | 107|Accept: application/hal+json,application/json | # | 46|Response: | 108|Response: | # | 47|200 OK | 109|200 OK | # | 48|Content-type: application/hal+json | 110|Content-type: application/hal+json | # | 49|{ | 111|{ | # | 50| "_embedded" : { | 112| "_embedded" : { | # * 51| "artist" : [] * 113| "artist" : [ * # | | * 114| { * # | | * 115| "_links" : { * # | | * 116| "cds" : { * # | | * 117| "href" : "/cd?me.artist=3" * # | | * 118| }, * # | | * 119| "cds_cref_cond" : { * # | | * 120| "href" : "/cd/3" * # | | * 121| }, * # | | * 122| "self" : { * # | | * 123| "href" : "/artist/3" * # | | * 124| } * # | | * 125| }, * # | | * 126| "artistid" : 3, * # | | * 127| "charfield" : null, * # | | * 128| "name" : "We Are Goth", * # | | * 129| "rank" : 13 * # | | * 130| }, * # | | * 131| { * # | | * 132| "_links" : { * # | | * 133| "cds" : { * # | | * 134| "href" : "/cd?me.artist=4" * # | | * 135| }, * # | | * 136| "cds_cref_cond" : { * # | | * 137| "href" : "/cd/4" * # | | * 138| }, * # | | * 139| "self" : { * # | | * 140| "href" : "/artist/4" * # | | * 141| } * # | | * 142| }, * # | | * 143| "artistid" : 4, * # | | * 144| "charfield" : null, * # | | * 145| "name" : "KielbaSka", * # | | * 146| "rank" : 13 * # | | * 147| } * # | | * 148| ] * # | 52| }, | 149| }, | # | 53| "_links" : { | 150| "_links" : { | # | 54| "first" : { | 151| "first" : { | # | 55| "href" : "/artist?rows=2&page=1" | 152| "href" : "/artist?rows=2&page=1" | # | | * 153| }, * # | | * 154| "next" : { * # | | * 155| "href" : "/artist?rows=2&page=3" * # | 56| }, | 156| }, | # | 57| "prev" : { | 157| "prev" : { | # | 58| "href" : "/artist?rows=2&page=1" | 158| "href" : "/artist?rows=2&page=1" | # | 59| }, | 159| }, | # | 60| "self" : { | 160| "self" : { | # | 61| "href" : "/artist?rows=2&page=2", | 161| "href" : "/artist?rows=2&page=2", | # | 62| "title" : "TestSchema::Result::Artist" | 162| "title" : "TestSchema::Result::Artist" | # | 63| } | 163| } | # | 64| } | 164| } | # | 65|} | 165|} | # | 66| | 166| | # | 67|' | 167|' | # +---+-------------------------------------------------------+----+-------------------------------------------------------+ # Looks like you failed 1 test of 1. # Failed test '===== Paging =====' # at t/11-paging-hal.t line 17. # Looks like you failed 2 tests of 2. t/11-paging-hal.t ........ importing fixtures - deleting existing temp directory /tmp/3aCdHbGtDK - creating temp dir not ok 1 - Fixtures Installed # Subtest: ===== Paging ===== # --- Config: # --- Name: get 1 row # GET /artist?rows=1 # Vary: Accept # Content-Length: 115 # Content-Type: application/hal+json # --- Name: get 2 rows with count # GET /artist?rows=2&with=count # Vary: Accept # Content-Length: 146 # Content-Type: application/hal+json # --- Name: get 2 rows from second 'page' # GET /artist?rows=2&page=2 # Vary: Accept # Content-Length: 196 # Content-Type: application/hal+json not ok 1 - 11-paging-hal.t output in t/11-paging-hal.got matches t/11-paging-hal.exp 1..1 not ok 2 - ===== Paging ===== 1..2 Dubious, test returned 2 (wstat 512, 0x200) Failed 2/2 subtests Class::MOP::load_class is deprecated at /Users/fly1400/var/megalib/Class/MOP.pm line 68. Class::MOP::load_class("TestSchema") called at /Users/fly1400/var/megalib/Test/DBIx/Class/Types.pm line 24 Test::DBIx::Class::Types::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 64 Moose::Meta::TypeCoercion::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 99 Moose::Meta::TypeCoercion::coerce(Moose::Meta::TypeCoercion=HASH(0x100e82070), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeConstraint.pm line 144 Moose::Meta::TypeConstraint::coerce(Moose::Meta::TypeConstraint=HASH(0x100e825f8), "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 219 MooseX::Types::TypeDecorator::_try_delegate(MooseX::Types::TypeDecorator=HASH(0x100ebe340), "coerce", "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 184 MooseX::Types::TypeDecorator::AUTOLOAD(MooseX::Types::TypeDecorator=HASH(0x100ebe340), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 1249 Moose::Meta::Attribute::_coerce_and_verify(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec8d48), "TestSchema", Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100a6a958)) called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 511 Moose::Meta::Attribute::initialize_instance_slot(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec8d48), Moose::Meta::Instance=HASH(0x1020aeeb8), Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100a6a958), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 525 Class::MOP::Class::_construct_instance(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 495 Class::MOP::Class::new_object(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Moose/Meta/Class.pm line 273 Moose::Meta::Class::new_object(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Moose/Object.pm line 23 Moose::Object::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100a6a6b8)) called at constructor Test::DBIx::Class::SchemaManager::new (defined at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 241) line 4 Test::DBIx::Class::SchemaManager::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100a6a6b8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 153 Test::DBIx::Class::SchemaManager::initialize_schema("Test::DBIx::Class::SchemaManager", HASH(0x100a6a6b8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 646 eval {...} called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 645 Test::DBIx::Class::_initialize_schema("Test::DBIx::Class", HASH(0x100de4ea8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 353 Test::DBIx::Class::_initialize("Test::DBIx::Class") called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 36 Test::DBIx::Class::import("Test::DBIx::Class") called at (eval 34) line 2 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 eval 'package main; use Test::DBIx::Class ;' called at /Users/fly1400/var/megalib/ToolSet.pm line 71 ToolSet::import("TestKit") called at t/12-searching-core.t line 5 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 # Failed test 'Fixtures Installed' # at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 156. # {UNKNOWN}: DateTime version 1 required--this is only version 0.73 at /Users/fly1400/var/megalib/DateTime/Format/Builder.pm line 11. # BEGIN failed--compilation aborted at /Users/fly1400/var/megalib/DateTime/Format/Builder.pm line 11. # Compilation failed in require at /Users/fly1400/var/megalib/DateTime/Format/SQLite.pm line 72. # BEGIN failed--compilation aborted at /Users/fly1400/var/megalib/DateTime/Format/SQLite.pm line 72. # Compilation failed in require at /Users/fly1400/var/megalib/Class/C3/Componentised.pm line 150. at /Users/fly1400/var/megalib/Class/C3/Componentised.pm line 155 # Failed test '12-searching-core.t output in t/12-searching-core.got matches t/12-searching-core.exp' # at t/lib/TestDS.pm line 67. # +---+----------------------------------------------------------------+---+----------------------------------------------------------------+ # | Ln|Got | Ln|Expected | # +---+----------------------------------------------------------------+---+----------------------------------------------------------------+ # | 1|'=== get 1 row from set by qualifying the key | 1|'=== get 1 row from set by qualifying the key | # | 2|Request: | 2|Request: | # | 3|GET /artist?me.artistid=2 | 3|GET /artist?me.artistid=2 | # | 4|Response: | 4|Response: | # | 5|200 OK | 5|200 OK | # | 6|Content-type: application/json | 6|Content-type: application/json | # * 7|[] * 7|[ * # | | * 8| { * # | | * 9| "artistid" : 2, * # | | * 10| "charfield" : null, * # | | * 11| "name" : "Random Boy Band", * # | | * 12| "rank" : 13 * # | | * 13| } * # | | * 14|] * # | 8| | 15| | # | 9|=== get specific rows via json array | 16|=== get specific rows via json array | # | 10|Request: | 17|Request: | # | 11|GET /artist PARAMS: me.artistid~json=>[1,3] | 18|GET /artist PARAMS: me.artistid~json=>[1,3] | # | 12|GET /artist?me.artistid~json=%5B1%2C3%5D | 19|GET /artist?me.artistid~json=%5B1%2C3%5D | # | 13|Response: | 20|Response: | # | 14|200 OK | 21|200 OK | # | 15|Content-type: application/json | 22|Content-type: application/json | # * 16|[] * 23|[ * # | | * 24| { * # | | * 25| "artistid" : 1, * # | | * 26| "charfield" : null, * # | | * 27| "name" : "Caterwauler McCrae", * # | | * 28| "rank" : 13 * # | | * 29| }, * # | | * 30| { * # | | * 31| "artistid" : 3, * # | | * 32| "charfield" : null, * # | | * 33| "name" : "We Are Goth", * # | | * 34| "rank" : 13 * # | | * 35| } * # | | * 36|] * # | 17| | 37| | # | 18|=== get specific rows via json qualifier expression | 38|=== get specific rows via json qualifier expression | # | 19|Request: | 39|Request: | # | 20|GET /artist PARAMS: me.artistid~json=>{"<=",2} | 40|GET /artist PARAMS: me.artistid~json=>{"<=",2} | # | 21|GET /artist?me.artistid~json=%7B%22%3C%3D%22%3A2%7D | 41|GET /artist?me.artistid~json=%7B%22%3C%3D%22%3A2%7D | # | 22|Response: | 42|Response: | # | 23|200 OK | 43|200 OK | # | 24|Content-type: application/json | 44|Content-type: application/json | # * 25|[] * 45|[ * # | | * 46| { * # | | * 47| "artistid" : 1, * # | | * 48| "charfield" : null, * # | | * 49| "name" : "Caterwauler McCrae", * # | | * 50| "rank" : 13 * # | | * 51| }, * # | | * 52| { * # | | * 53| "artistid" : 2, * # | | * 54| "charfield" : null, * # | | * 55| "name" : "Random Boy Band", * # | | * 56| "rank" : 13 * # | | * 57| } * # | | * 58|] * # | 26| | 59| | # | 27|=== get no rows, empty set, due to qualifier that matches none | 60|=== get no rows, empty set, due to qualifier that matches none | # | 28|Request: | 61|Request: | # | 29|GET /artist?me.artistid=999999 | 62|GET /artist?me.artistid=999999 | # | 30|Response: | 63|Response: | # | 31|200 OK | 64|200 OK | # | 32|Content-type: application/json | 65|Content-type: application/json | # | 33|[] | 66|[] | # | 34| | 67| | # | 35|' | 68|' | # +---+----------------------------------------------------------------+---+----------------------------------------------------------------+ # Looks like you failed 1 test of 2. # Failed test '===== Paging =====' # at t/12-searching-core.t line 18. # Looks like you failed 2 tests of 2. t/12-searching-core.t .... importing fixtures - deleting existing temp directory /tmp/qQQsyKvsjX - creating temp dir not ok 1 - Fixtures Installed # Subtest: ===== Paging ===== # --- Config: # --- Name: get 1 row from set by qualifying the key # GET /artist?me.artistid=2 # Vary: Accept # Content-Length: 2 # Content-Type: application/json # --- Name: get specific rows via json array # GET /artist?me.artistid~json=%5B1%2C3%5D # Vary: Accept # Content-Length: 2 # Content-Type: application/json # --- Name: get specific rows via json qualifier expression # GET /artist?me.artistid~json=%7B%22%3C%3D%22%3A2%7D # Vary: Accept # Content-Length: 2 # Content-Type: application/json # --- Name: get no rows, empty set, due to qualifier that matches none # GET /artist?me.artistid=999999 # Vary: Accept # Content-Length: 2 # Content-Type: application/json # --- Name: invalid request due to qualifying by non-existant field ok 1 # skip need to add post-processing of the error result not ok 2 - 12-searching-core.t output in t/12-searching-core.got matches t/12-searching-core.exp 1..2 not ok 2 - ===== Paging ===== 1..2 Dubious, test returned 2 (wstat 512, 0x200) Failed 2/2 subtests Class::MOP::load_class is deprecated at /Users/fly1400/var/megalib/Class/MOP.pm line 68. Class::MOP::load_class("TestSchema") called at /Users/fly1400/var/megalib/Test/DBIx/Class/Types.pm line 24 Test::DBIx::Class::Types::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 64 Moose::Meta::TypeCoercion::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 99 Moose::Meta::TypeCoercion::coerce(Moose::Meta::TypeCoercion=HASH(0x100e82070), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeConstraint.pm line 144 Moose::Meta::TypeConstraint::coerce(Moose::Meta::TypeConstraint=HASH(0x100e825f8), "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 219 MooseX::Types::TypeDecorator::_try_delegate(MooseX::Types::TypeDecorator=HASH(0x100ebe340), "coerce", "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 184 MooseX::Types::TypeDecorator::AUTOLOAD(MooseX::Types::TypeDecorator=HASH(0x100ebe340), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 1249 Moose::Meta::Attribute::_coerce_and_verify(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec8d48), "TestSchema", Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100a6a958)) called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 511 Moose::Meta::Attribute::initialize_instance_slot(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec8d48), Moose::Meta::Instance=HASH(0x1020aeeb8), Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100a6a958), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 525 Class::MOP::Class::_construct_instance(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 495 Class::MOP::Class::new_object(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Moose/Meta/Class.pm line 273 Moose::Meta::Class::new_object(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Moose/Object.pm line 23 Moose::Object::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100a6a6b8)) called at constructor Test::DBIx::Class::SchemaManager::new (defined at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 241) line 4 Test::DBIx::Class::SchemaManager::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100a6a6b8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 153 Test::DBIx::Class::SchemaManager::initialize_schema("Test::DBIx::Class::SchemaManager", HASH(0x100a6a6b8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 646 eval {...} called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 645 Test::DBIx::Class::_initialize_schema("Test::DBIx::Class", HASH(0x100de4ea8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 353 Test::DBIx::Class::_initialize("Test::DBIx::Class") called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 36 Test::DBIx::Class::import("Test::DBIx::Class") called at (eval 34) line 2 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 eval 'package main; use Test::DBIx::Class ;' called at /Users/fly1400/var/megalib/ToolSet.pm line 71 ToolSet::import("TestKit") called at t/12-searching-hal.t line 5 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 # Failed test 'Fixtures Installed' # at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 156. # {UNKNOWN}: DateTime version 1 required--this is only version 0.73 at /Users/fly1400/var/megalib/DateTime/Format/Builder.pm line 11. # BEGIN failed--compilation aborted at /Users/fly1400/var/megalib/DateTime/Format/Builder.pm line 11. # Compilation failed in require at /Users/fly1400/var/megalib/DateTime/Format/SQLite.pm line 72. # BEGIN failed--compilation aborted at /Users/fly1400/var/megalib/DateTime/Format/SQLite.pm line 72. # Compilation failed in require at /Users/fly1400/var/megalib/Class/C3/Componentised.pm line 150. at /Users/fly1400/var/megalib/Class/C3/Componentised.pm line 155 # Failed test '12-searching-hal.t output in t/12-searching-hal.got matches t/12-searching-hal.exp' # at t/lib/TestDS.pm line 67. # +---+-------------------------------------------------------------------------------------+----+-------------------------------------------------------------------------------------+ # | Ln|Got | Ln|Expected | # +---+-------------------------------------------------------------------------------------+----+-------------------------------------------------------------------------------------+ # | 1|'=== get 1 row from set by qualifying the key | 1|'=== get 1 row from set by qualifying the key | # | 2|Request: | 2|Request: | # | 3|GET /artist?me.artistid=2 | 3|GET /artist?me.artistid=2 | # | 4|Accept: application/hal+json,application/json | 4|Accept: application/hal+json,application/json | # | 5|Response: | 5|Response: | # | 6|200 OK | 6|200 OK | # | 7|Content-type: application/hal+json | 7|Content-type: application/hal+json | # | 8|{ | 8|{ | # | 9| "_embedded" : { | 9| "_embedded" : { | # * 10| "artist" : [] * 10| "artist" : [ * # | | * 11| { * # | | * 12| "_links" : { * # | | * 13| "cds" : { * # | | * 14| "href" : "/cd?me.artist=2" * # | | * 15| }, * # | | * 16| "cds_cref_cond" : { * # | | * 17| "href" : "/cd/2" * # | | * 18| }, * # | | * 19| "self" : { * # | | * 20| "href" : "/artist/2" * # | | * 21| } * # | | * 22| }, * # | | * 23| "artistid" : 2, * # | | * 24| "charfield" : null, * # | | * 25| "name" : "Random Boy Band", * # | | * 26| "rank" : 13 * # | | * 27| } * # | | * 28| ] * # | 11| }, | 29| }, | # | 12| "_links" : { | 30| "_links" : { | # | 13| "self" : { | 31| "self" : { | # | 14| "href" : "/artist?rows=30&me.artistid=2&page=1", | 32| "href" : "/artist?rows=30&me.artistid=2&page=1", | # | 15| "title" : "TestSchema::Result::Artist" | 33| "title" : "TestSchema::Result::Artist" | # | 16| } | 34| } | # | 17| } | 35| } | # | 18|} | 36|} | # | 19| | 37| | # | 20|=== get specific rows via json array | 38|=== get specific rows via json array | # | 21|Request: | 39|Request: | # | 22|GET /artist PARAMS: me.artistid~json=>[1,3] | 40|GET /artist PARAMS: me.artistid~json=>[1,3] | # | 23|GET /artist?me.artistid~json=%5B1%2C3%5D | 41|GET /artist?me.artistid~json=%5B1%2C3%5D | # | 24|Accept: application/hal+json,application/json | 42|Accept: application/hal+json,application/json | # | 25|Response: | 43|Response: | # | 26|200 OK | 44|200 OK | # | 27|Content-type: application/hal+json | 45|Content-type: application/hal+json | # | 28|{ | 46|{ | # | 29| "_embedded" : { | 47| "_embedded" : { | # * 30| "artist" : [] * 48| "artist" : [ * # | | * 49| { * # | | * 50| "_links" : { * # | | * 51| "cds" : { * # | | * 52| "href" : "/cd?me.artist=1" * # | | * 53| }, * # | | * 54| "cds_cref_cond" : { * # | | * 55| "href" : "/cd/1" * # | | * 56| }, * # | | * 57| "self" : { * # | | * 58| "href" : "/artist/1" * # | | * 59| } * # | | * 60| }, * # | | * 61| "artistid" : 1, * # | | * 62| "charfield" : null, * # | | * 63| "name" : "Caterwauler McCrae", * # | | * 64| "rank" : 13 * # | | * 65| }, * # | | * 66| { * # | | * 67| "_links" : { * # | | * 68| "cds" : { * # | | * 69| "href" : "/cd?me.artist=3" * # | | * 70| }, * # | | * 71| "cds_cref_cond" : { * # | | * 72| "href" : "/cd/3" * # | | * 73| }, * # | | * 74| "self" : { * # | | * 75| "href" : "/artist/3" * # | | * 76| } * # | | * 77| }, * # | | * 78| "artistid" : 3, * # | | * 79| "charfield" : null, * # | | * 80| "name" : "We Are Goth", * # | | * 81| "rank" : 13 * # | | * 82| } * # | | * 83| ] * # | 31| }, | 84| }, | # | 32| "_links" : { | 85| "_links" : { | # | 33| "self" : { | 86| "self" : { | # | 34| "href" : "/artist?rows=30&me.artistid~json=%5B1%2C3%5D&page=1", | 87| "href" : "/artist?rows=30&me.artistid~json=%5B1%2C3%5D&page=1", | # | 35| "title" : "TestSchema::Result::Artist" | 88| "title" : "TestSchema::Result::Artist" | # | 36| } | 89| } | # | 37| } | 90| } | # | 38|} | 91|} | # | 39| | 92| | # | 40|=== get specific rows via json qualifier expression | 93|=== get specific rows via json qualifier expression | # | 41|Request: | 94|Request: | # | 42|GET /artist PARAMS: me.artistid~json=>{"<=",2} | 95|GET /artist PARAMS: me.artistid~json=>{"<=",2} | # | 43|GET /artist?me.artistid~json=%7B%22%3C%3D%22%3A2%7D | 96|GET /artist?me.artistid~json=%7B%22%3C%3D%22%3A2%7D | # | 44|Accept: application/hal+json,application/json | 97|Accept: application/hal+json,application/json | # | 45|Response: | 98|Response: | # | 46|200 OK | 99|200 OK | # | 47|Content-type: application/hal+json | 100|Content-type: application/hal+json | # | 48|{ | 101|{ | # | 49| "_embedded" : { | 102| "_embedded" : { | # * 50| "artist" : [] * 103| "artist" : [ * # | | * 104| { * # | | * 105| "_links" : { * # | | * 106| "cds" : { * # | | * 107| "href" : "/cd?me.artist=1" * # | | * 108| }, * # | | * 109| "cds_cref_cond" : { * # | | * 110| "href" : "/cd/1" * # | | * 111| }, * # | | * 112| "self" : { * # | | * 113| "href" : "/artist/1" * # | | * 114| } * # | | * 115| }, * # | | * 116| "artistid" : 1, * # | | * 117| "charfield" : null, * # | | * 118| "name" : "Caterwauler McCrae", * # | | * 119| "rank" : 13 * # | | * 120| }, * # | | * 121| { * # | | * 122| "_links" : { * # | | * 123| "cds" : { * # | | * 124| "href" : "/cd?me.artist=2" * # | | * 125| }, * # | | * 126| "cds_cref_cond" : { * # | | * 127| "href" : "/cd/2" * # | | * 128| }, * # | | * 129| "self" : { * # | | * 130| "href" : "/artist/2" * # | | * 131| } * # | | * 132| }, * # | | * 133| "artistid" : 2, * # | | * 134| "charfield" : null, * # | | * 135| "name" : "Random Boy Band", * # | | * 136| "rank" : 13 * # | | * 137| } * # | | * 138| ] * # | 51| }, | 139| }, | # | 52| "_links" : { | 140| "_links" : { | # | 53| "self" : { | 141| "self" : { | # | 54| "href" : "/artist?rows=30&me.artistid~json=%7B%22%3C%3D%22%3A2%7D&page=1", | 142| "href" : "/artist?rows=30&me.artistid~json=%7B%22%3C%3D%22%3A2%7D&page=1", | # | 55| "title" : "TestSchema::Result::Artist" | 143| "title" : "TestSchema::Result::Artist" | # | 56| } | 144| } | # | 57| } | 145| } | # | 58|} | 146|} | # | 59| | 147| | # | 60|=== get no rows, empty set, due to qualifier that matches none | 148|=== get no rows, empty set, due to qualifier that matches none | # | 61|Request: | 149|Request: | # | 62|GET /artist?me.artistid=999999 | 150|GET /artist?me.artistid=999999 | # | 63|Accept: application/hal+json,application/json | 151|Accept: application/hal+json,application/json | # | 64|Response: | 152|Response: | # | 65|200 OK | 153|200 OK | # | 66|Content-type: application/hal+json | 154|Content-type: application/hal+json | # | 67|{ | 155|{ | # | 68| "_embedded" : { | 156| "_embedded" : { | # | 69| "artist" : [] | 157| "artist" : [] | # | 70| }, | 158| }, | # | 71| "_links" : { | 159| "_links" : { | # | 72| "self" : { | 160| "self" : { | # | 73| "href" : "/artist?rows=30&me.artistid=999999&page=1", | 161| "href" : "/artist?rows=30&me.artistid=999999&page=1", | # | 74| "title" : "TestSchema::Result::Artist" | 162| "title" : "TestSchema::Result::Artist" | # | 75| } | 163| } | # | 76| } | 164| } | # | 77|} | 165|} | # | 78| | 166| | # | 79|' | 167|' | # +---+-------------------------------------------------------------------------------------+----+-------------------------------------------------------------------------------------+ # Looks like you failed 1 test of 2. # Failed test '===== Paging =====' # at t/12-searching-hal.t line 18. # Looks like you failed 2 tests of 2. t/12-searching-hal.t ..... importing fixtures - deleting existing temp directory /tmp/i2LgMo6uX_ - creating temp dir not ok 1 - Fixtures Installed # Subtest: ===== Paging ===== # --- Config: # --- Name: get 1 row from set by qualifying the key # GET /artist?me.artistid=2 # Vary: Accept # Content-Length: 130 # Content-Type: application/hal+json # --- Name: get specific rows via json array # GET /artist?me.artistid~json=%5B1%2C3%5D # Vary: Accept # Content-Length: 145 # Content-Type: application/hal+json # --- Name: get specific rows via json qualifier expression # GET /artist?me.artistid~json=%7B%22%3C%3D%22%3A2%7D # Vary: Accept # Content-Length: 156 # Content-Type: application/hal+json # --- Name: get no rows, empty set, due to qualifier that matches none # GET /artist?me.artistid=999999 # Vary: Accept # Content-Length: 135 # Content-Type: application/hal+json # --- Name: invalid request due to qualifying by non-existant field ok 1 # skip need to add post-processing of the error result not ok 2 - 12-searching-hal.t output in t/12-searching-hal.got matches t/12-searching-hal.exp 1..2 not ok 2 - ===== Paging ===== 1..2 Dubious, test returned 2 (wstat 512, 0x200) Failed 2/2 subtests Class::MOP::load_class is deprecated at /Users/fly1400/var/megalib/Class/MOP.pm line 68. Class::MOP::load_class("TestSchema") called at /Users/fly1400/var/megalib/Test/DBIx/Class/Types.pm line 24 Test::DBIx::Class::Types::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 64 Moose::Meta::TypeCoercion::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 99 Moose::Meta::TypeCoercion::coerce(Moose::Meta::TypeCoercion=HASH(0x100e82670), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeConstraint.pm line 144 Moose::Meta::TypeConstraint::coerce(Moose::Meta::TypeConstraint=HASH(0x100e82bf8), "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 219 MooseX::Types::TypeDecorator::_try_delegate(MooseX::Types::TypeDecorator=HASH(0x100ebe940), "coerce", "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 184 MooseX::Types::TypeDecorator::AUTOLOAD(MooseX::Types::TypeDecorator=HASH(0x100ebe940), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 1249 Moose::Meta::Attribute::_coerce_and_verify(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec9348), "TestSchema", Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100f28f58)) called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 511 Moose::Meta::Attribute::initialize_instance_slot(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec9348), Moose::Meta::Instance=HASH(0x1020ad0b8), Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100f28f58), HASH(0x100f29720)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 525 Class::MOP::Class::_construct_instance(Moose::Meta::Class=HASH(0x1020a1af0), HASH(0x100f29720)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 495 Class::MOP::Class::new_object(Moose::Meta::Class=HASH(0x1020a1af0), HASH(0x100f29720)) called at /Users/fly1400/var/megalib/Moose/Meta/Class.pm line 273 Moose::Meta::Class::new_object(Moose::Meta::Class=HASH(0x1020a1af0), HASH(0x100f29720)) called at /Users/fly1400/var/megalib/Moose/Object.pm line 23 Moose::Object::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100f28af0)) called at constructor Test::DBIx::Class::SchemaManager::new (defined at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 241) line 4 Test::DBIx::Class::SchemaManager::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100f28af0)) called at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 153 Test::DBIx::Class::SchemaManager::initialize_schema("Test::DBIx::Class::SchemaManager", HASH(0x100f28af0)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 646 eval {...} called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 645 Test::DBIx::Class::_initialize_schema("Test::DBIx::Class", HASH(0x100de54a8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 353 Test::DBIx::Class::_initialize("Test::DBIx::Class") called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 36 Test::DBIx::Class::import("Test::DBIx::Class") called at (eval 34) line 2 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 eval 'package main; use Test::DBIx::Class ;' called at /Users/fly1400/var/megalib/ToolSet.pm line 71 ToolSet::import("TestKit") called at t/13-fields-core.t line 5 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 # Failed test 'Fixtures Installed' # at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 156. # {UNKNOWN}: DateTime version 1 required--this is only version 0.73 at /Users/fly1400/var/megalib/DateTime/Format/Builder.pm line 11. # BEGIN failed--compilation aborted at /Users/fly1400/var/megalib/DateTime/Format/Builder.pm line 11. # Compilation failed in require at /Users/fly1400/var/megalib/DateTime/Format/SQLite.pm line 72. # BEGIN failed--compilation aborted at /Users/fly1400/var/megalib/DateTime/Format/SQLite.pm line 72. # Compilation failed in require at /Users/fly1400/var/megalib/Class/C3/Componentised.pm line 150. at /Users/fly1400/var/megalib/Class/C3/Componentised.pm line 155 # Failed test '/artist data looks sane' # at t/13-fields-core.t line 22. # Failed test at t/13-fields-core.t line 27. # status doesn't match, expected HTTP status code '200', got 404 # 404 Not Found # Vary: Accept # Content-Length: 9 # Content-Type: text/plain # # Not Found # Failed test 'data isn't a hash' # at t/13-fields-core.t line 28. # got: '' # expected: 'HASH' # Failed test 'set has less than 2 attributes' # at t/13-fields-core.t line 28. # '0' # >= # '2' # Failed test 'artistid' # at t/13-fields-core.t line 29. # got: undef # expected: '1' Use of uninitialized value in hash element at t/13-fields-core.t line 30. # Failed test 'data matches' # at t/13-fields-core.t line 30. # +----+-----+----------+ # | Elt|Got |Expected | # +----+-----+----------+ # * 0|{} |undef * # +----+-----+----------+ # Failed test at t/13-fields-core.t line 34. # status doesn't match, expected HTTP status code '200', got 404 # 404 Not Found # Vary: Accept # Content-Length: 9 # Content-Type: text/plain # # Not Found # Failed test 'data isn't a hash' # at t/13-fields-core.t line 35. # got: '' # expected: 'HASH' # Failed test 'set has less than 2 attributes' # at t/13-fields-core.t line 35. # '0' # >= # '2' # Failed test 'artistid' # at t/13-fields-core.t line 36. # got: undef # expected: '2' # Failed test 'has rank field' # at t/13-fields-core.t line 37. # Looks like you failed 11 tests of 14. # Failed test '===== Get with fields param =====' # at t/13-fields-core.t line 39. # Looks like you failed 2 tests of 2. t/13-fields-core.t ....... importing fixtures - deleting existing temp directory /tmp/Of_Zao_2Ot - creating temp dir not ok 1 - Fixtures Installed # Subtest: ===== Get with fields param ===== # GET /artist?fields=artistid,name ok 1 ok 2 - response is a ref not ok 3 - /artist data looks sane ok 4 - rank fields not preset # GET /artist/1?fields=artistid,name not ok 5 not ok 6 - data isn't a hash not ok 7 - set has less than 2 attributes not ok 8 - artistid not ok 9 - data matches # GET /artist/2?fields=artistid,rank not ok 10 not ok 11 - data isn't a hash not ok 12 - set has less than 2 attributes not ok 13 - artistid not ok 14 - has rank field 1..14 not ok 2 - ===== Get with fields param ===== 1..2 Dubious, test returned 2 (wstat 512, 0x200) Failed 2/2 subtests Class::MOP::load_class is deprecated at /Users/fly1400/var/megalib/Class/MOP.pm line 68. Class::MOP::load_class("TestSchema") called at /Users/fly1400/var/megalib/Test/DBIx/Class/Types.pm line 24 Test::DBIx::Class::Types::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 64 Moose::Meta::TypeCoercion::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 99 Moose::Meta::TypeCoercion::coerce(Moose::Meta::TypeCoercion=HASH(0x100e82670), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeConstraint.pm line 144 Moose::Meta::TypeConstraint::coerce(Moose::Meta::TypeConstraint=HASH(0x100e82bf8), "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 219 MooseX::Types::TypeDecorator::_try_delegate(MooseX::Types::TypeDecorator=HASH(0x100ebe940), "coerce", "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 184 MooseX::Types::TypeDecorator::AUTOLOAD(MooseX::Types::TypeDecorator=HASH(0x100ebe940), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 1249 Moose::Meta::Attribute::_coerce_and_verify(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec9348), "TestSchema", Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100f28f58)) called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 511 Moose::Meta::Attribute::initialize_instance_slot(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec9348), Moose::Meta::Instance=HASH(0x1020ad0b8), Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100f28f58), HASH(0x100f29720)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 525 Class::MOP::Class::_construct_instance(Moose::Meta::Class=HASH(0x1020a1af0), HASH(0x100f29720)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 495 Class::MOP::Class::new_object(Moose::Meta::Class=HASH(0x1020a1af0), HASH(0x100f29720)) called at /Users/fly1400/var/megalib/Moose/Meta/Class.pm line 273 Moose::Meta::Class::new_object(Moose::Meta::Class=HASH(0x1020a1af0), HASH(0x100f29720)) called at /Users/fly1400/var/megalib/Moose/Object.pm line 23 Moose::Object::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100f28af0)) called at constructor Test::DBIx::Class::SchemaManager::new (defined at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 241) line 4 Test::DBIx::Class::SchemaManager::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100f28af0)) called at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 153 Test::DBIx::Class::SchemaManager::initialize_schema("Test::DBIx::Class::SchemaManager", HASH(0x100f28af0)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 646 eval {...} called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 645 Test::DBIx::Class::_initialize_schema("Test::DBIx::Class", HASH(0x100de54a8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 353 Test::DBIx::Class::_initialize("Test::DBIx::Class") called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 36 Test::DBIx::Class::import("Test::DBIx::Class") called at (eval 34) line 2 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 eval 'package main; use Test::DBIx::Class ;' called at /Users/fly1400/var/megalib/ToolSet.pm line 71 ToolSet::import("TestKit") called at t/13-fields-hal.t line 5 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 # Failed test 'Fixtures Installed' # at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 156. # {UNKNOWN}: DateTime version 1 required--this is only version 0.73 at /Users/fly1400/var/megalib/DateTime/Format/Builder.pm line 11. # BEGIN failed--compilation aborted at /Users/fly1400/var/megalib/DateTime/Format/Builder.pm line 11. # Compilation failed in require at /Users/fly1400/var/megalib/DateTime/Format/SQLite.pm line 72. # BEGIN failed--compilation aborted at /Users/fly1400/var/megalib/DateTime/Format/SQLite.pm line 72. # Compilation failed in require at /Users/fly1400/var/megalib/Class/C3/Componentised.pm line 150. at /Users/fly1400/var/megalib/Class/C3/Componentised.pm line 155 # Failed test 'set has at least 2 items' # at t/13-fields-hal.t line 21. # '0' # >= # '2' # Failed test '/artist includes 1' # at t/13-fields-hal.t line 24. # got: '' # expected: 'HASH' # Failed test '/artist includes 2' # at t/13-fields-hal.t line 24. # got: '' # expected: 'HASH' # Failed test '/artist includes 3' # at t/13-fields-hal.t line 24. # got: '' # expected: 'HASH' # Failed test '/artist data looks sane' # at t/13-fields-hal.t line 25. # Failed test at t/13-fields-hal.t line 30. # status doesn't match, expected HTTP status code '200', got 404 # 404 Not Found # Vary: Accept # Content-Length: 9 # Content-Type: text/plain # # Not Found # Failed test 'data isn't a hash' # at t/13-fields-hal.t line 31. # got: '' # expected: 'HASH' # Failed test 'set has less than 2 attributes' # at t/13-fields-hal.t line 31. # '0' # >= # '2' # Failed test 'artistid' # at t/13-fields-hal.t line 32. # got: undef # expected: '1' Use of uninitialized value in hash element at t/13-fields-hal.t line 33. # Failed test 'data matches' # at t/13-fields-hal.t line 33. # +----+-----+----------+ # | Elt|Got |Expected | # +----+-----+----------+ # * 0|{} |undef * # +----+-----+----------+ # Failed test at t/13-fields-hal.t line 37. # status doesn't match, expected HTTP status code '200', got 404 # 404 Not Found # Vary: Accept # Content-Length: 9 # Content-Type: text/plain # # Not Found # Failed test 'data isn't a hash' # at t/13-fields-hal.t line 38. # got: '' # expected: 'HASH' # Failed test 'set has less than 2 attributes' # at t/13-fields-hal.t line 38. # '0' # >= # '2' # Failed test 'artistid' # at t/13-fields-hal.t line 39. # got: undef # expected: '2' # Failed test 'has rank field' # at t/13-fields-hal.t line 40. # Looks like you failed 15 tests of 21. # Failed test '===== Get with fields param =====' # at t/13-fields-hal.t line 42. # Looks like you failed 2 tests of 2. t/13-fields-hal.t ........ importing fixtures - deleting existing temp directory /tmp/bDRQhkbNGJ - creating temp dir not ok 1 - Fixtures Installed # 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 not ok 6 - set has at least 2 items not ok 7 - /artist includes 1 not ok 8 - /artist includes 2 not ok 9 - /artist includes 3 not ok 10 - /artist data looks sane ok 11 - rank fields not preset # GET /artist/1?fields=artistid,name not ok 12 not ok 13 - data isn't a hash not ok 14 - set has less than 2 attributes not ok 15 - artistid not ok 16 - data matches # GET /artist/2?fields=artistid,rank not ok 17 not ok 18 - data isn't a hash not ok 19 - set has less than 2 attributes not ok 20 - artistid not ok 21 - has rank field 1..21 not ok 2 - ===== Get with fields param ===== 1..2 Dubious, test returned 2 (wstat 512, 0x200) Failed 2/2 subtests Class::MOP::load_class is deprecated at /Users/fly1400/var/megalib/Class/MOP.pm line 68. Class::MOP::load_class("TestSchema") called at /Users/fly1400/var/megalib/Test/DBIx/Class/Types.pm line 24 Test::DBIx::Class::Types::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 64 Moose::Meta::TypeCoercion::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 99 Moose::Meta::TypeCoercion::coerce(Moose::Meta::TypeCoercion=HASH(0x100e82070), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeConstraint.pm line 144 Moose::Meta::TypeConstraint::coerce(Moose::Meta::TypeConstraint=HASH(0x100e825f8), "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 219 MooseX::Types::TypeDecorator::_try_delegate(MooseX::Types::TypeDecorator=HASH(0x100ebe340), "coerce", "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 184 MooseX::Types::TypeDecorator::AUTOLOAD(MooseX::Types::TypeDecorator=HASH(0x100ebe340), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 1249 Moose::Meta::Attribute::_coerce_and_verify(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec8d48), "TestSchema", Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100a6a958)) called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 511 Moose::Meta::Attribute::initialize_instance_slot(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec8d48), Moose::Meta::Instance=HASH(0x1020aeeb8), Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100a6a958), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 525 Class::MOP::Class::_construct_instance(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 495 Class::MOP::Class::new_object(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Moose/Meta/Class.pm line 273 Moose::Meta::Class::new_object(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Moose/Object.pm line 23 Moose::Object::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100a6a6b8)) called at constructor Test::DBIx::Class::SchemaManager::new (defined at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 241) line 4 Test::DBIx::Class::SchemaManager::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100a6a6b8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 153 Test::DBIx::Class::SchemaManager::initialize_schema("Test::DBIx::Class::SchemaManager", HASH(0x100a6a6b8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 646 eval {...} called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 645 Test::DBIx::Class::_initialize_schema("Test::DBIx::Class", HASH(0x100de4ea8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 353 Test::DBIx::Class::_initialize("Test::DBIx::Class") called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 36 Test::DBIx::Class::import("Test::DBIx::Class") called at (eval 34) line 2 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 eval 'package main; use Test::DBIx::Class ;' called at /Users/fly1400/var/megalib/ToolSet.pm line 71 ToolSet::import("TestKit") called at t/14-distinct-core.t line 5 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 # Failed test 'Fixtures Installed' # at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 156. # {UNKNOWN}: DateTime version 1 required--this is only version 0.73 at /Users/fly1400/var/megalib/DateTime/Format/Builder.pm line 11. # BEGIN failed--compilation aborted at /Users/fly1400/var/megalib/DateTime/Format/Builder.pm line 11. # Compilation failed in require at /Users/fly1400/var/megalib/DateTime/Format/SQLite.pm line 72. # BEGIN failed--compilation aborted at /Users/fly1400/var/megalib/DateTime/Format/SQLite.pm line 72. # Compilation failed in require at /Users/fly1400/var/megalib/Class/C3/Componentised.pm line 150. at /Users/fly1400/var/megalib/Class/C3/Componentised.pm line 155 # Failed test at t/14-distinct-core.t line 20. # Compared array length of $data # got : array with 0 element(s) # expect : array with 4 element(s) # Looks like you failed 1 test of 3. # Failed test '===== GET distinct =====' # at t/14-distinct-core.t line 23. # Looks like you failed 2 tests of 2. t/14-distinct-core.t ..... importing fixtures - deleting existing temp directory /tmp/2Ca_UkBiVp - creating temp dir not ok 1 - Fixtures Installed # Subtest: ===== GET distinct ===== # GET /cd?fields=year&order=year&distinct=1 ok 1 ok 2 - response is a ref not ok 3 1..3 not ok 2 - ===== GET distinct ===== 1..2 Dubious, test returned 2 (wstat 512, 0x200) Failed 2/2 subtests Class::MOP::load_class is deprecated at /Users/fly1400/var/megalib/Class/MOP.pm line 68. Class::MOP::load_class("TestSchema") called at /Users/fly1400/var/megalib/Test/DBIx/Class/Types.pm line 24 Test::DBIx::Class::Types::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 64 Moose::Meta::TypeCoercion::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 99 Moose::Meta::TypeCoercion::coerce(Moose::Meta::TypeCoercion=HASH(0x100e82070), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeConstraint.pm line 144 Moose::Meta::TypeConstraint::coerce(Moose::Meta::TypeConstraint=HASH(0x100e825f8), "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 219 MooseX::Types::TypeDecorator::_try_delegate(MooseX::Types::TypeDecorator=HASH(0x100ebe340), "coerce", "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 184 MooseX::Types::TypeDecorator::AUTOLOAD(MooseX::Types::TypeDecorator=HASH(0x100ebe340), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 1249 Moose::Meta::Attribute::_coerce_and_verify(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec8d48), "TestSchema", Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100a6a958)) called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 511 Moose::Meta::Attribute::initialize_instance_slot(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec8d48), Moose::Meta::Instance=HASH(0x1020aeeb8), Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100a6a958), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 525 Class::MOP::Class::_construct_instance(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 495 Class::MOP::Class::new_object(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Moose/Meta/Class.pm line 273 Moose::Meta::Class::new_object(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Moose/Object.pm line 23 Moose::Object::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100a6a6b8)) called at constructor Test::DBIx::Class::SchemaManager::new (defined at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 241) line 4 Test::DBIx::Class::SchemaManager::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100a6a6b8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 153 Test::DBIx::Class::SchemaManager::initialize_schema("Test::DBIx::Class::SchemaManager", HASH(0x100a6a6b8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 646 eval {...} called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 645 Test::DBIx::Class::_initialize_schema("Test::DBIx::Class", HASH(0x100de4ea8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 353 Test::DBIx::Class::_initialize("Test::DBIx::Class") called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 36 Test::DBIx::Class::import("Test::DBIx::Class") called at (eval 34) line 2 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 eval 'package main; use Test::DBIx::Class ;' called at /Users/fly1400/var/megalib/ToolSet.pm line 71 ToolSet::import("TestKit") called at t/14-distinct-hal.t line 5 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 # Failed test 'Fixtures Installed' # at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 156. # {UNKNOWN}: DateTime version 1 required--this is only version 0.73 at /Users/fly1400/var/megalib/DateTime/Format/Builder.pm line 11. # BEGIN failed--compilation aborted at /Users/fly1400/var/megalib/DateTime/Format/Builder.pm line 11. # Compilation failed in require at /Users/fly1400/var/megalib/DateTime/Format/SQLite.pm line 72. # BEGIN failed--compilation aborted at /Users/fly1400/var/megalib/DateTime/Format/SQLite.pm line 72. # Compilation failed in require at /Users/fly1400/var/megalib/Class/C3/Componentised.pm line 150. at /Users/fly1400/var/megalib/Class/C3/Componentised.pm line 155 # Failed test 'set has at least 4 items' # at t/14-distinct-hal.t line 20. # '0' # >= # '4' # Failed test at t/14-distinct-hal.t line 21. # Compared array length of $data # got : array with 0 element(s) # expect : array with 4 element(s) # Looks like you failed 2 tests of 8. # Failed test '===== GET distinct =====' # at t/14-distinct-hal.t line 24. # Looks like you failed 2 tests of 2. t/14-distinct-hal.t ...... importing fixtures - deleting existing temp directory /tmp/7uoRN6qPZh - creating temp dir not ok 1 - Fixtures Installed # 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 not ok 6 - set has at least 4 items ok 7 - set has at most 4 items not ok 8 1..8 not ok 2 - ===== GET distinct ===== 1..2 Dubious, test returned 2 (wstat 512, 0x200) Failed 2/2 subtests Class::MOP::load_class is deprecated at /Users/fly1400/var/megalib/Class/MOP.pm line 68. Class::MOP::load_class("TestSchema") called at /Users/fly1400/var/megalib/Test/DBIx/Class/Types.pm line 24 Test::DBIx::Class::Types::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 64 Moose::Meta::TypeCoercion::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 99 Moose::Meta::TypeCoercion::coerce(Moose::Meta::TypeCoercion=HASH(0x100e82070), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeConstraint.pm line 144 Moose::Meta::TypeConstraint::coerce(Moose::Meta::TypeConstraint=HASH(0x100e825f8), "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 219 MooseX::Types::TypeDecorator::_try_delegate(MooseX::Types::TypeDecorator=HASH(0x100ebe340), "coerce", "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 184 MooseX::Types::TypeDecorator::AUTOLOAD(MooseX::Types::TypeDecorator=HASH(0x100ebe340), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 1249 Moose::Meta::Attribute::_coerce_and_verify(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec8d48), "TestSchema", Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100a6a958)) called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 511 Moose::Meta::Attribute::initialize_instance_slot(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec8d48), Moose::Meta::Instance=HASH(0x1020aeeb8), Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100a6a958), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 525 Class::MOP::Class::_construct_instance(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 495 Class::MOP::Class::new_object(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Moose/Meta/Class.pm line 273 Moose::Meta::Class::new_object(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Moose/Object.pm line 23 Moose::Object::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100a6a6b8)) called at constructor Test::DBIx::Class::SchemaManager::new (defined at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 241) line 4 Test::DBIx::Class::SchemaManager::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100a6a6b8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 153 Test::DBIx::Class::SchemaManager::initialize_schema("Test::DBIx::Class::SchemaManager", HASH(0x100a6a6b8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 646 eval {...} called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 645 Test::DBIx::Class::_initialize_schema("Test::DBIx::Class", HASH(0x100de4ea8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 353 Test::DBIx::Class::_initialize("Test::DBIx::Class") called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 36 Test::DBIx::Class::import("Test::DBIx::Class") called at (eval 34) line 2 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 eval 'package main; use Test::DBIx::Class ;' called at /Users/fly1400/var/megalib/ToolSet.pm line 71 ToolSet::import("TestKit") called at t/30-ordering-core.t line 5 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 # Failed test 'Fixtures Installed' # at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 156. # {UNKNOWN}: DateTime version 1 required--this is only version 0.73 at /Users/fly1400/var/megalib/DateTime/Format/Builder.pm line 11. # BEGIN failed--compilation aborted at /Users/fly1400/var/megalib/DateTime/Format/Builder.pm line 11. # Compilation failed in require at /Users/fly1400/var/megalib/DateTime/Format/SQLite.pm line 72. # BEGIN failed--compilation aborted at /Users/fly1400/var/megalib/DateTime/Format/SQLite.pm line 72. # Compilation failed in require at /Users/fly1400/var/megalib/Class/C3/Componentised.pm line 150. at /Users/fly1400/var/megalib/Class/C3/Componentised.pm line 155 # Failed test '30-ordering-core.t output in t/30-ordering-core.got matches t/30-ordering-core.exp' # at t/lib/TestDS.pm line 67. # +---+-----------------------------------------------------------------+----+-----------------------------------------------------------------+ # | Ln|Got | Ln|Expected | # +---+-----------------------------------------------------------------+----+-----------------------------------------------------------------+ # | 1|'=== order by PK asc | 1|'=== order by PK asc | # | 2|Request: | 2|Request: | # | 3|GET /cd?order=me.cdid | 3|GET /cd?order=me.cdid | # | 4|Response: | 4|Response: | # | 5|200 OK | 5|200 OK | # | 6|Content-type: application/json | 6|Content-type: application/json | # * 7|[] * 7|[ * # | | * 8| { * # | | * 9| "artist" : 1, * # | | * 10| "cdid" : 1, * # | | * 11| "genreid" : 1, * # | | * 12| "single_track" : null, * # | | * 13| "title" : "Spoonful of bees", * # | | * 14| "year" : "1999" * # | | * 15| }, * # | | * 16| { * # | | * 17| "artist" : 1, * # | | * 18| "cdid" : 2, * # | | * 19| "genreid" : 2, * # | | * 20| "single_track" : null, * # | | * 21| "title" : "Forkful of bees", * # | | * 22| "year" : "2001" * # | | * 23| }, * # | | * 24| { * # | | * 25| "artist" : 1, * # | | * 26| "cdid" : 3, * # | | * 27| "genreid" : 2, * # | | * 28| "single_track" : null, * # | | * 29| "title" : "Caterwaulin\' Blues", * # | | * 30| "year" : "1997" * # | | * 31| }, * # | | * 32| { * # | | * 33| "artist" : 2, * # | | * 34| "cdid" : 4, * # | | * 35| "genreid" : 3, * # | | * 36| "single_track" : null, * # | | * 37| "title" : "Generic Manufactured Singles", * # | | * 38| "year" : "2001" * # | | * 39| }, * # | | * 40| { * # | | * 41| "artist" : 3, * # | | * 42| "cdid" : 5, * # | | * 43| "genreid" : 4, * # | | * 44| "single_track" : null, * # | | * 45| "title" : "Come Be Depressed With Us", * # | | * 46| "year" : "1998" * # | | * 47| } * # | | * 48|] * # | 8| | 49| | # | 9|=== order by PK desc | 50|=== order by PK desc | # | 10|Request: | 51|Request: | # | 11|GET /cd?order=me.cdid%20desc&fields=cdid,year | 52|GET /cd?order=me.cdid%20desc&fields=cdid,year | # | 12|Response: | 53|Response: | # | 13|200 OK | 54|200 OK | # | 14|Content-type: application/json | 55|Content-type: application/json | # * 15|[] * 56|[ * # | | * 57| { * # | | * 58| "cdid" : 5, * # | | * 59| "year" : "1998" * # | | * 60| }, * # | | * 61| { * # | | * 62| "cdid" : 4, * # | | * 63| "year" : "2001" * # | | * 64| }, * # | | * 65| { * # | | * 66| "cdid" : 3, * # | | * 67| "year" : "1997" * # | | * 68| }, * # | | * 69| { * # | | * 70| "cdid" : 2, * # | | * 71| "year" : "2001" * # | | * 72| }, * # | | * 73| { * # | | * 74| "cdid" : 1, * # | | * 75| "year" : "1999" * # | | * 76| } * # | | * 77|] * # | 16| | 78| | # | 17|=== order by year desc and title desc | 79|=== order by year desc and title desc | # | 18|Request: | 80|Request: | # | 19|GET /cd?sort=me.year%20desc,title%20desc&fields=cdid,year,title | 81|GET /cd?sort=me.year%20desc,title%20desc&fields=cdid,year,title | # | 20|Response: | 82|Response: | # | 21|200 OK | 83|200 OK | # | 22|Content-type: application/json | 84|Content-type: application/json | # * 23|[] * 85|[ * # | | * 86| { * # | | * 87| "cdid" : 4, * # | | * 88| "title" : "Generic Manufactured Singles", * # | | * 89| "year" : "2001" * # | | * 90| }, * # | | * 91| { * # | | * 92| "cdid" : 2, * # | | * 93| "title" : "Forkful of bees", * # | | * 94| "year" : "2001" * # | | * 95| }, * # | | * 96| { * # | | * 97| "cdid" : 1, * # | | * 98| "title" : "Spoonful of bees", * # | | * 99| "year" : "1999" * # | | * 100| }, * # | | * 101| { * # | | * 102| "cdid" : 5, * # | | * 103| "title" : "Come Be Depressed With Us", * # | | * 104| "year" : "1998" * # | | * 105| }, * # | | * 106| { * # | | * 107| "cdid" : 3, * # | | * 108| "title" : "Caterwaulin\' Blues", * # | | * 109| "year" : "1997" * # | | * 110| } * # | | * 111|] * # | 24| | 112| | # | 25|=== order by year desc and title desc using JSON API style | 113|=== order by year desc and title desc using JSON API style | # | 26|Request: | 114|Request: | # | 27|GET /cd?sort=-year,-title&fields=cdid,year,title | 115|GET /cd?sort=-year,-title&fields=cdid,year,title | # | 28|Response: | 116|Response: | # | 29|200 OK | 117|200 OK | # | 30|Content-type: application/json | 118|Content-type: application/json | # * 31|[] * 119|[ * # | | * 120| { * # | | * 121| "cdid" : 4, * # | | * 122| "title" : "Generic Manufactured Singles", * # | | * 123| "year" : "2001" * # | | * 124| }, * # | | * 125| { * # | | * 126| "cdid" : 2, * # | | * 127| "title" : "Forkful of bees", * # | | * 128| "year" : "2001" * # | | * 129| }, * # | | * 130| { * # | | * 131| "cdid" : 1, * # | | * 132| "title" : "Spoonful of bees", * # | | * 133| "year" : "1999" * # | | * 134| }, * # | | * 135| { * # | | * 136| "cdid" : 5, * # | | * 137| "title" : "Come Be Depressed With Us", * # | | * 138| "year" : "1998" * # | | * 139| }, * # | | * 140| { * # | | * 141| "cdid" : 3, * # | | * 142| "title" : "Caterwaulin\' Blues", * # | | * 143| "year" : "1997" * # | | * 144| } * # | | * 145|] * # | 32| | 146| | # | 33|' | 147|' | # +---+-----------------------------------------------------------------+----+-----------------------------------------------------------------+ # Looks like you failed 1 test of 1. # Failed test '===== Ordering =====' # at t/30-ordering-core.t line 20. # Looks like you failed 2 tests of 2. t/30-ordering-core.t ..... importing fixtures - deleting existing temp directory /tmp/cciFBtZqv3 - creating temp dir not ok 1 - Fixtures Installed # Subtest: ===== Ordering ===== # --- Config: # --- Name: order by PK asc # GET /cd?order=me.cdid # Vary: Accept # Content-Length: 2 # Content-Type: application/json # --- Name: order by PK desc # GET /cd?order=me.cdid%20desc&fields=cdid,year # Vary: Accept # Content-Length: 2 # Content-Type: application/json # --- Name: order by year desc and title desc # GET /cd?sort=me.year%20desc,title%20desc&fields=cdid,year,title # Vary: Accept # Content-Length: 2 # Content-Type: application/json # --- Name: order by year desc and title desc using JSON API style # GET /cd?sort=-year,-title&fields=cdid,year,title # Vary: Accept # Content-Length: 2 # Content-Type: application/json not ok 1 - 30-ordering-core.t output in t/30-ordering-core.got matches t/30-ordering-core.exp 1..1 not ok 2 - ===== Ordering ===== 1..2 Dubious, test returned 2 (wstat 512, 0x200) Failed 2/2 subtests Class::MOP::load_class is deprecated at /Users/fly1400/var/megalib/Class/MOP.pm line 68. Class::MOP::load_class("TestSchema") called at /Users/fly1400/var/megalib/Test/DBIx/Class/Types.pm line 24 Test::DBIx::Class::Types::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 64 Moose::Meta::TypeCoercion::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 99 Moose::Meta::TypeCoercion::coerce(Moose::Meta::TypeCoercion=HASH(0x100e82070), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeConstraint.pm line 144 Moose::Meta::TypeConstraint::coerce(Moose::Meta::TypeConstraint=HASH(0x100e825f8), "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 219 MooseX::Types::TypeDecorator::_try_delegate(MooseX::Types::TypeDecorator=HASH(0x100ebe340), "coerce", "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 184 MooseX::Types::TypeDecorator::AUTOLOAD(MooseX::Types::TypeDecorator=HASH(0x100ebe340), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 1249 Moose::Meta::Attribute::_coerce_and_verify(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec8d48), "TestSchema", Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100a6a958)) called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 511 Moose::Meta::Attribute::initialize_instance_slot(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec8d48), Moose::Meta::Instance=HASH(0x1020aeeb8), Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100a6a958), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 525 Class::MOP::Class::_construct_instance(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 495 Class::MOP::Class::new_object(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Moose/Meta/Class.pm line 273 Moose::Meta::Class::new_object(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Moose/Object.pm line 23 Moose::Object::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100a6a6b8)) called at constructor Test::DBIx::Class::SchemaManager::new (defined at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 241) line 4 Test::DBIx::Class::SchemaManager::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100a6a6b8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 153 Test::DBIx::Class::SchemaManager::initialize_schema("Test::DBIx::Class::SchemaManager", HASH(0x100a6a6b8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 646 eval {...} called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 645 Test::DBIx::Class::_initialize_schema("Test::DBIx::Class", HASH(0x100de4ea8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 353 Test::DBIx::Class::_initialize("Test::DBIx::Class") called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 36 Test::DBIx::Class::import("Test::DBIx::Class") called at (eval 34) line 2 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 eval 'package main; use Test::DBIx::Class ;' called at /Users/fly1400/var/megalib/ToolSet.pm line 71 ToolSet::import("TestKit") called at t/30-ordering-hal.t line 4 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 # Failed test 'Fixtures Installed' # at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 156. # {UNKNOWN}: DateTime version 1 required--this is only version 0.73 at /Users/fly1400/var/megalib/DateTime/Format/Builder.pm line 11. # BEGIN failed--compilation aborted at /Users/fly1400/var/megalib/DateTime/Format/Builder.pm line 11. # Compilation failed in require at /Users/fly1400/var/megalib/DateTime/Format/SQLite.pm line 72. # BEGIN failed--compilation aborted at /Users/fly1400/var/megalib/DateTime/Format/SQLite.pm line 72. # Compilation failed in require at /Users/fly1400/var/megalib/Class/C3/Componentised.pm line 150. at /Users/fly1400/var/megalib/Class/C3/Componentised.pm line 155 # Failed test '30-ordering-hal.t output in t/30-ordering-hal.got matches t/30-ordering-hal.exp' # at t/lib/TestDS.pm line 67. # +---+---------------------------------------------------------------------------+----+---------------------------------------------------------------------------+ # | Ln|Got | Ln|Expected | # +---+---------------------------------------------------------------------------+----+---------------------------------------------------------------------------+ # | 1|'=== order by PK asc | 1|'=== order by PK asc | # | 2|Request: | 2|Request: | # | 3|GET /cd?order=me.cdid | 3|GET /cd?order=me.cdid | # | 4|Accept: application/hal+json,application/json | 4|Accept: application/hal+json,application/json | # | 5|Response: | 5|Response: | # | 6|200 OK | 6|200 OK | # | 7|Content-type: application/hal+json | 7|Content-type: application/hal+json | # | 8|{ | 8|{ | # | 9| "_embedded" : { | 9| "_embedded" : { | # * 10| "cd" : [] * 10| "cd" : [ * # | | * 11| { * # | | * 12| "_links" : { * # | | * 13| "artist" : { * # | | * 14| "href" : "/artist/1" * # | | * 15| }, * # | | * 16| "cd_to_producer" : { * # | | * 17| "href" : "/cd_to_producer?me.cd=1" * # | | * 18| }, * # | | * 19| "genre" : { * # | | * 20| "href" : "/genre/1" * # | | * 21| }, * # | | * 22| "self" : { * # | | * 23| "href" : "/cd/1" * # | | * 24| }, * # | | * 25| "tracks" : { * # | | * 26| "href" : "/track?me.cd=1" * # | | * 27| } * # | | * 28| }, * # | | * 29| "artist" : 1, * # | | * 30| "cdid" : 1, * # | | * 31| "genreid" : 1, * # | | * 32| "single_track" : null, * # | | * 33| "title" : "Spoonful of bees", * # | | * 34| "year" : "1999" * # | | * 35| }, * # | | * 36| { * # | | * 37| "_links" : { * # | | * 38| "artist" : { * # | | * 39| "href" : "/artist/1" * # | | * 40| }, * # | | * 41| "cd_to_producer" : { * # | | * 42| "href" : "/cd_to_producer?me.cd=2" * # | | * 43| }, * # | | * 44| "genre" : { * # | | * 45| "href" : "/genre/2" * # | | * 46| }, * # | | * 47| "self" : { * # | | * 48| "href" : "/cd/2" * # | | * 49| }, * # | | * 50| "tracks" : { * # | | * 51| "href" : "/track?me.cd=2" * # | | * 52| } * # | | * 53| }, * # | | * 54| "artist" : 1, * # | | * 55| "cdid" : 2, * # | | * 56| "genreid" : 2, * # | | * 57| "single_track" : null, * # | | * 58| "title" : "Forkful of bees", * # | | * 59| "year" : "2001" * # | | * 60| }, * # | | * 61| { * # | | * 62| "_links" : { * # | | * 63| "artist" : { * # | | * 64| "href" : "/artist/1" * # | | * 65| }, * # | | * 66| "cd_to_producer" : { * # | | * 67| "href" : "/cd_to_producer?me.cd=3" * # | | * 68| }, * # | | * 69| "genre" : { * # | | * 70| "href" : "/genre/2" * # | | * 71| }, * # | | * 72| "self" : { * # | | * 73| "href" : "/cd/3" * # | | * 74| }, * # | | * 75| "tracks" : { * # | | * 76| "href" : "/track?me.cd=3" * # | | * 77| } * # | | * 78| }, * # | | * 79| "artist" : 1, * # | | * 80| "cdid" : 3, * # | | * 81| "genreid" : 2, * # | | * 82| "single_track" : null, * # | | * 83| "title" : "Caterwaulin\' Blues", * # | | * 84| "year" : "1997" * # | | * 85| }, * # | | * 86| { * # | | * 87| "_links" : { * # | | * 88| "artist" : { * # | | * 89| "href" : "/artist/2" * # | | * 90| }, * # | | * 91| "cd_to_producer" : { * # | | * 92| "href" : "/cd_to_producer?me.cd=4" * # | | * 93| }, * # | | * 94| "genre" : { * # | | * 95| "href" : "/genre/3" * # | | * 96| }, * # | | * 97| "self" : { * # | | * 98| "href" : "/cd/4" * # | | * 99| }, * # | | * 100| "tracks" : { * # | | * 101| "href" : "/track?me.cd=4" * # | | * 102| } * # | | * 103| }, * # | | * 104| "artist" : 2, * # | | * 105| "cdid" : 4, * # | | * 106| "genreid" : 3, * # | | * 107| "single_track" : null, * # | | * 108| "title" : "Generic Manufactured Singles", * # | | * 109| "year" : "2001" * # | | * 110| }, * # | | * 111| { * # | | * 112| "_links" : { * # | | * 113| "artist" : { * # | | * 114| "href" : "/artist/3" * # | | * 115| }, * # | | * 116| "cd_to_producer" : { * # | | * 117| "href" : "/cd_to_producer?me.cd=5" * # | | * 118| }, * # | | * 119| "genre" : { * # | | * 120| "href" : "/genre/4" * # | | * 121| }, * # | | * 122| "self" : { * # | | * 123| "href" : "/cd/5" * # | | * 124| }, * # | | * 125| "tracks" : { * # | | * 126| "href" : "/track?me.cd=5" * # | | * 127| } * # | | * 128| }, * # | | * 129| "artist" : 3, * # | | * 130| "cdid" : 5, * # | | * 131| "genreid" : 4, * # | | * 132| "single_track" : null, * # | | * 133| "title" : "Come Be Depressed With Us", * # | | * 134| "year" : "1998" * # | | * 135| } * # | | * 136| ] * # | 11| }, | 137| }, | # | 12| "_links" : { | 138| "_links" : { | # | 13| "self" : { | 139| "self" : { | # | 14| "href" : "/cd?rows=30&page=1", | 140| "href" : "/cd?rows=30&page=1", | # | 15| "title" : "TestSchema::Result::CD" | 141| "title" : "TestSchema::Result::CD" | # | 16| } | 142| } | # | 17| } | 143| } | # | 18|} | 144|} | # | 19| | 145| | # | 20|=== order by PK desc | 146|=== order by PK desc | # | 21|Request: | 147|Request: | # | 22|GET /cd?order=me.cdid%20desc | 148|GET /cd?order=me.cdid%20desc | # | 23|Accept: application/hal+json,application/json | 149|Accept: application/hal+json,application/json | # | 24|Response: | 150|Response: | # | 25|200 OK | 151|200 OK | # | 26|Content-type: application/hal+json | 152|Content-type: application/hal+json | # | 27|{ | 153|{ | # | 28| "_embedded" : { | 154| "_embedded" : { | # * 29| "cd" : [] * 155| "cd" : [ * # | | * 156| { * # | | * 157| "_links" : { * # | | * 158| "artist" : { * # | | * 159| "href" : "/artist/3" * # | | * 160| }, * # | | * 161| "cd_to_producer" : { * # | | * 162| "href" : "/cd_to_producer?me.cd=5" * # | | * 163| }, * # | | * 164| "genre" : { * # | | * 165| "href" : "/genre/4" * # | | * 166| }, * # | | * 167| "self" : { * # | | * 168| "href" : "/cd/5" * # | | * 169| }, * # | | * 170| "tracks" : { * # | | * 171| "href" : "/track?me.cd=5" * # | | * 172| } * # | | * 173| }, * # | | * 174| "artist" : 3, * # | | * 175| "cdid" : 5, * # | | * 176| "genreid" : 4, * # | | * 177| "single_track" : null, * # | | * 178| "title" : "Come Be Depressed With Us", * # | | * 179| "year" : "1998" * # | | * 180| }, * # | | * 181| { * # | | * 182| "_links" : { * # | | * 183| "artist" : { * # | | * 184| "href" : "/artist/2" * # | | * 185| }, * # | | * 186| "cd_to_producer" : { * # | | * 187| "href" : "/cd_to_producer?me.cd=4" * # | | * 188| }, * # | | * 189| "genre" : { * # | | * 190| "href" : "/genre/3" * # | | * 191| }, * # | | * 192| "self" : { * # | | * 193| "href" : "/cd/4" * # | | * 194| }, * # | | * 195| "tracks" : { * # | | * 196| "href" : "/track?me.cd=4" * # | | * 197| } * # | | * 198| }, * # | | * 199| "artist" : 2, * # | | * 200| "cdid" : 4, * # | | * 201| "genreid" : 3, * # | | * 202| "single_track" : null, * # | | * 203| "title" : "Generic Manufactured Singles", * # | | * 204| "year" : "2001" * # | | * 205| }, * # | | * 206| { * # | | * 207| "_links" : { * # | | * 208| "artist" : { * # | | * 209| "href" : "/artist/1" * # | | * 210| }, * # | | * 211| "cd_to_producer" : { * # | | * 212| "href" : "/cd_to_producer?me.cd=3" * # | | * 213| }, * # | | * 214| "genre" : { * # | | * 215| "href" : "/genre/2" * # | | * 216| }, * # | | * 217| "self" : { * # | | * 218| "href" : "/cd/3" * # | | * 219| }, * # | | * 220| "tracks" : { * # | | * 221| "href" : "/track?me.cd=3" * # | | * 222| } * # | | * 223| }, * # | | * 224| "artist" : 1, * # | | * 225| "cdid" : 3, * # | | * 226| "genreid" : 2, * # | | * 227| "single_track" : null, * # | | * 228| "title" : "Caterwaulin\' Blues", * # | | * 229| "year" : "1997" * # | | * 230| }, * # | | * 231| { * # | | * 232| "_links" : { * # | | * 233| "artist" : { * # | | * 234| "href" : "/artist/1" * # | | * 235| }, * # | | * 236| "cd_to_producer" : { * # | | * 237| "href" : "/cd_to_producer?me.cd=2" * # | | * 238| }, * # | | * 239| "genre" : { * # | | * 240| "href" : "/genre/2" * # | | * 241| }, * # | | * 242| "self" : { * # | | * 243| "href" : "/cd/2" * # | | * 244| }, * # | | * 245| "tracks" : { * # | | * 246| "href" : "/track?me.cd=2" * # | | * 247| } * # | | * 248| }, * # | | * 249| "artist" : 1, * # | | * 250| "cdid" : 2, * # | | * 251| "genreid" : 2, * # | | * 252| "single_track" : null, * # | | * 253| "title" : "Forkful of bees", * # | | * 254| "year" : "2001" * # | | * 255| }, * # | | * 256| { * # | | * 257| "_links" : { * # | | * 258| "artist" : { * # | | * 259| "href" : "/artist/1" * # | | * 260| }, * # | | * 261| "cd_to_producer" : { * # | | * 262| "href" : "/cd_to_producer?me.cd=1" * # | | * 263| }, * # | | * 264| "genre" : { * # | | * 265| "href" : "/genre/1" * # | | * 266| }, * # | | * 267| "self" : { * # | | * 268| "href" : "/cd/1" * # | | * 269| }, * # | | * 270| "tracks" : { * # | | * 271| "href" : "/track?me.cd=1" * # | | * 272| } * # | | * 273| }, * # | | * 274| "artist" : 1, * # | | * 275| "cdid" : 1, * # | | * 276| "genreid" : 1, * # | | * 277| "single_track" : null, * # | | * 278| "title" : "Spoonful of bees", * # | | * 279| "year" : "1999" * # | | * 280| } * # | | * 281| ] * # | 30| }, | 282| }, | # | 31| "_links" : { | 283| "_links" : { | # | 32| "self" : { | 284| "self" : { | # | 33| "href" : "/cd?rows=30&page=1", | 285| "href" : "/cd?rows=30&page=1", | # | 34| "title" : "TestSchema::Result::CD" | 286| "title" : "TestSchema::Result::CD" | # | 35| } | 287| } | # | 36| } | 288| } | # | 37|} | 289|} | # | 38| | 290| | # | 39|=== order by year desc and title desc | 291|=== order by year desc and title desc | # | 40|Request: | 292|Request: | # | 41|GET /cd?sort=me.year%20desc,title%20desc | 293|GET /cd?sort=me.year%20desc,title%20desc | # | 42|Accept: application/hal+json,application/json | 294|Accept: application/hal+json,application/json | # | 43|Response: | 295|Response: | # | 44|200 OK | 296|200 OK | # | 45|Content-type: application/hal+json | 297|Content-type: application/hal+json | # | 46|{ | 298|{ | # | 47| "_embedded" : { | 299| "_embedded" : { | # * 48| "cd" : [] * 300| "cd" : [ * # | | * 301| { * # | | * 302| "_links" : { * # | | * 303| "artist" : { * # | | * 304| "href" : "/artist/2" * # | | * 305| }, * # | | * 306| "cd_to_producer" : { * # | | * 307| "href" : "/cd_to_producer?me.cd=4" * # | | * 308| }, * # | | * 309| "genre" : { * # | | * 310| "href" : "/genre/3" * # | | * 311| }, * # | | * 312| "self" : { * # | | * 313| "href" : "/cd/4" * # | | * 314| }, * # | | * 315| "tracks" : { * # | | * 316| "href" : "/track?me.cd=4" * # | | * 317| } * # | | * 318| }, * # | | * 319| "artist" : 2, * # | | * 320| "cdid" : 4, * # | | * 321| "genreid" : 3, * # | | * 322| "single_track" : null, * # | | * 323| "title" : "Generic Manufactured Singles", * # | | * 324| "year" : "2001" * # | | * 325| }, * # | | * 326| { * # | | * 327| "_links" : { * # | | * 328| "artist" : { * # | | * 329| "href" : "/artist/1" * # | | * 330| }, * # | | * 331| "cd_to_producer" : { * # | | * 332| "href" : "/cd_to_producer?me.cd=2" * # | | * 333| }, * # | | * 334| "genre" : { * # | | * 335| "href" : "/genre/2" * # | | * 336| }, * # | | * 337| "self" : { * # | | * 338| "href" : "/cd/2" * # | | * 339| }, * # | | * 340| "tracks" : { * # | | * 341| "href" : "/track?me.cd=2" * # | | * 342| } * # | | * 343| }, * # | | * 344| "artist" : 1, * # | | * 345| "cdid" : 2, * # | | * 346| "genreid" : 2, * # | | * 347| "single_track" : null, * # | | * 348| "title" : "Forkful of bees", * # | | * 349| "year" : "2001" * # | | * 350| }, * # | | * 351| { * # | | * 352| "_links" : { * # | | * 353| "artist" : { * # | | * 354| "href" : "/artist/1" * # | | * 355| }, * # | | * 356| "cd_to_producer" : { * # | | * 357| "href" : "/cd_to_producer?me.cd=1" * # | | * 358| }, * # | | * 359| "genre" : { * # | | * 360| "href" : "/genre/1" * # | | * 361| }, * # | | * 362| "self" : { * # | | * 363| "href" : "/cd/1" * # | | * 364| }, * # | | * 365| "tracks" : { * # | | * 366| "href" : "/track?me.cd=1" * # | | * 367| } * # | | * 368| }, * # | | * 369| "artist" : 1, * # | | * 370| "cdid" : 1, * # | | * 371| "genreid" : 1, * # | | * 372| "single_track" : null, * # | | * 373| "title" : "Spoonful of bees", * # | | * 374| "year" : "1999" * # | | * 375| }, * # | | * 376| { * # | | * 377| "_links" : { * # | | * 378| "artist" : { * # | | * 379| "href" : "/artist/3" * # | | * 380| }, * # | | * 381| "cd_to_producer" : { * # | | * 382| "href" : "/cd_to_producer?me.cd=5" * # | | * 383| }, * # | | * 384| "genre" : { * # | | * 385| "href" : "/genre/4" * # | | * 386| }, * # | | * 387| "self" : { * # | | * 388| "href" : "/cd/5" * # | | * 389| }, * # | | * 390| "tracks" : { * # | | * 391| "href" : "/track?me.cd=5" * # | | * 392| } * # | | * 393| }, * # | | * 394| "artist" : 3, * # | | * 395| "cdid" : 5, * # | | * 396| "genreid" : 4, * # | | * 397| "single_track" : null, * # | | * 398| "title" : "Come Be Depressed With Us", * # | | * 399| "year" : "1998" * # | | * 400| }, * # | | * 401| { * # | | * 402| "_links" : { * # | | * 403| "artist" : { * # | | * 404| "href" : "/artist/1" * # | | * 405| }, * # | | * 406| "cd_to_producer" : { * # | | * 407| "href" : "/cd_to_producer?me.cd=3" * # | | * 408| }, * # | | * 409| "genre" : { * # | | * 410| "href" : "/genre/2" * # | | * 411| }, * # | | * 412| "self" : { * # | | * 413| "href" : "/cd/3" * # | | * 414| }, * # | | * 415| "tracks" : { * # | | * 416| "href" : "/track?me.cd=3" * # | | * 417| } * # | | * 418| }, * # | | * 419| "artist" : 1, * # | | * 420| "cdid" : 3, * # | | * 421| "genreid" : 2, * # | | * 422| "single_track" : null, * # | | * 423| "title" : "Caterwaulin\' Blues", * # | | * 424| "year" : "1997" * # | | * 425| } * # | | * 426| ] * # | 49| }, | 427| }, | # | 50| "_links" : { | 428| "_links" : { | # | 51| "self" : { | 429| "self" : { | # | 52| "href" : "/cd?rows=30&page=1", | 430| "href" : "/cd?rows=30&page=1", | # | 53| "title" : "TestSchema::Result::CD" | 431| "title" : "TestSchema::Result::CD" | # | 54| } | 432| } | # | 55| } | 433| } | # | 56|} | 434|} | # | 57| | 435| | # | 58|=== order by field in a relation (and the primary set for test stability) | 436|=== order by field in a relation (and the primary set for test stability) | # | 59|Request: | 437|Request: | # | 60|GET /cd?prefetch=artist&sort=artist.name,cdid | 438|GET /cd?prefetch=artist&sort=artist.name,cdid | # | 61|Accept: application/hal+json,application/json | 439|Accept: application/hal+json,application/json | # | 62|Response: | 440|Response: | # | 63|200 OK | 441|200 OK | # | 64|Content-type: application/hal+json | 442|Content-type: application/hal+json | # | 65|{ | 443|{ | # | 66| "_embedded" : { | 444| "_embedded" : { | # * 67| "cd" : [] * 445| "cd" : [ * # | | * 446| { * # | | * 447| "_embedded" : { * # | | * 448| "artist" : { * # | | * 449| "artistid" : 1, * # | | * 450| "charfield" : null, * # | | * 451| "name" : "Caterwauler McCrae", * # | | * 452| "rank" : 13 * # | | * 453| } * # | | * 454| }, * # | | * 455| "_links" : { * # | | * 456| "artist" : { * # | | * 457| "href" : "/artist/1" * # | | * 458| }, * # | | * 459| "cd_to_producer" : { * # | | * 460| "href" : "/cd_to_producer?me.cd=1" * # | | * 461| }, * # | | * 462| "genre" : { * # | | * 463| "href" : "/genre/1" * # | | * 464| }, * # | | * 465| "self" : { * # | | * 466| "href" : "/cd/1" * # | | * 467| }, * # | | * 468| "tracks" : { * # | | * 469| "href" : "/track?me.cd=1" * # | | * 470| } * # | | * 471| }, * # | | * 472| "artist" : 1, * # | | * 473| "cdid" : 1, * # | | * 474| "genreid" : 1, * # | | * 475| "single_track" : null, * # | | * 476| "title" : "Spoonful of bees", * # | | * 477| "year" : "1999" * # | | * 478| }, * # | | * 479| { * # | | * 480| "_embedded" : { * # | | * 481| "artist" : { * # | | * 482| "artistid" : 1, * # | | * 483| "charfield" : null, * # | | * 484| "name" : "Caterwauler McCrae", * # | | * 485| "rank" : 13 * # | | * 486| } * # | | * 487| }, * # | | * 488| "_links" : { * # | | * 489| "artist" : { * # | | * 490| "href" : "/artist/1" * # | | * 491| }, * # | | * 492| "cd_to_producer" : { * # | | * 493| "href" : "/cd_to_producer?me.cd=2" * # | | * 494| }, * # | | * 495| "genre" : { * # | | * 496| "href" : "/genre/2" * # | | * 497| }, * # | | * 498| "self" : { * # | | * 499| "href" : "/cd/2" * # | | * 500| }, * # | | * 501| "tracks" : { * # | | * 502| "href" : "/track?me.cd=2" * # | | * 503| } * # | | * 504| }, * # | | * 505| "artist" : 1, * # | | * 506| "cdid" : 2, * # | | * 507| "genreid" : 2, * # | | * 508| "single_track" : null, * # | | * 509| "title" : "Forkful of bees", * # | | * 510| "year" : "2001" * # | | * 511| }, * # | | * 512| { * # | | * 513| "_embedded" : { * # | | * 514| "artist" : { * # | | * 515| "artistid" : 1, * # | | * 516| "charfield" : null, * # | | * 517| "name" : "Caterwauler McCrae", * # | | * 518| "rank" : 13 * # | | * 519| } * # | | * 520| }, * # | | * 521| "_links" : { * # | | * 522| "artist" : { * # | | * 523| "href" : "/artist/1" * # | | * 524| }, * # | | * 525| "cd_to_producer" : { * # | | * 526| "href" : "/cd_to_producer?me.cd=3" * # | | * 527| }, * # | | * 528| "genre" : { * # | | * 529| "href" : "/genre/2" * # | | * 530| }, * # | | * 531| "self" : { * # | | * 532| "href" : "/cd/3" * # | | * 533| }, * # | | * 534| "tracks" : { * # | | * 535| "href" : "/track?me.cd=3" * # | | * 536| } * # | | * 537| }, * # | | * 538| "artist" : 1, * # | | * 539| "cdid" : 3, * # | | * 540| "genreid" : 2, * # | | * 541| "single_track" : null, * # | | * 542| "title" : "Caterwaulin\' Blues", * # | | * 543| "year" : "1997" * # | | * 544| }, * # | | * 545| { * # | | * 546| "_embedded" : { * # | | * 547| "artist" : { * # | | * 548| "artistid" : 2, * # | | * 549| "charfield" : null, * # | | * 550| "name" : "Random Boy Band", * # | | * 551| "rank" : 13 * # | | * 552| } * # | | * 553| }, * # | | * 554| "_links" : { * # | | * 555| "artist" : { * # | | * 556| "href" : "/artist/2" * # | | * 557| }, * # | | * 558| "cd_to_producer" : { * # | | * 559| "href" : "/cd_to_producer?me.cd=4" * # | | * 560| }, * # | | * 561| "genre" : { * # | | * 562| "href" : "/genre/3" * # | | * 563| }, * # | | * 564| "self" : { * # | | * 565| "href" : "/cd/4" * # | | * 566| }, * # | | * 567| "tracks" : { * # | | * 568| "href" : "/track?me.cd=4" * # | | * 569| } * # | | * 570| }, * # | | * 571| "artist" : 2, * # | | * 572| "cdid" : 4, * # | | * 573| "genreid" : 3, * # | | * 574| "single_track" : null, * # | | * 575| "title" : "Generic Manufactured Singles", * # | | * 576| "year" : "2001" * # | | * 577| }, * # | | * 578| { * # | | * 579| "_embedded" : { * # | | * 580| "artist" : { * # | | * 581| "artistid" : 3, * # | | * 582| "charfield" : null, * # | | * 583| "name" : "We Are Goth", * # | | * 584| "rank" : 13 * # | | * 585| } * # | | * 586| }, * # | | * 587| "_links" : { * # | | * 588| "artist" : { * # | | * 589| "href" : "/artist/3" * # | | * 590| }, * # | | * 591| "cd_to_producer" : { * # | | * 592| "href" : "/cd_to_producer?me.cd=5" * # | | * 593| }, * # | | * 594| "genre" : { * # | | * 595| "href" : "/genre/4" * # | | * 596| }, * # | | * 597| "self" : { * # | | * 598| "href" : "/cd/5" * # | | * 599| }, * # | | * 600| "tracks" : { * # | | * 601| "href" : "/track?me.cd=5" * # | | * 602| } * # | | * 603| }, * # | | * 604| "artist" : 3, * # | | * 605| "cdid" : 5, * # | | * 606| "genreid" : 4, * # | | * 607| "single_track" : null, * # | | * 608| "title" : "Come Be Depressed With Us", * # | | * 609| "year" : "1998" * # | | * 610| } * # | | * 611| ] * # | 68| }, | 612| }, | # | 69| "_links" : { | 613| "_links" : { | # | 70| "self" : { | 614| "self" : { | # | 71| "href" : "/cd?rows=30&page=1", | 615| "href" : "/cd?rows=30&page=1", | # | 72| "title" : "TestSchema::Result::CD" | 616| "title" : "TestSchema::Result::CD" | # | 73| } | 617| } | # | 74| } | 618| } | # | 75|} | 619|} | # | 76| | 620| | # | 77|=== order by field in two relations | 621|=== order by field in two relations | # | 78|Request: | 622|Request: | # | 79|GET /cd?prefetch=artist,genre&order=-genre.name,artist.name | 623|GET /cd?prefetch=artist,genre&order=-genre.name,artist.name | # | 80|Accept: application/hal+json,application/json | 624|Accept: application/hal+json,application/json | # | 81|Response: | 625|Response: | # | 82|200 OK | 626|200 OK | # | 83|Content-type: application/hal+json | 627|Content-type: application/hal+json | # | 84|{ | 628|{ | # | 85| "_embedded" : { | 629| "_embedded" : { | # * 86| "cd" : [] * 630| "cd" : [ * # | | * 631| { * # | | * 632| "_embedded" : { * # | | * 633| "artist" : { * # | | * 634| "artistid" : 2, * # | | * 635| "charfield" : null, * # | | * 636| "name" : "Random Boy Band", * # | | * 637| "rank" : 13 * # | | * 638| }, * # | | * 639| "genre" : { * # | | * 640| "genreid" : 3, * # | | * 641| "name" : "pop" * # | | * 642| } * # | | * 643| }, * # | | * 644| "_links" : { * # | | * 645| "artist" : { * # | | * 646| "href" : "/artist/2" * # | | * 647| }, * # | | * 648| "cd_to_producer" : { * # | | * 649| "href" : "/cd_to_producer?me.cd=4" * # | | * 650| }, * # | | * 651| "genre" : { * # | | * 652| "href" : "/genre/3" * # | | * 653| }, * # | | * 654| "self" : { * # | | * 655| "href" : "/cd/4" * # | | * 656| }, * # | | * 657| "tracks" : { * # | | * 658| "href" : "/track?me.cd=4" * # | | * 659| } * # | | * 660| }, * # | | * 661| "artist" : 2, * # | | * 662| "cdid" : 4, * # | | * 663| "genreid" : 3, * # | | * 664| "single_track" : null, * # | | * 665| "title" : "Generic Manufactured Singles", * # | | * 666| "year" : "2001" * # | | * 667| }, * # | | * 668| { * # | | * 669| "_embedded" : { * # | | * 670| "artist" : { * # | | * 671| "artistid" : 3, * # | | * 672| "charfield" : null, * # | | * 673| "name" : "We Are Goth", * # | | * 674| "rank" : 13 * # | | * 675| }, * # | | * 676| "genre" : { * # | | * 677| "genreid" : 4, * # | | * 678| "name" : "goth" * # | | * 679| } * # | | * 680| }, * # | | * 681| "_links" : { * # | | * 682| "artist" : { * # | | * 683| "href" : "/artist/3" * # | | * 684| }, * # | | * 685| "cd_to_producer" : { * # | | * 686| "href" : "/cd_to_producer?me.cd=5" * # | | * 687| }, * # | | * 688| "genre" : { * # | | * 689| "href" : "/genre/4" * # | | * 690| }, * # | | * 691| "self" : { * # | | * 692| "href" : "/cd/5" * # | | * 693| }, * # | | * 694| "tracks" : { * # | | * 695| "href" : "/track?me.cd=5" * # | | * 696| } * # | | * 697| }, * # | | * 698| "artist" : 3, * # | | * 699| "cdid" : 5, * # | | * 700| "genreid" : 4, * # | | * 701| "single_track" : null, * # | | * 702| "title" : "Come Be Depressed With Us", * # | | * 703| "year" : "1998" * # | | * 704| }, * # | | * 705| { * # | | * 706| "_embedded" : { * # | | * 707| "artist" : { * # | | * 708| "artistid" : 1, * # | | * 709| "charfield" : null, * # | | * 710| "name" : "Caterwauler McCrae", * # | | * 711| "rank" : 13 * # | | * 712| }, * # | | * 713| "genre" : { * # | | * 714| "genreid" : 1, * # | | * 715| "name" : "emo" * # | | * 716| } * # | | * 717| }, * # | | * 718| "_links" : { * # | | * 719| "artist" : { * # | | * 720| "href" : "/artist/1" * # | | * 721| }, * # | | * 722| "cd_to_producer" : { * # | | * 723| "href" : "/cd_to_producer?me.cd=1" * # | | * 724| }, * # | | * 725| "genre" : { * # | | * 726| "href" : "/genre/1" * # | | * 727| }, * # | | * 728| "self" : { * # | | * 729| "href" : "/cd/1" * # | | * 730| }, * # | | * 731| "tracks" : { * # | | * 732| "href" : "/track?me.cd=1" * # | | * 733| } * # | | * 734| }, * # | | * 735| "artist" : 1, * # | | * 736| "cdid" : 1, * # | | * 737| "genreid" : 1, * # | | * 738| "single_track" : null, * # | | * 739| "title" : "Spoonful of bees", * # | | * 740| "year" : "1999" * # | | * 741| }, * # | | * 742| { * # | | * 743| "_embedded" : { * # | | * 744| "artist" : { * # | | * 745| "artistid" : 1, * # | | * 746| "charfield" : null, * # | | * 747| "name" : "Caterwauler McCrae", * # | | * 748| "rank" : 13 * # | | * 749| }, * # | | * 750| "genre" : { * # | | * 751| "genreid" : 2, * # | | * 752| "name" : "country" * # | | * 753| } * # | | * 754| }, * # | | * 755| "_links" : { * # | | * 756| "artist" : { * # | | * 757| "href" : "/artist/1" * # | | * 758| }, * # | | * 759| "cd_to_producer" : { * # | | * 760| "href" : "/cd_to_producer?me.cd=2" * # | | * 761| }, * # | | * 762| "genre" : { * # | | * 763| "href" : "/genre/2" * # | | * 764| }, * # | | * 765| "self" : { * # | | * 766| "href" : "/cd/2" * # | | * 767| }, * # | | * 768| "tracks" : { * # | | * 769| "href" : "/track?me.cd=2" * # | | * 770| } * # | | * 771| }, * # | | * 772| "artist" : 1, * # | | * 773| "cdid" : 2, * # | | * 774| "genreid" : 2, * # | | * 775| "single_track" : null, * # | | * 776| "title" : "Forkful of bees", * # | | * 777| "year" : "2001" * # | | * 778| }, * # | | * 779| { * # | | * 780| "_embedded" : { * # | | * 781| "artist" : { * # | | * 782| "artistid" : 1, * # | | * 783| "charfield" : null, * # | | * 784| "name" : "Caterwauler McCrae", * # | | * 785| "rank" : 13 * # | | * 786| }, * # | | * 787| "genre" : { * # | | * 788| "genreid" : 2, * # | | * 789| "name" : "country" * # | | * 790| } * # | | * 791| }, * # | | * 792| "_links" : { * # | | * 793| "artist" : { * # | | * 794| "href" : "/artist/1" * # | | * 795| }, * # | | * 796| "cd_to_producer" : { * # | | * 797| "href" : "/cd_to_producer?me.cd=3" * # | | * 798| }, * # | | * 799| "genre" : { * # | | * 800| "href" : "/genre/2" * # | | * 801| }, * # | | * 802| "self" : { * # | | * 803| "href" : "/cd/3" * # | | * 804| }, * # | | * 805| "tracks" : { * # | | * 806| "href" : "/track?me.cd=3" * # | | * 807| } * # | | * 808| }, * # | | * 809| "artist" : 1, * # | | * 810| "cdid" : 3, * # | | * 811| "genreid" : 2, * # | | * 812| "single_track" : null, * # | | * 813| "title" : "Caterwaulin\' Blues", * # | | * 814| "year" : "1997" * # | | * 815| } * # | | * 816| ] * # | 87| }, | 817| }, | # | 88| "_links" : { | 818| "_links" : { | # | 89| "self" : { | 819| "self" : { | # | 90| "href" : "/cd?rows=30&page=1", | 820| "href" : "/cd?rows=30&page=1", | # | 91| "title" : "TestSchema::Result::CD" | 821| "title" : "TestSchema::Result::CD" | # | 92| } | 822| } | # | 93| } | 823| } | # | 94|} | 824|} | # | 95| | 825| | # | 96|' | 826|' | # +---+---------------------------------------------------------------------------+----+---------------------------------------------------------------------------+ # Looks like you failed 1 test of 1. # Failed test '===== Ordering =====' # at t/30-ordering-hal.t line 19. # Looks like you failed 2 tests of 2. t/30-ordering-hal.t ...... importing fixtures - deleting existing temp directory /tmp/bkOOnOCIRh - creating temp dir not ok 1 - Fixtures Installed # Subtest: ===== Ordering ===== # --- Config: # --- Name: order by PK asc # GET /cd?order=me.cdid # Vary: Accept # Content-Length: 104 # Content-Type: application/hal+json # --- Name: order by PK desc # GET /cd?order=me.cdid%20desc # Vary: Accept # Content-Length: 104 # Content-Type: application/hal+json # --- Name: order by year desc and title desc # GET /cd?sort=me.year%20desc,title%20desc # Vary: Accept # Content-Length: 104 # Content-Type: application/hal+json # --- Name: order by field in a relation (and the primary set for test stability) # GET /cd?prefetch=artist&sort=artist.name,cdid # Vary: Accept # Content-Length: 104 # Content-Type: application/hal+json # --- Name: order by field in two relations # GET /cd?prefetch=artist,genre&order=-genre.name,artist.name # Vary: Accept # Content-Length: 104 # Content-Type: application/hal+json not ok 1 - 30-ordering-hal.t output in t/30-ordering-hal.got matches t/30-ordering-hal.exp 1..1 not ok 2 - ===== Ordering ===== 1..2 Dubious, test returned 2 (wstat 512, 0x200) Failed 2/2 subtests Class::MOP::load_class is deprecated at /Users/fly1400/var/megalib/Class/MOP.pm line 68. Class::MOP::load_class("TestSchema") called at /Users/fly1400/var/megalib/Test/DBIx/Class/Types.pm line 24 Test::DBIx::Class::Types::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 64 Moose::Meta::TypeCoercion::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 99 Moose::Meta::TypeCoercion::coerce(Moose::Meta::TypeCoercion=HASH(0x100e82c70), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeConstraint.pm line 144 Moose::Meta::TypeConstraint::coerce(Moose::Meta::TypeConstraint=HASH(0x100e831f8), "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 219 MooseX::Types::TypeDecorator::_try_delegate(MooseX::Types::TypeDecorator=HASH(0x100ebef40), "coerce", "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 184 MooseX::Types::TypeDecorator::AUTOLOAD(MooseX::Types::TypeDecorator=HASH(0x100ebef40), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 1249 Moose::Meta::Attribute::_coerce_and_verify(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec9948), "TestSchema", Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100a6b558)) called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 511 Moose::Meta::Attribute::initialize_instance_slot(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec9948), Moose::Meta::Instance=HASH(0x1020aeeb8), Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100a6b558), HASH(0x100a6bd20)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 525 Class::MOP::Class::_construct_instance(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6bd20)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 495 Class::MOP::Class::new_object(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6bd20)) called at /Users/fly1400/var/megalib/Moose/Meta/Class.pm line 273 Moose::Meta::Class::new_object(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6bd20)) called at /Users/fly1400/var/megalib/Moose/Object.pm line 23 Moose::Object::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100a6b2b8)) called at constructor Test::DBIx::Class::SchemaManager::new (defined at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 241) line 4 Test::DBIx::Class::SchemaManager::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100a6b2b8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 153 Test::DBIx::Class::SchemaManager::initialize_schema("Test::DBIx::Class::SchemaManager", HASH(0x100a6b2b8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 646 eval {...} called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 645 Test::DBIx::Class::_initialize_schema("Test::DBIx::Class", HASH(0x100de5aa8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 353 Test::DBIx::Class::_initialize("Test::DBIx::Class") called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 36 Test::DBIx::Class::import("Test::DBIx::Class") called at (eval 34) line 2 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 eval 'package main; use Test::DBIx::Class ;' called at /Users/fly1400/var/megalib/ToolSet.pm line 71 ToolSet::import("TestKit") called at t/40-prefetch-hal.t line 7 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 # Failed test 'Fixtures Installed' # at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 156. # {UNKNOWN}: DateTime version 1 required--this is only version 0.73 at /Users/fly1400/var/megalib/DateTime/Format/Builder.pm line 11. # BEGIN failed--compilation aborted at /Users/fly1400/var/megalib/DateTime/Format/Builder.pm line 11. # Compilation failed in require at /Users/fly1400/var/megalib/DateTime/Format/SQLite.pm line 72. # BEGIN failed--compilation aborted at /Users/fly1400/var/megalib/DateTime/Format/SQLite.pm line 72. # Compilation failed in require at /Users/fly1400/var/megalib/Class/C3/Componentised.pm line 150. at /Users/fly1400/var/megalib/Class/C3/Componentised.pm line 155 # Failed test '40-prefetch-hal.t output in t/40-prefetch-hal.got matches t/40-prefetch-hal.exp' # at t/lib/TestDS.pm line 67. # +----+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+----+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ # | Ln|Got | Ln|Expected | # +----+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+----+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ # | 1|'=== prefetch on an item using two belongs_to relationships | 1|'=== prefetch on an item using two belongs_to relationships | # | 2|Request: | 2|Request: | # | 3|GET /cd/1?prefetch=artist,genre | 3|GET /cd/1?prefetch=artist,genre | # | 4|Accept: application/hal+json,application/json | 4|Accept: application/hal+json,application/json | # | 5|Response: | 5|Response: | # * 6|404 Not Found * 6|200 OK * # * 7|Content-type: text/plain * 7|Content-type: application/hal+json * # * 8|Not Found * 8|{ * # | | * 9| "_embedded" : { * # | | * 10| "artist" : { * # | | * 11| "artistid" : 1, * # | | * 12| "charfield" : null, * # | | * 13| "name" : "Caterwauler McCrae", * # | | * 14| "rank" : 13 * # | | * 15| }, * # | | * 16| "genre" : { * # | | * 17| "genreid" : 1, * # | | * 18| "name" : "emo" * # | | * 19| } * # | | * 20| }, * # | | * 21| "_links" : { * # | | * 22| "artist" : { * # | | * 23| "href" : "/artist/1" * # | | * 24| }, * # | | * 25| "cd_to_producer" : { * # | | * 26| "href" : "/cd_to_producer?me.cd=1" * # | | * 27| }, * # | | * 28| "genre" : { * # | | * 29| "href" : "/genre/1" * # | | * 30| }, * # | | * 31| "self" : { * # | | * 32| "href" : "/cd/1" * # | | * 33| }, * # | | * 34| "tracks" : { * # | | * 35| "href" : "/track?me.cd=1" * # | | * 36| } * # | | * 37| }, * # | | * 38| "artist" : 1, * # | | * 39| "cdid" : 1, * # | | * 40| "genreid" : 1, * # | | * 41| "single_track" : null, * # | | * 42| "title" : "Spoonful of bees", * # | | * 43| "year" : "1999" * # | | * 44|} * # | | * 45|\n * # | 9|=== prefetch on a set using two belongs_to relationships | 46|=== prefetch on a set using two belongs_to relationships | # | 10|Request: | 47|Request: | # | 11|GET /cd?rows=2&page=1&prefetch=artist,genre | 48|GET /cd?rows=2&page=1&prefetch=artist,genre | # | 12|Accept: application/hal+json,application/json | 49|Accept: application/hal+json,application/json | # | 13|Response: | 50|Response: | # | 14|200 OK | 51|200 OK | # | 15|Content-type: application/hal+json | 52|Content-type: application/hal+json | # | 16|{ | 53|{ | # | 17| "_embedded" : { | 54| "_embedded" : { | # * 18| "cd" : [] * 55| "cd" : [ * # | | * 56| { * # | | * 57| "_embedded" : { * # | | * 58| "artist" : { * # | | * 59| "artistid" : 1, * # | | * 60| "charfield" : null, * # | | * 61| "name" : "Caterwauler McCrae", * # | | * 62| "rank" : 13 * # | | * 63| }, * # | | * 64| "genre" : { * # | | * 65| "genreid" : 1, * # | | * 66| "name" : "emo" * # | | * 67| } * # | | * 68| }, * # | | * 69| "_links" : { * # | | * 70| "artist" : { * # | | * 71| "href" : "/artist/1" * # | | * 72| }, * # | | * 73| "cd_to_producer" : { * # | | * 74| "href" : "/cd_to_producer?me.cd=1" * # | | * 75| }, * # | | * 76| "genre" : { * # | | * 77| "href" : "/genre/1" * # | | * 78| }, * # | | * 79| "self" : { * # | | * 80| "href" : "/cd/1" * # | | * 81| }, * # | | * 82| "tracks" : { * # | | * 83| "href" : "/track?me.cd=1" * # | | * 84| } * # | | * 85| }, * # | | * 86| "artist" : 1, * # | | * 87| "cdid" : 1, * # | | * 88| "genreid" : 1, * # | | * 89| "single_track" : null, * # | | * 90| "title" : "Spoonful of bees", * # | | * 91| "year" : "1999" * # | | * 92| }, * # | | * 93| { * # | | * 94| "_embedded" : { * # | | * 95| "artist" : { * # | | * 96| "artistid" : 1, * # | | * 97| "charfield" : null, * # | | * 98| "name" : "Caterwauler McCrae", * # | | * 99| "rank" : 13 * # | | * 100| }, * # | | * 101| "genre" : { * # | | * 102| "genreid" : 2, * # | | * 103| "name" : "country" * # | | * 104| } * # | | * 105| }, * # | | * 106| "_links" : { * # | | * 107| "artist" : { * # | | * 108| "href" : "/artist/1" * # | | * 109| }, * # | | * 110| "cd_to_producer" : { * # | | * 111| "href" : "/cd_to_producer?me.cd=2" * # | | * 112| }, * # | | * 113| "genre" : { * # | | * 114| "href" : "/genre/2" * # | | * 115| }, * # | | * 116| "self" : { * # | | * 117| "href" : "/cd/2" * # | | * 118| }, * # | | * 119| "tracks" : { * # | | * 120| "href" : "/track?me.cd=2" * # | | * 121| } * # | | * 122| }, * # | | * 123| "artist" : 1, * # | | * 124| "cdid" : 2, * # | | * 125| "genreid" : 2, * # | | * 126| "single_track" : null, * # | | * 127| "title" : "Forkful of bees", * # | | * 128| "year" : "2001" * # | | * 129| } * # | | * 130| ] * # | 19| }, | 131| }, | # | 20| "_links" : { | 132| "_links" : { | # | | * 133| "next" : { * # | | * 134| "href" : "/cd?rows=2&page=2" * # | | * 135| }, * # | 21| "self" : { | 136| "self" : { | # | 22| "href" : "/cd?rows=2&page=1", | 137| "href" : "/cd?rows=2&page=1", | # | 23| "title" : "TestSchema::Result::CD" | 138| "title" : "TestSchema::Result::CD" | # | 24| } | 139| } | # | 25| } | 140| } | # | 26|} | 141|} | # | 27| | 142| | # | 28|=== filter on prefetched relation field | 143|=== filter on prefetched relation field | # | 29|Request: | 144|Request: | # | 30|GET /cd?prefetch=artist&artist.name=Random+Boy+Band | 145|GET /cd?prefetch=artist&artist.name=Random+Boy+Band | # | 31|Accept: application/hal+json,application/json | 146|Accept: application/hal+json,application/json | # | 32|Response: | 147|Response: | # | 33|200 OK | 148|200 OK | # | 34|Content-type: application/hal+json | 149|Content-type: application/hal+json | # | 35|{ | 150|{ | # | 36| "_embedded" : { | 151| "_embedded" : { | # * 37| "cd" : [] * 152| "cd" : [ * # | | * 153| { * # | | * 154| "_embedded" : { * # | | * 155| "artist" : { * # | | * 156| "artistid" : 2, * # | | * 157| "charfield" : null, * # | | * 158| "name" : "Random Boy Band", * # | | * 159| "rank" : 13 * # | | * 160| } * # | | * 161| }, * # | | * 162| "_links" : { * # | | * 163| "artist" : { * # | | * 164| "href" : "/artist/2" * # | | * 165| }, * # | | * 166| "cd_to_producer" : { * # | | * 167| "href" : "/cd_to_producer?me.cd=4" * # | | * 168| }, * # | | * 169| "genre" : { * # | | * 170| "href" : "/genre/3" * # | | * 171| }, * # | | * 172| "self" : { * # | | * 173| "href" : "/cd/4" * # | | * 174| }, * # | | * 175| "tracks" : { * # | | * 176| "href" : "/track?me.cd=4" * # | | * 177| } * # | | * 178| }, * # | | * 179| "artist" : 2, * # | | * 180| "cdid" : 4, * # | | * 181| "genreid" : 3, * # | | * 182| "single_track" : null, * # | | * 183| "title" : "Generic Manufactured Singles", * # | | * 184| "year" : "2001" * # | | * 185| } * # | | * 186| ] * # | 38| }, | 187| }, | # | 39| "_links" : { | 188| "_links" : { | # | 40| "self" : { | 189| "self" : { | # | 41| "href" : "/cd?rows=30&page=1", | 190| "href" : "/cd?rows=30&page=1", | # | 42| "title" : "TestSchema::Result::CD" | 191| "title" : "TestSchema::Result::CD" | # | 43| } | 192| } | # | 44| } | 193| } | # | 45|} | 194|} | # | 46| | 195| | # | 47|=== filter on prefetch with JSON | 196|=== filter on prefetch with JSON | # | 48|Request: | 197|Request: | # | 49|GET /cd?prefetch=artist PARAMS: artist.name~json=>{"like"=>"%Band"} | 198|GET /cd?prefetch=artist PARAMS: artist.name~json=>{"like"=>"%Band"} | # | 50|GET /cd?prefetch=artist&artist.name~json=%7B%22like%22%3A%22%25Band%22%7D | 199|GET /cd?prefetch=artist&artist.name~json=%7B%22like%22%3A%22%25Band%22%7D | # | 51|Accept: application/hal+json,application/json | 200|Accept: application/hal+json,application/json | # | 52|Response: | 201|Response: | # | 53|200 OK | 202|200 OK | # | 54|Content-type: application/hal+json | 203|Content-type: application/hal+json | # | 55|{ | 204|{ | # | 56| "_embedded" : { | 205| "_embedded" : { | # * 57| "cd" : [] * 206| "cd" : [ * # | | * 207| { * # | | * 208| "_embedded" : { * # | | * 209| "artist" : { * # | | * 210| "artistid" : 2, * # | | * 211| "charfield" : null, * # | | * 212| "name" : "Random Boy Band", * # | | * 213| "rank" : 13 * # | | * 214| } * # | | * 215| }, * # | | * 216| "_links" : { * # | | * 217| "artist" : { * # | | * 218| "href" : "/artist/2" * # | | * 219| }, * # | | * 220| "cd_to_producer" : { * # | | * 221| "href" : "/cd_to_producer?me.cd=4" * # | | * 222| }, * # | | * 223| "genre" : { * # | | * 224| "href" : "/genre/3" * # | | * 225| }, * # | | * 226| "self" : { * # | | * 227| "href" : "/cd/4" * # | | * 228| }, * # | | * 229| "tracks" : { * # | | * 230| "href" : "/track?me.cd=4" * # | | * 231| } * # | | * 232| }, * # | | * 233| "artist" : 2, * # | | * 234| "cdid" : 4, * # | | * 235| "genreid" : 3, * # | | * 236| "single_track" : null, * # | | * 237| "title" : "Generic Manufactured Singles", * # | | * 238| "year" : "2001" * # | | * 239| } * # | | * 240| ] * # | 58| }, | 241| }, | # | 59| "_links" : { | 242| "_links" : { | # | 60| "self" : { | 243| "self" : { | # | 61| "href" : "/cd?rows=30&page=1", | 244| "href" : "/cd?rows=30&page=1", | # | 62| "title" : "TestSchema::Result::CD" | 245| "title" : "TestSchema::Result::CD" | # | 63| } | 246| } | # | 64| } | 247| } | # | 65|} | 248|} | # | 66| | 249| | # | 67|=== multi type relation (has_many) in prefetch on item | 250|=== multi type relation (has_many) in prefetch on item | # | 68|Request: | 251|Request: | # | 69|GET /artist/1?prefetch=cds&order=cds.cdid | 252|GET /artist/1?prefetch=cds&order=cds.cdid | # | 70|Accept: application/hal+json,application/json | 253|Accept: application/hal+json,application/json | # | 71|Response: | 254|Response: | # * 72|404 Not Found * 255|200 OK * # * 73|Content-type: text/plain * 256|Content-type: application/hal+json * # * 74|Not Found * 257|{ * # | | * 258| "_embedded" : { * # | | * 259| "cds" : [ * # | | * 260| { * # | | * 261| "_links" : { * # | | * 262| "artist" : { * # | | * 263| "href" : "/artist/1" * # | | * 264| }, * # | | * 265| "cd_to_producer" : { * # | | * 266| "href" : "/cd_to_producer?me.cd=1" * # | | * 267| }, * # | | * 268| "genre" : { * # | | * 269| "href" : "/genre/1" * # | | * 270| }, * # | | * 271| "self" : { * # | | * 272| "href" : "/cd/1" * # | | * 273| }, * # | | * 274| "tracks" : { * # | | * 275| "href" : "/track?me.cd=1" * # | | * 276| } * # | | * 277| }, * # | | * 278| "artist" : 1, * # | | * 279| "cdid" : "1", * # | | * 280| "genreid" : 1, * # | | * 281| "single_track" : null, * # | | * 282| "title" : "Spoonful of bees", * # | | * 283| "year" : "1999" * # | | * 284| }, * # | | * 285| { * # | | * 286| "_links" : { * # | | * 287| "artist" : { * # | | * 288| "href" : "/artist/1" * # | | * 289| }, * # | | * 290| "cd_to_producer" : { * # | | * 291| "href" : "/cd_to_producer?me.cd=2" * # | | * 292| }, * # | | * 293| "genre" : { * # | | * 294| "href" : "/genre/2" * # | | * 295| }, * # | | * 296| "self" : { * # | | * 297| "href" : "/cd/2" * # | | * 298| }, * # | | * 299| "tracks" : { * # | | * 300| "href" : "/track?me.cd=2" * # | | * 301| } * # | | * 302| }, * # | | * 303| "artist" : 1, * # | | * 304| "cdid" : "2", * # | | * 305| "genreid" : 2, * # | | * 306| "single_track" : null, * # | | * 307| "title" : "Forkful of bees", * # | | * 308| "year" : "2001" * # | | * 309| }, * # | | * 310| { * # | | * 311| "_links" : { * # | | * 312| "artist" : { * # | | * 313| "href" : "/artist/1" * # | | * 314| }, * # | | * 315| "cd_to_producer" : { * # | | * 316| "href" : "/cd_to_producer?me.cd=3" * # | | * 317| }, * # | | * 318| "genre" : { * # | | * 319| "href" : "/genre/2" * # | | * 320| }, * # | | * 321| "self" : { * # | | * 322| "href" : "/cd/3" * # | | * 323| }, * # | | * 324| "tracks" : { * # | | * 325| "href" : "/track?me.cd=3" * # | | * 326| } * # | | * 327| }, * # | | * 328| "artist" : 1, * # | | * 329| "cdid" : "3", * # | | * 330| "genreid" : 2, * # | | * 331| "single_track" : null, * # | | * 332| "title" : "Caterwaulin\' Blues", * # | | * 333| "year" : "1997" * # | | * 334| } * # | | * 335| ] * # | | * 336| }, * # | | * 337| "_links" : { * # | | * 338| "cds" : { * # | | * 339| "href" : "/cd?me.artist=1" * # | | * 340| }, * # | | * 341| "cds_cref_cond" : { * # | | * 342| "href" : "/cd/1" * # | | * 343| }, * # | | * 344| "self" : { * # | | * 345| "href" : "/artist/1" * # | | * 346| } * # | | * 347| }, * # | | * 348| "artistid" : "1", * # | | * 349| "charfield" : null, * # | | * 350| "name" : "Caterwauler McCrae", * # | | * 351| "rank" : 13 * # | | * 352|} * # | | * 353|\n * # | 75|=== multi type relation (has_many) in prefetch on set | 354|=== multi type relation (has_many) in prefetch on set | # | 76|Request: | 355|Request: | # | 77|GET /artist?prefetch=cds&order=me.artistid,cds.cdid&rows=2 | 356|GET /artist?prefetch=cds&order=me.artistid,cds.cdid&rows=2 | # | 78|Accept: application/hal+json,application/json | 357|Accept: application/hal+json,application/json | # | 79|Response: | 358|Response: | # | 80|200 OK | 359|200 OK | # | 81|Content-type: application/hal+json | 360|Content-type: application/hal+json | # | 82|{ | 361|{ | # | 83| "_embedded" : { | 362| "_embedded" : { | # * 84| "artist" : [] * 363| "artist" : [ * # | | * 364| { * # | | * 365| "_embedded" : { * # | | * 366| "cds" : [ * # | | * 367| { * # | | * 368| "_links" : { * # | | * 369| "artist" : { * # | | * 370| "href" : "/artist/1" * # | | * 371| }, * # | | * 372| "cd_to_producer" : { * # | | * 373| "href" : "/cd_to_producer?me.cd=1" * # | | * 374| }, * # | | * 375| "genre" : { * # | | * 376| "href" : "/genre/1" * # | | * 377| }, * # | | * 378| "self" : { * # | | * 379| "href" : "/cd/1" * # | | * 380| }, * # | | * 381| "tracks" : { * # | | * 382| "href" : "/track?me.cd=1" * # | | * 383| } * # | | * 384| }, * # | | * 385| "artist" : 1, * # | | * 386| "cdid" : "1", * # | | * 387| "genreid" : 1, * # | | * 388| "single_track" : null, * # | | * 389| "title" : "Spoonful of bees", * # | | * 390| "year" : "1999" * # | | * 391| }, * # | | * 392| { * # | | * 393| "_links" : { * # | | * 394| "artist" : { * # | | * 395| "href" : "/artist/1" * # | | * 396| }, * # | | * 397| "cd_to_producer" : { * # | | * 398| "href" : "/cd_to_producer?me.cd=2" * # | | * 399| }, * # | | * 400| "genre" : { * # | | * 401| "href" : "/genre/2" * # | | * 402| }, * # | | * 403| "self" : { * # | | * 404| "href" : "/cd/2" * # | | * 405| }, * # | | * 406| "tracks" : { * # | | * 407| "href" : "/track?me.cd=2" * # | | * 408| } * # | | * 409| }, * # | | * 410| "artist" : 1, * # | | * 411| "cdid" : "2", * # | | * 412| "genreid" : 2, * # | | * 413| "single_track" : null, * # | | * 414| "title" : "Forkful of bees", * # | | * 415| "year" : "2001" * # | | * 416| }, * # | | * 417| { * # | | * 418| "_links" : { * # | | * 419| "artist" : { * # | | * 420| "href" : "/artist/1" * # | | * 421| }, * # | | * 422| "cd_to_producer" : { * # | | * 423| "href" : "/cd_to_producer?me.cd=3" * # | | * 424| }, * # | | * 425| "genre" : { * # | | * 426| "href" : "/genre/2" * # | | * 427| }, * # | | * 428| "self" : { * # | | * 429| "href" : "/cd/3" * # | | * 430| }, * # | | * 431| "tracks" : { * # | | * 432| "href" : "/track?me.cd=3" * # | | * 433| } * # | | * 434| }, * # | | * 435| "artist" : 1, * # | | * 436| "cdid" : "3", * # | | * 437| "genreid" : 2, * # | | * 438| "single_track" : null, * # | | * 439| "title" : "Caterwaulin\' Blues", * # | | * 440| "year" : "1997" * # | | * 441| } * # | | * 442| ] * # | | * 443| }, * # | | * 444| "_links" : { * # | | * 445| "cds" : { * # | | * 446| "href" : "/cd?me.artist=1" * # | | * 447| }, * # | | * 448| "cds_cref_cond" : { * # | | * 449| "href" : "/cd/1" * # | | * 450| }, * # | | * 451| "self" : { * # | | * 452| "href" : "/artist/1" * # | | * 453| } * # | | * 454| }, * # | | * 455| "artistid" : "1", * # | | * 456| "charfield" : null, * # | | * 457| "name" : "Caterwauler McCrae", * # | | * 458| "rank" : 13 * # | | * 459| }, * # | | * 460| { * # | | * 461| "_embedded" : { * # | | * 462| "cds" : [ * # | | * 463| { * # | | * 464| "_links" : { * # | | * 465| "artist" : { * # | | * 466| "href" : "/artist/2" * # | | * 467| }, * # | | * 468| "cd_to_producer" : { * # | | * 469| "href" : "/cd_to_producer?me.cd=4" * # | | * 470| }, * # | | * 471| "genre" : { * # | | * 472| "href" : "/genre/3" * # | | * 473| }, * # | | * 474| "self" : { * # | | * 475| "href" : "/cd/4" * # | | * 476| }, * # | | * 477| "tracks" : { * # | | * 478| "href" : "/track?me.cd=4" * # | | * 479| } * # | | * 480| }, * # | | * 481| "artist" : 2, * # | | * 482| "cdid" : "4", * # | | * 483| "genreid" : 3, * # | | * 484| "single_track" : null, * # | | * 485| "title" : "Generic Manufactured Singles", * # | | * 486| "year" : "2001" * # | | * 487| } * # | | * 488| ] * # | | * 489| }, * # | | * 490| "_links" : { * # | | * 491| "cds" : { * # | | * 492| "href" : "/cd?me.artist=2" * # | | * 493| }, * # | | * 494| "cds_cref_cond" : { * # | | * 495| "href" : "/cd/2" * # | | * 496| }, * # | | * 497| "self" : { * # | | * 498| "href" : "/artist/2" * # | | * 499| } * # | | * 500| }, * # | | * 501| "artistid" : "2", * # | | * 502| "charfield" : null, * # | | * 503| "name" : "Random Boy Band", * # | | * 504| "rank" : 13 * # | | * 505| } * # | | * 506| ] * # | 85| }, | 507| }, | # | 86| "_links" : { | 508| "_links" : { | # | | * 509| "next" : { * # | | * 510| "href" : "/artist?rows=2&page=2" * # | | * 511| }, * # | 87| "self" : { | 512| "self" : { | # | 88| "href" : "/artist?rows=2&page=1", | 513| "href" : "/artist?rows=2&page=1", | # | 89| "title" : "TestSchema::Result::Artist" | 514| "title" : "TestSchema::Result::Artist" | # | 90| } | 515| } | # | 91| } | 516| } | # | 92|} | 517|} | # | 93| | 518| | # | 94|=== multi type relation in prefetch on item (many_to_many via JSON) | 519|=== multi type relation in prefetch on item (many_to_many via JSON) | # | 95|Request: | 520|Request: | # | 96|GET /cd/1 PARAMS: prefetch~json=>{"cd_to_producer"=>"producer"} | 521|GET /cd/1 PARAMS: prefetch~json=>{"cd_to_producer"=>"producer"} | # | 97|GET /cd/1?prefetch~json=%7B%22cd_to_producer%22%3A%22producer%22%7D | 522|GET /cd/1?prefetch~json=%7B%22cd_to_producer%22%3A%22producer%22%7D | # | 98|Accept: application/hal+json,application/json | 523|Accept: application/hal+json,application/json | # | 99|Response: | 524|Response: | # * 100|404 Not Found * 525|200 OK * # * 101|Content-type: text/plain * 526|Content-type: application/hal+json * # * 102|Not Found * 527|{ * # | | * 528| "_embedded" : { * # | | * 529| "cd_to_producer" : [ * # | | * 530| { * # | | * 531| "_embedded" : { * # | | * 532| "producer" : { * # | | * 533| "name" : "Matt S Trout", * # | | * 534| "producerid" : 1 * # | | * 535| } * # | | * 536| }, * # | | * 537| "_links" : { * # | | * 538| "cd" : { * # | | * 539| "href" : "/cd/1" * # | | * 540| }, * # | | * 541| "producer" : { * # | | * 542| "href" : "/producer/1" * # | | * 543| }, * # | | * 544| "self" : { * # | | * 545| "href" : "/cd_to_producer/1/1" * # | | * 546| } * # | | * 547| }, * # | | * 548| "attribute" : null, * # | | * 549| "cd" : "1", * # | | * 550| "producer" : "1" * # | | * 551| }, * # | | * 552| { * # | | * 553| "_embedded" : { * # | | * 554| "producer" : { * # | | * 555| "name" : "Bob The Builder", * # | | * 556| "producerid" : 2 * # | | * 557| } * # | | * 558| }, * # | | * 559| "_links" : { * # | | * 560| "cd" : { * # | | * 561| "href" : "/cd/1" * # | | * 562| }, * # | | * 563| "producer" : { * # | | * 564| "href" : "/producer/2" * # | | * 565| }, * # | | * 566| "self" : { * # | | * 567| "href" : "/cd_to_producer/1/2" * # | | * 568| } * # | | * 569| }, * # | | * 570| "attribute" : null, * # | | * 571| "cd" : "1", * # | | * 572| "producer" : "2" * # | | * 573| }, * # | | * 574| { * # | | * 575| "_embedded" : { * # | | * 576| "producer" : { * # | | * 577| "name" : "Fred The Phenotype", * # | | * 578| "producerid" : 3 * # | | * 579| } * # | | * 580| }, * # | | * 581| "_links" : { * # | | * 582| "cd" : { * # | | * 583| "href" : "/cd/1" * # | | * 584| }, * # | | * 585| "producer" : { * # | | * 586| "href" : "/producer/3" * # | | * 587| }, * # | | * 588| "self" : { * # | | * 589| "href" : "/cd_to_producer/1/3" * # | | * 590| } * # | | * 591| }, * # | | * 592| "attribute" : null, * # | | * 593| "cd" : "1", * # | | * 594| "producer" : "3" * # | | * 595| } * # | | * 596| ] * # | | * 597| }, * # | | * 598| "_links" : { * # | | * 599| "artist" : { * # | | * 600| "href" : "/artist/1" * # | | * 601| }, * # | | * 602| "cd_to_producer" : { * # | | * 603| "href" : "/cd_to_producer?me.cd=1" * # | | * 604| }, * # | | * 605| "genre" : { * # | | * 606| "href" : "/genre/1" * # | | * 607| }, * # | | * 608| "self" : { * # | | * 609| "href" : "/cd/1" * # | | * 610| }, * # | | * 611| "tracks" : { * # | | * 612| "href" : "/track?me.cd=1" * # | | * 613| } * # | | * 614| }, * # | | * 615| "artist" : 1, * # | | * 616| "cdid" : "1", * # | | * 617| "genreid" : 1, * # | | * 618| "single_track" : null, * # | | * 619| "title" : "Spoonful of bees", * # | | * 620| "year" : "1999" * # | | * 621|} * # | | * 622|\n * # | 103|=== filter on nested prefetch | 623|=== filter on nested prefetch | # | 104|Request: | 624|Request: | # | 105|GET /artist?rows=2&producer.name=Matt+S+Trout PARAMS: prefetch~json=>{"cds"=>{"cd_to_producer"=>"producer"}} cds.year~json=>{">","0996"} | 625|GET /artist?rows=2&producer.name=Matt+S+Trout PARAMS: prefetch~json=>{"cds"=>{"cd_to_producer"=>"producer"}} cds.year~json=>{">","0996"} | # | 106|GET /artist?rows=2&producer.name=Matt+S+Trout&prefetch~json=%7B%22cds%22%3A%7B%22cd_to_producer%22%3A%22producer%22%7D%7D&cds.year~json=%7B%22%3E%22%3A%220996%22%7D | 626|GET /artist?rows=2&producer.name=Matt+S+Trout&prefetch~json=%7B%22cds%22%3A%7B%22cd_to_producer%22%3A%22producer%22%7D%7D&cds.year~json=%7B%22%3E%22%3A%220996%22%7D | # | 107|Accept: application/hal+json,application/json | 627|Accept: application/hal+json,application/json | # | 108|Response: | 628|Response: | # | 109|200 OK | 629|200 OK | # | 110|Content-type: application/hal+json | 630|Content-type: application/hal+json | # | 111|{ | 631|{ | # | 112| "_embedded" : { | 632| "_embedded" : { | # * 113| "artist" : [] * 633| "artist" : [ * # | | * 634| { * # | | * 635| "_embedded" : { * # | | * 636| "cds" : [ * # | | * 637| { * # | | * 638| "_embedded" : { * # | | * 639| "cd_to_producer" : [ * # | | * 640| { * # | | * 641| "_embedded" : { * # | | * 642| "producer" : { * # | | * 643| "name" : "Matt S Trout", * # | | * 644| "producerid" : 1 * # | | * 645| } * # | | * 646| }, * # | | * 647| "_links" : { * # | | * 648| "cd" : { * # | | * 649| "href" : "/cd/1" * # | | * 650| }, * # | | * 651| "producer" : { * # | | * 652| "href" : "/producer/1" * # | | * 653| }, * # | | * 654| "self" : { * # | | * 655| "href" : "/cd_to_producer/1/1" * # | | * 656| } * # | | * 657| }, * # | | * 658| "attribute" : null, * # | | * 659| "cd" : "1", * # | | * 660| "producer" : "1" * # | | * 661| } * # | | * 662| ] * # | | * 663| }, * # | | * 664| "_links" : { * # | | * 665| "artist" : { * # | | * 666| "href" : "/artist/1" * # | | * 667| }, * # | | * 668| "cd_to_producer" : { * # | | * 669| "href" : "/cd_to_producer?me.cd=1" * # | | * 670| }, * # | | * 671| "genre" : { * # | | * 672| "href" : "/genre/1" * # | | * 673| }, * # | | * 674| "self" : { * # | | * 675| "href" : "/cd/1" * # | | * 676| }, * # | | * 677| "tracks" : { * # | | * 678| "href" : "/track?me.cd=1" * # | | * 679| } * # | | * 680| }, * # | | * 681| "artist" : 1, * # | | * 682| "cdid" : "1", * # | | * 683| "genreid" : 1, * # | | * 684| "single_track" : null, * # | | * 685| "title" : "Spoonful of bees", * # | | * 686| "year" : "1999" * # | | * 687| } * # | | * 688| ] * # | | * 689| }, * # | | * 690| "_links" : { * # | | * 691| "cds" : { * # | | * 692| "href" : "/cd?me.artist=1" * # | | * 693| }, * # | | * 694| "cds_cref_cond" : { * # | | * 695| "href" : "/cd/1" * # | | * 696| }, * # | | * 697| "self" : { * # | | * 698| "href" : "/artist/1" * # | | * 699| } * # | | * 700| }, * # | | * 701| "artistid" : "1", * # | | * 702| "charfield" : null, * # | | * 703| "name" : "Caterwauler McCrae", * # | | * 704| "rank" : 13 * # | | * 705| } * # | | * 706| ] * # | 114| }, | 707| }, | # | 115| "_links" : { | 708| "_links" : { | # | 116| "self" : { | 709| "self" : { | # | 117| "href" : "/artist?rows=2&page=1", | 710| "href" : "/artist?rows=2&page=1", | # | 118| "title" : "TestSchema::Result::Artist" | 711| "title" : "TestSchema::Result::Artist" | # | 119| } | 712| } | # | 120| } | 713| } | # | 121|} | 714|} | # | 122| | 715| | # | 123|=== prefetch with query on ambiguous field | 716|=== prefetch with query on ambiguous field | # | 124|Request: | 717|Request: | # | 125|GET /cd/?me.artist=1&prefetch=artist | 718|GET /cd/?me.artist=1&prefetch=artist | # | 126|Accept: application/hal+json,application/json | 719|Accept: application/hal+json,application/json | # | 127|Response: | 720|Response: | # | 128|200 OK | 721|200 OK | # | 129|Content-type: application/hal+json | 722|Content-type: application/hal+json | # | 130|{ | 723|{ | # | 131| "_embedded" : { | 724| "_embedded" : { | # * 132| "cd" : [] * 725| "cd" : [ * # | | * 726| { * # | | * 727| "_embedded" : { * # | | * 728| "artist" : { * # | | * 729| "artistid" : 1, * # | | * 730| "charfield" : null, * # | | * 731| "name" : "Caterwauler McCrae", * # | | * 732| "rank" : 13 * # | | * 733| } * # | | * 734| }, * # | | * 735| "_links" : { * # | | * 736| "artist" : { * # | | * 737| "href" : "/artist/1" * # | | * 738| }, * # | | * 739| "cd_to_producer" : { * # | | * 740| "href" : "/cd_to_producer?me.cd=1" * # | | * 741| }, * # | | * 742| "genre" : { * # | | * 743| "href" : "/genre/1" * # | | * 744| }, * # | | * 745| "self" : { * # | | * 746| "href" : "/cd/1" * # | | * 747| }, * # | | * 748| "tracks" : { * # | | * 749| "href" : "/track?me.cd=1" * # | | * 750| } * # | | * 751| }, * # | | * 752| "artist" : 1, * # | | * 753| "cdid" : 1, * # | | * 754| "genreid" : 1, * # | | * 755| "single_track" : null, * # | | * 756| "title" : "Spoonful of bees", * # | | * 757| "year" : "1999" * # | | * 758| }, * # | | * 759| { * # | | * 760| "_embedded" : { * # | | * 761| "artist" : { * # | | * 762| "artistid" : 1, * # | | * 763| "charfield" : null, * # | | * 764| "name" : "Caterwauler McCrae", * # | | * 765| "rank" : 13 * # | | * 766| } * # | | * 767| }, * # | | * 768| "_links" : { * # | | * 769| "artist" : { * # | | * 770| "href" : "/artist/1" * # | | * 771| }, * # | | * 772| "cd_to_producer" : { * # | | * 773| "href" : "/cd_to_producer?me.cd=2" * # | | * 774| }, * # | | * 775| "genre" : { * # | | * 776| "href" : "/genre/2" * # | | * 777| }, * # | | * 778| "self" : { * # | | * 779| "href" : "/cd/2" * # | | * 780| }, * # | | * 781| "tracks" : { * # | | * 782| "href" : "/track?me.cd=2" * # | | * 783| } * # | | * 784| }, * # | | * 785| "artist" : 1, * # | | * 786| "cdid" : 2, * # | | * 787| "genreid" : 2, * # | | * 788| "single_track" : null, * # | | * 789| "title" : "Forkful of bees", * # | | * 790| "year" : "2001" * # | | * 791| }, * # | | * 792| { * # | | * 793| "_embedded" : { * # | | * 794| "artist" : { * # | | * 795| "artistid" : 1, * # | | * 796| "charfield" : null, * # | | * 797| "name" : "Caterwauler McCrae", * # | | * 798| "rank" : 13 * # | | * 799| } * # | | * 800| }, * # | | * 801| "_links" : { * # | | * 802| "artist" : { * # | | * 803| "href" : "/artist/1" * # | | * 804| }, * # | | * 805| "cd_to_producer" : { * # | | * 806| "href" : "/cd_to_producer?me.cd=3" * # | | * 807| }, * # | | * 808| "genre" : { * # | | * 809| "href" : "/genre/2" * # | | * 810| }, * # | | * 811| "self" : { * # | | * 812| "href" : "/cd/3" * # | | * 813| }, * # | | * 814| "tracks" : { * # | | * 815| "href" : "/track?me.cd=3" * # | | * 816| } * # | | * 817| }, * # | | * 818| "artist" : 1, * # | | * 819| "cdid" : 3, * # | | * 820| "genreid" : 2, * # | | * 821| "single_track" : null, * # | | * 822| "title" : "Caterwaulin\' Blues", * # | | * 823| "year" : "1997" * # | | * 824| } * # | | * 825| ] * # | 133| }, | 826| }, | # | 134| "_links" : { | 827| "_links" : { | # | 135| "self" : { | 828| "self" : { | # | 136| "href" : "/cd?rows=30&me.artist=1&page=1", | 829| "href" : "/cd?rows=30&me.artist=1&page=1", | # | 137| "title" : "TestSchema::Result::CD" | 830| "title" : "TestSchema::Result::CD" | # | 138| } | 831| } | # | 139| } | 832| } | # | 140|} | 833|} | # | 141| | 834| | # | 142|=== prefetch on invalid name | 835|=== prefetch on invalid name | # | 143|Request: | 836|Request: | # | 144|GET /cd/1?prefetch=nonesuch | 837|GET /cd/1?prefetch=nonesuch | # | 145|Accept: application/hal+json,application/json | 838|Accept: application/hal+json,application/json | # | 146|Response: | 839|Response: | # | 147|400 Bad Request | 840|400 Bad Request | # | 148|Content-type: application/json | 841|Content-type: application/json | # | 149|{ | 842|{ | # | 150| "errors" : [ | 843| "errors" : [ | # | 151| { | 844| { | # | 152| "_meta" : { | 845| "_meta" : { | # | 153| "relationship" : null, | 846| "relationship" : null, | # | 154| "relationships" : [ | 847| "relationships" : [ | # | 155| "artist", | 848| "artist", | # | 156| "cd_to_producer", | 849| "cd_to_producer", | # | 157| "existing_single_track", | 850| "existing_single_track", | # | 158| "genre", | 851| "genre", | # | 159| "single_track", | 852| "single_track", | # | 160| "tracks" | 853| "tracks" | # | 161| ] | 854| ] | # | 162| }, | 855| }, | # | 163| "nonesuch" : "no relationship with that name\\n" | 856| "nonesuch" : "no relationship with that name\\n" | # | 164| } | 857| } | # | 165| ] | 858| ] | # | 166|} | 859|} | # | 167| | 860| | # | 168|=== prefetch on set with partial response of prefetched items | 861|=== prefetch on set with partial response of prefetched items | # | 169|Request: | 862|Request: | # | 170|GET /cd?rows=2&page=1&prefetch=artist,genre&fields=cdid,artist,genreid,genre.genreid,artist.artistid | 863|GET /cd?rows=2&page=1&prefetch=artist,genre&fields=cdid,artist,genreid,genre.genreid,artist.artistid | # | 171|Accept: application/hal+json,application/json | 864|Accept: application/hal+json,application/json | # | 172|Response: | 865|Response: | # | 173|200 OK | 866|200 OK | # | 174|Content-type: application/hal+json | 867|Content-type: application/hal+json | # | 175|{ | 868|{ | # | 176| "_embedded" : { | 869| "_embedded" : { | # * 177| "cd" : [] * 870| "cd" : [ * # | | * 871| { * # | | * 872| "_embedded" : { * # | | * 873| "artist" : { * # | | * 874| "artistid" : 1 * # | | * 875| }, * # | | * 876| "genre" : { * # | | * 877| "genreid" : 1 * # | | * 878| } * # | | * 879| }, * # | | * 880| "_links" : { * # | | * 881| "artist" : { * # | | * 882| "href" : "/artist/1" * # | | * 883| }, * # | | * 884| "cd_to_producer" : { * # | | * 885| "href" : "/cd_to_producer?me.cd=1" * # | | * 886| }, * # | | * 887| "genre" : { * # | | * 888| "href" : "/genre/1" * # | | * 889| }, * # | | * 890| "self" : { * # | | * 891| "href" : "/cd/1" * # | | * 892| }, * # | | * 893| "tracks" : { * # | | * 894| "href" : "/track?me.cd=1" * # | | * 895| } * # | | * 896| }, * # | | * 897| "artist" : 1, * # | | * 898| "cdid" : 1, * # | | * 899| "genreid" : 1 * # | | * 900| }, * # | | * 901| { * # | | * 902| "_embedded" : { * # | | * 903| "artist" : { * # | | * 904| "artistid" : 1 * # | | * 905| }, * # | | * 906| "genre" : { * # | | * 907| "genreid" : 2 * # | | * 908| } * # | | * 909| }, * # | | * 910| "_links" : { * # | | * 911| "artist" : { * # | | * 912| "href" : "/artist/1" * # | | * 913| }, * # | | * 914| "cd_to_producer" : { * # | | * 915| "href" : "/cd_to_producer?me.cd=2" * # | | * 916| }, * # | | * 917| "genre" : { * # | | * 918| "href" : "/genre/2" * # | | * 919| }, * # | | * 920| "self" : { * # | | * 921| "href" : "/cd/2" * # | | * 922| }, * # | | * 923| "tracks" : { * # | | * 924| "href" : "/track?me.cd=2" * # | | * 925| } * # | | * 926| }, * # | | * 927| "artist" : 1, * # | | * 928| "cdid" : 2, * # | | * 929| "genreid" : 2 * # | | * 930| } * # | | * 931| ] * # | 178| }, | 932| }, | # | 179| "_links" : { | 933| "_links" : { | # | | * 934| "next" : { * # | | * 935| "href" : "/cd?rows=2&page=2" * # | | * 936| }, * # | 180| "self" : { | 937| "self" : { | # | 181| "href" : "/cd?rows=2&page=1", | 938| "href" : "/cd?rows=2&page=1", | # | 182| "title" : "TestSchema::Result::CD" | 939| "title" : "TestSchema::Result::CD" | # | 183| } | 940| } | # | 184| } | 941| } | # | 185|} | 942|} | # | 186| | 943| | # | 187|=== prefetch on item with partial response of prefetched item | 944|=== prefetch on item with partial response of prefetched item | # | 188|Request: | 945|Request: | # | 189|GET /cd/1?prefetch=artist,genre&fields=cdid,artist,genreid,artist.artistid,genre.genreid | 946|GET /cd/1?prefetch=artist,genre&fields=cdid,artist,genreid,artist.artistid,genre.genreid | # | 190|Accept: application/hal+json,application/json | 947|Accept: application/hal+json,application/json | # | 191|Response: | 948|Response: | # * 192|404 Not Found * 949|200 OK * # * 193|Content-type: text/plain * 950|Content-type: application/hal+json * # * 194|Not Found * 951|{ * # | | * 952| "_embedded" : { * # | | * 953| "artist" : { * # | | * 954| "artistid" : 1 * # | | * 955| }, * # | | * 956| "genre" : { * # | | * 957| "genreid" : 1 * # | | * 958| } * # | | * 959| }, * # | | * 960| "_links" : { * # | | * 961| "artist" : { * # | | * 962| "href" : "/artist/1" * # | | * 963| }, * # | | * 964| "cd_to_producer" : { * # | | * 965| "href" : "/cd_to_producer?me.cd=1" * # | | * 966| }, * # | | * 967| "genre" : { * # | | * 968| "href" : "/genre/1" * # | | * 969| }, * # | | * 970| "self" : { * # | | * 971| "href" : "/cd/1" * # | | * 972| }, * # | | * 973| "tracks" : { * # | | * 974| "href" : "/track?me.cd=1" * # | | * 975| } * # | | * 976| }, * # | | * 977| "artist" : 1, * # | | * 978| "cdid" : 1, * # | | * 979| "genreid" : 1 * # | | * 980|} * # | | * 981|\n * # | 195|' | 982|' | # +----+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+----+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ # Looks like you failed 1 test of 1. # Failed test '===== Prefetch =====' # at t/40-prefetch-hal.t line 20. # Looks like you failed 2 tests of 2. t/40-prefetch-hal.t ...... importing fixtures - deleting existing temp directory /tmp/jKL9z7Ai_4 - creating temp dir not ok 1 - Fixtures Installed # Subtest: ===== Prefetch ===== # --- Config: # --- Name: prefetch on an item using two belongs_to relationships # GET /cd/1?prefetch=artist,genre # Vary: Accept # Content-Length: 9 # Content-Type: text/plain # --- Name: prefetch on a set using two belongs_to relationships # GET /cd?rows=2&page=1&prefetch=artist,genre # Vary: Accept # Content-Length: 103 # Content-Type: application/hal+json # --- Name: filter on prefetched relation field # GET /cd?prefetch=artist&artist.name=Random+Boy+Band # Vary: Accept # Content-Length: 104 # Content-Type: application/hal+json # --- Name: filter on prefetch with JSON # GET /cd?prefetch=artist&artist.name~json=%7B%22like%22%3A%22%25Band%22%7D # Vary: Accept # Content-Length: 104 # Content-Type: application/hal+json # --- Name: multi type relation (has_many) in prefetch on item # GET /artist/1?prefetch=cds&order=cds.cdid # Vary: Accept # Content-Length: 9 # Content-Type: text/plain # --- Name: multi type relation (has_many) in prefetch on set # GET /artist?prefetch=cds&order=me.artistid,cds.cdid&rows=2 # Vary: Accept # Content-Length: 115 # Content-Type: application/hal+json # --- Name: multi type relation in prefetch on item (many_to_many via JSON) # GET /cd/1?prefetch~json=%7B%22cd_to_producer%22%3A%22producer%22%7D # Vary: Accept # Content-Length: 9 # Content-Type: text/plain # --- Name: filter on nested prefetch # GET /artist?rows=2&producer.name=Matt+S+Trout&prefetch~json=%7B%22cds%22%3A%7B%22cd_to_producer%22%3A%22producer%22%7D%7D&cds.year~json=%7B%22%3E%22%3A%220996%22%7D # Vary: Accept # Content-Length: 115 # Content-Type: application/hal+json # --- Name: prefetch with query on ambiguous field # GET /cd/?me.artist=1&prefetch=artist # Vary: Accept # Content-Length: 116 # Content-Type: application/hal+json # --- Name: prefetch on invalid name # GET /cd/1?prefetch=nonesuch # Content-Length: 389 # Content-Type: application/json # --- Name: prefetch on set with partial response of prefetched items # GET /cd?rows=2&page=1&prefetch=artist,genre&fields=cdid,artist,genreid,genre.genreid,artist.artistid # Vary: Accept # Content-Length: 103 # Content-Type: application/hal+json # --- Name: prefetch on item with partial response of prefetched item # GET /cd/1?prefetch=artist,genre&fields=cdid,artist,genreid,artist.artistid,genre.genreid # Vary: Accept # Content-Length: 9 # Content-Type: text/plain not ok 1 - 40-prefetch-hal.t output in t/40-prefetch-hal.got matches t/40-prefetch-hal.exp 1..1 not ok 2 - ===== Prefetch ===== 1..2 Dubious, test returned 2 (wstat 512, 0x200) Failed 2/2 subtests Class::MOP::load_class is deprecated at /Users/fly1400/var/megalib/Class/MOP.pm line 68. Class::MOP::load_class("TestSchema") called at /Users/fly1400/var/megalib/Test/DBIx/Class/Types.pm line 24 Test::DBIx::Class::Types::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 64 Moose::Meta::TypeCoercion::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 99 Moose::Meta::TypeCoercion::coerce(Moose::Meta::TypeCoercion=HASH(0x100e82c70), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeConstraint.pm line 144 Moose::Meta::TypeConstraint::coerce(Moose::Meta::TypeConstraint=HASH(0x100e831f8), "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 219 MooseX::Types::TypeDecorator::_try_delegate(MooseX::Types::TypeDecorator=HASH(0x100ebef40), "coerce", "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 184 MooseX::Types::TypeDecorator::AUTOLOAD(MooseX::Types::TypeDecorator=HASH(0x100ebef40), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 1249 Moose::Meta::Attribute::_coerce_and_verify(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec9948), "TestSchema", Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100a6b558)) called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 511 Moose::Meta::Attribute::initialize_instance_slot(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec9948), Moose::Meta::Instance=HASH(0x1020aeeb8), Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100a6b558), HASH(0x100a6bd20)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 525 Class::MOP::Class::_construct_instance(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6bd20)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 495 Class::MOP::Class::new_object(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6bd20)) called at /Users/fly1400/var/megalib/Moose/Meta/Class.pm line 273 Moose::Meta::Class::new_object(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6bd20)) called at /Users/fly1400/var/megalib/Moose/Object.pm line 23 Moose::Object::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100a6b2b8)) called at constructor Test::DBIx::Class::SchemaManager::new (defined at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 241) line 4 Test::DBIx::Class::SchemaManager::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100a6b2b8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 153 Test::DBIx::Class::SchemaManager::initialize_schema("Test::DBIx::Class::SchemaManager", HASH(0x100a6b2b8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 646 eval {...} called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 645 Test::DBIx::Class::_initialize_schema("Test::DBIx::Class", HASH(0x100de5aa8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 353 Test::DBIx::Class::_initialize("Test::DBIx::Class") called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 36 Test::DBIx::Class::import("Test::DBIx::Class") called at (eval 34) line 2 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 eval 'package main; use Test::DBIx::Class ;' called at /Users/fly1400/var/megalib/ToolSet.pm line 71 ToolSet::import("TestKit") called at t/40-prefetch-jsonapi.t line 7 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 # Failed test 'Fixtures Installed' # at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 156. # {UNKNOWN}: DateTime version 1 required--this is only version 0.73 at /Users/fly1400/var/megalib/DateTime/Format/Builder.pm line 11. # BEGIN failed--compilation aborted at /Users/fly1400/var/megalib/DateTime/Format/Builder.pm line 11. # Compilation failed in require at /Users/fly1400/var/megalib/DateTime/Format/SQLite.pm line 72. # BEGIN failed--compilation aborted at /Users/fly1400/var/megalib/DateTime/Format/SQLite.pm line 72. # Compilation failed in require at /Users/fly1400/var/megalib/Class/C3/Componentised.pm line 150. at /Users/fly1400/var/megalib/Class/C3/Componentised.pm line 155 # Failed test '40-prefetch-jsonapi.t output in t/40-prefetch-jsonapi.got matches t/40-prefetch-jsonapi.exp' # at t/lib/TestDS.pm line 67. # +----+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+----+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ # | Ln|Got | Ln|Expected | # +----+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+----+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ # | 1|'=== prefetch on an item using two belongs_to relationships | 1|'=== prefetch on an item using two belongs_to relationships | # | 2|Request: | 2|Request: | # | 3|GET /cd/1?prefetch=artist,genre | 3|GET /cd/1?prefetch=artist,genre | # | 4|Accept: application/vnd.api+json | 4|Accept: application/vnd.api+json | # | 5|Response: | 5|Response: | # * 6|404 Not Found * 6|200 OK * # * 7|Content-type: text/plain * 7|Content-type: application/vnd.api+json * # * 8|Not Found * 8|{ * # | | * 9| "cd" : [ * # | | * 10| { * # | | * 11| "artist" : 1, * # | | * 12| "cdid" : 1, * # | | * 13| "genreid" : 1, * # | | * 14| "href" : "/cd/1", * # | | * 15| "id" : 1, * # | | * 16| "links" : { * # | | * 17| "artist" : 1, * # | | * 18| "genre" : 1 * # | | * 19| }, * # | | * 20| "single_track" : null, * # | | * 21| "title" : "Spoonful of bees", * # | | * 22| "type" : "cd", * # | | * 23| "year" : "1999" * # | | * 24| } * # | | * 25| ], * # | | * 26| "linked" : { * # | | * 27| "artist" : [ * # | | * 28| { * # | | * 29| "artistid" : 1, * # | | * 30| "charfield" : null, * # | | * 31| "href" : "/artist/1", * # | | * 32| "id" : 1, * # | | * 33| "name" : "Caterwauler McCrae", * # | | * 34| "rank" : 13, * # | | * 35| "type" : "artist" * # | | * 36| } * # | | * 37| ], * # | | * 38| "genre" : [ * # | | * 39| { * # | | * 40| "genreid" : 1, * # | | * 41| "href" : "/genre/1", * # | | * 42| "id" : 1, * # | | * 43| "name" : "emo", * # | | * 44| "type" : "genre" * # | | * 45| } * # | | * 46| ] * # | | * 47| }, * # | | * 48| "links" : { * # | | * 49| "cd.artist" : { * # | | * 50| "href" : "/artist/{artist.artist}", * # | | * 51| "type" : "artist" * # | | * 52| }, * # | | * 53| "cd.genre" : { * # | | * 54| "href" : "/genre/{genre.genreid}", * # | | * 55| "type" : "genre" * # | | * 56| } * # | | * 57| } * # | | * 58|} * # | | * 59|\n * # | 9|=== prefetch on a set using two belongs_to relationships | 60|=== prefetch on a set using two belongs_to relationships | # | 10|Request: | 61|Request: | # | 11|GET /cd?rows=2&page=1&prefetch=artist,genre | 62|GET /cd?rows=2&page=1&prefetch=artist,genre | # | 12|Accept: application/vnd.api+json | 63|Accept: application/vnd.api+json | # | 13|Response: | 64|Response: | # | 14|200 OK | 65|200 OK | # | 15|Content-type: application/vnd.api+json | 66|Content-type: application/vnd.api+json | # | 16|{ | 67|{ | # * 17| "cd" : [], * 68| "cd" : [ * # | | * 69| { * # | | * 70| "artist" : 1, * # | | * 71| "cdid" : 1, * # | | * 72| "genreid" : 1, * # | | * 73| "href" : "/cd/1", * # | | * 74| "id" : 1, * # | | * 75| "links" : { * # | | * 76| "artist" : 1, * # | | * 77| "genre" : 1 * # | | * 78| }, * # | | * 79| "single_track" : null, * # | | * 80| "title" : "Spoonful of bees", * # | | * 81| "type" : "cd", * # | | * 82| "year" : "1999" * # | | * 83| }, * # | | * 84| { * # | | * 85| "artist" : 1, * # | | * 86| "cdid" : 2, * # | | * 87| "genreid" : 2, * # | | * 88| "href" : "/cd/2", * # | | * 89| "id" : 2, * # | | * 90| "links" : { * # | | * 91| "artist" : 1, * # | | * 92| "genre" : 2 * # | | * 93| }, * # | | * 94| "single_track" : null, * # | | * 95| "title" : "Forkful of bees", * # | | * 96| "type" : "cd", * # | | * 97| "year" : "2001" * # | | * 98| } * # | | * 99| ], * # | | * 100| "linked" : { * # | | * 101| "artist" : [ * # | | * 102| { * # | | * 103| "artistid" : 1, * # | | * 104| "charfield" : null, * # | | * 105| "href" : "/artist/1", * # | | * 106| "id" : 1, * # | | * 107| "name" : "Caterwauler McCrae", * # | | * 108| "rank" : 13, * # | | * 109| "type" : "artist" * # | | * 110| } * # | | * 111| ], * # | | * 112| "genre" : [ * # | | * 113| { * # | | * 114| "genreid" : 1, * # | | * 115| "href" : "/genre/1", * # | | * 116| "id" : 1, * # | | * 117| "name" : "emo", * # | | * 118| "type" : "genre" * # | | * 119| }, * # | | * 120| { * # | | * 121| "genreid" : 2, * # | | * 122| "href" : "/genre/2", * # | | * 123| "id" : 2, * # | | * 124| "name" : "country", * # | | * 125| "type" : "genre" * # | | * 126| } * # | | * 127| ] * # | | * 128| }, * # | 18| "links" : { | 129| "links" : { | # | 19| "cd.artist" : { | 130| "cd.artist" : { | # | 20| "href" : "/artist/{artist.artist}", | 131| "href" : "/artist/{artist.artist}", | # | 21| "type" : "artist" | 132| "type" : "artist" | # | 22| }, | 133| }, | # | 23| "cd.genre" : { | 134| "cd.genre" : { | # | 24| "href" : "/genre/{genre.genreid}", | 135| "href" : "/genre/{genre.genreid}", | # | 25| "type" : "genre" | 136| "type" : "genre" | # | 26| } | 137| } | # | 27| } | 138| } | # | 28|} | 139|} | # | 29| | 140| | # | 30|=== filter on prefetched relation field | 141|=== filter on prefetched relation field | # | 31|Request: | 142|Request: | # | 32|GET /cd?prefetch=artist&artist.name=Random+Boy+Band | 143|GET /cd?prefetch=artist&artist.name=Random+Boy+Band | # | 33|Accept: application/vnd.api+json | 144|Accept: application/vnd.api+json | # | 34|Response: | 145|Response: | # | 35|200 OK | 146|200 OK | # | 36|Content-type: application/vnd.api+json | 147|Content-type: application/vnd.api+json | # | 37|{ | 148|{ | # * 38| "cd" : [], * 149| "cd" : [ * # | | * 150| { * # | | * 151| "artist" : 2, * # | | * 152| "cdid" : 4, * # | | * 153| "genreid" : 3, * # | | * 154| "href" : "/cd/4", * # | | * 155| "id" : 4, * # | | * 156| "links" : { * # | | * 157| "artist" : 2 * # | | * 158| }, * # | | * 159| "single_track" : null, * # | | * 160| "title" : "Generic Manufactured Singles", * # | | * 161| "type" : "cd", * # | | * 162| "year" : "2001" * # | | * 163| } * # | | * 164| ], * # | | * 165| "linked" : { * # | | * 166| "artist" : [ * # | | * 167| { * # | | * 168| "artistid" : 2, * # | | * 169| "charfield" : null, * # | | * 170| "href" : "/artist/2", * # | | * 171| "id" : 2, * # | | * 172| "name" : "Random Boy Band", * # | | * 173| "rank" : 13, * # | | * 174| "type" : "artist" * # | | * 175| } * # | | * 176| ] * # | | * 177| }, * # | 39| "links" : { | 178| "links" : { | # | 40| "cd.artist" : { | 179| "cd.artist" : { | # | 41| "href" : "/artist/{artist.artist}", | 180| "href" : "/artist/{artist.artist}", | # | 42| "type" : "artist" | 181| "type" : "artist" | # | 43| } | 182| } | # | 44| } | 183| } | # | 45|} | 184|} | # | 46| | 185| | # | 47|=== filter on prefetch with JSON | 186|=== filter on prefetch with JSON | # | 48|Request: | 187|Request: | # | 49|GET /cd?prefetch=artist PARAMS: artist.name~json=>{"like"=>"%Band"} | 188|GET /cd?prefetch=artist PARAMS: artist.name~json=>{"like"=>"%Band"} | # | 50|GET /cd?prefetch=artist&artist.name~json=%7B%22like%22%3A%22%25Band%22%7D | 189|GET /cd?prefetch=artist&artist.name~json=%7B%22like%22%3A%22%25Band%22%7D | # | 51|Accept: application/vnd.api+json | 190|Accept: application/vnd.api+json | # | 52|Response: | 191|Response: | # | 53|200 OK | 192|200 OK | # | 54|Content-type: application/vnd.api+json | 193|Content-type: application/vnd.api+json | # | 55|{ | 194|{ | # * 56| "cd" : [], * 195| "cd" : [ * # | | * 196| { * # | | * 197| "artist" : 2, * # | | * 198| "cdid" : 4, * # | | * 199| "genreid" : 3, * # | | * 200| "href" : "/cd/4", * # | | * 201| "id" : 4, * # | | * 202| "links" : { * # | | * 203| "artist" : 2 * # | | * 204| }, * # | | * 205| "single_track" : null, * # | | * 206| "title" : "Generic Manufactured Singles", * # | | * 207| "type" : "cd", * # | | * 208| "year" : "2001" * # | | * 209| } * # | | * 210| ], * # | | * 211| "linked" : { * # | | * 212| "artist" : [ * # | | * 213| { * # | | * 214| "artistid" : 2, * # | | * 215| "charfield" : null, * # | | * 216| "href" : "/artist/2", * # | | * 217| "id" : 2, * # | | * 218| "name" : "Random Boy Band", * # | | * 219| "rank" : 13, * # | | * 220| "type" : "artist" * # | | * 221| } * # | | * 222| ] * # | | * 223| }, * # | 57| "links" : { | 224| "links" : { | # | 58| "cd.artist" : { | 225| "cd.artist" : { | # | 59| "href" : "/artist/{artist.artist}", | 226| "href" : "/artist/{artist.artist}", | # | 60| "type" : "artist" | 227| "type" : "artist" | # | 61| } | 228| } | # | 62| } | 229| } | # | 63|} | 230|} | # | 64| | 231| | # | 65|=== multi type relation (has_many) in prefetch on item | 232|=== multi type relation (has_many) in prefetch on item | # | 66|Request: | 233|Request: | # | 67|GET /artist/1?prefetch=cds&order=cds.cdid | 234|GET /artist/1?prefetch=cds&order=cds.cdid | # | 68|Accept: application/vnd.api+json | 235|Accept: application/vnd.api+json | # | 69|Response: | 236|Response: | # * 70|404 Not Found * 237|200 OK * # * 71|Content-type: text/plain * 238|Content-type: application/vnd.api+json * # * 72|Not Found * 239|{ * # | | * 240| "artist" : [ * # | | * 241| { * # | | * 242| "artistid" : "1", * # | | * 243| "charfield" : null, * # | | * 244| "href" : "/artist/1", * # | | * 245| "id" : "1", * # | | * 246| "links" : { * # | | * 247| "cds" : [ * # | | * 248| "1", * # | | * 249| "2", * # | | * 250| "3" * # | | * 251| ] * # | | * 252| }, * # | | * 253| "name" : "Caterwauler McCrae", * # | | * 254| "rank" : 13, * # | | * 255| "type" : "artist" * # | | * 256| } * # | | * 257| ], * # | | * 258| "linked" : { * # | | * 259| "cds" : [ * # | | * 260| { * # | | * 261| "artist" : 1, * # | | * 262| "cdid" : "1", * # | | * 263| "genreid" : 1, * # | | * 264| "href" : "/cd/1", * # | | * 265| "id" : "1", * # | | * 266| "single_track" : null, * # | | * 267| "title" : "Spoonful of bees", * # | | * 268| "type" : "cd", * # | | * 269| "year" : "1999" * # | | * 270| }, * # | | * 271| { * # | | * 272| "artist" : 1, * # | | * 273| "cdid" : "2", * # | | * 274| "genreid" : 2, * # | | * 275| "href" : "/cd/2", * # | | * 276| "id" : "2", * # | | * 277| "single_track" : null, * # | | * 278| "title" : "Forkful of bees", * # | | * 279| "type" : "cd", * # | | * 280| "year" : "2001" * # | | * 281| }, * # | | * 282| { * # | | * 283| "artist" : 1, * # | | * 284| "cdid" : "3", * # | | * 285| "genreid" : 2, * # | | * 286| "href" : "/cd/3", * # | | * 287| "id" : "3", * # | | * 288| "single_track" : null, * # | | * 289| "title" : "Caterwaulin\' Blues", * # | | * 290| "type" : "cd", * # | | * 291| "year" : "1997" * # | | * 292| } * # | | * 293| ] * # | | * 294| }, * # | | * 295| "links" : { * # | | * 296| "artist.cds" : { * # | | * 297| "href" : "/cd?me.artist={cds.artistid}", * # | | * 298| "type" : "cd" * # | | * 299| } * # | | * 300| } * # | | * 301|} * # | | * 302|\n * # | 73|=== multi type relation (has_many) in prefetch on set | 303|=== multi type relation (has_many) in prefetch on set | # | 74|Request: | 304|Request: | # | 75|GET /artist?prefetch=cds&order=me.artistid,cds.cdid&rows=2 | 305|GET /artist?prefetch=cds&order=me.artistid,cds.cdid&rows=2 | # | 76|Accept: application/vnd.api+json | 306|Accept: application/vnd.api+json | # | 77|Response: | 307|Response: | # | 78|200 OK | 308|200 OK | # | 79|Content-type: application/vnd.api+json | 309|Content-type: application/vnd.api+json | # | 80|{ | 310|{ | # * 81| "artist" : [], * 311| "artist" : [ * # | | * 312| { * # | | * 313| "artistid" : "1", * # | | * 314| "charfield" : null, * # | | * 315| "href" : "/artist/1", * # | | * 316| "id" : "1", * # | | * 317| "links" : { * # | | * 318| "cds" : [ * # | | * 319| "1", * # | | * 320| "2", * # | | * 321| "3" * # | | * 322| ] * # | | * 323| }, * # | | * 324| "name" : "Caterwauler McCrae", * # | | * 325| "rank" : 13, * # | | * 326| "type" : "artist" * # | | * 327| }, * # | | * 328| { * # | | * 329| "artistid" : "2", * # | | * 330| "charfield" : null, * # | | * 331| "href" : "/artist/2", * # | | * 332| "id" : "2", * # | | * 333| "links" : { * # | | * 334| "cds" : [ * # | | * 335| "4" * # | | * 336| ] * # | | * 337| }, * # | | * 338| "name" : "Random Boy Band", * # | | * 339| "rank" : 13, * # | | * 340| "type" : "artist" * # | | * 341| } * # | | * 342| ], * # | | * 343| "linked" : { * # | | * 344| "cds" : [ * # | | * 345| { * # | | * 346| "artist" : 1, * # | | * 347| "cdid" : "1", * # | | * 348| "genreid" : 1, * # | | * 349| "href" : "/cd/1", * # | | * 350| "id" : "1", * # | | * 351| "single_track" : null, * # | | * 352| "title" : "Spoonful of bees", * # | | * 353| "type" : "cd", * # | | * 354| "year" : "1999" * # | | * 355| }, * # | | * 356| { * # | | * 357| "artist" : 1, * # | | * 358| "cdid" : "2", * # | | * 359| "genreid" : 2, * # | | * 360| "href" : "/cd/2", * # | | * 361| "id" : "2", * # | | * 362| "single_track" : null, * # | | * 363| "title" : "Forkful of bees", * # | | * 364| "type" : "cd", * # | | * 365| "year" : "2001" * # | | * 366| }, * # | | * 367| { * # | | * 368| "artist" : 1, * # | | * 369| "cdid" : "3", * # | | * 370| "genreid" : 2, * # | | * 371| "href" : "/cd/3", * # | | * 372| "id" : "3", * # | | * 373| "single_track" : null, * # | | * 374| "title" : "Caterwaulin\' Blues", * # | | * 375| "type" : "cd", * # | | * 376| "year" : "1997" * # | | * 377| }, * # | | * 378| { * # | | * 379| "artist" : 2, * # | | * 380| "cdid" : "4", * # | | * 381| "genreid" : 3, * # | | * 382| "href" : "/cd/4", * # | | * 383| "id" : "4", * # | | * 384| "single_track" : null, * # | | * 385| "title" : "Generic Manufactured Singles", * # | | * 386| "type" : "cd", * # | | * 387| "year" : "2001" * # | | * 388| } * # | | * 389| ] * # | | * 390| }, * # | 82| "links" : { | 391| "links" : { | # | 83| "artist.cds" : { | 392| "artist.cds" : { | # | 84| "href" : "/cd?me.artist={cds.artistid}", | 393| "href" : "/cd?me.artist={cds.artistid}", | # | 85| "type" : "cd" | 394| "type" : "cd" | # | 86| } | 395| } | # | 87| } | 396| } | # | 88|} | 397|} | # | 89| | 398| | # | 90|=== multi type relation in prefetch on item (many_to_many via JSON) | 399|=== multi type relation in prefetch on item (many_to_many via JSON) | # | 91|Request: | 400|Request: | # | 92|GET /cd/1 PARAMS: prefetch~json=>{"cd_to_producer"=>"producer"} | 401|GET /cd/1 PARAMS: prefetch~json=>{"cd_to_producer"=>"producer"} | # | 93|GET /cd/1?prefetch~json=%7B%22cd_to_producer%22%3A%22producer%22%7D | 402|GET /cd/1?prefetch~json=%7B%22cd_to_producer%22%3A%22producer%22%7D | # | 94|Accept: application/vnd.api+json | 403|Accept: application/vnd.api+json | # | 95|Response: | 404|Response: | # * 96|404 Not Found * 405|200 OK * # * 97|Content-type: text/plain * 406|Content-type: application/vnd.api+json * # * 98|Not Found * 407|{ * # | | * 408| "cd" : [ * # | | * 409| { * # | | * 410| "artist" : 1, * # | | * 411| "cdid" : "1", * # | | * 412| "genreid" : 1, * # | | * 413| "href" : "/cd/1", * # | | * 414| "id" : "1", * # | | * 415| "single_track" : null, * # | | * 416| "title" : "Spoonful of bees", * # | | * 417| "type" : "cd", * # | | * 418| "year" : "1999" * # | | * 419| } * # | | * 420| ] * # | | * 421|} * # | | * 422|\n * # | 99|=== filter on nested prefetch | 423|=== filter on nested prefetch | # | 100|Request: | 424|Request: | # | 101|GET /artist?rows=2&producer.name=Matt+S+Trout PARAMS: prefetch~json=>{"cds"=>{"cd_to_producer"=>"producer"}} cds.year~json=>{">","0996"} | 425|GET /artist?rows=2&producer.name=Matt+S+Trout PARAMS: prefetch~json=>{"cds"=>{"cd_to_producer"=>"producer"}} cds.year~json=>{">","0996"} | # | 102|GET /artist?rows=2&producer.name=Matt+S+Trout&prefetch~json=%7B%22cds%22%3A%7B%22cd_to_producer%22%3A%22producer%22%7D%7D&cds.year~json=%7B%22%3E%22%3A%220996%22%7D | 426|GET /artist?rows=2&producer.name=Matt+S+Trout&prefetch~json=%7B%22cds%22%3A%7B%22cd_to_producer%22%3A%22producer%22%7D%7D&cds.year~json=%7B%22%3E%22%3A%220996%22%7D | # | 103|Accept: application/vnd.api+json | 427|Accept: application/vnd.api+json | # | 104|Response: | 428|Response: | # | 105|200 OK | 429|200 OK | # | 106|Content-type: application/vnd.api+json | 430|Content-type: application/vnd.api+json | # | 107|{ | 431|{ | # * 108| "artist" : [], * 432| "artist" : [ * # | | * 433| { * # | | * 434| "artistid" : "1", * # | | * 435| "charfield" : null, * # | | * 436| "href" : "/artist/1", * # | | * 437| "id" : "1", * # | | * 438| "links" : { * # | | * 439| "cds" : [ * # | | * 440| "1" * # | | * 441| ] * # | | * 442| }, * # | | * 443| "name" : "Caterwauler McCrae", * # | | * 444| "rank" : 13, * # | | * 445| "type" : "artist" * # | | * 446| } * # | | * 447| ], * # | | * 448| "linked" : { * # | | * 449| "cds" : [ * # | | * 450| { * # | | * 451| "artist" : 1, * # | | * 452| "cdid" : "1", * # | | * 453| "genreid" : 1, * # | | * 454| "href" : "/cd/1", * # | | * 455| "id" : "1", * # | | * 456| "single_track" : null, * # | | * 457| "title" : "Spoonful of bees", * # | | * 458| "type" : "cd", * # | | * 459| "year" : "1999" * # | | * 460| } * # | | * 461| ] * # | | * 462| }, * # | 109| "links" : { | 463| "links" : { | # | 110| "artist.cds" : { | 464| "artist.cds" : { | # | 111| "href" : "/cd?me.artist={cds.artistid}", | 465| "href" : "/cd?me.artist={cds.artistid}", | # | 112| "type" : "cd" | 466| "type" : "cd" | # | 113| } | 467| } | # | 114| } | 468| } | # | 115|} | 469|} | # | 116| | 470| | # | 117|=== prefetch with query on ambiguous field | 471|=== prefetch with query on ambiguous field | # | 118|Request: | 472|Request: | # | 119|GET /cd/?me.artist=1&prefetch=artist | 473|GET /cd/?me.artist=1&prefetch=artist | # | 120|Accept: application/vnd.api+json | 474|Accept: application/vnd.api+json | # | 121|Response: | 475|Response: | # | 122|200 OK | 476|200 OK | # | 123|Content-type: application/vnd.api+json | 477|Content-type: application/vnd.api+json | # | 124|{ | 478|{ | # * 125| "cd" : [], * 479| "cd" : [ * # | | * 480| { * # | | * 481| "artist" : 1, * # | | * 482| "cdid" : 1, * # | | * 483| "genreid" : 1, * # | | * 484| "href" : "/cd/1", * # | | * 485| "id" : 1, * # | | * 486| "links" : { * # | | * 487| "artist" : 1 * # | | * 488| }, * # | | * 489| "single_track" : null, * # | | * 490| "title" : "Spoonful of bees", * # | | * 491| "type" : "cd", * # | | * 492| "year" : "1999" * # | | * 493| }, * # | | * 494| { * # | | * 495| "artist" : 1, * # | | * 496| "cdid" : 2, * # | | * 497| "genreid" : 2, * # | | * 498| "href" : "/cd/2", * # | | * 499| "id" : 2, * # | | * 500| "links" : { * # | | * 501| "artist" : 1 * # | | * 502| }, * # | | * 503| "single_track" : null, * # | | * 504| "title" : "Forkful of bees", * # | | * 505| "type" : "cd", * # | | * 506| "year" : "2001" * # | | * 507| }, * # | | * 508| { * # | | * 509| "artist" : 1, * # | | * 510| "cdid" : 3, * # | | * 511| "genreid" : 2, * # | | * 512| "href" : "/cd/3", * # | | * 513| "id" : 3, * # | | * 514| "links" : { * # | | * 515| "artist" : 1 * # | | * 516| }, * # | | * 517| "single_track" : null, * # | | * 518| "title" : "Caterwaulin\' Blues", * # | | * 519| "type" : "cd", * # | | * 520| "year" : "1997" * # | | * 521| } * # | | * 522| ], * # | | * 523| "linked" : { * # | | * 524| "artist" : [ * # | | * 525| { * # | | * 526| "artistid" : 1, * # | | * 527| "charfield" : null, * # | | * 528| "href" : "/artist/1", * # | | * 529| "id" : 1, * # | | * 530| "name" : "Caterwauler McCrae", * # | | * 531| "rank" : 13, * # | | * 532| "type" : "artist" * # | | * 533| } * # | | * 534| ] * # | | * 535| }, * # | 126| "links" : { | 536| "links" : { | # | 127| "cd.artist" : { | 537| "cd.artist" : { | # | 128| "href" : "/artist/{artist.artist}", | 538| "href" : "/artist/{artist.artist}", | # | 129| "type" : "artist" | 539| "type" : "artist" | # | 130| } | 540| } | # | 131| } | 541| } | # | 132|} | 542|} | # | 133| | 543| | # | 134|=== prefetch on invalid name | 544|=== prefetch on invalid name | # | 135|Request: | 545|Request: | # | 136|GET /cd/1?prefetch=nonesuch | 546|GET /cd/1?prefetch=nonesuch | # | 137|Accept: application/vnd.api+json | 547|Accept: application/vnd.api+json | # | 138|Response: | 548|Response: | # | 139|400 Bad Request | 549|400 Bad Request | # | 140|Content-type: application/json | 550|Content-type: application/json | # | 141|{ | 551|{ | # | 142| "errors" : [ | 552| "errors" : [ | # | 143| { | 553| { | # | 144| "_meta" : { | 554| "_meta" : { | # | 145| "relationship" : null, | 555| "relationship" : null, | # | 146| "relationships" : [ | 556| "relationships" : [ | # | 147| "artist", | 557| "artist", | # | 148| "cd_to_producer", | 558| "cd_to_producer", | # | 149| "existing_single_track", | 559| "existing_single_track", | # | 150| "genre", | 560| "genre", | # | 151| "single_track", | 561| "single_track", | # | 152| "tracks" | 562| "tracks" | # | 153| ] | 563| ] | # | 154| }, | 564| }, | # | 155| "nonesuch" : "no relationship with that name\\n" | 565| "nonesuch" : "no relationship with that name\\n" | # | 156| } | 566| } | # | 157| ] | 567| ] | # | 158|} | 568|} | # | 159| | 569| | # | 160|=== prefetch on set with partial response of prefetched items | 570|=== prefetch on set with partial response of prefetched items | # | 161|Request: | 571|Request: | # | 162|GET /cd?rows=2&page=1&prefetch=artist,genre&fields=cdid,artist,genreid,genre.genreid,artist.artistid | 572|GET /cd?rows=2&page=1&prefetch=artist,genre&fields=cdid,artist,genreid,genre.genreid,artist.artistid | # | 163|Accept: application/vnd.api+json | 573|Accept: application/vnd.api+json | # | 164|Response: | 574|Response: | # | 165|200 OK | 575|200 OK | # | 166|Content-type: application/vnd.api+json | 576|Content-type: application/vnd.api+json | # | 167|{ | 577|{ | # * 168| "cd" : [], * 578| "cd" : [ * # | | * 579| { * # | | * 580| "artist" : 1, * # | | * 581| "cdid" : 1, * # | | * 582| "genreid" : 1, * # | | * 583| "href" : "/cd/1", * # | | * 584| "id" : 1, * # | | * 585| "links" : { * # | | * 586| "artist" : 1, * # | | * 587| "genre" : 1 * # | | * 588| }, * # | | * 589| "type" : "cd" * # | | * 590| }, * # | | * 591| { * # | | * 592| "artist" : 1, * # | | * 593| "cdid" : 2, * # | | * 594| "genreid" : 2, * # | | * 595| "href" : "/cd/2", * # | | * 596| "id" : 2, * # | | * 597| "links" : { * # | | * 598| "artist" : 1, * # | | * 599| "genre" : 2 * # | | * 600| }, * # | | * 601| "type" : "cd" * # | | * 602| } * # | | * 603| ], * # | | * 604| "linked" : { * # | | * 605| "artist" : [ * # | | * 606| { * # | | * 607| "artistid" : 1, * # | | * 608| "href" : "/artist/1", * # | | * 609| "id" : 1, * # | | * 610| "type" : "artist" * # | | * 611| } * # | | * 612| ], * # | | * 613| "genre" : [ * # | | * 614| { * # | | * 615| "genreid" : 1, * # | | * 616| "href" : "/genre/1", * # | | * 617| "id" : 1, * # | | * 618| "type" : "genre" * # | | * 619| }, * # | | * 620| { * # | | * 621| "genreid" : 2, * # | | * 622| "href" : "/genre/2", * # | | * 623| "id" : 2, * # | | * 624| "type" : "genre" * # | | * 625| } * # | | * 626| ] * # | | * 627| }, * # | 169| "links" : { | 628| "links" : { | # | 170| "cd.artist" : { | 629| "cd.artist" : { | # | 171| "href" : "/artist/{artist.artist}", | 630| "href" : "/artist/{artist.artist}", | # | 172| "type" : "artist" | 631| "type" : "artist" | # | 173| }, | 632| }, | # | 174| "cd.genre" : { | 633| "cd.genre" : { | # | 175| "href" : "/genre/{genre.genreid}", | 634| "href" : "/genre/{genre.genreid}", | # | 176| "type" : "genre" | 635| "type" : "genre" | # | 177| } | 636| } | # | 178| } | 637| } | # | 179|} | 638|} | # | 180| | 639| | # | 181|=== prefetch on item with partial response of prefetched item | 640|=== prefetch on item with partial response of prefetched item | # | 182|Request: | 641|Request: | # | 183|GET /cd/1?prefetch=artist,genre&fields=cdid,artist,genreid,artist.artistid,genre.genreid | 642|GET /cd/1?prefetch=artist,genre&fields=cdid,artist,genreid,artist.artistid,genre.genreid | # | 184|Accept: application/vnd.api+json | 643|Accept: application/vnd.api+json | # | 185|Response: | 644|Response: | # * 186|404 Not Found * 645|200 OK * # * 187|Content-type: text/plain * 646|Content-type: application/vnd.api+json * # * 188|Not Found * 647|{ * # | | * 648| "cd" : [ * # | | * 649| { * # | | * 650| "artist" : 1, * # | | * 651| "cdid" : 1, * # | | * 652| "genreid" : 1, * # | | * 653| "href" : "/cd/1", * # | | * 654| "id" : 1, * # | | * 655| "links" : { * # | | * 656| "artist" : 1, * # | | * 657| "genre" : 1 * # | | * 658| }, * # | | * 659| "type" : "cd" * # | | * 660| } * # | | * 661| ], * # | | * 662| "linked" : { * # | | * 663| "artist" : [ * # | | * 664| { * # | | * 665| "artistid" : 1, * # | | * 666| "href" : "/artist/1", * # | | * 667| "id" : 1, * # | | * 668| "type" : "artist" * # | | * 669| } * # | | * 670| ], * # | | * 671| "genre" : [ * # | | * 672| { * # | | * 673| "genreid" : 1, * # | | * 674| "href" : "/genre/1", * # | | * 675| "id" : 1, * # | | * 676| "type" : "genre" * # | | * 677| } * # | | * 678| ] * # | | * 679| }, * # | | * 680| "links" : { * # | | * 681| "cd.artist" : { * # | | * 682| "href" : "/artist/{artist.artist}", * # | | * 683| "type" : "artist" * # | | * 684| }, * # | | * 685| "cd.genre" : { * # | | * 686| "href" : "/genre/{genre.genreid}", * # | | * 687| "type" : "genre" * # | | * 688| } * # | | * 689| } * # | | * 690|} * # | | * 691|\n * # | 189|' | 692|' | # +----+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+----+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ # Looks like you failed 1 test of 1. # Failed test '===== Prefetch =====' # at t/40-prefetch-jsonapi.t line 20. # Looks like you failed 2 tests of 2. t/40-prefetch-jsonapi.t .. importing fixtures - deleting existing temp directory /tmp/SrkWQ8MqCq - creating temp dir not ok 1 - Fixtures Installed # Subtest: ===== Prefetch ===== # --- Config: # --- Name: prefetch on an item using two belongs_to relationships # GET /cd/1?prefetch=artist,genre # Vary: Accept # Content-Length: 9 # Content-Type: text/plain # --- Name: prefetch on a set using two belongs_to relationships # GET /cd?rows=2&page=1&prefetch=artist,genre # Vary: Accept # Content-Length: 142 # Content-Type: application/vnd.api+json # --- Name: filter on prefetched relation field # GET /cd?prefetch=artist&artist.name=Random+Boy+Band # Vary: Accept # Content-Length: 82 # Content-Type: application/vnd.api+json # --- Name: filter on prefetch with JSON # GET /cd?prefetch=artist&artist.name~json=%7B%22like%22%3A%22%25Band%22%7D # Vary: Accept # Content-Length: 82 # Content-Type: application/vnd.api+json # --- Name: multi type relation (has_many) in prefetch on item # GET /artist/1?prefetch=cds&order=cds.cdid # Vary: Accept # Content-Length: 9 # Content-Type: text/plain # --- Name: multi type relation (has_many) in prefetch on set # GET /artist?prefetch=cds&order=me.artistid,cds.cdid&rows=2 # Vary: Accept # Content-Length: 88 # Content-Type: application/vnd.api+json # --- Name: multi type relation in prefetch on item (many_to_many via JSON) # GET /cd/1?prefetch~json=%7B%22cd_to_producer%22%3A%22producer%22%7D # Vary: Accept # Content-Length: 9 # Content-Type: text/plain # --- Name: filter on nested prefetch # GET /artist?rows=2&producer.name=Matt+S+Trout&prefetch~json=%7B%22cds%22%3A%7B%22cd_to_producer%22%3A%22producer%22%7D%7D&cds.year~json=%7B%22%3E%22%3A%220996%22%7D # Vary: Accept # Content-Length: 88 # Content-Type: application/vnd.api+json # --- Name: prefetch with query on ambiguous field # GET /cd/?me.artist=1&prefetch=artist # Vary: Accept # Content-Length: 82 # Content-Type: application/vnd.api+json # --- Name: prefetch on invalid name # GET /cd/1?prefetch=nonesuch # Content-Length: 389 # Content-Type: application/json # --- Name: prefetch on set with partial response of prefetched items # GET /cd?rows=2&page=1&prefetch=artist,genre&fields=cdid,artist,genreid,genre.genreid,artist.artistid # Vary: Accept # Content-Length: 142 # Content-Type: application/vnd.api+json # --- Name: prefetch on item with partial response of prefetched item # GET /cd/1?prefetch=artist,genre&fields=cdid,artist,genreid,artist.artistid,genre.genreid # Vary: Accept # Content-Length: 9 # Content-Type: text/plain not ok 1 - 40-prefetch-jsonapi.t output in t/40-prefetch-jsonapi.got matches t/40-prefetch-jsonapi.exp 1..1 not ok 2 - ===== Prefetch ===== 1..2 Dubious, test returned 2 (wstat 512, 0x200) Failed 2/2 subtests Class::MOP::load_class is deprecated at /Users/fly1400/var/megalib/Class/MOP.pm line 68. Class::MOP::load_class("TestSchema") called at /Users/fly1400/var/megalib/Test/DBIx/Class/Types.pm line 24 Test::DBIx::Class::Types::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 64 Moose::Meta::TypeCoercion::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 99 Moose::Meta::TypeCoercion::coerce(Moose::Meta::TypeCoercion=HASH(0x100e82e70), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeConstraint.pm line 144 Moose::Meta::TypeConstraint::coerce(Moose::Meta::TypeConstraint=HASH(0x100e833f8), "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 219 MooseX::Types::TypeDecorator::_try_delegate(MooseX::Types::TypeDecorator=HASH(0x100ebf140), "coerce", "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 184 MooseX::Types::TypeDecorator::AUTOLOAD(MooseX::Types::TypeDecorator=HASH(0x100ebf140), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 1249 Moose::Meta::Attribute::_coerce_and_verify(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec9b48), "TestSchema", Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100a6b758)) called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 511 Moose::Meta::Attribute::initialize_instance_slot(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec9b48), Moose::Meta::Instance=HASH(0x1020aeeb8), Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100a6b758), HASH(0x100a6bf20)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 525 Class::MOP::Class::_construct_instance(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6bf20)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 495 Class::MOP::Class::new_object(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6bf20)) called at /Users/fly1400/var/megalib/Moose/Meta/Class.pm line 273 Moose::Meta::Class::new_object(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6bf20)) called at /Users/fly1400/var/megalib/Moose/Object.pm line 23 Moose::Object::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100a6b4b8)) called at constructor Test::DBIx::Class::SchemaManager::new (defined at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 241) line 4 Test::DBIx::Class::SchemaManager::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100a6b4b8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 153 Test::DBIx::Class::SchemaManager::initialize_schema("Test::DBIx::Class::SchemaManager", HASH(0x100a6b4b8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 646 eval {...} called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 645 Test::DBIx::Class::_initialize_schema("Test::DBIx::Class", HASH(0x100de5ca8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 353 Test::DBIx::Class::_initialize("Test::DBIx::Class") called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 36 Test::DBIx::Class::import("Test::DBIx::Class") called at (eval 34) line 2 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 eval 'package main; use Test::DBIx::Class ;' called at /Users/fly1400/var/megalib/ToolSet.pm line 71 ToolSet::import("TestKit") called at t/50-modify-core.t line 5 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 # Failed test 'Fixtures Installed' # at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 156. # {UNKNOWN}: DateTime version 1 required--this is only version 0.73 at /Users/fly1400/var/megalib/DateTime/Format/Builder.pm line 11. # BEGIN failed--compilation aborted at /Users/fly1400/var/megalib/DateTime/Format/Builder.pm line 11. # Compilation failed in require at /Users/fly1400/var/megalib/DateTime/Format/SQLite.pm line 72. # BEGIN failed--compilation aborted at /Users/fly1400/var/megalib/DateTime/Format/SQLite.pm line 72. # Compilation failed in require at /Users/fly1400/var/megalib/Class/C3/Componentised.pm line 150. at /Users/fly1400/var/megalib/Class/C3/Componentised.pm line 155 # Failed test '/artist includes 1' # at t/50-modify-core.t line 28. # got: '' # expected: 'HASH' # Failed test '/artist includes 2' # at t/50-modify-core.t line 28. # got: '' # expected: 'HASH' # Failed test '/artist includes 3' # at t/50-modify-core.t line 28. # got: '' # expected: 'HASH' # Failed test '/artist data looks sane' # at t/50-modify-core.t line 29. # Failed test 'new item has new id' # at t/50-modify-core.t line 44. # Looks like you failed 5 tests of 43. # Failed test '===== Create - POST =====' # at t/50-modify-core.t line 108. # Looks like you failed 2 tests of 2. t/50-modify-core.t ....... importing fixtures - deleting existing temp directory /tmp/tJRBroxcOM - creating temp dir not ok 1 - Fixtures Installed # Subtest: ===== Create - POST ===== # GET /artist ok 1 ok 2 - response is a ref not ok 3 - /artist includes 1 not ok 4 - /artist includes 2 not ok 5 - /artist includes 3 not 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/1 ok 10 ok 11 - response is a ref ok 12 - new item has id not 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/2 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/2 ok 26 ok 27 - no response body # GET /artist/2 ok 28 ok 29 - response is a ref ok 30 # put with prefetch=self # PUT /artist/2?prefetch=self ok 31 ok 32 - response is a ref ok 33 - has response body ok 34 - prefetch response has updated rank # GET /artist/2 ok 35 ok 36 - response is a ref ok 37 - returned prefetch matches item at location # ===== Delete - DELETE ===== # DELETE /artist/1 ok 38 ok 39 - no response body # GET /person_types/1 ok 40 # DELETE /artist/2 ok 41 ok 42 - no response body # GET /person_types/2 ok 43 1..43 not ok 2 - ===== Create - POST ===== 1..2 Dubious, test returned 2 (wstat 512, 0x200) Failed 2/2 subtests Class::MOP::load_class is deprecated at /Users/fly1400/var/megalib/Class/MOP.pm line 68. Class::MOP::load_class("TestSchema") called at /Users/fly1400/var/megalib/Test/DBIx/Class/Types.pm line 24 Test::DBIx::Class::Types::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 64 Moose::Meta::TypeCoercion::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 99 Moose::Meta::TypeCoercion::coerce(Moose::Meta::TypeCoercion=HASH(0x100e82e70), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeConstraint.pm line 144 Moose::Meta::TypeConstraint::coerce(Moose::Meta::TypeConstraint=HASH(0x100e833f8), "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 219 MooseX::Types::TypeDecorator::_try_delegate(MooseX::Types::TypeDecorator=HASH(0x100ebf140), "coerce", "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 184 MooseX::Types::TypeDecorator::AUTOLOAD(MooseX::Types::TypeDecorator=HASH(0x100ebf140), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 1249 Moose::Meta::Attribute::_coerce_and_verify(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec9b48), "TestSchema", Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100a6b758)) called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 511 Moose::Meta::Attribute::initialize_instance_slot(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec9b48), Moose::Meta::Instance=HASH(0x1020aeeb8), Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100a6b758), HASH(0x100a6bf20)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 525 Class::MOP::Class::_construct_instance(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6bf20)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 495 Class::MOP::Class::new_object(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6bf20)) called at /Users/fly1400/var/megalib/Moose/Meta/Class.pm line 273 Moose::Meta::Class::new_object(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6bf20)) called at /Users/fly1400/var/megalib/Moose/Object.pm line 23 Moose::Object::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100a6b4b8)) called at constructor Test::DBIx::Class::SchemaManager::new (defined at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 241) line 4 Test::DBIx::Class::SchemaManager::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100a6b4b8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 153 Test::DBIx::Class::SchemaManager::initialize_schema("Test::DBIx::Class::SchemaManager", HASH(0x100a6b4b8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 646 eval {...} called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 645 Test::DBIx::Class::_initialize_schema("Test::DBIx::Class", HASH(0x100de5ca8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 353 Test::DBIx::Class::_initialize("Test::DBIx::Class") called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 36 Test::DBIx::Class::import("Test::DBIx::Class") called at (eval 34) line 2 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 eval 'package main; use Test::DBIx::Class ;' called at /Users/fly1400/var/megalib/ToolSet.pm line 71 ToolSet::import("TestKit") called at t/50-modify-hal.t line 5 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 # Failed test 'Fixtures Installed' # at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 156. # {UNKNOWN}: DateTime version 1 required--this is only version 0.73 at /Users/fly1400/var/megalib/DateTime/Format/Builder.pm line 11. # BEGIN failed--compilation aborted at /Users/fly1400/var/megalib/DateTime/Format/Builder.pm line 11. # Compilation failed in require at /Users/fly1400/var/megalib/DateTime/Format/SQLite.pm line 72. # BEGIN failed--compilation aborted at /Users/fly1400/var/megalib/DateTime/Format/SQLite.pm line 72. # Compilation failed in require at /Users/fly1400/var/megalib/Class/C3/Componentised.pm line 150. at /Users/fly1400/var/megalib/Class/C3/Componentised.pm line 155 # Failed test 'set has at least 2 items' # at t/50-modify-hal.t line 25. # '0' # >= # '2' # Failed test '/artist includes 1' # at t/50-modify-hal.t line 28. # got: '' # expected: 'HASH' # Failed test '/artist includes 2' # at t/50-modify-hal.t line 28. # got: '' # expected: 'HASH' # Failed test '/artist includes 3' # at t/50-modify-hal.t line 28. # got: '' # expected: 'HASH' # Failed test '/artist data looks sane' # at t/50-modify-hal.t line 29. # Failed test 'new item has new id' # at t/50-modify-hal.t line 44. TestSchema::Result::Artist relationship cds_90s has coderef-based condition which is not handled yet - unknown crosstable_cond_key # Looks like you failed 6 tests of 47. # Failed test '===== Create - POST =====' # at t/50-modify-hal.t line 111. # Looks like you failed 2 tests of 2. t/50-modify-hal.t ........ importing fixtures - deleting existing temp directory /tmp/uIMC7xB7Wl - creating temp dir not ok 1 - Fixtures Installed # 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 not ok 6 - set has at least 2 items not ok 7 - /artist includes 1 not ok 8 - /artist includes 2 not ok 9 - /artist includes 3 not 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/1 ok 14 ok 15 - response is a ref ok 16 - new item has id not 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/2 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/2 ok 30 ok 31 - no response body # GET /artist/2 ok 32 ok 33 - response is a ref ok 34 # put with prefetch=self # PUT /artist/2?prefetch=self ok 35 ok 36 - response is a ref ok 37 - has response body ok 38 - prefetch response has updated rank # GET /artist/2 ok 39 ok 40 - response is a ref ok 41 - returned prefetch matches item at location # ===== Delete - DELETE ===== # DELETE /artist/1 ok 42 ok 43 - no response body # GET /person_types/1 ok 44 # DELETE /artist/2 ok 45 ok 46 - no response body # GET /person_types/2 ok 47 1..47 not ok 2 - ===== Create - POST ===== 1..2 Dubious, test returned 2 (wstat 512, 0x200) Failed 2/2 subtests Class::MOP::load_class is deprecated at /Users/fly1400/var/megalib/Class/MOP.pm line 68. Class::MOP::load_class("TestSchema") called at /Users/fly1400/var/megalib/Test/DBIx/Class/Types.pm line 24 Test::DBIx::Class::Types::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 64 Moose::Meta::TypeCoercion::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 99 Moose::Meta::TypeCoercion::coerce(Moose::Meta::TypeCoercion=HASH(0x100e82c70), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeConstraint.pm line 144 Moose::Meta::TypeConstraint::coerce(Moose::Meta::TypeConstraint=HASH(0x100e831f8), "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 219 MooseX::Types::TypeDecorator::_try_delegate(MooseX::Types::TypeDecorator=HASH(0x100ebef40), "coerce", "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 184 MooseX::Types::TypeDecorator::AUTOLOAD(MooseX::Types::TypeDecorator=HASH(0x100ebef40), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 1249 Moose::Meta::Attribute::_coerce_and_verify(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec9948), "TestSchema", Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100a6b558)) called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 511 Moose::Meta::Attribute::initialize_instance_slot(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec9948), Moose::Meta::Instance=HASH(0x1020aeeb8), Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100a6b558), HASH(0x100a6bd20)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 525 Class::MOP::Class::_construct_instance(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6bd20)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 495 Class::MOP::Class::new_object(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6bd20)) called at /Users/fly1400/var/megalib/Moose/Meta/Class.pm line 273 Moose::Meta::Class::new_object(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6bd20)) called at /Users/fly1400/var/megalib/Moose/Object.pm line 23 Moose::Object::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100a6b2b8)) called at constructor Test::DBIx::Class::SchemaManager::new (defined at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 241) line 4 Test::DBIx::Class::SchemaManager::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100a6b2b8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 153 Test::DBIx::Class::SchemaManager::initialize_schema("Test::DBIx::Class::SchemaManager", HASH(0x100a6b2b8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 646 eval {...} called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 645 Test::DBIx::Class::_initialize_schema("Test::DBIx::Class", HASH(0x100de5aa8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 353 Test::DBIx::Class::_initialize("Test::DBIx::Class") called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 36 Test::DBIx::Class::import("Test::DBIx::Class") called at (eval 34) line 2 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 eval 'package main; use Test::DBIx::Class ;' called at /Users/fly1400/var/megalib/ToolSet.pm line 71 ToolSet::import("TestKit") called at t/52-post_rel-hal.t line 5 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 # Failed test 'Fixtures Installed' # at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 156. # {UNKNOWN}: DateTime version 1 required--this is only version 0.73 at /Users/fly1400/var/megalib/DateTime/Format/Builder.pm line 11. # BEGIN failed--compilation aborted at /Users/fly1400/var/megalib/DateTime/Format/Builder.pm line 11. # Compilation failed in require at /Users/fly1400/var/megalib/DateTime/Format/SQLite.pm line 72. # BEGIN failed--compilation aborted at /Users/fly1400/var/megalib/DateTime/Format/SQLite.pm line 72. # Compilation failed in require at /Users/fly1400/var/megalib/Class/C3/Componentised.pm line 150. at /Users/fly1400/var/megalib/Class/C3/Componentised.pm line 155 TestSchema::Result::Track relationship next_tracks has coderef-based condition which is not handled yet - unknown crosstable_cond_key # Looks like you failed 1 test of 2. t/52-post_rel-hal.t ...... importing fixtures - deleting existing temp directory /tmp/9l_gp_vK6E - creating temp dir not ok 1 - Fixtures Installed # 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 Dubious, test returned 1 (wstat 256, 0x100) Failed 1/2 subtests Class::MOP::load_class is deprecated at /Users/fly1400/var/megalib/Class/MOP.pm line 68. Class::MOP::load_class("TestSchema") called at /Users/fly1400/var/megalib/Test/DBIx/Class/Types.pm line 24 Test::DBIx::Class::Types::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 64 Moose::Meta::TypeCoercion::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 99 Moose::Meta::TypeCoercion::coerce(Moose::Meta::TypeCoercion=HASH(0x100e82a70), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeConstraint.pm line 144 Moose::Meta::TypeConstraint::coerce(Moose::Meta::TypeConstraint=HASH(0x100e82ff8), "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 219 MooseX::Types::TypeDecorator::_try_delegate(MooseX::Types::TypeDecorator=HASH(0x100ebed40), "coerce", "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 184 MooseX::Types::TypeDecorator::AUTOLOAD(MooseX::Types::TypeDecorator=HASH(0x100ebed40), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 1249 Moose::Meta::Attribute::_coerce_and_verify(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec9748), "TestSchema", Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100a6b358)) called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 511 Moose::Meta::Attribute::initialize_instance_slot(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec9748), Moose::Meta::Instance=HASH(0x1020aeeb8), Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100a6b358), HASH(0x100a6bb20)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 525 Class::MOP::Class::_construct_instance(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6bb20)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 495 Class::MOP::Class::new_object(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6bb20)) called at /Users/fly1400/var/megalib/Moose/Meta/Class.pm line 273 Moose::Meta::Class::new_object(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6bb20)) called at /Users/fly1400/var/megalib/Moose/Object.pm line 23 Moose::Object::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100efe768)) called at constructor Test::DBIx::Class::SchemaManager::new (defined at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 241) line 4 Test::DBIx::Class::SchemaManager::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100efe768)) called at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 153 Test::DBIx::Class::SchemaManager::initialize_schema("Test::DBIx::Class::SchemaManager", HASH(0x100efe768)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 646 eval {...} called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 645 Test::DBIx::Class::_initialize_schema("Test::DBIx::Class", HASH(0x100de58a8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 353 Test::DBIx::Class::_initialize("Test::DBIx::Class") called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 36 Test::DBIx::Class::import("Test::DBIx::Class") called at (eval 34) line 2 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 eval 'package main; use Test::DBIx::Class ;' called at /Users/fly1400/var/megalib/ToolSet.pm line 71 ToolSet::import("TestKit") called at t/53-put_rel-core.t line 5 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 # Failed test 'Fixtures Installed' # at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 156. # {UNKNOWN}: DateTime version 1 required--this is only version 0.73 at /Users/fly1400/var/megalib/DateTime/Format/Builder.pm line 11. # BEGIN failed--compilation aborted at /Users/fly1400/var/megalib/DateTime/Format/Builder.pm line 11. # Compilation failed in require at /Users/fly1400/var/megalib/DateTime/Format/SQLite.pm line 72. # BEGIN failed--compilation aborted at /Users/fly1400/var/megalib/DateTime/Format/SQLite.pm line 72. # Compilation failed in require at /Users/fly1400/var/megalib/Class/C3/Componentised.pm line 150. at /Users/fly1400/var/megalib/Class/C3/Componentised.pm line 155 Exception: Can't call method "result_source" on an undefined value at /Users/fly1400/var/cpan/build/WebAPI-DBIC-0.002003-2Cig9k/blib/lib/WebAPI/DBIC/Resource/Role/ItemWritable.pm line 97. Exception: Can't call method "result_source" on an undefined value at /Users/fly1400/var/cpan/build/WebAPI-DBIC-0.002003-2Cig9k/blib/lib/WebAPI/DBIC/Resource/Role/ItemWritable.pm line 97. # Failed test '53-put_rel-core.t output in t/53-put_rel-core.got matches t/53-put_rel-core.exp' # at t/lib/TestDS.pm line 67. # +---+----------------------------------------------------------------------------------+---+----------------------------------------------------------------------------------+ # | Ln|Got | Ln|Expected | # +---+----------------------------------------------------------------------------------+---+----------------------------------------------------------------------------------+ # | 1|'=== POST to the set to create a Track to edit (on an existing CD) | 1|'=== POST to the set to create a Track to edit (on an existing CD) | # | 2|Request: | 2|Request: | # | 3|POST /track?prefetch=self | 3|POST /track?prefetch=self | # | 4|{ "title":"Just One More", "position":4200, "cd":2 } | 4|{ "title":"Just One More", "position":4200, "cd":2 } | # | 5|Response: | 5|Response: | # | 6|201 Created | 6|201 Created | # | 7|Content-type: application/json | 7|Content-type: application/json | # * 8|Location: /track/1 * 8|Location: /track/19 * # | 9|{ | 9|{ | # | 10| "cd" : 2, | 10| "cd" : 2, | # | 11| "last_updated_at" : null, | 11| "last_updated_at" : null, | # | 12| "last_updated_on" : null, | 12| "last_updated_on" : null, | # | 13| "position" : 4200, | 13| "position" : 4200, | # | 14| "title" : "Just One More", | 14| "title" : "Just One More", | # * 15| "trackid" : 1 * 15| "trackid" : 19 * # | 16|} | 16|} | # | 17| | 17| | # | 18|=== update the title (19 hardwired for now) and prefetch self and disc (ignored) | 18|=== update the title (19 hardwired for now) and prefetch self and disc (ignored) | # | 19|Request: | 19|Request: | # | 20|PUT /track/19?prefetch=self,disc | 20|PUT /track/19?prefetch=self,disc | # | 21|{ "title":"Just One More (remix)" } | 21|{ "title":"Just One More (remix)" } | # | 22|Response: | 22|Response: | # * 23|500 Internal Server Error * 23|200 OK * # | 24|Content-type: application/json | 24|Content-type: application/json | # | | * 25|{ * # | | * 26| "cd" : 2, * # | | * 27| "last_updated_at" : null, * # | | * 28| "last_updated_on" : null, * # | | * 29| "position" : 4200, * # | | * 30| "title" : "Just One More (remix)", * # | | * 31| "trackid" : 19 * # | | * 32|} * # | | * 33|\n * # | 25|=== update the track id (primary key) | 34|=== update the track id (primary key) | # | 26|Request: | 35|Request: | # | 27|PUT /track/19?prefetch=self | 36|PUT /track/19?prefetch=self | # | 28|{ "trackid":1900 } | 37|{ "trackid":1900 } | # | 29|Response: | 38|Response: | # * 30|500 Internal Server Error * 39|200 OK * # | 31|Content-type: application/json | 40|Content-type: application/json | # | | * 41|{ * # | | * 42| "cd" : 2, * # | | * 43| "last_updated_at" : null, * # | | * 44| "last_updated_on" : null, * # | | * 45| "position" : 4200, * # | | * 46| "title" : "Just One More (remix)", * # | | * 47| "trackid" : 1900 * # | | * 48|} * # | | * 49|\n * # | 32|=== delete the track we just added | 50|=== delete the track we just added | # | 33|Request: | 51|Request: | # | 34|DELETE /track/1900 | 52|DELETE /track/1900 | # | 35|Response: | 53|Response: | # * 36|404 Not Found * 54|204 No Content * # * 37|Content-type: text/plain * 55|Content-type: application/json * # * 38|Not Found * | | # | 39|' | 56|' | # +---+----------------------------------------------------------------------------------+---+----------------------------------------------------------------------------------+ Exception: DBIx::Class::Storage::DBI::_dbh_execute(): DBI Exception: DBD::SQLite::st execute failed: UNIQUE constraint failed: track.cd, track.title [for Statement "INSERT INTO track ( cd, position, title) VALUES ( ?, ?, ? )"] at /Users/fly1400/var/cpan/build/WebAPI-DBIC-0.002003-2Cig9k/blib/lib/WebAPI/DBIC/Resource/Role/SetWritable.pm line 62 # Failed test at t/53-put_rel-core.t line 28. # status doesn't match, expected HTTP status code '201', got 500 # 500 Internal Server Error # Vary: Accept # Content-Length: 0 # Content-Type: application/json # # Failed test 'has Location header' # at t/53-put_rel-core.t line 28. Use of uninitialized value in concatenation (.) or string at t/53-put_rel-core.t line 33. # Failed test at t/53-put_rel-core.t line 36. # status doesn't match, expected HTTP status code '200', got 405 # 405 Method Not Allowed # Allow: GET, HEAD, POST # Content-Length: 18 # Content-Type: text/plain # # Method Not Allowed # Failed test 'return data' # at t/53-put_rel-core.t line 38. # got: '' # expected: 'HASH' # Failed test 'has trackid assigned' # at t/53-put_rel-core.t line 39. # Failed test at t/53-put_rel-core.t line 40. # got: undef # expected: 'Just One More (remix)' Use of uninitialized value in concatenation (.) or string at t/53-put_rel-core.t line 46. Not a HASH reference at t/53-put_rel-core.t line 47. # Tests were run but no plan was declared and done_testing() was not seen. # Looks like your test exited with 2 just after 1. t/53-put_rel-core.t ...... importing fixtures - deleting existing temp directory /tmp/rCbT7D2Lth - creating temp dir not ok 1 - Fixtures Installed # Subtest: ===== Update a resource and related resources via PUT ===== # --- Config: # --- Name: POST to the set to create a Track to edit (on an existing CD) # POST /track?prefetch=self # Location: /track/1 # Vary: Accept # Content-Length: 106 # Content-Type: application/json # --- Name: update the title (19 hardwired for now) and prefetch self and disc (ignored) # PUT /track/19?prefetch=self,disc # Vary: Accept # Content-Length: 0 # Content-Type: application/json # --- Name: update the track id (primary key) # PUT /track/19?prefetch=self # Vary: Accept # Content-Length: 0 # Content-Type: application/json # --- Name: delete the track we just added # DELETE /track/1900 # Vary: Accept # Content-Length: 9 # Content-Type: text/plain not ok 1 - 53-put_rel-core.t output in t/53-put_rel-core.got matches t/53-put_rel-core.exp # POST /track?prefetch=self not ok 2 not ok 3 - has Location header # PUT /track/?prefetch=self,disc not ok 4 not ok 5 - return data not ok 6 - has trackid assigned not ok 7 ok 8 - has same position assigned # recheck data as a separate request # GET /track/?prefetch=self,disc ok 9 ok 10 - response is a ref Dubious, test returned 2 (wstat 512, 0x200) Failed 1/1 subtests Class::MOP::load_class is deprecated at /Users/fly1400/var/megalib/Class/MOP.pm line 68. Class::MOP::load_class("TestSchema") called at /Users/fly1400/var/megalib/Test/DBIx/Class/Types.pm line 24 Test::DBIx::Class::Types::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 64 Moose::Meta::TypeCoercion::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 99 Moose::Meta::TypeCoercion::coerce(Moose::Meta::TypeCoercion=HASH(0x100e82a70), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeConstraint.pm line 144 Moose::Meta::TypeConstraint::coerce(Moose::Meta::TypeConstraint=HASH(0x100e82ff8), "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 219 MooseX::Types::TypeDecorator::_try_delegate(MooseX::Types::TypeDecorator=HASH(0x100ebed40), "coerce", "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 184 MooseX::Types::TypeDecorator::AUTOLOAD(MooseX::Types::TypeDecorator=HASH(0x100ebed40), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 1249 Moose::Meta::Attribute::_coerce_and_verify(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec9748), "TestSchema", Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100a6b358)) called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 511 Moose::Meta::Attribute::initialize_instance_slot(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec9748), Moose::Meta::Instance=HASH(0x1020aeeb8), Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100a6b358), HASH(0x100a6bb20)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 525 Class::MOP::Class::_construct_instance(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6bb20)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 495 Class::MOP::Class::new_object(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6bb20)) called at /Users/fly1400/var/megalib/Moose/Meta/Class.pm line 273 Moose::Meta::Class::new_object(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6bb20)) called at /Users/fly1400/var/megalib/Moose/Object.pm line 23 Moose::Object::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100efe768)) called at constructor Test::DBIx::Class::SchemaManager::new (defined at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 241) line 4 Test::DBIx::Class::SchemaManager::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100efe768)) called at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 153 Test::DBIx::Class::SchemaManager::initialize_schema("Test::DBIx::Class::SchemaManager", HASH(0x100efe768)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 646 eval {...} called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 645 Test::DBIx::Class::_initialize_schema("Test::DBIx::Class", HASH(0x100de58a8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 353 Test::DBIx::Class::_initialize("Test::DBIx::Class") called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 36 Test::DBIx::Class::import("Test::DBIx::Class") called at (eval 34) line 2 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 eval 'package main; use Test::DBIx::Class ;' called at /Users/fly1400/var/megalib/ToolSet.pm line 71 ToolSet::import("TestKit") called at t/53-put_rel-hal.t line 5 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 # Failed test 'Fixtures Installed' # at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 156. # {UNKNOWN}: DateTime version 1 required--this is only version 0.73 at /Users/fly1400/var/megalib/DateTime/Format/Builder.pm line 11. # BEGIN failed--compilation aborted at /Users/fly1400/var/megalib/DateTime/Format/Builder.pm line 11. # Compilation failed in require at /Users/fly1400/var/megalib/DateTime/Format/SQLite.pm line 72. # BEGIN failed--compilation aborted at /Users/fly1400/var/megalib/DateTime/Format/SQLite.pm line 72. # Compilation failed in require at /Users/fly1400/var/megalib/Class/C3/Componentised.pm line 150. at /Users/fly1400/var/megalib/Class/C3/Componentised.pm line 155 TestSchema::Result::Track relationship next_tracks has coderef-based condition which is not handled yet - unknown crosstable_cond_key Exception: Can't call method "result_source" on an undefined value at /Users/fly1400/var/cpan/build/WebAPI-DBIC-0.002003-2Cig9k/blib/lib/WebAPI/DBIC/Resource/Role/ItemWritable.pm line 97. Exception: Can't call method "result_source" on an undefined value at /Users/fly1400/var/cpan/build/WebAPI-DBIC-0.002003-2Cig9k/blib/lib/WebAPI/DBIC/Resource/Role/ItemWritable.pm line 97. # Failed test '53-put_rel-hal.t output in t/53-put_rel-hal.got matches t/53-put_rel-hal.exp' # at t/lib/TestDS.pm line 67. # +---+------------------------------------------------------------------------+----+------------------------------------------------------------------------+ # | Ln|Got | Ln|Expected | # +---+------------------------------------------------------------------------+----+------------------------------------------------------------------------+ # | 1|'=== POST to the set to create a Track to edit (on an existing CD) | 1|'=== POST to the set to create a Track to edit (on an existing CD) | # | 2|Request: | 2|Request: | # | 3|POST /track?prefetch=self | 3|POST /track?prefetch=self | # | 4|Accept: application/hal+json,application/json | 4|Accept: application/hal+json,application/json | # | 5|{ "title":"Just One More", "position":4200, "cd":2 } | 5|{ "title":"Just One More", "position":4200, "cd":2 } | # | 6|Response: | 6|Response: | # | 7|201 Created | 7|201 Created | # | 8|Content-type: application/hal+json | 8|Content-type: application/hal+json | # * 9|Location: /track/1 * 9|Location: /track/19 * # | 10|{ | 10|{ | # | 11| "_links" : { | 11| "_links" : { | # | 12| "cd" : { | 12| "cd" : { | # | 13| "href" : "/cd/2" | 13| "href" : "/cd/2" | # | 14| }, | 14| }, | # | 15| "cd_cref_cond" : { | 15| "cd_cref_cond" : { | # | 16| "href" : "/cd/2" | 16| "href" : "/cd/2" | # | 17| }, | 17| }, | # | 18| "cd_single" : { | 18| "cd_single" : { | # * 19| "href" : "/cd/1" * 19| "href" : "/cd/19" * # | 20| }, | 20| }, | # | 21| "disc" : { | 21| "disc" : { | # | 22| "href" : "/cd/2" | 22| "href" : "/cd/2" | # | 23| }, | 23| }, | # | 24| "self" : { | 24| "self" : { | # * 25| "href" : "/track/1" * 25| "href" : "/track/19" * # | 26| } | 26| } | # | 27| }, | 27| }, | # | 28| "cd" : 2, | 28| "cd" : 2, | # | 29| "last_updated_at" : null, | 29| "last_updated_at" : null, | # | 30| "last_updated_on" : null, | 30| "last_updated_on" : null, | # | 31| "position" : 4200, | 31| "position" : 4200, | # | 32| "title" : "Just One More", | 32| "title" : "Just One More", | # * 33| "trackid" : 1 * 33| "trackid" : 19 * # | 34|} | 34|} | # | 35| | 35| | # | 36|=== update the title (19 hardwired for now) and prefetch self and disc | 36|=== update the title (19 hardwired for now) and prefetch self and disc | # | 37|Request: | 37|Request: | # | 38|PUT /track/19?prefetch=self,disc | 38|PUT /track/19?prefetch=self,disc | # | 39|Accept: application/hal+json,application/json | 39|Accept: application/hal+json,application/json | # | 40|{ "title":"Just One More (remix)" } | 40|{ "title":"Just One More (remix)" } | # | 41|Response: | 41|Response: | # * 42|500 Internal Server Error * 42|200 OK * # | 43|Content-type: application/hal+json | 43|Content-type: application/hal+json | # | | * 44|{ * # | | * 45| "_embedded" : { * # | | * 46| "disc" : { * # | | * 47| "artist" : 1, * # | | * 48| "cdid" : 2, * # | | * 49| "genreid" : 2, * # | | * 50| "single_track" : null, * # | | * 51| "title" : "Forkful of bees", * # | | * 52| "year" : "2001" * # | | * 53| } * # | | * 54| }, * # | | * 55| "_links" : { * # | | * 56| "cd" : { * # | | * 57| "href" : "/cd/2" * # | | * 58| }, * # | | * 59| "cd_cref_cond" : { * # | | * 60| "href" : "/cd/2" * # | | * 61| }, * # | | * 62| "cd_single" : { * # | | * 63| "href" : "/cd/19" * # | | * 64| }, * # | | * 65| "disc" : { * # | | * 66| "href" : "/cd/2" * # | | * 67| }, * # | | * 68| "self" : { * # | | * 69| "href" : "/track/19" * # | | * 70| } * # | | * 71| }, * # | | * 72| "cd" : 2, * # | | * 73| "last_updated_at" : null, * # | | * 74| "last_updated_on" : null, * # | | * 75| "position" : 4200, * # | | * 76| "title" : "Just One More (remix)", * # | | * 77| "trackid" : 19 * # | | * 78|} * # | | * 79|\n * # | 44|=== update the track id (primary key) | 80|=== update the track id (primary key) | # | 45|Request: | 81|Request: | # | 46|PUT /track/19?prefetch=self | 82|PUT /track/19?prefetch=self | # | 47|Accept: application/hal+json,application/json | 83|Accept: application/hal+json,application/json | # | 48|{ "trackid":1900 } | 84|{ "trackid":1900 } | # | 49|Response: | 85|Response: | # * 50|500 Internal Server Error * 86|200 OK * # | 51|Content-type: application/hal+json | 87|Content-type: application/hal+json | # | | * 88|{ * # | | * 89| "_links" : { * # | | * 90| "cd" : { * # | | * 91| "href" : "/cd/2" * # | | * 92| }, * # | | * 93| "cd_cref_cond" : { * # | | * 94| "href" : "/cd/2" * # | | * 95| }, * # | | * 96| "cd_single" : { * # | | * 97| "href" : "/cd/1900" * # | | * 98| }, * # | | * 99| "disc" : { * # | | * 100| "href" : "/cd/2" * # | | * 101| }, * # | | * 102| "self" : { * # | | * 103| "href" : "/track/1900" * # | | * 104| } * # | | * 105| }, * # | | * 106| "cd" : 2, * # | | * 107| "last_updated_at" : null, * # | | * 108| "last_updated_on" : null, * # | | * 109| "position" : 4200, * # | | * 110| "title" : "Just One More (remix)", * # | | * 111| "trackid" : 1900 * # | | * 112|} * # | | * 113|\n * # | 52|=== delete the track we just added | 114|=== delete the track we just added | # | 53|Request: | 115|Request: | # | 54|DELETE /track/1900 | 116|DELETE /track/1900 | # | 55|Accept: application/hal+json,application/json | 117|Accept: application/hal+json,application/json | # | 56|Response: | 118|Response: | # * 57|404 Not Found * 119|204 No Content * # * 58|Content-type: text/plain * 120|Content-type: application/hal+json * # * 59|Not Found * | | # | 60|' | 121|' | # +---+------------------------------------------------------------------------+----+------------------------------------------------------------------------+ Exception: DBIx::Class::Storage::DBI::_dbh_execute(): DBI Exception: DBD::SQLite::st execute failed: UNIQUE constraint failed: track.cd, track.title [for Statement "INSERT INTO track ( cd, position, title) VALUES ( ?, ?, ? )"] at /Users/fly1400/var/cpan/build/WebAPI-DBIC-0.002003-2Cig9k/blib/lib/WebAPI/DBIC/Resource/Role/SetWritable.pm line 62 # Failed test at t/53-put_rel-hal.t line 28. # status doesn't match, expected HTTP status code '201', got 500 # 500 Internal Server Error # Vary: Accept # Content-Length: 0 # Content-Type: application/json # # Failed test 'has Location header' # at t/53-put_rel-hal.t line 28. Use of uninitialized value in concatenation (.) or string at t/53-put_rel-hal.t line 33. # Failed test at t/53-put_rel-hal.t line 36. # status doesn't match, expected HTTP status code '200', got 405 # 405 Method Not Allowed # Allow: GET, HEAD, POST # Content-Length: 18 # Content-Type: text/plain # # Method Not Allowed # Failed test 'return data' # at t/53-put_rel-hal.t line 38. # got: '' # expected: 'HASH' # Failed test 'has trackid assigned' # at t/53-put_rel-hal.t line 39. # Failed test at t/53-put_rel-hal.t line 40. # got: undef # expected: 'Just One More (remix)' Use of uninitialized value in concatenation (.) or string at t/53-put_rel-hal.t line 46. Not a HASH reference at t/53-put_rel-hal.t line 47. # Tests were run but no plan was declared and done_testing() was not seen. # Looks like your test exited with 2 just after 1. t/53-put_rel-hal.t ....... importing fixtures - deleting existing temp directory /tmp/LT2s5S4xTJ - creating temp dir not ok 1 - Fixtures Installed # Subtest: ===== Update a resource and related resources via PUT ===== # --- Config: # --- Name: POST to the set to create a Track to edit (on an existing CD) # POST /track?prefetch=self # Location: /track/1 # Vary: Accept # Content-Length: 251 # Content-Type: application/hal+json # --- Name: update the title (19 hardwired for now) and prefetch self and disc # PUT /track/19?prefetch=self,disc # Vary: Accept # Content-Length: 0 # Content-Type: application/hal+json # --- Name: update the track id (primary key) # PUT /track/19?prefetch=self # Vary: Accept # Content-Length: 0 # Content-Type: application/hal+json # --- Name: delete the track we just added # DELETE /track/1900 # Vary: Accept # Content-Length: 9 # Content-Type: text/plain not ok 1 - 53-put_rel-hal.t output in t/53-put_rel-hal.got matches t/53-put_rel-hal.exp # POST /track?prefetch=self not ok 2 not ok 3 - has Location header # PUT /track/?prefetch=self,disc not ok 4 not ok 5 - return data not ok 6 - has trackid assigned not ok 7 ok 8 - has same position assigned # recheck data as a separate request # GET /track/?prefetch=self,disc ok 9 ok 10 - response is a ref Dubious, test returned 2 (wstat 512, 0x200) Failed 1/1 subtests Class::MOP::load_class is deprecated at /Users/fly1400/var/megalib/Class/MOP.pm line 68. Class::MOP::load_class("TestSchema") called at /Users/fly1400/var/megalib/Test/DBIx/Class/Types.pm line 24 Test::DBIx::Class::Types::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 64 Moose::Meta::TypeCoercion::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 99 Moose::Meta::TypeCoercion::coerce(Moose::Meta::TypeCoercion=HASH(0x100e82670), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeConstraint.pm line 144 Moose::Meta::TypeConstraint::coerce(Moose::Meta::TypeConstraint=HASH(0x100e82bf8), "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 219 MooseX::Types::TypeDecorator::_try_delegate(MooseX::Types::TypeDecorator=HASH(0x100ebe940), "coerce", "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 184 MooseX::Types::TypeDecorator::AUTOLOAD(MooseX::Types::TypeDecorator=HASH(0x100ebe940), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 1249 Moose::Meta::Attribute::_coerce_and_verify(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec9348), "TestSchema", Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100f28f58)) called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 511 Moose::Meta::Attribute::initialize_instance_slot(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec9348), Moose::Meta::Instance=HASH(0x1020ad0b8), Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100f28f58), HASH(0x100f29720)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 525 Class::MOP::Class::_construct_instance(Moose::Meta::Class=HASH(0x1020a1af0), HASH(0x100f29720)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 495 Class::MOP::Class::new_object(Moose::Meta::Class=HASH(0x1020a1af0), HASH(0x100f29720)) called at /Users/fly1400/var/megalib/Moose/Meta/Class.pm line 273 Moose::Meta::Class::new_object(Moose::Meta::Class=HASH(0x1020a1af0), HASH(0x100f29720)) called at /Users/fly1400/var/megalib/Moose/Object.pm line 23 Moose::Object::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100f28af0)) called at constructor Test::DBIx::Class::SchemaManager::new (defined at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 241) line 4 Test::DBIx::Class::SchemaManager::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100f28af0)) called at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 153 Test::DBIx::Class::SchemaManager::initialize_schema("Test::DBIx::Class::SchemaManager", HASH(0x100f28af0)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 646 eval {...} called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 645 Test::DBIx::Class::_initialize_schema("Test::DBIx::Class", HASH(0x100de54a8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 353 Test::DBIx::Class::_initialize("Test::DBIx::Class") called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 36 Test::DBIx::Class::import("Test::DBIx::Class") called at (eval 34) line 2 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 eval 'package main; use Test::DBIx::Class ;' called at /Users/fly1400/var/megalib/ToolSet.pm line 71 ToolSet::import("TestKit") called at t/60-invoke-core.t line 5 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 # Failed test 'Fixtures Installed' # at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 156. # {UNKNOWN}: DateTime version 1 required--this is only version 0.73 at /Users/fly1400/var/megalib/DateTime/Format/Builder.pm line 11. # BEGIN failed--compilation aborted at /Users/fly1400/var/megalib/DateTime/Format/Builder.pm line 11. # Compilation failed in require at /Users/fly1400/var/megalib/DateTime/Format/SQLite.pm line 72. # BEGIN failed--compilation aborted at /Users/fly1400/var/megalib/DateTime/Format/SQLite.pm line 72. # Compilation failed in require at /Users/fly1400/var/megalib/Class/C3/Componentised.pm line 150. at /Users/fly1400/var/megalib/Class/C3/Componentised.pm line 155 # Failed test at t/60-invoke-core.t line 22. # status doesn't match, expected HTTP status code '200', got 404 # 404 Not Found # Content-Length: 9 # Content-Type: text/plain # # Not Found # Failed test 'returns expected data' # at t/60-invoke-core.t line 23. # Structures begin differing at: # $got = undef # $expected = HASH(0x10444f7a8) # undef # Failed test at t/60-invoke-core.t line 31. # status doesn't match, expected HTTP status code '400', got 404 # 404 Not Found # Content-Length: 9 # Content-Type: text/plain # # Not Found # Failed test at t/60-invoke-core.t line 32. # 'Not Found' # doesn't match '(?^i:args must be an array)' # Failed test at t/60-invoke-core.t line 39. # status doesn't match, expected HTTP status code '400', got 404 # 404 Not Found # Content-Length: 9 # Content-Type: text/plain # # Not Found # Failed test at t/60-invoke-core.t line 40. # 'Not Found' # doesn't match '(?^i:Unknown attributes: nonesuch)' # Failed test at t/60-invoke-core.t line 45. # status doesn't match, expected HTTP status code '400', got 404 # 404 Not Found # Content-Length: 9 # Content-Type: text/plain # # Not Found # Failed test at t/60-invoke-core.t line 46. # 'Not Found' # doesn't match '(?^i:not a JSON hash)' # Failed test at t/60-invoke-core.t line 53. # status doesn't match, expected HTTP status code '500', got 404 # 404 Not Found # Content-Length: 9 # Content-Type: text/plain # # Not Found # Looks like you failed 9 tests of 9. # Failed test '===== Invoke =====' # at t/60-invoke-core.t line 56. # Looks like you failed 2 tests of 2. t/60-invoke-core.t ....... importing fixtures - deleting existing temp directory /tmp/uMYfVhELop - creating temp dir not ok 1 - Fixtures Installed # Subtest: ===== Invoke ===== # POST /artist/1/invoke/get_column not ok 1 not ok 2 - returns expected data # POST /artist/1/invoke/get_column not ok 3 not ok 4 # POST /artist/1/invoke/get_column not ok 5 not ok 6 # POST /artist/1/invoke/get_column not ok 7 not ok 8 # POST /artist/1/invoke/get_column not ok 9 1..9 not ok 2 - ===== Invoke ===== 1..2 Dubious, test returned 2 (wstat 512, 0x200) Failed 2/2 subtests Class::MOP::load_class is deprecated at /Users/fly1400/var/megalib/Class/MOP.pm line 68. Class::MOP::load_class("TestSchema") called at /Users/fly1400/var/megalib/Test/DBIx/Class/Types.pm line 24 Test::DBIx::Class::Types::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 64 Moose::Meta::TypeCoercion::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 99 Moose::Meta::TypeCoercion::coerce(Moose::Meta::TypeCoercion=HASH(0x100e82070), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeConstraint.pm line 144 Moose::Meta::TypeConstraint::coerce(Moose::Meta::TypeConstraint=HASH(0x100e825f8), "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 219 MooseX::Types::TypeDecorator::_try_delegate(MooseX::Types::TypeDecorator=HASH(0x100ebe340), "coerce", "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 184 MooseX::Types::TypeDecorator::AUTOLOAD(MooseX::Types::TypeDecorator=HASH(0x100ebe340), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 1249 Moose::Meta::Attribute::_coerce_and_verify(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec8d48), "TestSchema", Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100a6a958)) called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 511 Moose::Meta::Attribute::initialize_instance_slot(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec8d48), Moose::Meta::Instance=HASH(0x1020aeeb8), Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100a6a958), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 525 Class::MOP::Class::_construct_instance(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 495 Class::MOP::Class::new_object(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Moose/Meta/Class.pm line 273 Moose::Meta::Class::new_object(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Moose/Object.pm line 23 Moose::Object::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100a6a6b8)) called at constructor Test::DBIx::Class::SchemaManager::new (defined at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 241) line 4 Test::DBIx::Class::SchemaManager::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100a6a6b8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 153 Test::DBIx::Class::SchemaManager::initialize_schema("Test::DBIx::Class::SchemaManager", HASH(0x100a6a6b8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 646 eval {...} called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 645 Test::DBIx::Class::_initialize_schema("Test::DBIx::Class", HASH(0x100de4ea8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 353 Test::DBIx::Class::_initialize("Test::DBIx::Class") called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 36 Test::DBIx::Class::import("Test::DBIx::Class") called at (eval 34) line 2 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 eval 'package main; use Test::DBIx::Class ;' called at /Users/fly1400/var/megalib/ToolSet.pm line 71 ToolSet::import("TestKit") called at t/90-root-core.t line 4 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 t/90-root-core.t ......... # Subtest: ===== basics - specs ===== # --- Config: # --- Name: get root url as html # GET / # Location: browser/browser.html#/ # Vary: Accept # Content-Length: 0 # Content-Type: text/html # --- Config: # --- Name: get root url as plain json # GET / # Vary: Accept # Content-Length: 963 # Content-Type: application/json ok 1 - 90-root-core.t output in t/90-root-core.got matches t/90-root-core.exp 1..1 ok 1 - ===== basics - specs ===== 1..1 ok Class::MOP::load_class is deprecated at /Users/fly1400/var/megalib/Class/MOP.pm line 68. Class::MOP::load_class("TestSchema") called at /Users/fly1400/var/megalib/Test/DBIx/Class/Types.pm line 24 Test::DBIx::Class::Types::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 64 Moose::Meta::TypeCoercion::__ANON__("TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeCoercion.pm line 99 Moose::Meta::TypeCoercion::coerce(Moose::Meta::TypeCoercion=HASH(0x100e82070), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/TypeConstraint.pm line 144 Moose::Meta::TypeConstraint::coerce(Moose::Meta::TypeConstraint=HASH(0x100e825f8), "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 219 MooseX::Types::TypeDecorator::_try_delegate(MooseX::Types::TypeDecorator=HASH(0x100ebe340), "coerce", "TestSchema") called at /Users/fly1400/var/megalib/MooseX/Types/TypeDecorator.pm line 184 MooseX::Types::TypeDecorator::AUTOLOAD(MooseX::Types::TypeDecorator=HASH(0x100ebe340), "TestSchema") called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 1249 Moose::Meta::Attribute::_coerce_and_verify(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec8d48), "TestSchema", Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100a6a958)) called at /Users/fly1400/var/megalib/Moose/Meta/Attribute.pm line 511 Moose::Meta::Attribute::initialize_instance_slot(Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x100ec8d48), Moose::Meta::Instance=HASH(0x1020aeeb8), Moose::Meta::Class::__ANON__::SERIAL::2=HASH(0x100a6a958), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 525 Class::MOP::Class::_construct_instance(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Class/MOP/Class.pm line 495 Class::MOP::Class::new_object(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Moose/Meta/Class.pm line 273 Moose::Meta::Class::new_object(Moose::Meta::Class=HASH(0x1020a38f0), HASH(0x100a6b120)) called at /Users/fly1400/var/megalib/Moose/Object.pm line 23 Moose::Object::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100a6a6b8)) called at constructor Test::DBIx::Class::SchemaManager::new (defined at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 241) line 4 Test::DBIx::Class::SchemaManager::new("Moose::Meta::Class::__ANON__::SERIAL::2", HASH(0x100a6a6b8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class/SchemaManager.pm line 153 Test::DBIx::Class::SchemaManager::initialize_schema("Test::DBIx::Class::SchemaManager", HASH(0x100a6a6b8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 646 eval {...} called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 645 Test::DBIx::Class::_initialize_schema("Test::DBIx::Class", HASH(0x100de4ea8)) called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 353 Test::DBIx::Class::_initialize("Test::DBIx::Class") called at /Users/fly1400/var/megalib/Test/DBIx/Class.pm line 36 Test::DBIx::Class::import("Test::DBIx::Class") called at (eval 34) line 2 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 eval 'package main; use Test::DBIx::Class ;' called at /Users/fly1400/var/megalib/ToolSet.pm line 71 ToolSet::import("TestKit") called at t/90-root-hal.t line 4 main::BEGIN() called at (eval 34) line 2 eval {...} called at (eval 34) line 2 t/90-root-hal.t .......... # Subtest: ===== basics - specs ===== # --- Config: # --- Name: get root url as html # GET / # Location: browser/browser.html#/ # Vary: Accept # Content-Length: 0 # Content-Type: text/html # --- Config: # --- Name: get root url as hal+json # GET / # Vary: Accept # Content-Length: 2126 # Content-Type: application/hal+json ok 1 - 90-root-hal.t output in t/90-root-hal.got matches t/90-root-hal.exp 1..1 ok 1 - ===== basics - specs ===== 1..1 ok t/release-pod-syntax.t ... skipped: these tests are for release candidate testing Test Summary Report ------------------- t/10-basics-core.t (Wstat: 512 Tests: 2 Failed: 2) Failed tests: 1-2 Non-zero exit status: 2 t/10-basics-hal.t (Wstat: 512 Tests: 2 Failed: 2) Failed tests: 1-2 Non-zero exit status: 2 t/10-basics-jsonapi.t (Wstat: 512 Tests: 2 Failed: 2) Failed tests: 1-2 Non-zero exit status: 2 t/11-paging-core.t (Wstat: 512 Tests: 2 Failed: 2) Failed tests: 1-2 Non-zero exit status: 2 t/11-paging-hal.t (Wstat: 512 Tests: 2 Failed: 2) Failed tests: 1-2 Non-zero exit status: 2 t/12-searching-core.t (Wstat: 512 Tests: 2 Failed: 2) Failed tests: 1-2 Non-zero exit status: 2 t/12-searching-hal.t (Wstat: 512 Tests: 2 Failed: 2) Failed tests: 1-2 Non-zero exit status: 2 t/13-fields-core.t (Wstat: 512 Tests: 2 Failed: 2) Failed tests: 1-2 Non-zero exit status: 2 t/13-fields-hal.t (Wstat: 512 Tests: 2 Failed: 2) Failed tests: 1-2 Non-zero exit status: 2 t/14-distinct-core.t (Wstat: 512 Tests: 2 Failed: 2) Failed tests: 1-2 Non-zero exit status: 2 t/14-distinct-hal.t (Wstat: 512 Tests: 2 Failed: 2) Failed tests: 1-2 Non-zero exit status: 2 t/30-ordering-core.t (Wstat: 512 Tests: 2 Failed: 2) Failed tests: 1-2 Non-zero exit status: 2 t/30-ordering-hal.t (Wstat: 512 Tests: 2 Failed: 2) Failed tests: 1-2 Non-zero exit status: 2 t/40-prefetch-hal.t (Wstat: 512 Tests: 2 Failed: 2) Failed tests: 1-2 Non-zero exit status: 2 t/40-prefetch-jsonapi.t (Wstat: 512 Tests: 2 Failed: 2) Failed tests: 1-2 Non-zero exit status: 2 t/50-modify-core.t (Wstat: 512 Tests: 2 Failed: 2) Failed tests: 1-2 Non-zero exit status: 2 t/50-modify-hal.t (Wstat: 512 Tests: 2 Failed: 2) Failed tests: 1-2 Non-zero exit status: 2 t/52-post_rel-hal.t (Wstat: 256 Tests: 2 Failed: 1) Failed test: 1 Non-zero exit status: 1 t/53-put_rel-core.t (Wstat: 512 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 2 Parse errors: No plan found in TAP output t/53-put_rel-hal.t (Wstat: 512 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 2 Parse errors: No plan found in TAP output t/60-invoke-core.t (Wstat: 512 Tests: 2 Failed: 2) Failed tests: 1-2 Non-zero exit status: 2 Files=25, Tests=119, 57 wallclock secs ( 0.22 usr 0.09 sys + 51.49 cusr 4.84 csys = 56.64 CPU) Result: FAIL Failed 21/25 test programs. 39/119 subtests failed. make: *** [test_dynamic] Error 255 TIMB/WebAPI-DBIC-0.002003.tar.gz make test TEST_VERBOSE=1 -- NOT OK //hint// to see the cpan-testers results for installing this module, try: reports TIMB/WebAPI-DBIC-0.002003.tar.gz Finished 2014-12-07T01:39:56