Skip to content

Commit 5749437

Browse files
authored
Allow SageMaker endpoint to be passed in from CLI (#54)
* Remove slow marker in conftest * Move Sagemaker endpoint from Env variable to option * Fix a integ test
1 parent 5a26bc2 commit 5749437

File tree

2 files changed

+16
-7
lines changed

2 files changed

+16
-7
lines changed

tests/conftest.py

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
def pytest_addoption(parser):
3636
parser.addoption("--boto-model-file", action="store", default=None)
3737
parser.addoption("--runslow", action="store_true", default=False, help="run slow tests")
38+
parser.addoption("--sagemaker-endpoint", action="store", default=None)
3839

3940

4041
def pytest_configure(config):
@@ -56,12 +57,17 @@ def boto_model_file(request):
5657
return request.config.getoption("--boto-model-file")
5758

5859

60+
@pytest.fixture(scope="session")
61+
def sagemaker_endpoint(request):
62+
return request.config.getoption("--sagemaker-endpoint")
63+
64+
5965
@pytest.fixture
60-
def sagemaker_boto_client():
61-
if os.environ.get("SAGEMAKER_ENDPOINT", "").strip():
62-
return boto3.client("sagemaker", endpoint_url=os.environ.get("SAGEMAKER_ENDPOINT"))
63-
else:
66+
def sagemaker_boto_client(sagemaker_endpoint):
67+
if sagemaker_endpoint is None:
6468
return boto3.client("sagemaker")
69+
else:
70+
return boto3.client("sagemaker", endpoint_url=sagemaker_endpoint)
6571

6672

6773
@pytest.fixture(scope="session")
@@ -280,7 +286,7 @@ def processing_job_name(sagemaker_boto_client, training_role_arn, docker_image):
280286

281287

282288
@pytest.fixture(scope="session")
283-
def docker_image(boto_model_file):
289+
def docker_image(boto_model_file, sagemaker_endpoint):
284290
client = docker.from_env()
285291
ecr_client = boto3.client("ecr")
286292
token = ecr_client.get_authorization_token()
@@ -328,7 +334,7 @@ def docker_image(boto_model_file):
328334
"library": "smexperiments-0.1.0.tar.gz",
329335
"botomodel": "boto/sagemaker-experiments-2017-07-24.normal.json",
330336
"script": "scripts/script.py",
331-
"endpoint": os.environ.get("SAGEMAKER_ENDPOINT", ""),
337+
"endpoint": sagemaker_endpoint,
332338
},
333339
)
334340
client.images.push(tag, auth_config={"username": username, "password": password})

tests/integ/test_trial.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,4 +71,7 @@ def test_add_remove_trial_component(trial_obj, trial_component_obj):
7171
def test_save(trial_obj, sagemaker_boto_client):
7272
trial_obj.display_name = "foo"
7373
trial_obj.save()
74-
assert "foo" == trial.Trial.load(trial_name=trial_obj.trial_name).display_name
74+
assert (
75+
"foo"
76+
== trial.Trial.load(trial_name=trial_obj.trial_name, sagemaker_boto_client=sagemaker_boto_client).display_name
77+
)

0 commit comments

Comments
 (0)