# # spec file for package perl-Test-Mock-LWP-Dispatch # # 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-Mock-LWP-Dispatch Name: perl-Test-Mock-LWP-Dispatch Version: 0.80.0 Release: 0 # 0.08 -> normalize -> 0.80.0 %define cpan_version 0.08 License: Artistic-1.0 OR GPL-1.0-or-later Summary: Mocks LWP::UserAgent and dispatches your requests/responses URL: https://metacpan.org/release/%{cpan_name} Source0: https://cpan.metacpan.org/authors/id/T/TA/TADAM/%{cpan_name}-%{cpan_version}.tar.gz Source1: cpanspec.yml Source100: README.md BuildArch: noarch BuildRequires: perl BuildRequires: perl-macros BuildRequires: perl(HTTP::Request) BuildRequires: perl(HTTP::Response) BuildRequires: perl(LWP::UserAgent) BuildRequires: perl(Test::Exception) BuildRequires: perl(Test::MockObject) Requires: perl(HTTP::Request) Requires: perl(HTTP::Response) Requires: perl(LWP::UserAgent) Requires: perl(Test::MockObject) Provides: perl(Test::Mock::LWP::Dispatch) = %{version} %undefine __perllib_provides %{perl_requires} %description This module is intended for testing a code that heavily uses LWP::UserAgent. Assume that a function you want to test makes three different requests to a server and expects to get some content from the server. To test this function you should setup request/response mappings for mocked UserAgent and test it. For doing something with mappings, here are methods 'map', 'unmap' and 'unmap_all'. For controlling context of these mappings (whether it applies to all LWP::UserAgent-s created in your code or only to a specific one) you need to call these functions for exported '$mock_ua' object (global mapping) or for newly created LWP::UserAgent (local mappings). See also Test::Mock::LWP, it provides mocked LWP objects for you, so probably you can solve your problems with that module too. %prep %autosetup -n %{cpan_name}-%{cpan_version} %build 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 %license LICENSE %changelog