127 lines
4.7 KiB
RPMSpec
127 lines
4.7 KiB
RPMSpec
#
|
|
# spec file for package perl-Test-WWW-Mechanize-Mojo
|
|
#
|
|
# Copyright (c) 2020 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/
|
|
#
|
|
|
|
|
|
Name: perl-Test-WWW-Mechanize-Mojo
|
|
Version: 0.0.21
|
|
Release: 0
|
|
%define cpan_name Test-WWW-Mechanize-Mojo
|
|
Summary: Test::WWW::Mechanize for Mojo / Mojolicious
|
|
License: Artistic-1.0 OR GPL-1.0-or-later
|
|
Group: Development/Libraries/Perl
|
|
URL: https://metacpan.org/release/%{cpan_name}
|
|
Source0: https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF/%{cpan_name}-%{version}.tar.gz
|
|
Source1: cpanspec.yml
|
|
Source100: README.md
|
|
BuildArch: noarch
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
BuildRequires: perl
|
|
BuildRequires: perl-macros
|
|
BuildRequires: perl(Compress::Zlib)
|
|
BuildRequires: perl(HTML::Entities)
|
|
BuildRequires: perl(Module::Build) >= 0.280000
|
|
BuildRequires: perl(Mojolicious::Lite)
|
|
BuildRequires: perl(Test::Mojo)
|
|
BuildRequires: perl(Test::More) >= 0.88
|
|
BuildRequires: perl(Test::WWW::Mechanize)
|
|
Requires: perl(HTML::Entities)
|
|
Requires: perl(Test::Mojo)
|
|
Requires: perl(Test::WWW::Mechanize)
|
|
%{perl_requires}
|
|
|
|
%description
|
|
Mojo is an MVC Web Application Framework. Test::WWW::Mechanize is a
|
|
subclass of WWW::Mechanize that incorporates features for web application
|
|
testing. The Test::WWW::Mechanize::Mojo module meshes the two to allow easy
|
|
testing of Mojo applications without needing to starting 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 Mojo web applications but does not
|
|
require a server or issue HTTP requests. Instead, it passes the HTTP
|
|
request object directly to Mojo. 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
|
|
MOJO_SERVER; for example:
|
|
|
|
$ MOJO_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::Mojo.
|
|
|
|
Furthermore, if you set MOJO_SERVER, the server will be regarded as a
|
|
remote server even if your links point to localhost. Thus, you can use
|
|
Test::WWW::Mechanize::Mojo 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 Mojo 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 Mojo has a special developing 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:
|
|
|
|
$mmech->{catalyst_debug} = 1;
|
|
|
|
An alternative to this module is Test::Mojo.
|
|
|
|
%prep
|
|
%setup -q -n %{cpan_name}-%{version}
|
|
find . -type f ! -path "*/t/*" ! -name "*.pl" ! -path "*/bin/*" ! -path "*/script/*" ! -name "configure" -print0 | xargs -0 chmod 644
|
|
|
|
%build
|
|
perl Build.PL installdirs=vendor
|
|
./Build build flags=%{?_smp_mflags}
|
|
|
|
%check
|
|
./Build test
|
|
|
|
%install
|
|
./Build install destdir=%{buildroot} create_packlist=0
|
|
%perl_gen_filelist
|
|
|
|
%files -f %{name}.files
|
|
%defattr(-,root,root,755)
|
|
%doc Changes Changes.old-Catalyst.txt README
|
|
%license LICENSE
|
|
|
|
%changelog
|