CatalystX-CRUD
view release on metacpan or search on metacpan
t/01-file.t view on Meta::CPAN
#!/usr/bin/env perl
use Test::More tests => 40;
use strict;
use lib qw( lib t/lib );
use_ok('CatalystX::CRUD::Model::File');
use_ok('CatalystX::CRUD::Object::File');
use Catalyst::Test 'MyApp';
use Data::Dump qw( dump );
use HTTP::Request::Common;
###########################################
# basic sanity check
ok( get('/foo'), "get /foo" );
ok( my $response = request('/file/search'), "response for /file/search" );
#dump( $response );
is( $response->code, '302', "/file/search response was redirect" );
t/01-file.t view on Meta::CPAN
);
is( $res->content,
'{ content => "hello world", file => "testfile" }',
"POST new file response"
);
is( $res->code, 302, "new file 302 redirect status" );
# read the file we just created
ok( $res = request( HTTP::Request->new( GET => '/file/testfile/view' ) ),
"GET new file" );
#diag( $res->content );
like( $res->content, qr/content => "hello world"/, "read file" );
# update the file
ok( $res = request(
POST( '/file/testfile/save', [ content => 'foo bar baz' ] )
),
t/01-file.t view on Meta::CPAN
ok( $res = request( POST( '/file/testfile/delete', [] ) ), "rm file" );
# delete the file2
ok( $res = request( POST( '/file/testfile2/delete', [] ) ), "rm file2" );
#diag( $res->content );
# confirm it is gone
ok( $res = request( HTTP::Request->new( GET => '/file/testfile/view' ) ),
"confirm we nuked the file" );
#diag( $res->content );
like( $res->content, qr/content => undef/, "file nuked" );
##############################################################
## Adapter API
# create
t/01-file.t view on Meta::CPAN
);
is( $res->content,
'{ content => "hello world", file => "testfile" }',
"POST new file response adapter"
);
# read the file we just created
ok( $res
= request(
HTTP::Request->new( GET => '/fileadapter/testfile/view' ) ),
"GET new file adapter"
);
#diag( $res->content );
like( $res->content, qr/content => "hello world"/, "read file adapter" );
# update the file
ok( $res = request(
POST( '/fileadapter/testfile/save', [ content => 'foo bar baz' ] )
t/01-file.t view on Meta::CPAN
# delete the file
ok( $res = request( POST( '/fileadapter/testfile/rm', [] ) ),
"rm file adapter" );
#diag( $res->content );
# confirm it is gone
ok( $res
= request(
HTTP::Request->new( GET => '/fileadapter/testfile/view' ) ),
"confirm we nuked the file adapter"
);
#diag( $res->content );
like( $res->content, qr/content => undef/, "file nuked adapter" );
# test the fetch() rewrite
# create a new file
t/01-file.t view on Meta::CPAN
),
"POST new file adapter"
);
is( $res->content,
'{ content => "hello world", file => "testfile" }',
"POST new file response adapter"
);
ok( $res = request(
HTTP::Request->new( GET => '/fetchrewrite/id/testfile/view' )
),
"fetch rewrite works"
);
# delete the file
ok( $res = request( POST( '/fetchrewrite/id/testfile/rm', [] ) ),
"rm fetch rewrite" );
# confirm it is gone
ok( $res = request(
HTTP::Request->new( GET => '/fetchrewrite/id/testfile/view' )
),
"confirm we nuked the fetch rewrite file"
);
t/03-rest.t view on Meta::CPAN
use Test::More tests => 56;
use strict;
use lib qw( lib t/lib );
use_ok('CatalystX::CRUD::Model::File');
use_ok('CatalystX::CRUD::Object::File');
use Catalyst::Test 'MyApp';
use Data::Dump qw( dump );
use HTTP::Request::Common;
###########################################
# do CRUD stuff
my $res;
# create
ok( $res = request(
POST( '/rest/file/testfile', [ content => 'hello world' ] )
),
"POST new file"
);
is( $res->content,
'{ content => "hello world", file => "testfile" }',
"POST new file response"
);
####################################################
# read the file we just created
ok( $res = request( HTTP::Request->new( GET => '/rest/file/testfile' ) ),
"GET new file" );
#diag( $res->content );
like( $res->content, qr/content => "hello world"/, "read file" );
####################################################
# update the file
ok( $res = request(
POST( '/rest/file/testfile', [ content => 'foo bar baz' ] )
t/03-rest.t view on Meta::CPAN
'/rest/file/otherdir%2ftestfile2/delete',
[ _http_method => 'DELETE' ]
)
),
"rm otherdir/testfile2"
);
#diag( $res->content );
# confirm it is gone
ok( $res = request( HTTP::Request->new( GET => '/rest/file/testfile' ) ),
"confirm we nuked the file" );
#diag( $res->content );
like( $res->content, qr/content => undef/, "file nuked" );
ok( $res = request('/rest/file'), "/ request with no items" );
#dump $res;
is( $res->code, 200, "/ request with no items == 200" );
t/04-query.t view on Meta::CPAN
use Test::More tests => 16;
use strict;
use lib qw( lib t/lib );
use_ok('CatalystX::CRUD::Model::File');
use_ok('CatalystX::CRUD::Object::File');
use Catalyst::Test 'MyApp';
use Data::Dump qw( dump );
use HTTP::Request::Common;
ok( my $res = request('/search/search'), "response for /search/search" );
#dump( $response->headers );
is( $res->code, '200', "response Ok" );
ok( $res = request('/search/search?file=bar'), "?file=bar" );
#warn $res->content;
use strict;
use warnings;
use Test::More tests => 2;
use lib qw( lib t/lib );
use Catalyst::Test 'MyApp';
use Data::Dump qw( dump );
use HTTP::Request::Common;
my $res;
ok( $res = request(
HTTP::Request->new( GET => '/fileadaptermultipk/testfile;;/read' )
),
"GET new file with null pk"
);
is( $res->code, 404, "no such file returns 404" );
( run in 0.580 second using v1.01-cache-2.11-cpan-de7293f3b23 )