Skip to content

Commit 74dbabd

Browse files
authored
chore: refactor training job tests to configure temp test directory (#1254)
* replace filepath in test with tmpdir var * update script path var in training job tests * run linter
1 parent 0ecfe1e commit 74dbabd

File tree

1 file changed

+13
-9
lines changed

1 file changed

+13
-9
lines changed

tests/unit/aiplatform/test_training_jobs.py

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
from distutils import core
1919
import copy
20+
import os
2021
import functools
2122
import importlib
2223
import logging
@@ -73,7 +74,8 @@
7374
_TEST_GCS_PATH = f"{_TEST_BUCKET_NAME}/{_TEST_GCS_PATH_WITHOUT_BUCKET}"
7475
_TEST_GCS_PATH_WITH_TRAILING_SLASH = f"{_TEST_GCS_PATH}/"
7576
_TEST_LOCAL_SCRIPT_FILE_NAME = "____test____script.py"
76-
_TEST_LOCAL_SCRIPT_FILE_PATH = f"path/to/{_TEST_LOCAL_SCRIPT_FILE_NAME}"
77+
_TEST_TEMPDIR = tempfile.mkdtemp()
78+
_TEST_LOCAL_SCRIPT_FILE_PATH = os.path.join(_TEST_TEMPDIR, _TEST_LOCAL_SCRIPT_FILE_NAME)
7779
_TEST_PYTHON_SOURCE = """
7880
print('hello world')
7981
"""
@@ -449,11 +451,11 @@ class TestTrainingScriptPythonPackager:
449451
def setup_method(self):
450452
importlib.reload(initializer)
451453
importlib.reload(aiplatform)
452-
with open(_TEST_LOCAL_SCRIPT_FILE_NAME, "w") as fp:
454+
with open(_TEST_LOCAL_SCRIPT_FILE_PATH, "w") as fp:
453455
fp.write(_TEST_PYTHON_SOURCE)
454456

455457
def teardown_method(self):
456-
pathlib.Path(_TEST_LOCAL_SCRIPT_FILE_NAME).unlink()
458+
pathlib.Path(_TEST_LOCAL_SCRIPT_FILE_PATH).unlink()
457459
python_package_file = f"{source_utils._TrainingScriptPythonPackager._ROOT_MODULE}-{source_utils._TrainingScriptPythonPackager._SETUP_PY_VERSION}.tar.gz"
458460
if pathlib.Path(python_package_file).is_file():
459461
pathlib.Path(python_package_file).unlink()
@@ -467,14 +469,14 @@ def teardown_method(self):
467469
)
468470

469471
def test_packager_creates_and_copies_python_package(self):
470-
tsp = source_utils._TrainingScriptPythonPackager(_TEST_LOCAL_SCRIPT_FILE_NAME)
472+
tsp = source_utils._TrainingScriptPythonPackager(_TEST_LOCAL_SCRIPT_FILE_PATH)
471473
tsp.package_and_copy(copy_method=local_copy_method)
472474
assert pathlib.Path(
473475
f"{tsp._ROOT_MODULE}-{tsp._SETUP_PY_VERSION}.tar.gz"
474476
).is_file()
475477

476478
def test_created_package_module_is_installable_and_can_be_run(self):
477-
tsp = source_utils._TrainingScriptPythonPackager(_TEST_LOCAL_SCRIPT_FILE_NAME)
479+
tsp = source_utils._TrainingScriptPythonPackager(_TEST_LOCAL_SCRIPT_FILE_PATH)
478480
source_dist_path = tsp.package_and_copy(copy_method=local_copy_method)
479481
subprocess.check_output(["pip3", "install", source_dist_path])
480482
module_output = subprocess.check_output(
@@ -484,7 +486,7 @@ def test_created_package_module_is_installable_and_can_be_run(self):
484486

485487
def test_requirements_are_in_package(self):
486488
tsp = source_utils._TrainingScriptPythonPackager(
487-
_TEST_LOCAL_SCRIPT_FILE_NAME, requirements=_TEST_REQUIREMENTS
489+
_TEST_LOCAL_SCRIPT_FILE_PATH, requirements=_TEST_REQUIREMENTS
488490
)
489491
source_dist_path = tsp.package_and_copy(copy_method=local_copy_method)
490492
with tarfile.open(source_dist_path) as tf:
@@ -503,15 +505,15 @@ def test_packaging_fails_whith_RuntimeError(self):
503505
mock_subprocess.returncode = 1
504506
mock_popen.return_value = mock_subprocess
505507
tsp = source_utils._TrainingScriptPythonPackager(
506-
_TEST_LOCAL_SCRIPT_FILE_NAME
508+
_TEST_LOCAL_SCRIPT_FILE_PATH
507509
)
508510
with pytest.raises(RuntimeError):
509511
tsp.package_and_copy(copy_method=local_copy_method)
510512

511513
def test_package_and_copy_to_gcs_copies_to_gcs(self, mock_client_bucket):
512514
mock_client_bucket, mock_blob = mock_client_bucket
513515

514-
tsp = source_utils._TrainingScriptPythonPackager(_TEST_LOCAL_SCRIPT_FILE_NAME)
516+
tsp = source_utils._TrainingScriptPythonPackager(_TEST_LOCAL_SCRIPT_FILE_PATH)
515517

516518
gcs_path = tsp.package_and_copy_to_gcs(
517519
gcs_staging_dir=_TEST_BUCKET_NAME, project=_TEST_PROJECT
@@ -838,7 +840,9 @@ class TestCustomTrainingJob:
838840
def setup_method(self):
839841
importlib.reload(initializer)
840842
importlib.reload(aiplatform)
841-
self._local_script_file_name = f"{uuid.uuid4()}-{_TEST_LOCAL_SCRIPT_FILE_NAME}"
843+
self._local_script_file_name = os.path.join(
844+
_TEST_TEMPDIR, f"{uuid.uuid4()}-{_TEST_LOCAL_SCRIPT_FILE_NAME}"
845+
)
842846
with open(self._local_script_file_name, "w") as fp:
843847
fp.write(_TEST_PYTHON_SOURCE)
844848

0 commit comments

Comments
 (0)