diff options
author | CoprDistGit <infra@openeuler.org> | 2023-05-31 08:20:13 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-05-31 08:20:13 +0000 |
commit | c6c2cc8e3b70ebd0153f11a5242f5796e0a52b80 (patch) | |
tree | 71111293ac3fb88000ddacad375f08205a93ff5a | |
parent | 842a8822eecbddec8812336d9ec1e388b9816cf9 (diff) |
automatic import of python-pytest-helm-charts
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-pytest-helm-charts.spec | 272 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 274 insertions, 0 deletions
@@ -0,0 +1 @@ +/pytest_helm_charts-1.1.1.tar.gz diff --git a/python-pytest-helm-charts.spec b/python-pytest-helm-charts.spec new file mode 100644 index 0000000..ba93fc2 --- /dev/null +++ b/python-pytest-helm-charts.spec @@ -0,0 +1,272 @@ +%global _empty_manifest_terminate_build 0 +Name: python-pytest-helm-charts +Version: 1.1.1 +Release: 1 +Summary: A plugin to provide different types and configs of Kubernetes clusters that can be used for testing. +License: Apache-2.0 +URL: https://github.com/giantswarm/pytest-helm-charts +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/ca/52/8cf0019ccf42574e9fef8925002d06f1f7de9e41d2fe20a1ba7af1cd14b5/pytest_helm_charts-1.1.1.tar.gz +BuildArch: noarch + +Requires: python3-pytest +Requires: python3-pykube-ng +Requires: python3-mkdocs +Requires: python3-mkapi +Requires: python3-Deprecated + +%description +## Features +This plugin provides a set of [pytest](https://docs.pytest.org/) fixtures that allow you to easily +write tests for Helm charts and run them on Kubernetes clusters. +It can be also used to test Helm charts deployed using the Open Source +[Giant Swarm App Platform](https://docs.giantswarm.io/basics/app-platform/). +Most important features: +- provides [pykube-ng](http://pykube.readthedocs.io/) interface to access Kubernetes clusters +- provides [environment variables based options](#usage) to configure the target cluster to run on +- provides fixtures to work with some standard Kubernetes resources as well as some custom ones: + - [Kubernetes objects](pytest_helm_charts.k8s) + - [Giant Swarm App Platform objects](pytest_helm_charts.giantswarm_app_platform) + - [Flux CD objects](pytest_helm_charts.flux) +- provides set of fixtures to easily work with Helm charts +## Requirements +Please check `[tool.poetry.dependencies]` list in the [`pyproject.toml`](pyproject.toml) file. +## Installation +You can install "pytest-helm-charts" via `pip` from `PyPI`: +```bash +pip install pytest-helm-charts +``` +## Usage +### Running your tests +When you want to run your tests, you invoke `pytest` as usual, just configuring +cluster and chart information using environment variables or command line options. +The following options are available as environment variables (start `pytest` with `-h` +to check corresponding command line options): +- "KUBECONFIG" - (mandatory) a path to kube config file used to connect to a k8s cluster +- "ATS_CHART_PATH" - path to a chart being tested (if a chart is tested) +- "ATS_CHART_VERSION" - version of the chart being tested (if a chart is tested) +- "ATS_CLUSTER_TYPE" - type of the cluster used for testing +- "ATS_CLUSTER_VERSION" - k8s version of the cluster used for testing +- "ATS_APP_CONFIG_FILE_PATH" - optional path to a `values.yaml` file used to configure a chart under test +(if a chart is tested) +- "ATS_EXTRA_*" - any such arbitrary variable value will be extracted and included in the `test_extra_info` fixture +Currently, the only supported cluster type is `external`, which means the cluster is not +managed by the test suite. You just point the test suite to a `kube.config` file, +which can be used to connect to the Kubernetes API with `KUBECONFIG` env variable +option. For creating development time clusters, we recommend using +[KinD](https://kind.sigs.k8s.io/). +If you use this project to test Helm charts against Giant Swarm App Platform, the `existing` +cluster must already have the platform components installed. Please refer to and use +the [`app-test-suite`](https://github.com/giantswarm/app-test-suite) tool to easily +create `KinD` based clusters with all the components already installed. +### Writing tests +The easiest way to get started is by checking our +[examples](https://pytest-helm-charts.readthedocs.io/en/latest/examples/basic). +The list of available fixtures can be found by running `pytest --fixtures`, but +you can also just check [the most important fixtures](docs/fixtures.md). +Full [API docs](https://pytest-helm-charts.readthedocs.io/en/latest/api/pytest_helm_charts/) +are also available. +## Contributing +Contributions are very welcome. +- Project is managed with [`poetry`](https://python-poetry.org/), + to start developing run `poetry install` +- Tests for all supported python versions can be run with [`tox`](https://tox.readthedocs.io/): + `poetry run tox -- --log-cli-level info tests/` +- Please ensure + [the coverage](https://codecov.io/gh/giantswarm/pytest-helm-charts/) + at least stays the same before you submit a pull request. +## License +See [LICENSE](LICENSE). +## Changelog +See [CHANGELOG.md](CHANGELOG.md). +## Issues +If you encounter any problems, please [file an issue](https://github.com/giantswarm/pytest-helm-charts/issues) +along with a detailed description. + +%package -n python3-pytest-helm-charts +Summary: A plugin to provide different types and configs of Kubernetes clusters that can be used for testing. +Provides: python-pytest-helm-charts +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-pytest-helm-charts +## Features +This plugin provides a set of [pytest](https://docs.pytest.org/) fixtures that allow you to easily +write tests for Helm charts and run them on Kubernetes clusters. +It can be also used to test Helm charts deployed using the Open Source +[Giant Swarm App Platform](https://docs.giantswarm.io/basics/app-platform/). +Most important features: +- provides [pykube-ng](http://pykube.readthedocs.io/) interface to access Kubernetes clusters +- provides [environment variables based options](#usage) to configure the target cluster to run on +- provides fixtures to work with some standard Kubernetes resources as well as some custom ones: + - [Kubernetes objects](pytest_helm_charts.k8s) + - [Giant Swarm App Platform objects](pytest_helm_charts.giantswarm_app_platform) + - [Flux CD objects](pytest_helm_charts.flux) +- provides set of fixtures to easily work with Helm charts +## Requirements +Please check `[tool.poetry.dependencies]` list in the [`pyproject.toml`](pyproject.toml) file. +## Installation +You can install "pytest-helm-charts" via `pip` from `PyPI`: +```bash +pip install pytest-helm-charts +``` +## Usage +### Running your tests +When you want to run your tests, you invoke `pytest` as usual, just configuring +cluster and chart information using environment variables or command line options. +The following options are available as environment variables (start `pytest` with `-h` +to check corresponding command line options): +- "KUBECONFIG" - (mandatory) a path to kube config file used to connect to a k8s cluster +- "ATS_CHART_PATH" - path to a chart being tested (if a chart is tested) +- "ATS_CHART_VERSION" - version of the chart being tested (if a chart is tested) +- "ATS_CLUSTER_TYPE" - type of the cluster used for testing +- "ATS_CLUSTER_VERSION" - k8s version of the cluster used for testing +- "ATS_APP_CONFIG_FILE_PATH" - optional path to a `values.yaml` file used to configure a chart under test +(if a chart is tested) +- "ATS_EXTRA_*" - any such arbitrary variable value will be extracted and included in the `test_extra_info` fixture +Currently, the only supported cluster type is `external`, which means the cluster is not +managed by the test suite. You just point the test suite to a `kube.config` file, +which can be used to connect to the Kubernetes API with `KUBECONFIG` env variable +option. For creating development time clusters, we recommend using +[KinD](https://kind.sigs.k8s.io/). +If you use this project to test Helm charts against Giant Swarm App Platform, the `existing` +cluster must already have the platform components installed. Please refer to and use +the [`app-test-suite`](https://github.com/giantswarm/app-test-suite) tool to easily +create `KinD` based clusters with all the components already installed. +### Writing tests +The easiest way to get started is by checking our +[examples](https://pytest-helm-charts.readthedocs.io/en/latest/examples/basic). +The list of available fixtures can be found by running `pytest --fixtures`, but +you can also just check [the most important fixtures](docs/fixtures.md). +Full [API docs](https://pytest-helm-charts.readthedocs.io/en/latest/api/pytest_helm_charts/) +are also available. +## Contributing +Contributions are very welcome. +- Project is managed with [`poetry`](https://python-poetry.org/), + to start developing run `poetry install` +- Tests for all supported python versions can be run with [`tox`](https://tox.readthedocs.io/): + `poetry run tox -- --log-cli-level info tests/` +- Please ensure + [the coverage](https://codecov.io/gh/giantswarm/pytest-helm-charts/) + at least stays the same before you submit a pull request. +## License +See [LICENSE](LICENSE). +## Changelog +See [CHANGELOG.md](CHANGELOG.md). +## Issues +If you encounter any problems, please [file an issue](https://github.com/giantswarm/pytest-helm-charts/issues) +along with a detailed description. + +%package help +Summary: Development documents and examples for pytest-helm-charts +Provides: python3-pytest-helm-charts-doc +%description help +## Features +This plugin provides a set of [pytest](https://docs.pytest.org/) fixtures that allow you to easily +write tests for Helm charts and run them on Kubernetes clusters. +It can be also used to test Helm charts deployed using the Open Source +[Giant Swarm App Platform](https://docs.giantswarm.io/basics/app-platform/). +Most important features: +- provides [pykube-ng](http://pykube.readthedocs.io/) interface to access Kubernetes clusters +- provides [environment variables based options](#usage) to configure the target cluster to run on +- provides fixtures to work with some standard Kubernetes resources as well as some custom ones: + - [Kubernetes objects](pytest_helm_charts.k8s) + - [Giant Swarm App Platform objects](pytest_helm_charts.giantswarm_app_platform) + - [Flux CD objects](pytest_helm_charts.flux) +- provides set of fixtures to easily work with Helm charts +## Requirements +Please check `[tool.poetry.dependencies]` list in the [`pyproject.toml`](pyproject.toml) file. +## Installation +You can install "pytest-helm-charts" via `pip` from `PyPI`: +```bash +pip install pytest-helm-charts +``` +## Usage +### Running your tests +When you want to run your tests, you invoke `pytest` as usual, just configuring +cluster and chart information using environment variables or command line options. +The following options are available as environment variables (start `pytest` with `-h` +to check corresponding command line options): +- "KUBECONFIG" - (mandatory) a path to kube config file used to connect to a k8s cluster +- "ATS_CHART_PATH" - path to a chart being tested (if a chart is tested) +- "ATS_CHART_VERSION" - version of the chart being tested (if a chart is tested) +- "ATS_CLUSTER_TYPE" - type of the cluster used for testing +- "ATS_CLUSTER_VERSION" - k8s version of the cluster used for testing +- "ATS_APP_CONFIG_FILE_PATH" - optional path to a `values.yaml` file used to configure a chart under test +(if a chart is tested) +- "ATS_EXTRA_*" - any such arbitrary variable value will be extracted and included in the `test_extra_info` fixture +Currently, the only supported cluster type is `external`, which means the cluster is not +managed by the test suite. You just point the test suite to a `kube.config` file, +which can be used to connect to the Kubernetes API with `KUBECONFIG` env variable +option. For creating development time clusters, we recommend using +[KinD](https://kind.sigs.k8s.io/). +If you use this project to test Helm charts against Giant Swarm App Platform, the `existing` +cluster must already have the platform components installed. Please refer to and use +the [`app-test-suite`](https://github.com/giantswarm/app-test-suite) tool to easily +create `KinD` based clusters with all the components already installed. +### Writing tests +The easiest way to get started is by checking our +[examples](https://pytest-helm-charts.readthedocs.io/en/latest/examples/basic). +The list of available fixtures can be found by running `pytest --fixtures`, but +you can also just check [the most important fixtures](docs/fixtures.md). +Full [API docs](https://pytest-helm-charts.readthedocs.io/en/latest/api/pytest_helm_charts/) +are also available. +## Contributing +Contributions are very welcome. +- Project is managed with [`poetry`](https://python-poetry.org/), + to start developing run `poetry install` +- Tests for all supported python versions can be run with [`tox`](https://tox.readthedocs.io/): + `poetry run tox -- --log-cli-level info tests/` +- Please ensure + [the coverage](https://codecov.io/gh/giantswarm/pytest-helm-charts/) + at least stays the same before you submit a pull request. +## License +See [LICENSE](LICENSE). +## Changelog +See [CHANGELOG.md](CHANGELOG.md). +## Issues +If you encounter any problems, please [file an issue](https://github.com/giantswarm/pytest-helm-charts/issues) +along with a detailed description. + +%prep +%autosetup -n pytest-helm-charts-1.1.1 + +%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-helm-charts -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 31 2023 Python_Bot <Python_Bot@openeuler.org> - 1.1.1-1 +- Package Spec generated @@ -0,0 +1 @@ +0264bbcddbeceded0e36b47e891de0b5 pytest_helm_charts-1.1.1.tar.gz |