diff options
Diffstat (limited to 'python-kubetest.spec')
-rw-r--r-- | python-kubetest.spec | 273 |
1 files changed, 273 insertions, 0 deletions
diff --git a/python-kubetest.spec b/python-kubetest.spec new file mode 100644 index 0000000..075ad61 --- /dev/null +++ b/python-kubetest.spec @@ -0,0 +1,273 @@ +%global _empty_manifest_terminate_build 0 +Name: python-kubetest +Version: 0.9.5 +Release: 1 +Summary: A Kubernetes integration test framework in Python. +License: GNU General Public License v3.0 +URL: https://github.com/vapor-ware/kubetest +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/55/e8/385d49dd767db396e8408a8e5c9b22974da47787b888b82cb83e68bcdc9b/kubetest-0.9.5.tar.gz +BuildArch: noarch + +Requires: python3-kubernetes +Requires: python3-pyyaml +Requires: python3-pytest + +%description +# kubetest + +[](https://build.vio.sh/blue/organizations/jenkins/vapor-ware%2Fkubetest/activity) +[](https://pypi.org/project/kubetest/) +[](https://kubetest.readthedocs.io/en/latest/?badge=latest) + +Kubetest is a [pytest][pytest] plugin that makes it easier to manage a Kubernetes +cluster within your integration tests. While you can use the [Kubernetes Python client][k8s-py] +directly, this plugin provides some cluster and object management on top of that so you can +spend less time setting up and tearing down tests and more time actually writing your tests. +In particular, this plugin is useful for testing your Kubernetes infrastructure (e.g., ensure +it deploys and behaves correctly) and for testing disaster recovery scenarios (e.g. delete a +pod or deployment and inspect the aftermath). + +**Features:** +* Simple API for common cluster interactions. +* Uses the Kubernetes Python client as the backend, so more complex custom + actions are possible. +* Load Kubernetes manifest YAMLs into their Kubernetes models. +* Each test is run in its own namespace and the namespace is created and + deleted automatically. +* Detailed logging to help debug error cases. +* Wait functions for object readiness and for object deletion. +* Get container logs and search for expected logging output. +* Plugin-managed RBAC permissions at test-case granularity using pytest markers. + +For more information, see the [kubetest documentation][kubetest-docs]. + +## Installation + +This plugin can be installed with `pip` + +``` +pip install kubetest +``` + +Note that the `kubetest` package has entrypoint hooks defined in its [`setup.py`](setup.py) +which allow it to be automatically made available to pytest. This means that it will run +whenever pytest is run. Since `kubetest` expects a cluster to be set up and to be given +configuration for that cluster, pytest will fail if those are not present. It is therefore +recommended to only install `kubetest` in a virtual environment or other managed environment, +such as a CI pipeline, where you can assure that cluster access and configuration are +available. + +## Documentation + +See the [kubetest documentation page][kubetest-docs] for details on command line usage, +available fixtures and markers, and general pytest integration. + +## Feedback + +Feedback for kubetest is greatly appreciated! If you experience any issues, find the +documentation unclear, have feature requests, or just have questions about it, we'd +love to know. Feel free to open an issue for any feedback you may have. + +## License + +kubetest is released under the [GPL-3.0](LICENSE) license. + + + +[pytest]: https://docs.pytest.org/en/latest/ +[k8s-py]: https://github.com/kubernetes-client/python +[kubetest-docs]: https://kubetest.readthedocs.io/en/latest/ + + + + +%package -n python3-kubetest +Summary: A Kubernetes integration test framework in Python. +Provides: python-kubetest +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-kubetest +# kubetest + +[](https://build.vio.sh/blue/organizations/jenkins/vapor-ware%2Fkubetest/activity) +[](https://pypi.org/project/kubetest/) +[](https://kubetest.readthedocs.io/en/latest/?badge=latest) + +Kubetest is a [pytest][pytest] plugin that makes it easier to manage a Kubernetes +cluster within your integration tests. While you can use the [Kubernetes Python client][k8s-py] +directly, this plugin provides some cluster and object management on top of that so you can +spend less time setting up and tearing down tests and more time actually writing your tests. +In particular, this plugin is useful for testing your Kubernetes infrastructure (e.g., ensure +it deploys and behaves correctly) and for testing disaster recovery scenarios (e.g. delete a +pod or deployment and inspect the aftermath). + +**Features:** +* Simple API for common cluster interactions. +* Uses the Kubernetes Python client as the backend, so more complex custom + actions are possible. +* Load Kubernetes manifest YAMLs into their Kubernetes models. +* Each test is run in its own namespace and the namespace is created and + deleted automatically. +* Detailed logging to help debug error cases. +* Wait functions for object readiness and for object deletion. +* Get container logs and search for expected logging output. +* Plugin-managed RBAC permissions at test-case granularity using pytest markers. + +For more information, see the [kubetest documentation][kubetest-docs]. + +## Installation + +This plugin can be installed with `pip` + +``` +pip install kubetest +``` + +Note that the `kubetest` package has entrypoint hooks defined in its [`setup.py`](setup.py) +which allow it to be automatically made available to pytest. This means that it will run +whenever pytest is run. Since `kubetest` expects a cluster to be set up and to be given +configuration for that cluster, pytest will fail if those are not present. It is therefore +recommended to only install `kubetest` in a virtual environment or other managed environment, +such as a CI pipeline, where you can assure that cluster access and configuration are +available. + +## Documentation + +See the [kubetest documentation page][kubetest-docs] for details on command line usage, +available fixtures and markers, and general pytest integration. + +## Feedback + +Feedback for kubetest is greatly appreciated! If you experience any issues, find the +documentation unclear, have feature requests, or just have questions about it, we'd +love to know. Feel free to open an issue for any feedback you may have. + +## License + +kubetest is released under the [GPL-3.0](LICENSE) license. + + + +[pytest]: https://docs.pytest.org/en/latest/ +[k8s-py]: https://github.com/kubernetes-client/python +[kubetest-docs]: https://kubetest.readthedocs.io/en/latest/ + + + + +%package help +Summary: Development documents and examples for kubetest +Provides: python3-kubetest-doc +%description help +# kubetest + +[](https://build.vio.sh/blue/organizations/jenkins/vapor-ware%2Fkubetest/activity) +[](https://pypi.org/project/kubetest/) +[](https://kubetest.readthedocs.io/en/latest/?badge=latest) + +Kubetest is a [pytest][pytest] plugin that makes it easier to manage a Kubernetes +cluster within your integration tests. While you can use the [Kubernetes Python client][k8s-py] +directly, this plugin provides some cluster and object management on top of that so you can +spend less time setting up and tearing down tests and more time actually writing your tests. +In particular, this plugin is useful for testing your Kubernetes infrastructure (e.g., ensure +it deploys and behaves correctly) and for testing disaster recovery scenarios (e.g. delete a +pod or deployment and inspect the aftermath). + +**Features:** +* Simple API for common cluster interactions. +* Uses the Kubernetes Python client as the backend, so more complex custom + actions are possible. +* Load Kubernetes manifest YAMLs into their Kubernetes models. +* Each test is run in its own namespace and the namespace is created and + deleted automatically. +* Detailed logging to help debug error cases. +* Wait functions for object readiness and for object deletion. +* Get container logs and search for expected logging output. +* Plugin-managed RBAC permissions at test-case granularity using pytest markers. + +For more information, see the [kubetest documentation][kubetest-docs]. + +## Installation + +This plugin can be installed with `pip` + +``` +pip install kubetest +``` + +Note that the `kubetest` package has entrypoint hooks defined in its [`setup.py`](setup.py) +which allow it to be automatically made available to pytest. This means that it will run +whenever pytest is run. Since `kubetest` expects a cluster to be set up and to be given +configuration for that cluster, pytest will fail if those are not present. It is therefore +recommended to only install `kubetest` in a virtual environment or other managed environment, +such as a CI pipeline, where you can assure that cluster access and configuration are +available. + +## Documentation + +See the [kubetest documentation page][kubetest-docs] for details on command line usage, +available fixtures and markers, and general pytest integration. + +## Feedback + +Feedback for kubetest is greatly appreciated! If you experience any issues, find the +documentation unclear, have feature requests, or just have questions about it, we'd +love to know. Feel free to open an issue for any feedback you may have. + +## License + +kubetest is released under the [GPL-3.0](LICENSE) license. + + + +[pytest]: https://docs.pytest.org/en/latest/ +[k8s-py]: https://github.com/kubernetes-client/python +[kubetest-docs]: https://kubetest.readthedocs.io/en/latest/ + + + + +%prep +%autosetup -n kubetest-0.9.5 + +%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-kubetest -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 0.9.5-1 +- Package Spec generated |