This package contains pytest fixtures that are used to test AWS Deadline Cloud Python packages.
To use this package:
For example, to use the worker
fixture:
from deadline_test_fixtures import DeadlineWorker
def test_something_with_the_worker(worker: DeadlineWorker) -> None:
# GIVEN
worker.start()
# WHEN
result = worker.send_command("some command")
# THEN
assert result.stdout == "expected output"
You can also import the classes from this package directly to build your own fixtures
# double_worker.py
from deadline_test_fixtures import (
DeadlineWorker,
EC2InstanceWorker,
DockerContainerWorker,
)
class DoubleWorker(DeadlineWorker):
def __init__(
self,
# args...
) -> None:
self.ec2_worker = EC2InstanceWorker(
# args...
)
self.docker_worker = DockerContainerWorker(
# args...
)
def start(self) -> None:
self.ec2_worker.start()
self.docker_worker.start()
# etc.
# test_something.py
from .double_worker import DoubleWorker
import pytest
@pytest.fixture
def double_worker() -> DoubleWorker:
return DoubleWorker(
# args...
)
def test_something(double_worker: DoubleWorker) -> None:
# GIVEN
double_worker.start()
# etc.
This library collects telemetry data by default. Telemetry events contain non-personally-identifiable information that helps us understand how users interact with our software so we know what features our customers use, and/or what existing pain points are.
You can opt out of telemetry data collection by either:
DEADLINE_CLOUD_TELEMETRY_OPT_OUT=true
deadline config set telemetry.opt_out true
Note that setting the environment variable supersedes the config file setting.
hatch build
hatch run test
hatch run lint
hatch run fmt
hatch run all:test
This library requires:
This package's version follows Semantic Versioning 2.0, but is still considered to be in its initial development, thus backwards incompatible versions are denoted by minor version bumps. To help illustrate how versions will increment during this initial development stage, they are described below:
You can download this package from:
See CONTRIBUTING for more information.
This project is licensed under the Apache-2.0 License.