The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Jifty::Plugin::TestServerWarnings - Stores server warnings away for later fetching

SYNOPSIS

# In your jifty config.yml under the framework section:

  Plugins:
    - TestServerWarnings:
        clear_screen: 1

DESCRIPTION

This plugin add a new appender Jifty::Plugin::TestServerWarnings::Appender on the first request it sees, which stores away all messages it receives. It also removes the default "Screen" appender unless clear_screen in config.yml is set to be false or env TEST_VERBOSE is true.

The warnings can be retrieved by a client-side process by calling "decoded_warnings" with a base URI to the server.

This plugin is automatically added for all jifty tests.

METHODS

init

set clear_screen to 1 if the clear_screen in config.yml is set to be true, if it's not set at all, set it to 1 if TEST_VERBOSE is set to be true.

new_request

On the first call to new_request, the plugin adjusts the appenders. This causes it to only have effect if it is run in a forked server process, not in a test process. If TEST_VERBOSE is set, it does not remove the Screen appender.

add_warnings WARN, WARN, ..

Takes the given warnings, and stores them away for later reporting.

stashed_warnings

Returns the stored warnings, as a list. This does not clear the list, unlike "encoded_warnings" or "decoded_warnings".

encoded_warnings

Returns the stored warnings, encoded using Storable. This also clears the list of stashed warnings.

decoded_warnings URI

Given the URI to a jifty server with this plugin enabled, retrieves and decodes the stored warnings, returning them. This will also clear the server's stored list of warnings.