From 0e3400ce5db63737d70ef978fa61da1a59abd63f48a51f7999da14144d86aa23 Mon Sep 17 00:00:00 2001 From: Steve Kowalik Date: Thu, 27 Mar 2025 00:41:46 +0000 Subject: [PATCH 1/2] - Normalize metadata directory name. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-zope.testbrowser?expand=0&rev=31 --- .gitattributes | 23 ++++ .gitignore | 1 + _multibuild | 3 + python-zope.testbrowser.changes | 225 ++++++++++++++++++++++++++++++++ python-zope.testbrowser.spec | 107 +++++++++++++++ zope.testbrowser-7.0.tar.gz | 3 + 6 files changed, 362 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 _multibuild create mode 100644 python-zope.testbrowser.changes create mode 100644 python-zope.testbrowser.spec create mode 100644 zope.testbrowser-7.0.tar.gz diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..fcc7b97 --- /dev/null +++ b/_multibuild @@ -0,0 +1,3 @@ + + test + diff --git a/python-zope.testbrowser.changes b/python-zope.testbrowser.changes new file mode 100644 index 0000000..2b6fc3f --- /dev/null +++ b/python-zope.testbrowser.changes @@ -0,0 +1,225 @@ +------------------------------------------------------------------- +Thu Mar 27 00:40:11 UTC 2025 - Steve Kowalik + +- Normalize metadata directory name. + +------------------------------------------------------------------- +Wed Aug 14 14:55:21 UTC 2024 - Dirk Müller + +- switch to modern python for sle15 + +------------------------------------------------------------------- +Mon Jun 10 09:12:39 UTC 2024 - Dirk Müller + +- update to 7.0: + * Add support for Python 3.12 and 3.13 as of 3.13b1. + * Drop support for Python 3.7. +- use PEP517 build + +------------------------------------------------------------------- +Mon Apr 3 09:34:27 UTC 2023 - pgajdos@suse.com + +- version update to 6.0 + - Drop support for Python 2.7, 3.5, 3.6. + - Drop support for deprecated ``python setup.py test``. + - Add support for Python 3.11. + - Do not break in ``mechRepr`` when using ````. +- deleted patches + - zope.testbrowser-remove-bad-test.patch (upstreamed) + +------------------------------------------------------------------- +Fri Sep 16 19:36:33 UTC 2022 - Yogalakshmi Arunachalam + +- update to 5.6.1 + * Ensure all objects have consistent resolution orders. + +- update to 5.6.0 + * Add support for Python 3.9 and 3.10. + +------------------------------------------------------------------- +Wed Oct 13 12:10:13 UTC 2021 - Matej Cepl + +- Make tests verbose + +------------------------------------------------------------------- +Tue Oct 5 12:40:02 UTC 2021 - pgajdos@suse.com + +- %check: use %pyunittest rpm macro + +------------------------------------------------------------------- +Tue Jan 21 10:36:36 UTC 2020 - Marketa Calabkova + +- update to 5.5.1 + * Stop sending a Referer header when browser.open or browser.post is called directly. + * Add error checking to the setters for ListControl.displayValue and CheckboxListControl.displayValue: + in line with the old mechanize-based implementation, these will now raise ItemNotFoundError + if any of the given values are not found, or ItemCountError on trying to set more than one value + on a single-valued control. + * Fix AttributeError in add_file when trying to add to a control which is not a file upload. + * Fix a bug where browser.goBack() did not invalidate caches, so subsequent queries could use data + from the wrong response. + * Support telling the browser not to follow redirects by setting Browser.follow_redirects to False. + +------------------------------------------------------------------- +Wed Nov 6 12:01:55 UTC 2019 - Tomáš Chvátal + +- Update to 5.4.0: + * Fix a bug where browser.reload() would not follow redirects or raise exceptions for bad HTTP statuses. See issue 75. + * Add Python 3.8 support. See issue 80. + +------------------------------------------------------------------- +Mon Jul 22 10:57:47 UTC 2019 - Tomáš Chvátal + +- Update to 5.3.3: + * Fix a bug where clicking the selected radio button would unselect it. See issue 68. + * Fix another incompatibility with BeautifulSoup4 >= 4.7 that could result in a SyntaxError from browser.getLink(). See issue 61. + +------------------------------------------------------------------- +Mon Apr 8 15:39:10 UTC 2019 - Marketa Calabkova + +- update to version 5.3.2 + * Fix a bug where you couldn’t set a cookie expiration date when + your locale was not English. + * Fix an incompatibility with BeautifulSoup4 >= 4.7 that could + result in a SyntaxError from browser.getControl(). + * note: BeautifulSoup is not in requirements in setup.py and + we are successfully building the package without it + * Fix narrative doctests that started failing on January 1st, + 2019 due to a hardcoded “future” date. + 5.3.1 + * Fix a DeprecationWarning on Python 3. + 5.3.0 + * Add support for Python 3.7. + * Drop support for Python 3.3 and 3.4. + * Drop support for pystone as Python 3.7 dropped pystone. + * Fix mechRepr of CheckboxListControl to always return a + native str. + * Add mechRepr to input fields having the type email. +- Added patch zope.testbrowser-remove-bad-test.patch to disable + failing test. + * It seems to me that Google has changed the robot policy again + and therefore it is not a bug in the software itself (similar + to upstream issue #12). + +------------------------------------------------------------------- +Tue Dec 4 12:56:31 UTC 2018 - Matej Cepl + +- Remove superfluous devel dependency for noarch package + +------------------------------------------------------------------- +Mon Aug 6 20:36:02 UTC 2018 - toddrme2178@gmail.com + +- Update to 5.2.4 + * Fix form submit with GET method if the form action contains a query string + (https://github.com/zopefoundation/zope.testbrowser/pull/42). + * Restore ignoring hidden elements when searching by label + (https://github.com/zopefoundation/zope.testbrowser/pull/41). +- Update to 5.2.3 + * Fix ``mechRepr`` on controls to always return a native str + (https://github.com/zopefoundation/zope.testbrowser/issues/38). +- Update to 5.2.2 + * Restore raising of AttributeError when trying to set value of a + read only control. + * Fix selecting radio and select control options by index + (https://github.com/zopefoundation/zope.testbrowser/issues/31). +- Update to 5.2.1 + * Exclude version 2.0.27 of `WebTest` from allowed versions as it breaks some + tests. + * Adapt tests to version 2.0.28 of `WebTest` but keeping compatibility to older + versions. +- Update to 5.2 + * Fixed ``toStr`` to handle lists, for example a list of class names. + [maurits] + * Fixed browser to only follow redirects for HTTP statuses + 301, 302, 303, and 307; not other 30x statuses such as 304. + * Fix passing a real file to ``add_file``. + * Add ``controls`` property to Form class to list all form controls. + * Restore the ability to use parts of the actually displayed select box titles. + * Allow to set a string value instead of a list on ``Browser.displayValue``. + * Fix setting empty values on a select control. + * Support Python 3.6, PyPy2.7 an PyPy3.3. +- Update to 5.1 + * Alias ``.browser.urllib_request.HTTPError`` to ``.browser.HTTPError`` to have + a better API. +- Update to 5.0.0 + * Converted most doctests to Sphinx documentation, and published to + https://zopetestbrowser.readthedocs.io/ . + * Internal implementation now uses WebTest instead of ``mechanize``. + The ``mechanize`` dependency is completely dropped. + **This is a backwards-incompatible change.** + * Remove APIs: + > ``zope.testbrowser.testing.Browser`` (this is a big one). + * Remove modules: + > ``zope.testbrowser.connection`` + * Remove internal classes you were not supposed to use anyway: + > ``zope.testbrowser.testing.PublisherResponse`` + > ``zope.testbrowser.testing.PublisherConnection`` + > ``zope.testbrowser.testing.PublisherHTTPHandler`` + > ``zope.testbrowser.testing.PublisherMechanizeBrowser`` + > ``zope.testbrowser.wsgi.WSGIConnection`` + > ``zope.testbrowser.wsgi.WSGIHTTPHandler`` + > ``zope.testbrowser.wsgi.WSGIMechanizeBrowser`` + * Remove internal attributes you were not supposed to use anyway (this + list is not necessarily complete): + > ``Browser._mech_browser`` + * Remove setuptools extras: + > ``zope.testbrowser[zope-functional-testing]`` + * Changed behavior: + > The testbrowser no longer follows HTML redirects aka + ````. This was a `mechanize` feature which + does not seem to be provided by `WebTest`. + * Add support for Python 3.3, 3.4 and 3.5. + * Drop support for Python 2.5 and 2.6. + * Drop the ``WebTest <= 1.3.4`` pin. We require ``WebTest >= 2.0.8`` now. + * Remove dependency on deprecated ``zope.app.testing``. + * Bugfix: ``browser.getLink()`` could fail if your HTML contained ```` + elements with no href attribute + (https://github.com/zopefoundation/zope.testbrowser/pull/3). +- Implement single-spec version + + +------------------------------------------------------------------- +Fri May 15 13:16:56 UTC 2015 - benoit.monin@gmx.fr + +- update to version 4.0.4: + * Removed the ‘WebTest <= 1.3.4’ version pin, fixed tests to work + with modern WebTest versions (issue #10). +- additional changes from version 4.0.3: + pinning version ‘WebTest <= 1.3.4’, because of some + incompatibility and test failures + * Make zope.testbrowser installable via pip (issue #6). + * When Browser.handleErrors is False, also add + x-wsgiorg.throw_errors to the environment. + http://wsgi.org/wsgi/Specifications/throw_errors + * Prevent WebTest from always sending paste.throw_errors=True in + the environment by setting it to None when Browser.handleErrors + is True. This makes it easier to test error pages. + * Made Browser.submit() handle raiseHttpErrors (PR #4). + * More friendly error messages from getControl() et al: + + when you specify an index that is out of bounds, show the + available choices + + when you fail to find anything, show all the available items +- switch the source archive to zip (tar.gz not available) +- add unzip to BuildRequires +- add fdupes as BuildRequires and call it after install +- set a minimum version for python-mechanize +- update the test requirements (still commented, the tests fail) +- add the runtime requirements as build requirements to ensure + their availability +- update the documentation files + +------------------------------------------------------------------- +Thu Oct 24 11:17:58 UTC 2013 - speilicke@suse.com + +- Require python-setuptools instead of distribute (upstreams merged) + +------------------------------------------------------------------- +Mon Mar 25 09:00:12 UTC 2013 - speilicke@suse.com + +- More on testing + +------------------------------------------------------------------- +Fri Mar 15 13:40:57 UTC 2013 - speilicke@suse.com + +- Initial version + diff --git a/python-zope.testbrowser.spec b/python-zope.testbrowser.spec new file mode 100644 index 0000000..2774579 --- /dev/null +++ b/python-zope.testbrowser.spec @@ -0,0 +1,107 @@ +# +# spec file for package python-zope.testbrowser +# +# Copyright (c) 2025 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/ +# + + +%global flavor @BUILD_FLAVOR@%{nil} +%if "%{flavor}" == "test" +%define psuffix -test +%bcond_without test +%else +%define psuffix %{nil} +%bcond_with test +%endif +%{?sle15_python_module_pythons} +Name: python-zope.testbrowser%{psuffix} +Version: 7.0 +Release: 0 +Summary: Programmable browser for functional black-box tests +License: ZPL-2.1 +URL: https://github.com/zopefoundation/zope.testbrowser +Source: https://files.pythonhosted.org/packages/source/z/zope.testbrowser/zope.testbrowser-%{version}.tar.gz +BuildRequires: %{python_module base >= 3.8} +BuildRequires: %{python_module pip} +BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module wheel} +BuildRequires: fdupes +BuildRequires: python-rpm-macros +Requires: python-WSGIProxy2 +Requires: python-WebTest >= 2.0.30 +Requires: python-beautifulsoup4 +Requires: python-pytz > dev +Requires: python-setuptools +Requires: python-soupsieve >= 1.9.0 +Requires: python-zope.cachedescriptors +Requires: python-zope.interface +Requires: python-zope.schema +Suggests: python-mock +Suggests: python-zope.testing +BuildArch: noarch +# SECTION test requirements +%if %{with test} +BuildRequires: %{python_module WSGIProxy2} +BuildRequires: %{python_module WebTest >= 2.0.30} +BuildRequires: %{python_module beautifulsoup4} +BuildRequires: %{python_module pytz > dev} +BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module soupsieve >= 1.9.0} +BuildRequires: %{python_module zope.cachedescriptors} +BuildRequires: %{python_module zope.interface} +BuildRequires: %{python_module zope.schema} +BuildRequires: %{python_module zope.testbrowser} +BuildRequires: %{python_module zope.testing} +%endif +# /SECTION +%python_subpackages + +%description +The zope.testbrowser package provides an programmable web browser +with special focus on testing. It is used in Zope, but it's not Zope +specific. It can be used to test or otherwise interact with any web +site. + +%prep +%autosetup -p1 -n zope.testbrowser-%{version} + +%build +%if !%{with test} +%pyproject_wheel +%endif + +%install +%if !%{with test} +%pyproject_install +%python_expand %fdupes %{buildroot}%{$python_sitelib} +%endif + +%check +%if %{with test} +cd src +%pyunittest -v zope/testbrowser/tests/test_*.py +# TODO doctests +%endif + +%files %{python_files} +%if !%{with test} +%doc CHANGES.rst README.rst +%license LICENSE.rst +%dir %{python_sitelib}/zope +%{python_sitelib}/zope/testbrowser +%{python_sitelib}/zope.testbrowser-%{version}-py*-nspkg.pth +%{python_sitelib}/zope_testbrowser-%{version}.dist-info +%endif + +%changelog diff --git a/zope.testbrowser-7.0.tar.gz b/zope.testbrowser-7.0.tar.gz new file mode 100644 index 0000000..f0ff12b --- /dev/null +++ b/zope.testbrowser-7.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5936d2a0d77d8781d001358fd0b11461285b02dc6e3b324b84c1ed9326b1ff3f +size 85418 From a27ea8730b9f4cea183da285bb56733b9b3886bcb4c493dee1e4e4e4bb9bcd81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mark=C3=A9ta=20Machov=C3=A1?= Date: Tue, 1 Apr 2025 16:11:36 +0000 Subject: [PATCH 2/2] - Make it compatible with older setuptools OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-zope.testbrowser?expand=0&rev=32 --- python-zope.testbrowser.changes | 5 +++++ python-zope.testbrowser.spec | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/python-zope.testbrowser.changes b/python-zope.testbrowser.changes index 2b6fc3f..472107c 100644 --- a/python-zope.testbrowser.changes +++ b/python-zope.testbrowser.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Apr 1 16:06:01 UTC 2025 - Markéta Machová + +- Make it compatible with older setuptools + ------------------------------------------------------------------- Thu Mar 27 00:40:11 UTC 2025 - Steve Kowalik diff --git a/python-zope.testbrowser.spec b/python-zope.testbrowser.spec index 2774579..24543ad 100644 --- a/python-zope.testbrowser.spec +++ b/python-zope.testbrowser.spec @@ -101,7 +101,7 @@ cd src %dir %{python_sitelib}/zope %{python_sitelib}/zope/testbrowser %{python_sitelib}/zope.testbrowser-%{version}-py*-nspkg.pth -%{python_sitelib}/zope_testbrowser-%{version}.dist-info +%{python_sitelib}/zope[_.]testbrowser-%{version}.dist-info %endif %changelog