NAME
Prophet::Test
VERSION
version 0.751
FUNCTIONS
set_editor($code)
Sets the subroutine that Prophet should use instead of Prophet::CLI::Command::edit_text
(as this routine invokes an interactive editor) to $code.
set_editor_script SCRIPT
Sets the editor that Proc::InvokeEditor uses.
This should be a non-interactive script found in t/scripts.
in_gladiator($code)
Run the given code using Devel::Gladiator.
repo_path_for($username)
Returns a path on disk for where $username's replica is stored.
repo_uri_for($username)
Returns a file:// URI for $USERNAME'S replica (with the correct replica type prefix).
replica_uuid
Returns the UUID of the test replica.
database_uuid
Returns the UUID of the test database.
replica_last_rev
Returns the sequence number of the last change in the test replica.
as_user($username, $coderef)
Run this code block as $username. This routine sets up the %ENV hash so that when we go looking for a repository, we get the user's repo.
replica_uuid_for($username)
Returns the UUID of the given user's test replica.
database_uuid_for($username)
Returns the UUID of the given user's test database.
ok_added_revisions( { CODE }, $numbers_of_new_revisions, $msg)
Checks that the given code block adds the given number of changes to the test replica. $msg is optional and will be printed with the test if given.
serialize_conflict($conflict_obj)
Returns a simple, serialized version of a Prophet::Conflict object suitable for comparison in tests.
The serialized version is a hash reference containing the following keys: meta => { original_source_uuid => 'source_replica_uuid' } records => { 'record_uuid' => { change_type => 'type', props => { propchange_name => { source_old => 'old_val', source_new => 'new_val', target_old => 'target_val', } } }, another_record_uuid' => { change_type => 'type', props => { propchange_name => { source_old => 'old_val', source_new => 'new_val', target_old => 'target_val', } } }, }
serialize_changeset($changeset_obj)
Returns a simple, serialized version of a Prophet::ChangeSet object suitable for comparison in tests (a hash).
run_command($command, @args)
Run the given command with (optionally) the given args using a new Prophet::CLI object. Returns the standard output of that command in scalar form or, in array context, the STDOUT in scalar form *and* the STDERR in scalar form.
Examples:
run_command('create', '--type=Foo');
load_record($type, $uuid)
Loads and returns a record object for the record with the given type and uuid.
as_alice CODE, as_bob CODE, as_charlie CODE, as_david CODE
Runs CODE as alice, bob, charlie or david.
AUTHORS
Jesse Vincent <jesse@bestpractical.com>
Chia-Liang Kao <clkao@bestpractical.com>
Christine Spang <christine@spang.cc>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2009 by Best Practical Solutions.
This is free software, licensed under:
The MIT (X11) License
BUGS AND LIMITATIONS
You can make new bug reports, and view existing ones, through the web interface at https://rt.cpan.org/Public/Dist/Display.html?Name=Prophet.
CONTRIBUTORS
Alex Vandiver <alexmv@bestpractical.com>
Casey West <casey@geeknest.com>
Cyril Brulebois <kibi@debian.org>
Florian Ragwitz <rafl@debian.org>
Ioan Rogers <ioanr@cpan.org>
Jonas Smedegaard <dr@jones.dk>
Kevin Falcone <falcone@bestpractical.com>
Lance Wicks <lw@judocoach.com>
Nelson Elhage <nelhage@mit.edu>
Pedro Melo <melo@simplicidade.org>
Rob Hoelz <rob@hoelz.ro>
Ruslan Zakirov <ruz@bestpractical.com>
Shawn M Moore <sartak@bestpractical.com>
Simon Wistow <simon@thegestalt.org>
Stephane Alnet <stephane@shimaore.net>
Unknown user <nobody@localhost>
Yanick Champoux <yanick@babyl.dyndns.org>
franck cuny <franck@lumberjaph.net>
robertkrimen <robertkrimen@gmail.com>
sunnavy <sunnavy@bestpractical.com>