From dc69d17456ad98c6576c21a7113fea9862614046 Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Tue, 11 Apr 2023 19:32:35 +0000 Subject: automatic import of python-pytest-cookies --- .gitignore | 1 + python-pytest-cookies.spec | 485 +++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 487 insertions(+) create mode 100644 python-pytest-cookies.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore index e69de29..76eab70 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/pytest-cookies-0.7.0.tar.gz diff --git a/python-pytest-cookies.spec b/python-pytest-cookies.spec new file mode 100644 index 0000000..68282fa --- /dev/null +++ b/python-pytest-cookies.spec @@ -0,0 +1,485 @@ +%global _empty_manifest_terminate_build 0 +Name: python-pytest-cookies +Version: 0.7.0 +Release: 1 +Summary: The pytest plugin for your Cookiecutter templates. 🍪 +License: MIT +URL: https://github.com/hackebrot/pytest-cookies +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/18/2e/11a3e1abb4bbf10e0af3f194ba4c55600de3fe52417ef3594c18d28ecdbe/pytest-cookies-0.7.0.tar.gz +BuildArch: noarch + +Requires: python3-cookiecutter +Requires: python3-pytest + +%description +# pytest-cookies + +[pytest][pytest] is a mature testing framework for Python that is developed +by a thriving and ever-growing community of volunteers. It uses plain assert +statements and regular Python comparisons. At the core of the pytest test +framework is a powerful hook-based plugin system. + +**pytest-cookies** is a pytest plugin that comes with a ``cookies`` fixture +which is a wrapper for the [cookiecutter][cookiecutter] API for generating +projects. It helps you verify that your template is working as expected and +takes care of cleaning up after running the tests. 🍪 + +# Installation + +**pytest-cookies** is available for download from [PyPI][pypi] via [pip][pip]: + +```text +pip install pytest-cookies +``` +This will automatically install [pytest][pytest] and +[cookiecutter][cookiecutter]. + +# Usage + +## Generate a new project + +The ``cookies.bake()`` method generates a new project from your template +based on the default values specified in ``cookiecutter.json``: + +```python +def test_bake_project(cookies): + result = cookies.bake(extra_context={"repo_name": "helloworld"}) + + assert result.exit_code == 0 + assert result.exception is None + + assert result.project_path.name == "helloworld" + assert result.project_path.is_dir() + + # The `project` attribute is deprecated + assert result.project.basename == "helloworld" + assert result.project.isdir() +``` + +**Please note that the `project` attribute of the returned `Result` class is +deprecated and will be removed in a future release, please use `project_path` +instead.** + +The ``cookies.bake()`` method also accepts the ``extra_context`` keyword +argument that will be passed to cookiecutter. The given dictionary will +override the default values of the template context, effectively allowing you +to test arbitrary user input data. + +For more information on injecting extra context, please check out the +[cookiecutter documentation][extra-context]. + +## Specify the template directory + +By default ``cookies.bake()`` looks for a cookiecutter template in the +current directory. This can be overridden on the command line by passing a +``--template`` parameter to pytest: + +```text +pytest --template TEMPLATE +``` + +You can customize the cookiecutter template directory from a test by passing +in the optional ``template`` paramter: + +```python +@pytest.fixture +def custom_template(tmpdir): + template = tmpdir.ensure("cookiecutter-template", dir=True) + template.join("cookiecutter.json").write('{"repo_name": "example-project"}') + + repo_dir = template.ensure("{{cookiecutter.repo_name}}", dir=True) + repo_dir.join("README.rst").write("{{cookiecutter.repo_name}}") + + return template + + +def test_bake_custom_project(cookies, custom_template): + """Test for 'cookiecutter-template'.""" + result = cookies.bake(template=str(custom_template)) + + assert result.exit_code == 0 + assert result.exception is None + + assert result.project_path.name == "example-project" + assert result.project_path.is_dir() +``` + +## Keep output directories for debugging + +By default ``cookies`` removes baked projects. + +However, you can pass the ``keep-baked-projects`` flag if you'd like to keep +them ([it won't clutter][temporary-directories] as pytest only keeps the +three newest temporary directories): + +```text +pytest --keep-baked-projects +``` + +# Community + +Contributions are very welcome! If you encounter any problems, please [file +an issue][new-issue] along with a detailed description. Tests can be run with +[tox][tox]. Please make sure all of the tests are green before you submit a +pull request. + +You can also support the development of this project by volunteering to +become a maintainer, which means you will be able to triage issues, merge +pull-requests, and publish new releases. If you're interested, please submit +a pull-request to add yourself to the list of [maintainers][community] and +we'll get you started! 🍪 + +Please note that **pytest-cookies** is released with a [Contributor Code of +Conduct][code-of-conduct]. By participating in this project you agree to +abide by its terms. + +# License + +Distributed under the terms of the [MIT license][license], **pytest-cookies** +is free and open source software. + +[cookiecutter]: https://github.com/audreyr/cookiecutter +[pytest]: https://github.com/pytest-dev/pytest +[pip]: https://pypi.org/project/pip/ +[pypi]: https://pypi.org/project/pytest-cookies/ +[extra-context]: https://cookiecutter.readthedocs.io/en/latest/advanced/injecting_context.html +[temporary-directories]: https://docs.pytest.org/en/latest/tmpdir.html#the-default-base-temporary-directory +[tox]: https://pypi.org/project/tox/ +[new-issue]: https://github.com/hackebrot/pytest-cookies/issues +[code-of-conduct]: https://github.com/hackebrot/pytest-cookies/blob/main/CODE_OF_CONDUCT.md +[community]: https://github.com/hackebrot/pytest-cookies/blob/main/COMMUNITY.md +[license]: https://github.com/hackebrot/pytest-cookies/blob/main/LICENSE + + +%package -n python3-pytest-cookies +Summary: The pytest plugin for your Cookiecutter templates. 🍪 +Provides: python-pytest-cookies +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-pytest-cookies +# pytest-cookies + +[pytest][pytest] is a mature testing framework for Python that is developed +by a thriving and ever-growing community of volunteers. It uses plain assert +statements and regular Python comparisons. At the core of the pytest test +framework is a powerful hook-based plugin system. + +**pytest-cookies** is a pytest plugin that comes with a ``cookies`` fixture +which is a wrapper for the [cookiecutter][cookiecutter] API for generating +projects. It helps you verify that your template is working as expected and +takes care of cleaning up after running the tests. 🍪 + +# Installation + +**pytest-cookies** is available for download from [PyPI][pypi] via [pip][pip]: + +```text +pip install pytest-cookies +``` +This will automatically install [pytest][pytest] and +[cookiecutter][cookiecutter]. + +# Usage + +## Generate a new project + +The ``cookies.bake()`` method generates a new project from your template +based on the default values specified in ``cookiecutter.json``: + +```python +def test_bake_project(cookies): + result = cookies.bake(extra_context={"repo_name": "helloworld"}) + + assert result.exit_code == 0 + assert result.exception is None + + assert result.project_path.name == "helloworld" + assert result.project_path.is_dir() + + # The `project` attribute is deprecated + assert result.project.basename == "helloworld" + assert result.project.isdir() +``` + +**Please note that the `project` attribute of the returned `Result` class is +deprecated and will be removed in a future release, please use `project_path` +instead.** + +The ``cookies.bake()`` method also accepts the ``extra_context`` keyword +argument that will be passed to cookiecutter. The given dictionary will +override the default values of the template context, effectively allowing you +to test arbitrary user input data. + +For more information on injecting extra context, please check out the +[cookiecutter documentation][extra-context]. + +## Specify the template directory + +By default ``cookies.bake()`` looks for a cookiecutter template in the +current directory. This can be overridden on the command line by passing a +``--template`` parameter to pytest: + +```text +pytest --template TEMPLATE +``` + +You can customize the cookiecutter template directory from a test by passing +in the optional ``template`` paramter: + +```python +@pytest.fixture +def custom_template(tmpdir): + template = tmpdir.ensure("cookiecutter-template", dir=True) + template.join("cookiecutter.json").write('{"repo_name": "example-project"}') + + repo_dir = template.ensure("{{cookiecutter.repo_name}}", dir=True) + repo_dir.join("README.rst").write("{{cookiecutter.repo_name}}") + + return template + + +def test_bake_custom_project(cookies, custom_template): + """Test for 'cookiecutter-template'.""" + result = cookies.bake(template=str(custom_template)) + + assert result.exit_code == 0 + assert result.exception is None + + assert result.project_path.name == "example-project" + assert result.project_path.is_dir() +``` + +## Keep output directories for debugging + +By default ``cookies`` removes baked projects. + +However, you can pass the ``keep-baked-projects`` flag if you'd like to keep +them ([it won't clutter][temporary-directories] as pytest only keeps the +three newest temporary directories): + +```text +pytest --keep-baked-projects +``` + +# Community + +Contributions are very welcome! If you encounter any problems, please [file +an issue][new-issue] along with a detailed description. Tests can be run with +[tox][tox]. Please make sure all of the tests are green before you submit a +pull request. + +You can also support the development of this project by volunteering to +become a maintainer, which means you will be able to triage issues, merge +pull-requests, and publish new releases. If you're interested, please submit +a pull-request to add yourself to the list of [maintainers][community] and +we'll get you started! 🍪 + +Please note that **pytest-cookies** is released with a [Contributor Code of +Conduct][code-of-conduct]. By participating in this project you agree to +abide by its terms. + +# License + +Distributed under the terms of the [MIT license][license], **pytest-cookies** +is free and open source software. + +[cookiecutter]: https://github.com/audreyr/cookiecutter +[pytest]: https://github.com/pytest-dev/pytest +[pip]: https://pypi.org/project/pip/ +[pypi]: https://pypi.org/project/pytest-cookies/ +[extra-context]: https://cookiecutter.readthedocs.io/en/latest/advanced/injecting_context.html +[temporary-directories]: https://docs.pytest.org/en/latest/tmpdir.html#the-default-base-temporary-directory +[tox]: https://pypi.org/project/tox/ +[new-issue]: https://github.com/hackebrot/pytest-cookies/issues +[code-of-conduct]: https://github.com/hackebrot/pytest-cookies/blob/main/CODE_OF_CONDUCT.md +[community]: https://github.com/hackebrot/pytest-cookies/blob/main/COMMUNITY.md +[license]: https://github.com/hackebrot/pytest-cookies/blob/main/LICENSE + + +%package help +Summary: Development documents and examples for pytest-cookies +Provides: python3-pytest-cookies-doc +%description help +# pytest-cookies + +[pytest][pytest] is a mature testing framework for Python that is developed +by a thriving and ever-growing community of volunteers. It uses plain assert +statements and regular Python comparisons. At the core of the pytest test +framework is a powerful hook-based plugin system. + +**pytest-cookies** is a pytest plugin that comes with a ``cookies`` fixture +which is a wrapper for the [cookiecutter][cookiecutter] API for generating +projects. It helps you verify that your template is working as expected and +takes care of cleaning up after running the tests. 🍪 + +# Installation + +**pytest-cookies** is available for download from [PyPI][pypi] via [pip][pip]: + +```text +pip install pytest-cookies +``` +This will automatically install [pytest][pytest] and +[cookiecutter][cookiecutter]. + +# Usage + +## Generate a new project + +The ``cookies.bake()`` method generates a new project from your template +based on the default values specified in ``cookiecutter.json``: + +```python +def test_bake_project(cookies): + result = cookies.bake(extra_context={"repo_name": "helloworld"}) + + assert result.exit_code == 0 + assert result.exception is None + + assert result.project_path.name == "helloworld" + assert result.project_path.is_dir() + + # The `project` attribute is deprecated + assert result.project.basename == "helloworld" + assert result.project.isdir() +``` + +**Please note that the `project` attribute of the returned `Result` class is +deprecated and will be removed in a future release, please use `project_path` +instead.** + +The ``cookies.bake()`` method also accepts the ``extra_context`` keyword +argument that will be passed to cookiecutter. The given dictionary will +override the default values of the template context, effectively allowing you +to test arbitrary user input data. + +For more information on injecting extra context, please check out the +[cookiecutter documentation][extra-context]. + +## Specify the template directory + +By default ``cookies.bake()`` looks for a cookiecutter template in the +current directory. This can be overridden on the command line by passing a +``--template`` parameter to pytest: + +```text +pytest --template TEMPLATE +``` + +You can customize the cookiecutter template directory from a test by passing +in the optional ``template`` paramter: + +```python +@pytest.fixture +def custom_template(tmpdir): + template = tmpdir.ensure("cookiecutter-template", dir=True) + template.join("cookiecutter.json").write('{"repo_name": "example-project"}') + + repo_dir = template.ensure("{{cookiecutter.repo_name}}", dir=True) + repo_dir.join("README.rst").write("{{cookiecutter.repo_name}}") + + return template + + +def test_bake_custom_project(cookies, custom_template): + """Test for 'cookiecutter-template'.""" + result = cookies.bake(template=str(custom_template)) + + assert result.exit_code == 0 + assert result.exception is None + + assert result.project_path.name == "example-project" + assert result.project_path.is_dir() +``` + +## Keep output directories for debugging + +By default ``cookies`` removes baked projects. + +However, you can pass the ``keep-baked-projects`` flag if you'd like to keep +them ([it won't clutter][temporary-directories] as pytest only keeps the +three newest temporary directories): + +```text +pytest --keep-baked-projects +``` + +# Community + +Contributions are very welcome! If you encounter any problems, please [file +an issue][new-issue] along with a detailed description. Tests can be run with +[tox][tox]. Please make sure all of the tests are green before you submit a +pull request. + +You can also support the development of this project by volunteering to +become a maintainer, which means you will be able to triage issues, merge +pull-requests, and publish new releases. If you're interested, please submit +a pull-request to add yourself to the list of [maintainers][community] and +we'll get you started! 🍪 + +Please note that **pytest-cookies** is released with a [Contributor Code of +Conduct][code-of-conduct]. By participating in this project you agree to +abide by its terms. + +# License + +Distributed under the terms of the [MIT license][license], **pytest-cookies** +is free and open source software. + +[cookiecutter]: https://github.com/audreyr/cookiecutter +[pytest]: https://github.com/pytest-dev/pytest +[pip]: https://pypi.org/project/pip/ +[pypi]: https://pypi.org/project/pytest-cookies/ +[extra-context]: https://cookiecutter.readthedocs.io/en/latest/advanced/injecting_context.html +[temporary-directories]: https://docs.pytest.org/en/latest/tmpdir.html#the-default-base-temporary-directory +[tox]: https://pypi.org/project/tox/ +[new-issue]: https://github.com/hackebrot/pytest-cookies/issues +[code-of-conduct]: https://github.com/hackebrot/pytest-cookies/blob/main/CODE_OF_CONDUCT.md +[community]: https://github.com/hackebrot/pytest-cookies/blob/main/COMMUNITY.md +[license]: https://github.com/hackebrot/pytest-cookies/blob/main/LICENSE + + +%prep +%autosetup -n pytest-cookies-0.7.0 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-pytest-cookies -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Apr 11 2023 Python_Bot - 0.7.0-1 +- Package Spec generated diff --git a/sources b/sources new file mode 100644 index 0000000..05e054c --- /dev/null +++ b/sources @@ -0,0 +1 @@ +3cbc01e9b5dafa1299b85e8660167810 pytest-cookies-0.7.0.tar.gz -- cgit v1.2.3