The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
use strict;
use warnings;
use Test::More;
use lib 't/lib';
use MongooseT; # this connects to the db for me
my $db = db;
$db->run_command({ drop=>'person_ro' }); 

{
	package Person;
	use Moose;
	with 'Mongoose::Document' => {
		-collection_name => 'person_ro',
    };
	has 'name'  => ( is=>'rw', isa=>'Str', required=>1 );
	has 'email' => ( is=>'ro', isa=>'Str', required=>1 );
	has 'age'   => ( is=>'rw', isa=>'Int', default=>40 );
}

package main;
{
	my $homer = Person->new( name => "Homer Simpson", email => 'homer@springfield.tv' );
	my $id = $homer->save;
	is( ref($id), 'MongoDB::OID', 'created, id defined' );
}
{
	my $homer = Person->find_one({ name=>"Homer Simpson" });
	is( ref($homer), 'Person', 'great, object expanded even with read_only attribute' );	
	is( $homer->name, 'Homer Simpson', 'homer found');
}


done_testing;