DBIx-Class-Sims-REST
view release on metacpan or search on metacpan
---
abstract: ~
author:
- 'Rob Kinyon <rob.kinyon@gmail.com>'
build_requires:
ExtUtils::MakeMaker: 6.59
HTTP::Request: 0.01
LWP::UserAgent: 0.01
Test::DBIx::Class: 0.01
Test::Deep: 0.01
Test::More: 0.88
configure_requires:
ExtUtils::MakeMaker: 6.59
distribution_type: module
dynamic_config: 1
generated_by: 'Module::Install version 1.16'
license: perl
MYMETA.json view on Meta::CPAN
"directory" : [
"inc",
"t",
"xt"
]
},
"prereqs" : {
"build" : {
"requires" : {
"ExtUtils::MakeMaker" : "6.59",
"HTTP::Request" : "0.01",
"LWP::UserAgent" : "0.01",
"Test::DBIx::Class" : "0.01",
"Test::Deep" : "0.01",
"Test::More" : "0.88"
}
},
"configure" : {
"requires" : {
"ExtUtils::MakeMaker" : "6.59"
}
---
abstract: unknown
author:
- 'Rob Kinyon <rob.kinyon@gmail.com>'
build_requires:
ExtUtils::MakeMaker: '6.59'
HTTP::Request: '0.01'
LWP::UserAgent: '0.01'
Test::DBIx::Class: '0.01'
Test::Deep: '0.01'
Test::More: '0.88'
configure_requires:
ExtUtils::MakeMaker: '6.59'
dynamic_config: 0
generated_by: 'Module::Install version 1.16, CPAN::Meta::Converter version 2.150005'
license: perl
meta-spec:
Makefile.PL view on Meta::CPAN
requires 'DBIx::Class::Sims';
requires 'Hash::Merge';
requires 'JSON::XS';
requires 'Plack::Request';
requires 'Web::Simple';
test_requires 'Test::DBIx::Class' => '0.01';
test_requires 'Test::More' => '0.88'; # done_testing
test_requires 'Test::Deep' => '0.01';
test_requires 'LWP::UserAgent' => '0.01';
test_requires 'HTTP::Request' => '0.01';
tests_recursive;
auto_install;
WriteAll;
lib/DBIx/Class/Sims/REST.pm view on Meta::CPAN
name => 'database name',
username => 'some username',
password => 'some password',
},
spec => <DBIx::Class::Sims specification>,
},
],
};
my $ua = LWP::UserAgent->new;
my $req = HTTP::Request->new(POST => 'http://<URL>:<PORT>/sims');
$req->content(encode_json($data));
my $res = $ua->request($req);
return decode_json($res->content);
=head1 PURPOSE
L<DBIx::Class::Sims> provides an easy way to create and populate test data. But,
sometimes, your application isn't built on L<DBIx::Class>. Or Perl. These issues
shouldn't get in the way of using good tools. (Even if your application or test
sub get_schema_class { 'MyApp::Schema' }
}
}
use Web::Simple 'MyApp::Sims::REST';
my $app = MyApp::Sims::REST->new;
sub run_request { $app->run_test_request(@_); }
use HTTP::Request;
use JSON::XS qw( encode_json decode_json );
use Test::DBIx::Class qw(:resultsets);
{
my $req = HTTP::Request->new( POST => '/sims' );
$req->content(encode_json( {} ));
my $res = run_request($req);
cmp_deeply decode_json($res->content), {
error => "No actions taken"
};
my $count = grep { $_ != 0 } map { ResultSet($_)->count } Schema->sources;
is $count, 0, "There are no tables loaded after request does nothing";
}
{
my $req = HTTP::Request->new( POST => '/sims' );
$req->content(encode_json({
databases => [
{
database => {
name => 't/etc/dbfile.db',
},
spec => { Artist => [ { name => 'A'} ] },
},
],
}));
( run in 0.408 second using v1.01-cache-2.11-cpan-de7293f3b23 )