NAME

App::GitHooks::Test - Shared test functions for App::GitHooks.

VERSION

Version 1.9.0

FUNCTIONS

ok_add_file()

Create a file and add it to the git index.

        ok_add_file(
                repository => $repository,
                path       => $path,
                content    => $content,
        );

Arguments:

  • repository (mandatory)

    A Git::Repository object.

  • path (mandatory)

    The path of the file to write, relative to the root of the git repository passed.

  • content (optional)

    The content of the file to write.

ok_add_files()

Create files and add them to the git index.

        ok_add_files(
                repository => $repository,
                files      =>
                {
                        $file_name => $file_content,
                        ...
                },
        );

Arguments:

  • repository (mandatory)

    A Git::Repository object.

  • files (optional)

    A hashref with file names as keys and the content of each file as the corresponding value.

ok_setup_repository()

Set up a test repository.

        ok_setup_repository(
                cleanup_test_repository => $cleanup_test_repository, # default 1
                config                  => $config,                  # default ''
                hooks                   => \@hooks,                  # default []
                plugins                 => \@plugins,                # default []
        );

Arguments:

  • cleanup_test_repository

    Whether the test repository created in order to run a test should be destroyed at the end of the test (default: 1).

  • config

    Elements to add to the .githooksrc file set up at the root of the test repository.

  • hooks

    An arrayref of the names of the hooks to set up for this test (for example, commit-msg).

  • plugins

    An arrayref of the module names of the plugins to run for this test (for example, App::GitHooks::Plugins::Test::CustomReply).

ok_reset_githooksrc()

Ensures that an empty .githooksrc is used.

        ok_reset_githooksrc();

Arguments:

  • content (optional)

    Content for the .githooksrc file.

    By default, this function generates an empty .githooksrc file, which has the effect of using the defaults of App::GitHooks.

test_hook()

Test a git hook.

        App::GitHooks::Test::test_hook(
                tests                   => \@tests,
                hook_name               => $hook_name,
                plugins                 => \@plugins,
                cleanup_test_repository => $cleanup_test_repository, # default 1
        );

Mandatory arguments:

  • tests

    A set of tests to run.

    # TODO: document tests format.

  • hook_name

    The name of the git hook to test (for example, commit-msg).

  • plugins

    An arrayref of the module names of the plugins to run for this test (for example, App::GitHooks::Plugins::Test::CustomReply).

Optional arguments:

  • cleanup_test_repository

    Whether the test repository created in order to run a test should be destroyed at the end of the test (default: 1).

BUGS

Please report any bugs or feature requests through the web interface at https://github.com/guillaumeaubert/App-GitHooks/issues/new. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

        perldoc App::GitHooks::Test

You can also look for information at:

AUTHOR

Guillaume Aubert, <aubertg at cpan.org>.

COPYRIGHT & LICENSE

Copyright 2013-2017 Guillaume Aubert.

This code is free software; you can redistribute it and/or modify it under the same terms as Perl 5 itself.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the LICENSE file for more details.