From 439d1762c382d6ec0bc400ef1d1883ba661d97af Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Wed, 12 Apr 2023 00:55:21 +0000 Subject: automatic import of python-3scale-api --- .gitignore | 1 + python-3scale-api.spec | 408 +++++++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 410 insertions(+) create mode 100644 python-3scale-api.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore index e69de29..1edaaab 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/3scale-api-0.29.0.tar.gz diff --git a/python-3scale-api.spec b/python-3scale-api.spec new file mode 100644 index 0000000..99c79e5 --- /dev/null +++ b/python-3scale-api.spec @@ -0,0 +1,408 @@ +%global _empty_manifest_terminate_build 0 +Name: python-3scale-api +Version: 0.29.0 +Release: 1 +Summary: 3scale API python client +License: Apache Software License +URL: https://github.com/pestanko/3scale-api-python +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/eb/2c/affdc75f7a3a194e5c8fb1e88d55756f62d874564688d990d9d207b20de4/3scale-api-0.29.0.tar.gz +BuildArch: noarch + +Requires: python3-requests +Requires: python3-pytest +Requires: python3-coverage +Requires: python3-mock +Requires: python3-dotenv +Requires: python3-sphinx + +%description +# 3scale REST API client in Python + +3Scale REST API client in a wrapper over the 3scale API. + +[![lint & smoke](https://github.com/3scale-qe/3scale-api-python/actions/workflows/lint-and-smoke.yml/badge.svg)](https://github.com/3scale-qe/3scale-api-python/actions) + +## Installing + +Install and update using pip: + +```bash +pip install 3scale-api +``` + +Or as a dependency using the pipenv + +```bash +pipenv install 3scale-api +``` + +## Usage + +Client supports basic CRUD operations and it using the official 3scale API. + +The API can be found at `/p/admin/api_docs` + +Basic usage of the client: + + +```python +from threescale_api import ThreeScaleClient, resources +from typing import List + +client = ThreeScaleClient(url="myaccount.3scale.net", token="secret_token", ssl_verify=True) + +# Get list of APIs/Services or any other resource +services: List[resources.Service] = client.services.list() + +# Get service by it's name +test_service: resources.Service = client.services["test_service"] # or use: client.services.read_by_name(system_name) + +# Get service by it's id +test_service: resources.Service = client.services[12345] # or use client.services.read(id) + +# To get raw JSON response - you can use the fetch method - it takes the service id +raw_json: dict = client.services.fetch(12345) + +# To create a new service (or any other resource), parameters are the same as you would provide by the documentation +new_service: resources.Service = client.services.create(system_name='my_testing_service', name="My Testing service") + +# In order to update service you can either +client.services[123456].update(param="new_value") +# or +service: resources.Service = client.services[123456] +service['param'] = 'new_value' +service.update() + +# To get a proxy config you can use +proxy: resources.Proxy = client.services['test_service'].proxy.read() + +# To update the proxy you can either +proxy: resources.Proxy = client.services['test_service'].proxy.update(parameter_to_update='update') +# or +proxy_instance = client.services['test_service'].proxy.read() +proxy_instance['param'] = 'new_value' +proxy_instance.update() + +# On the service you can access the: +service: resources.Service = client.services[123456] +service.proxy # The PROXY client +service.mapping_rules # mapping rules client +service.metrics # metrics +service.app_plans # application plans + +# The proxy supports: +proxy = service.proxy.read() +proxy.promote(version=1, from_env="sandbox", to_env="production") # The promote operation +proxy.mapping_rules # The mapping rules +proxy.configs # proxy configurations client +proxy.policies # Policies defined for the API +``` + +## Run the Tests + +To run the tests you need to have installed development dependencies: +```bash +pipenv install --dev +``` + +and then run the `pytest`: + +```bash +pipenv run pytest -v +``` + +### Integration tests configuration + +To run the integration tests you need to set these env variables: +``` +THREESCALE_PROVIDER_URL='https://example-admin.3scale.net' +THREESCALE_PROVIDER_TOKEN='' + +# OPTIONAL: +THREESCALE_MASTER_URL='https://master.3scale.net' +THREESCALE_MASTER_TOKEN='' +``` + + + + + + +%package -n python3-3scale-api +Summary: 3scale API python client +Provides: python-3scale-api +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-3scale-api +# 3scale REST API client in Python + +3Scale REST API client in a wrapper over the 3scale API. + +[![lint & smoke](https://github.com/3scale-qe/3scale-api-python/actions/workflows/lint-and-smoke.yml/badge.svg)](https://github.com/3scale-qe/3scale-api-python/actions) + +## Installing + +Install and update using pip: + +```bash +pip install 3scale-api +``` + +Or as a dependency using the pipenv + +```bash +pipenv install 3scale-api +``` + +## Usage + +Client supports basic CRUD operations and it using the official 3scale API. + +The API can be found at `/p/admin/api_docs` + +Basic usage of the client: + + +```python +from threescale_api import ThreeScaleClient, resources +from typing import List + +client = ThreeScaleClient(url="myaccount.3scale.net", token="secret_token", ssl_verify=True) + +# Get list of APIs/Services or any other resource +services: List[resources.Service] = client.services.list() + +# Get service by it's name +test_service: resources.Service = client.services["test_service"] # or use: client.services.read_by_name(system_name) + +# Get service by it's id +test_service: resources.Service = client.services[12345] # or use client.services.read(id) + +# To get raw JSON response - you can use the fetch method - it takes the service id +raw_json: dict = client.services.fetch(12345) + +# To create a new service (or any other resource), parameters are the same as you would provide by the documentation +new_service: resources.Service = client.services.create(system_name='my_testing_service', name="My Testing service") + +# In order to update service you can either +client.services[123456].update(param="new_value") +# or +service: resources.Service = client.services[123456] +service['param'] = 'new_value' +service.update() + +# To get a proxy config you can use +proxy: resources.Proxy = client.services['test_service'].proxy.read() + +# To update the proxy you can either +proxy: resources.Proxy = client.services['test_service'].proxy.update(parameter_to_update='update') +# or +proxy_instance = client.services['test_service'].proxy.read() +proxy_instance['param'] = 'new_value' +proxy_instance.update() + +# On the service you can access the: +service: resources.Service = client.services[123456] +service.proxy # The PROXY client +service.mapping_rules # mapping rules client +service.metrics # metrics +service.app_plans # application plans + +# The proxy supports: +proxy = service.proxy.read() +proxy.promote(version=1, from_env="sandbox", to_env="production") # The promote operation +proxy.mapping_rules # The mapping rules +proxy.configs # proxy configurations client +proxy.policies # Policies defined for the API +``` + +## Run the Tests + +To run the tests you need to have installed development dependencies: +```bash +pipenv install --dev +``` + +and then run the `pytest`: + +```bash +pipenv run pytest -v +``` + +### Integration tests configuration + +To run the integration tests you need to set these env variables: +``` +THREESCALE_PROVIDER_URL='https://example-admin.3scale.net' +THREESCALE_PROVIDER_TOKEN='' + +# OPTIONAL: +THREESCALE_MASTER_URL='https://master.3scale.net' +THREESCALE_MASTER_TOKEN='' +``` + + + + + + +%package help +Summary: Development documents and examples for 3scale-api +Provides: python3-3scale-api-doc +%description help +# 3scale REST API client in Python + +3Scale REST API client in a wrapper over the 3scale API. + +[![lint & smoke](https://github.com/3scale-qe/3scale-api-python/actions/workflows/lint-and-smoke.yml/badge.svg)](https://github.com/3scale-qe/3scale-api-python/actions) + +## Installing + +Install and update using pip: + +```bash +pip install 3scale-api +``` + +Or as a dependency using the pipenv + +```bash +pipenv install 3scale-api +``` + +## Usage + +Client supports basic CRUD operations and it using the official 3scale API. + +The API can be found at `/p/admin/api_docs` + +Basic usage of the client: + + +```python +from threescale_api import ThreeScaleClient, resources +from typing import List + +client = ThreeScaleClient(url="myaccount.3scale.net", token="secret_token", ssl_verify=True) + +# Get list of APIs/Services or any other resource +services: List[resources.Service] = client.services.list() + +# Get service by it's name +test_service: resources.Service = client.services["test_service"] # or use: client.services.read_by_name(system_name) + +# Get service by it's id +test_service: resources.Service = client.services[12345] # or use client.services.read(id) + +# To get raw JSON response - you can use the fetch method - it takes the service id +raw_json: dict = client.services.fetch(12345) + +# To create a new service (or any other resource), parameters are the same as you would provide by the documentation +new_service: resources.Service = client.services.create(system_name='my_testing_service', name="My Testing service") + +# In order to update service you can either +client.services[123456].update(param="new_value") +# or +service: resources.Service = client.services[123456] +service['param'] = 'new_value' +service.update() + +# To get a proxy config you can use +proxy: resources.Proxy = client.services['test_service'].proxy.read() + +# To update the proxy you can either +proxy: resources.Proxy = client.services['test_service'].proxy.update(parameter_to_update='update') +# or +proxy_instance = client.services['test_service'].proxy.read() +proxy_instance['param'] = 'new_value' +proxy_instance.update() + +# On the service you can access the: +service: resources.Service = client.services[123456] +service.proxy # The PROXY client +service.mapping_rules # mapping rules client +service.metrics # metrics +service.app_plans # application plans + +# The proxy supports: +proxy = service.proxy.read() +proxy.promote(version=1, from_env="sandbox", to_env="production") # The promote operation +proxy.mapping_rules # The mapping rules +proxy.configs # proxy configurations client +proxy.policies # Policies defined for the API +``` + +## Run the Tests + +To run the tests you need to have installed development dependencies: +```bash +pipenv install --dev +``` + +and then run the `pytest`: + +```bash +pipenv run pytest -v +``` + +### Integration tests configuration + +To run the integration tests you need to set these env variables: +``` +THREESCALE_PROVIDER_URL='https://example-admin.3scale.net' +THREESCALE_PROVIDER_TOKEN='' + +# OPTIONAL: +THREESCALE_MASTER_URL='https://master.3scale.net' +THREESCALE_MASTER_TOKEN='' +``` + + + + + + +%prep +%autosetup -n 3scale-api-0.29.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-3scale-api -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed Apr 12 2023 Python_Bot - 0.29.0-1 +- Package Spec generated diff --git a/sources b/sources new file mode 100644 index 0000000..49af9f1 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +16e0d24baf35a7c59c9effbac07954f8 3scale-api-0.29.0.tar.gz -- cgit v1.2.3