feat: add copying files to/from container by mgorsk1 · Pull Request #676 · testcontainers/testcontainers-python · GitHub
Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions core/testcontainers/core/container.py
33 changes: 33 additions & 0 deletions core/testcontainers/core/transferable.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import os
import tempfile
from typing import Union


class Transferable:
def __init__(self, input_data: Union[os.PathLike, bytes], output_path: os.PathLike):
self._input = input_data
self._output_path = output_path

self._tmp_file: bool = False

def __enter__(self):
if isinstance(self._input, bytes):
tmp_file = tempfile.NamedTemporaryFile(delete=False)
tmp_file.write(self._input)

self._input = tmp_file.name
self._tmp_file = True

return self

def __exit__(self, *args):
if self._tmp_file:
os.remove(self._input)

@property
def input_path(self):
return self._input

@property
def output_path(self):
return self._output_path
31 changes: 31 additions & 0 deletions core/tests/test_core.py