Skip to content

Commit 70c948a

Browse files
committed
add unit test for PR #921
Summary: Adds unit test covering metadata macros. Post-merge follow-up for PR#921: #921 requested by kiukchung. Differential Revision: D58713685
1 parent 5058b6b commit 70c948a

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

torchx/schedulers/test/api_test.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
AppDryRunInfo,
2727
CfgVal,
2828
InvalidRunConfigException,
29+
macros,
2930
NULL_RESOURCE,
3031
Resource,
3132
Role,
@@ -114,6 +115,28 @@ def test_submit_workspace(self) -> None:
114115
scheduler_mock.submit(app, cfg, workspace="some_workspace")
115116
self.assertEqual(app.roles[0].image, "some_workspace")
116117

118+
def test_metadata_macro_substitute(self) -> None:
119+
role = Role(
120+
name="sleep",
121+
image="",
122+
entrypoint="foo.sh",
123+
metadata={
124+
"bridge": {
125+
"tier": "${app_id}",
126+
},
127+
"packages": ["foo", "package_${app_id}"],
128+
},
129+
)
130+
values = macros.Values(
131+
img_root="",
132+
app_id="test_app",
133+
replica_id=str(1),
134+
rank0_env="TORCHX_RANK0_HOST",
135+
)
136+
replica_role = values.apply(role)
137+
self.assertEqual(replica_role.metadata["bridge"]["tier"], "test_app")
138+
self.assertEqual(replica_role.metadata["packages"], ["foo", "package_test_app"])
139+
117140
def test_invalid_dryrun_cfg(self) -> None:
118141
scheduler_mock = SchedulerTest.MockScheduler("test_session")
119142
app_mock = MagicMock()

0 commit comments

Comments
 (0)