Dependency-hungry testing helpers
Project description
coveo-testing-extras
Contains extra testing tools without dependency restrictions.
temporary resource implementation: Docker Container
The docker container temporary resource can be used to prepare short-lived containers.
- Supports building from a dockerfile
- Supports pulling images
- Can signal on AWS ECR logout
- Dynamic port mapping retrieval
- Saves log output before removing the container
Automatic AWS ECR login example
Here's how you can enhance TemporaryDockerContainerResource
with automatic ECR login:
from base64 import b64decode
import boto3
from coveo_testing_extras.temporary_resource.docker_container import (
TemporaryDockerContainerResource,
ECRLogoutException,
get_docker_client
)
class WithECR(TemporaryDockerContainerResource):
def obtain_image(self) -> None:
try:
super().obtain_image()
except ECRLogoutException:
self._do_ecr_login()
super().obtain_image()
def _do_ecr_login(self) -> None:
""" Performs an ecr login through awscli. """
assert self.ecr_region
ecr = boto3.client('ecr')
account_id, *_ = self.image_name.split('.')
assert account_id.isdigit()
authorization_data = ecr.get_authorization_token(registryIds=[account_id])['authorizationData'][0]
username, password = b64decode(authorization_data['authorizationToken']).decode().split(':')
with get_docker_client() as client:
login = client.login(username=username, password=password, registry=authorization_data['proxyEndpoint'])
assert login['Status'] == 'Login Succeeded'
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for coveo-testing-extras-1.0.3.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e2170620152dc4e17f44bd1d5df850e0c239135f6d2f8ed55e71f8d9b723033 |
|
MD5 | c0ad77a2f14f573a89d244f6d1a6ba53 |
|
BLAKE2b-256 | 5311262b5d6957871a47d5e1e68ab5efded4136c6b3a6b78e4125c4280fc2ffe |
Close
Hashes for coveo_testing_extras-1.0.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3eb0c72a70a335322b80375259aa3eaf46f85d0395203a3655a4a29efb40ae49 |
|
MD5 | 38c116764a31e69cdd73cfd223bc3d0b |
|
BLAKE2b-256 | f27329e9710891fbf4f8c0fbbf6f0317cee57ecbd81da26c7fa6bffb8eb50dba |