targetΒΆ

A plugin for creating, using, and managing remote targets.

The abstract base Target class provides an interface for adding platform-specific support through sub-classes. A usable reference implementation is the AzureCLI class. A class for just connecting over SSH is the SSH Sub-classes can be implemented in a conftest.py file and will be found automatically.

Tests can request access to a target through the function-scoped target Pytest fixture, which returns an instance based on the targets listed in a playbook.yaml file. The fixture is parameterized across the list of provided targets. For example:

platforms:
  AzureCLI:
    sku: Standard_DS2_v2

targets:
  - name: Debian
    platform: AzureCLI
    image: Debian:debian-10:10:latest

  - name: Ubuntu
    platform: AzureCLI
    image: Canonical:UbuntuServer:18.04-LTS:latest

Will run all selected tests against each target. The pool of targets can be cached between runs with --keep-targets.

Modules

target.azure

Provides an Azure(Target) implementation using the Azure CLI.

target.plugin

Provides and parameterizes the target() fixture(s).

target.target

Provides the abstract base Target class.