NAME Mock::Apache - mock Apache environment for testing and debugging SYNOPSIS use Mock::Apache; my $server = Mock::Apache->setup_server(param => 'value', ...); my $request = $server->new_request(method_name => 'value', ...); $server-> DESCRIPTION "Mock::Apache" is a mock framework for testing and debugging mod_perl 1.x applications. Although that version of mod_perl is obsolete, there is still a lot of legacy code that uses it. The framework is intended to assist in understanding such code, by enabling it to be run and debugged outside of the web server environment. The framework provides a tracing facility that prints all methods called, optionally with caller information. "Mock::Apache" is based on "Apache::FakeRequest" but goes beyond that module, attempting to provide a relatively comprehensive mocking of the mod_perl environment. NOTE: the module is still very much at an alpha stage, with much of the Apache::* classes missing, and much of the emulation incomplete or probably just wrong. I am aiming to provide top-level methods to "process a request", by giving the mock apache object enough information about the configuration to identify handlers, etc. Perhaps passing the server_setup method the pathname of an Apache configuration file even and minimally "parsing" it. METHODS setup_server new_request execute_handler localizes elements of the %ENV hash DEPENDENCIES Apache::FakeTable for emulation of "Apache::Table" (but this is subclassed to emulate pnotes tables, which can store references) Module::Loaded to pretend that the "Apache::*" modules are loaded. IO::Scalar for tieing "STDOUT" to the Apache response BUGS AND LIMITATIONS The intent of this package is to provide an emulation of "mod_perl" 1.3 that that will allow straightforward handlers to be unit-tested outside the Apache/mod_perl environment. However it will probably never provide perfect emulation. The package is still in an early alpha stage and is known to be incomplete. Feedback and patches to improve the software are most welcome. SEE ALSO https://github.com/fordmason/Mock-Apache *mod_perl Pocket Reference* by Andrew Ford, O'Reilly & Associates, Inc, Sebastapol, 2001, ISBN: 0-596-00047-2 ACKNOWLEDGEMENTS Inspired by "Apache::FakeRequest" by Doug MacEachern, with contributions from Andrew Ford . AUTHORS Andrew Ford LICENSE AND COPYRIGHT Copyright (C) 2013 Andrew Ford (). All rights reserved. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic. 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.