Skip to main content

3scale CRD Python Client

Project description

3scale-api-python-crd

3scale client uses CRs for object definition. CRs are processed by 3scale Operator.

Capabilities documentation

Installing

Install and update using pip:

pip install 3scale-api-crd

Or as a dependency using the pipenv

pipenv install 3scale-api-crd

Usage

Client supports basic CRUD operations and it generates CRs in Openshift namespace defined by oc session.

Basic usage of the client:

oc login
oc project example
import threescale_api_crd

client = threescale_api_crd.ThreeScaleClientCRD(url="myaccount.3scale.net", token="secret_token", ssl_verify=True, ocp_provider_ref="secret_with_credentials")

Using of objects are described in 3scale API client README.

Run the Smoke Tests

To run the tests you need to have installed development dependencies:

pipenv install --dev

and then run the pytest:

pipenv run pytest -m smoke

Integration tests configuration

To run the integration tests you need to set these extra env variables:

THREESCALE_PROVIDER_URL='https://example-admin.3scale.net'
THREESCALE_PROVIDER_TOKEN='<test-token>'

THREESCALE_MASTER_URL='https://master.3scale.net'
THREESCALE_MASTER_TOKEN='<test-master-token>'

and to have valid oc tool session to Openshift where 3scale Operator is deployed and watches for CRs.

By default: - oc namespace should be the namespace where 3scale instance is deployed - the system-seed secret is used by 3scale Operator client - THREESCALE_ variables are used for not implemented Threescale client features

If CRs are created in different namespace to 3scale deployment, env variable OCP_PROVIDER_ACCOUNT_REF can be specified with secret name used by 3scale Operator client, see https://github.com/3scale/3scale-operator/blob/master/doc/backend-reference.md#provider-account-reference

Finished integration unit tests

  • AccountUsers
  • Accounts
  • ActiveDocs
  • ApplicationPlans
  • BackendMappingRules
  • BackendMetrics
  • BackendUsages
  • Backends
  • Limits
  • MappingRules
  • Metrics
  • OpenApis
  • Policies
  • PolicyRegistries
  • PricingRules
  • Proxies
  • Services
  • Tenants
  • ProxyConfigPromote
  • Applications
  • Methods
  • ApplicationAuth

Command to run integration unit tests: pipenv run pytest --log-cli-level=10 -vvvv -s ./tests/integration/ |& tee x

TODO

  • do https://github.com/3scale/3scale-operator/pull/813
  • do not simulate app plan id
  • create unit integration tests for:
    • ProductDeploymentSpec
    • AuthenticationSpec
  • implement delete of policies + add unit tests
  • add proper error messages in case of for example missing required arguments, see test_should_fields_be_required
  • implement optimitazation on the oc level:
    • for every test run, label objects - oc label product.capabilities.3scale.net/testyrclkfzyhue test_run=new --overwrite
    • use only objects labeled by test run id - oc get product.capabilities.3scale.net --show-labels=true -l test_run=new

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

3scale-api-crd-0.1.6.tar.gz (42.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

3scale_api_crd-0.1.6-py3-none-any.whl (53.2 kB view details)

Uploaded Python 3

File details

Details for the file 3scale-api-crd-0.1.6.tar.gz.

File metadata

  • Download URL: 3scale-api-crd-0.1.6.tar.gz
  • Upload date:
  • Size: 42.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for 3scale-api-crd-0.1.6.tar.gz
Algorithm Hash digest
SHA256 b6b3a608b232488584515a39447b7cd139f8309aaf451f0ed0548eee8c42575a
MD5 85e1d5c1efd7c3d497925f945b31a16f
BLAKE2b-256 d094b0f532d7e63ec8da2fecec0a5f0ae9f82df3d3b218550bee5f928c6ea65a

See more details on using hashes here.

Provenance

The following attestation bundles were made for 3scale-api-crd-0.1.6.tar.gz:

Publisher: release.yml on 3scale-qe/3scale-api-python-crd

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file 3scale_api_crd-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: 3scale_api_crd-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 53.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for 3scale_api_crd-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 8fa1cb7736020e46c9c02878957d553949aa9a3170592bde812f68bfc2258742
MD5 e66c31437561de70a0dd640dd395f931
BLAKE2b-256 da1dbc649fc464163b58844bc4af1b5352f61ad5f47c9d18526ea359099db64e

See more details on using hashes here.

Provenance

The following attestation bundles were made for 3scale_api_crd-0.1.6-py3-none-any.whl:

Publisher: release.yml on 3scale-qe/3scale-api-python-crd

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page