chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,103 @@
|
||||
import os
|
||||
import sys
|
||||
|
||||
import pytest
|
||||
|
||||
from ray.dashboard.modules.dashboard_sdk import (
|
||||
parse_cluster_info,
|
||||
parse_runtime_env_args,
|
||||
)
|
||||
|
||||
|
||||
class TestParseRuntimeEnvArgs:
|
||||
@pytest.mark.skipif(
|
||||
sys.platform == "win32", reason="File path incorrect on Windows."
|
||||
)
|
||||
def test_runtime_env_valid(self):
|
||||
config_file_name = os.path.join(
|
||||
os.path.dirname(__file__), "test_config_files", "basic_runtime_env.yaml"
|
||||
)
|
||||
assert parse_runtime_env_args(runtime_env=config_file_name) == {
|
||||
"py_modules": ["pm1", "pm2"],
|
||||
"working_dir": "wd",
|
||||
}
|
||||
|
||||
def test_runtime_env_json_valid(self):
|
||||
runtime_env = '{"py_modules": ["pm1", "pm2"], "working_dir": "wd"}'
|
||||
assert parse_runtime_env_args(runtime_env_json=runtime_env) == {
|
||||
"py_modules": ["pm1", "pm2"],
|
||||
"working_dir": "wd",
|
||||
}
|
||||
|
||||
@pytest.mark.skipif(
|
||||
sys.platform == "win32", reason="File path incorrect on Windows."
|
||||
)
|
||||
def test_runtime_env_and_json(self):
|
||||
config_file_name = os.path.join(
|
||||
os.path.dirname(__file__), "test_config_files", "basic_runtime_env.yaml"
|
||||
)
|
||||
runtime_env_json = '{"py_modules": ["pm1", "pm2"], "working_dir": "wd"}'
|
||||
with pytest.raises(ValueError):
|
||||
parse_runtime_env_args(
|
||||
runtime_env=config_file_name, runtime_env_json=runtime_env_json
|
||||
)
|
||||
|
||||
def test_working_dir_valid(self):
|
||||
assert parse_runtime_env_args(working_dir="wd") == {"working_dir": "wd"}
|
||||
|
||||
@pytest.mark.skipif(
|
||||
sys.platform == "win32", reason="File path incorrect on Windows."
|
||||
)
|
||||
def test_working_dir_override(self):
|
||||
config_file_name = os.path.join(
|
||||
os.path.dirname(__file__), "test_config_files", "basic_runtime_env.yaml"
|
||||
)
|
||||
assert parse_runtime_env_args(
|
||||
runtime_env=config_file_name, working_dir="wd2"
|
||||
) == {"py_modules": ["pm1", "pm2"], "working_dir": "wd2"}
|
||||
|
||||
runtime_env = '{"py_modules": ["pm1", "pm2"], "working_dir": "wd2"}'
|
||||
assert parse_runtime_env_args(
|
||||
runtime_env_json=runtime_env, working_dir="wd2"
|
||||
) == {"py_modules": ["pm1", "pm2"], "working_dir": "wd2"}
|
||||
|
||||
def test_all_none(self):
|
||||
assert parse_runtime_env_args() == {}
|
||||
|
||||
|
||||
def test_get_job_submission_client_cluster_info():
|
||||
# Test that the name for get_job_submission_client_cluster_info stays the
|
||||
# same
|
||||
|
||||
from ray.dashboard.modules.dashboard_sdk import ( # noqa: F401
|
||||
get_job_submission_client_cluster_info,
|
||||
)
|
||||
|
||||
|
||||
def test_parse_cluster_address_validation():
|
||||
"""Test that parse_cluster_info validates address schemes."""
|
||||
|
||||
# Check that "auto" is rejected
|
||||
with pytest.raises(ValueError):
|
||||
parse_cluster_info("auto")
|
||||
|
||||
# Check that invalid schemes raise a ValueError
|
||||
invalid_schemes = ["ray"]
|
||||
for scheme in invalid_schemes:
|
||||
with pytest.raises(ValueError):
|
||||
parse_cluster_info(f"{scheme}://localhost:10001")
|
||||
|
||||
# Check that valid schemes are OK
|
||||
valid_schemes = ["http", "https"]
|
||||
for scheme in valid_schemes:
|
||||
parse_cluster_info(f"{scheme}://localhost:10001")
|
||||
|
||||
|
||||
def test_parse_cluster_info_ignores_extra_kwargs():
|
||||
"""Test that parse_cluster_info with http:// gracefully ignores extra kwargs."""
|
||||
result = parse_cluster_info("http://localhost:8265", cloud="test")
|
||||
assert result.address == "http://localhost:8265"
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(pytest.main(["-v", __file__]))
|
||||
Reference in New Issue
Block a user