Skip to main content

Kubernetes test support with KIND for pytest

Project description

pytest-kind

Test your Python Kubernetes app/operator end-to-end with kind and pytest.

pytest-kind is a plugin for pytest which provides the kind_cluster fixture. The fixture will install kind, create a cluster, and provide convenience functionality such as port forwarding.

Usage

Install pytest-kind via pip or via poetry, e.g.:

poetry add --dev pytest-kind

Write your pytest functions and use the provided kind_cluster fixture, e.g.:

def test_kubernetes_version(kind_cluster):
    assert kind_cluster.api.version == ('1', '15')

To load your custom Docker image and apply deployment manifests:

from pykube import Pod

def test_myapp(kind_cluster):
    kind_cluster.load_docker_image("myapp")
    kind_cluster.kubectl("apply", "-f", "deployment.yaml")
    kind_cluster.kubectl("rollout", "status", "deployment/myapp")

    # using Pykube to query pods
    for pod in Pod.objects(kind_cluster.api).filter(selector="app=myapp"):
        assert "Sucessfully started" in pod.logs()

See the examples directory for sample projects.

Pytest Options

The kind cluster name can be set via the --cluster-name CLI option.

The kind cluster is deleted after each pytest session, you can keep the cluster by passing --keep-cluster to pytest.

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

pytest-kind-0.4.0.tar.gz (3.7 kB view details)

Uploaded Source

Built Distribution

pytest_kind-0.4.0-py3-none-any.whl (4.2 kB view details)

Uploaded Python 3

File details

Details for the file pytest-kind-0.4.0.tar.gz.

File metadata

  • Download URL: pytest-kind-0.4.0.tar.gz
  • Upload date:
  • Size: 3.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/0.12.17 CPython/3.7.3 Linux/4.15.0-58-generic

File hashes

Hashes for pytest-kind-0.4.0.tar.gz
Algorithm Hash digest
SHA256 ade03fe3bbe1818eb75f0fbc949c4422182224e9ac1c7c31e762120fdb1904d4
MD5 935107e93a430bb4e7fe38e006527002
BLAKE2b-256 591edbeced62c518237942e0d1114b3e8dae96e8fc1999681840e0f4054468c9

See more details on using hashes here.

File details

Details for the file pytest_kind-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: pytest_kind-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 4.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/0.12.17 CPython/3.7.3 Linux/4.15.0-58-generic

File hashes

Hashes for pytest_kind-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cbddbe19901651f6cfedf6aca8d102f40b564acd626b00afe1afca449a909d5b
MD5 57331a029c37b3f9243ee9b7ce61a404
BLAKE2b-256 fa46256dbd6bc3b9918a869f7b56630ff4e3b8be3d1e99f2137be256f427d8a6

See more details on using hashes here.

Supported by

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