GitLab::API::v4::Mock::Engine - Mocking the internals of a GitLab server.
use GitLab::API::v4::Mock::Engine;
my $engine = GitLab::API::v4::Mock::Engine->new();
my $user = $engine->create_user({
email => $email,
username => $username,
name => $name,
...,
});
print "User created with ID: $user->{id}\n";
This module provides the tooling to run a mock of the internal state
of a GitLab server.
At this time very little is validated. For example, when you
create a user with create_user there is no logic which double
checks that you specify the required email field or that you
don't put in fields that are unexpected.
my $ids = $engine->next_ids();
A hash reference containing object types to the next ID.
Used by next_id_for.
my $users = $engine->users();
foreach my $user (@$users) { ... }
Returns the full array reference of all users hash references.
my $id = $engine->next_id_for( 'user' );
Given an object type this will return the next unused ID.
my $user = $engine->user( $id );
Returns a user hash reference for the given ID.
If no user is found with the ID then undef is returned.
my $user = $engine->create_user( $user );
my $id = $user->{id};
Takes a user hash reference, sets the id field, and stores it in
users.
Returns the updated user hash reference.
my $user = $engine->update_user( $id, $new_user_data );
Takes the ID of the user to update and a hash reference of fields
to update.
Returns the updated user hash reference.
my $user = $engine->delete_user( $id );
Deletes the user with the specified ID from users.
If no user is found with the ID then undef is returned.
Otherwise the user hash reference is returned.
See SUPPORT in the GitLab::API::v4 manpage.
See AUTHORS in the GitLab::API::v4 manpage.
See COPYRIGHT AND LICENSE in the GitLab::API::v4 manpage.
|