Files
perl-Test-WWW-Mechanize-Cat…/perl-Test-WWW-Mechanize-Catalyst.spec

138 lines
5.1 KiB
RPMSpec
Raw Permalink Normal View History

#
# spec file for package perl-Test-WWW-Mechanize-Catalyst
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define cpan_name Test-WWW-Mechanize-Catalyst
Name: perl-Test-WWW-Mechanize-Catalyst
Version: 0.620.0
Release: 0
# 0.62 -> normalize -> 0.620.0
%define cpan_version 0.62
License: Artistic-1.0 OR GPL-1.0-or-later
Summary: Test::WWW::Mechanize for Catalyst
URL: https://metacpan.org/release/%{cpan_name}
Source0: https://cpan.metacpan.org/authors/id/M/MS/MSTROUT/%{cpan_name}-%{cpan_version}.tar.gz
Source1: cpanspec.yml
2025-08-12 18:17:58 +02:00
Source100: README.md
BuildArch: noarch
BuildRequires: perl
BuildRequires: perl-macros
BuildRequires: perl(Catalyst) >= 5.900.0
BuildRequires: perl(Catalyst::Plugin::Session::State::Cookie)
BuildRequires: perl(Catalyst::Plugin::Session::Store::Dummy)
BuildRequires: perl(Class::Load) >= 0.19
BuildRequires: perl(ExtUtils::MakeMaker) >= 6.59
BuildRequires: perl(LWP) >= 5.816
BuildRequires: perl(Moose) >= 0.67
BuildRequires: perl(Test::Exception)
BuildRequires: perl(Test::More) >= 0.88
BuildRequires: perl(Test::WWW::Mechanize) >= 1.14
BuildRequires: perl(Test::utf8)
BuildRequires: perl(WWW::Mechanize) >= 1.54
BuildRequires: perl(namespace::clean) >= 0.09
Requires: perl(Catalyst) >= 5.900.0
Requires: perl(Class::Load) >= 0.19
Requires: perl(LWP) >= 5.816
Requires: perl(Moose) >= 0.67
Requires: perl(Test::WWW::Mechanize) >= 1.14
Requires: perl(WWW::Mechanize) >= 1.54
Requires: perl(namespace::clean) >= 0.09
Provides: perl(Test::WWW::Mechanize::Catalyst) = %{version}
%undefine __perllib_provides
%{perl_requires}
%description
Catalyst is an elegant MVC Web Application Framework. Test::WWW::Mechanize
is a subclass of WWW::Mechanize that incorporates features for web
application testing. The Test::WWW::Mechanize::Catalyst module meshes the
two to allow easy testing of Catalyst applications without needing to start
up a web server.
Testing web applications has always been a bit tricky, normally requiring
starting a web server for your application and making real HTTP requests to
it. This module allows you to test Catalyst web applications but does not
require a server or issue HTTP requests. Instead, it passes the HTTP
request object directly to Catalyst. Thus you do not need to use a real
hostname: "http://localhost/" will do. However, this is optional. The
following two lines of code do exactly the same thing:
$mech->get_ok('/action');
$mech->get_ok('http://localhost/action');
Links which do not begin with / or are not for localhost can be handled as
normal Web requests - this is handy if you have an external single sign-on
system. You must set allow_external to true for this:
$mech->allow_external(1);
You can also test a remote server by setting the environment variable
CATALYST_SERVER; for example:
$ CATALYST_SERVER=http://example.com/myapp prove -l t
will run the same tests on the application running at
http://example.com/myapp regardless of whether or not you specify
http:://localhost for Test::WWW::Mechanize::Catalyst.
Furthermore, if you set CATALYST_SERVER, the server will be regarded as a
remote server even if your links point to localhost. Thus, you can use
Test::WWW::Mechanize::Catalyst to test your live webserver running on your
local machine, if you need to test aspects of your deployment environment
(for example, configuration options in an http.conf file) instead of just
the Catalyst request handling.
This makes testing fast and easy. Test::WWW::Mechanize provides functions
for common web testing scenarios. For example:
$mech->get_ok( $page );
$mech->title_is( "Invoice Status", "Make sure we're on the invoice page" );
$mech->content_contains( "Andy Lester", "My name somewhere" );
$mech->content_like( qr/(cpan|perl)\.org/, "Link to perl.org or CPAN" );
This module supports cookies automatically.
To use this module you must pass it the name of the application. See the
SYNOPSIS above.
Note that Catalyst has a special development feature: the debug screen. By
default this module will treat responses which are the debug screen as
failures. If you actually want to test debug screens, please use:
$mech->{catalyst_debug} = 1;
An alternative to this module is Catalyst::Test.
%prep
%autosetup -n %{cpan_name}-%{cpan_version}
%build
PERL_USE_UNSAFE_INC=1 perl Makefile.PL INSTALLDIRS=vendor
%make_build
%check
make test
%install
%perl_make_install
%perl_process_packlist
%perl_gen_filelist
%files -f %{name}.files
%doc CHANGES README
%changelog