NAME
Test::Mojo::Role::HTTPstatus
DESCRIPTION
Role to add some extra methods to Test::Mojo for testing routes' HTTP status codes
SYNOPSIS
use Test::More;
use Test::Mojo::WithRoles qw(HTTPstatus);
my $t = Test::Mojo::WithRoles->new('MyApp');
$t->get_ok('/success')->status_like(qr/^2/);
$t->get_ok('/failure')->status_is_error();
done_testing();
METHODS
status_like
does most of the work behind the scenes. For completeness, its opposite status_unlike
is also provided.
- status_like
-
$t = $t->status_like(qr/^4/); $t = $t->status_like(qr/^4/, 'some kind of error');
Pass if the status matches a given regex.
- status_unlike
-
$t = $t->status_unlike(qr/^3/); $t = $t->status_unlike(qr/^3/, 'not any kind of redirect');
Pass if the status does not match the given regex.
The various status_is_*
methods match the is_*
methods in Mojo::Message::Response.
- status_is_client_error
-
Matches a
4xx
status code. - status_is_empty
-
Matches a
1xx
,204
, or304
status code. - status_is_error
-
Matches a
4xx
or5xx
status code. - status_is_info
-
Matches a
1xx
status code. - status_is_redirect
-
Matches a
3xx
status code. - status_is_server_error
-
Matches a
5xx
status code. - status_is_success
-
Matches a
2xx
status code.
BUGS
None known, plenty lurking no doubt. Please report any bugs that you find on Github:
https://github.com/DrHyde/perl-modules-Test-Mojo-Role-HTTPstatus/issues
or even better, raise a pull request that fixes it. The best pull requests include at least two commits, the first being a test that fails, and then in the following commits a code change that makes that test pass, and documentation. I realise that it is difficult to work in that manner, but git rebase -i
will let you edit history to pretend that's what you did.
SEE ALSO
AUTHOR, COPYRIGHT and LICENCE
Copyright 2020 David Cantrell <david@cantrell.org.uk>
This software is free-as-in-speech software, and may be used, distributed, and modified under the terms of either the GNU General Public Licence version 2 or the Artistic Licence. It's up to you which one you use. The full text of the licences can be found in the files GPL2.txt and ARTISTIC.txt, respectively.
CONSPIRACY
This module is also free-as-in-mason software.