diff --git a/.gitignore b/.gitignore index 50cff98..31d8679 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /httmock-1.2.6.tar.gz /httmock-1.3.0.tar.gz +/tests.py /httmock-1.4.0.tar.gz diff --git a/.packit.yaml b/.packit.yaml deleted file mode 100644 index 1d68e68..0000000 --- a/.packit.yaml +++ /dev/null @@ -1,25 +0,0 @@ ---- -# See the documentation for more information: -# https://packit.dev/docs/configuration/ - -upstream_project_url: https://github.com/patrys/httmock -copy_upstream_release_description: false -upstream_tag_include: '^\d+\.\d+\.\d+$' - -jobs: - - job: pull_from_upstream - trigger: release - dist_git_branches: - - fedora-rawhide - - epel10 - - job: koji_build - trigger: commit - allowed_committers: ['packit','all_admins'] - dist_git_branches: - - fedora-rawhide - - epel10 - - job: bodhi_update - trigger: commit - allowed_builders: ['packit','all_users'] - dist_git_branches: - - fedora-rawhide diff --git a/changelog b/changelog deleted file mode 100644 index 29ef604..0000000 --- a/changelog +++ /dev/null @@ -1,92 +0,0 @@ -* Sat Jan 18 2025 Fedora Release Engineering - 1.4.0-16 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Fri Jul 19 2024 Fedora Release Engineering - 1.4.0-15 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Fri Jun 07 2024 Python Maint - 1.4.0-14 -- Rebuilt for Python 3.13 - -* Fri Jan 26 2024 Fedora Release Engineering - 1.4.0-13 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Mon Jan 22 2024 Fedora Release Engineering - 1.4.0-12 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Fri Jul 21 2023 Fedora Release Engineering - 1.4.0-11 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Wed Jun 14 2023 Python Maint - 1.4.0-10 -- Rebuilt for Python 3.12 - -* Fri May 05 2023 Steve Traylen 1.4.0-9 -- Complete migration to pyproject macros -- Switch SPDX license field -- Use tests.py matching released version of module (rhbz#2175195) - -* Fri Jan 20 2023 Fedora Release Engineering - 1.4.0-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Fri Jul 22 2022 Fedora Release Engineering - 1.4.0-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Mon Jun 13 2022 Python Maint - 1.4.0-6 -- Rebuilt for Python 3.11 - -* Fri Jan 28 2022 Steve Traylen 1.4.0-5 -- Migrate tests to tox rhbz#2019409 - -* Fri Jan 21 2022 Fedora Release Engineering - 1.4.0-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Fri Jul 23 2021 Fedora Release Engineering - 1.4.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Fri Jun 04 2021 Python Maint - 1.4.0-2 -- Rebuilt for Python 3.10 - -* Mon Mar 8 2021 Steve Traylen - 1.4.0-1 -- Update to 1.4.0 - -* Wed Jan 27 2021 Fedora Release Engineering - 1.3.0-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Wed Jul 29 2020 Fedora Release Engineering - 1.3.0-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue May 26 2020 Miro Hrončok - 1.3.0-3 -- Rebuilt for Python 3.9 - -* Thu Jan 30 2020 Fedora Release Engineering - 1.3.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Wed Nov 13 2019 Steve Traylen - 1.3.0-1 -- Update to 1.3.0 - -* Thu Oct 03 2019 Miro Hrončok - 1.2.6-9 -- Rebuilt for Python 3.8.0rc1 (#1748018) - -* Mon Aug 19 2019 Miro Hrončok - 1.2.6-8 -- Rebuilt for Python 3.8 - -* Fri Jul 26 2019 Fedora Release Engineering - 1.2.6-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Sat Feb 02 2019 Fedora Release Engineering - 1.2.6-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Fri Jan 04 2019 Igor Gnatenko - 1.2.6-5 -- Enable python dependency generator - -* Fri Jan 04 2019 Miro Hrončok - 1.2.6-4 -- Subpackage python2-httmock has been removed - See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal - -* Sat Jul 14 2018 Fedora Release Engineering - 1.2.6-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Tue Jun 19 2018 Miro Hrončok - 1.2.6-2 -- Rebuilt for Python 3.7 - -* Fri May 11 2018 Steve Traylen - 1.2.6-1 -- Initial package. diff --git a/python-httmock.spec b/python-httmock.spec index 596edac..bf62fa2 100644 --- a/python-httmock.spec +++ b/python-httmock.spec @@ -1,60 +1,115 @@ -Name: python-httmock -Version: 1.4.0 -Release: %autorelease -Summary: A mocking library for requests -License: Apache-2.0 -URL: https://github.com/patrys/httmock +%{?python_enable_dependency_generator} +# Created by pyp2rpm-3.3.0 +%global pypi_name httmock -# Switch to github at next release to avoid the extra Source1 +Name: python-%{pypi_name} +Version: 1.4.0 +Release: 5%{?dist} +Summary: A mocking library for requests + +License: ASL 2.0 +URL: https://github.com/patrys/httmock Source0: https://files.pythonhosted.org/packages/source/h/httmock/httmock-%{version}.tar.gz Source1: https://raw.githubusercontent.com/patrys/httmock/%{version}/tests.py - # Add a tox file. # https://bugzilla.redhat.com/show_bug.cgi?id=2019409 Patch0: https://patch-diff.githubusercontent.com/raw/patrys/httmock/pull/64.diff BuildArch: noarch -%global _description %{expand: +%description A mocking library for requests for Python. You can use it to mock third-party APIs and test libraries -that use requests internally} +that use requests internally. - -%description %_description - -%package -n python3-httmock +%package -n python3-%{pypi_name} Summary: %{summary} BuildRequires: python3-devel -%description -n python3-httmock %_description - - -%prep -%autosetup -p1 -n httmock-%{version} -cp %{SOURCE1} . - %generate_buildrequires %pyproject_buildrequires -t +%description -n python3-%{pypi_name} +A mocking library for requests for Python. +You can use it to mock third-party APIs and test libraries +that use requests internally. + +%prep +%autosetup -p1 -n %{pypi_name}-%{version} +# Remove bundled egg-info +rm -rf %{pypi_name}.egg-info +cp %{SOURCE1} . %build -%pyproject_wheel - +%py3_build %install -%pyproject_install - -%pyproject_save_files httmock - +%py3_install %check %{tox} - -%files -n python3-httmock -f %{pyproject_files} +%files -n python3-%{pypi_name} %license LICENSE %doc README.md - +%{python3_sitelib}/__pycache__/* +%{python3_sitelib}/%{pypi_name}.py +%{python3_sitelib}/%{pypi_name}-%{version}-py%{python3_version}.egg-info %changelog -%autochangelog +* Fri Jan 28 2022 Steve Traylen 1.4.0-5 +- Migrate tests to tox rhbz#2019409 + +* Fri Jan 21 2022 Fedora Release Engineering - 1.4.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Jul 23 2021 Fedora Release Engineering - 1.4.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Jun 04 2021 Python Maint - 1.4.0-2 +- Rebuilt for Python 3.10 + +* Mon Mar 8 2021 Steve Traylen - 1.4.0-1 +- Update to 1.4.0 + +* Wed Jan 27 2021 Fedora Release Engineering - 1.3.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Jul 29 2020 Fedora Release Engineering - 1.3.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue May 26 2020 Miro Hrončok - 1.3.0-3 +- Rebuilt for Python 3.9 + +* Thu Jan 30 2020 Fedora Release Engineering - 1.3.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Nov 13 2019 Steve Traylen - 1.3.0-1 +- Update to 1.3.0 + +* Thu Oct 03 2019 Miro Hrončok - 1.2.6-9 +- Rebuilt for Python 3.8.0rc1 (#1748018) + +* Mon Aug 19 2019 Miro Hrončok - 1.2.6-8 +- Rebuilt for Python 3.8 + +* Fri Jul 26 2019 Fedora Release Engineering - 1.2.6-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sat Feb 02 2019 Fedora Release Engineering - 1.2.6-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jan 04 2019 Igor Gnatenko - 1.2.6-5 +- Enable python dependency generator + +* Fri Jan 04 2019 Miro Hrončok - 1.2.6-4 +- Subpackage python2-httmock has been removed + See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal + +* Sat Jul 14 2018 Fedora Release Engineering - 1.2.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jun 19 2018 Miro Hrončok - 1.2.6-2 +- Rebuilt for Python 3.7 + +* Fri May 11 2018 Steve Traylen - 1.2.6-1 +- Initial package. diff --git a/tests.py b/tests.py index 9d4cabb..c396192 100644 --- a/tests.py +++ b/tests.py @@ -66,8 +66,7 @@ def any_mock(url, request): def dict_any_mock(url, request): return { 'content': 'Hello from %s' % (url.netloc,), - 'status_code': 200, - 'http_vsn': 10, + 'status_code': 200 } @@ -137,13 +136,6 @@ class MockTest(unittest.TestCase): self.assertEqual(r.text, u'Motörhead') self.assertEqual(r.content, r.text.encode('utf-8')) - def test_has_raw_version(self): - with HTTMock(any_mock): - r = requests.get('http://example.com') - self.assertEqual(r.raw.version, 11) - with HTTMock(dict_any_mock): - r = requests.get('http://example.com') - self.assertEqual(r.raw.version, 10) class DecoratorTest(unittest.TestCase): @@ -250,11 +242,6 @@ class ResponseTest(unittest.TestCase): r = response(200, None, {'Content-Type': 'application/json'}) self.assertEqual(r.headers['content-type'], 'application/json') - def test_response_raw_version(self): - r = response(200, None, {'Content-Type': 'application/json'}, - http_vsn=10) - self.assertEqual(r.raw.version, 10) - def test_response_cookies(self): @all_requests def response_content(url, request): @@ -281,18 +268,6 @@ class ResponseTest(unittest.TestCase): self.assertTrue('foo' in session.cookies) self.assertEqual(session.cookies['foo'], 'bar') - def test_session_persistent_cookies(self): - session = requests.Session() - with HTTMock(lambda u, r: response(200, 'Foo', {'Set-Cookie': 'foo=bar;'}, request=r)): - session.get('https://foo_bar') - with HTTMock(lambda u, r: response(200, 'Baz', {'Set-Cookie': 'baz=qux;'}, request=r)): - session.get('https://baz_qux') - self.assertEqual(len(session.cookies), 2) - self.assertTrue('foo' in session.cookies) - self.assertEqual(session.cookies['foo'], 'bar') - self.assertTrue('baz' in session.cookies) - self.assertEqual(session.cookies['baz'], 'qux') - def test_python_version_encoding_differences(self): # Previous behavior would result in this test failing in Python3 due # to how requests checks for utf-8 JSON content in requests.utils with: @@ -366,7 +341,7 @@ class RememberCalledTest(unittest.TestCase): results = self.several_calls( 1, requests.get, 'http://facebook.com/') - self.assertEqual(facebook_mock_count.call['count'], 1) + self.assertEquals(facebook_mock_count.call['count'], 1) @with_httmock(google_mock_count, facebook_mock_count) def test_several_call_decorated(self): @@ -382,7 +357,7 @@ class RememberCalledTest(unittest.TestCase): self.assertEqual(r.content, b'Hello from Facebook') self.several_calls(1, requests.get, 'http://facebook.com/') - self.assertEqual(facebook_mock_count.call['count'], 4) + self.assertEquals(facebook_mock_count.call['count'], 4) def test_store_several_requests(self): with HTTMock(google_mock_store_requests):