Mojolicious-Plugin-Mango
view release on metacpan or search on metacpan
t/90-mojolicious-plugin-mango.t view on Meta::CPAN
use Modern::Perl;
use Test::More;
use Mojolicious::Lite;
use Test::Mojo;
use Try::Tiny;
try {
use Mango;
my $mango = Mango->new('mongodb://localhost:27017');
$mango->db("test")->stats;
}
catch {
plan skip_all => 'Cannot test because connection failed';
}
finally {
no Mango;
};
my $default_db = 'mojolicious-plugin-mango';
plugin 'Mango', {
mango => 'mongodb://localhost:27017/test?w=2',
helper => 'foo',
default_db => $default_db,
no_query => 1,
};
for my $helper (qw/_mango mango/) {
get "/$helper" => sub {
my $self = shift;
$self->render(text => ref $self->app->$helper);
};
}
get '/getdb' => sub {
my $self = shift;
$self->render(text => $self->foo->name);
};
my $otherdb = 'xhofadFA';
get '/otherdb' => sub {
my $self = shift;
$self->render(text => $self->foo($otherdb)->name);
};
my $coll = 'mojolicious-plugin-mango-coll';
get '/foo_collection' => sub {
my $self = shift;
my $db = $self->foo;
my $collection = $db->collection($coll);
$self->render(text => $collection->name);
};
get '/coll' => sub {
my $self = shift;
$self->coll($coll)->ensure_index({foo => 1});
$self->render(text => $self->coll($coll)->name);
};
get '/coll/:name' => sub {
my $self = shift;
$self->render(text => $self->coll($self->param('name'))->name);
};
get '/collection' => sub {
( run in 2.446 seconds using v1.01-cache-2.11-cpan-13bb782fe5a )