def test_validate_working_dir(self, set_runtime_env_plugin_schemas): runtime_env = RuntimeEnv() runtime_env.set("working_dir", "https://abc/file.zip") with pytest.raises(jsonschema.exceptions.ValidationError, match="working_dir"): runtime_env.set("working_dir", ["https://abc/file.zip"]) runtime_env["working_dir"] = "https://abc/file.zip" with pytest.raises(jsonschema.exceptions.ValidationError, match="working_dir"): runtime_env["working_dir"] = ["https://abc/file.zip"]
def test_validate_pip(self, set_runtime_env_plugin_schemas): runtime_env = RuntimeEnv() runtime_env.set("pip", {"packages": ["requests"], "pip_check": True}) with pytest.raises(jsonschema.exceptions.ValidationError, match="pip_check"): runtime_env.set("pip", { "packages": ["requests"], "pip_check": "1" }) runtime_env["pip"] = {"packages": ["requests"], "pip_check": True} with pytest.raises(jsonschema.exceptions.ValidationError, match="pip_check"): runtime_env["pip"] = {"packages": ["requests"], "pip_check": "1"}
def test_pip(start_cluster): cluster, address = start_cluster ray.init(address) runtime_env = RuntimeEnv() pip = Pip(packages=["pip-install-test==0.5"]) runtime_env.set("pip", pip) @ray.remote class Actor: def foo(self): import pip_install_test # noqa return "hello" a = Actor.options(runtime_env=runtime_env).remote() assert ray.get(a.foo.remote()) == "hello"
def test_convert_from_and_to_dataclass(): runtime_env = RuntimeEnv() test_plugin = TestPlugin( field1=[ ValueType(nfield1=["a", "b", "c"], nfield2=False), ValueType(nfield1=["d", "e"], nfield2=True), ], field2="abc", ) runtime_env.set("test_plugin", test_plugin) serialized_runtime_env = runtime_env.serialize() assert "test_plugin" in serialized_runtime_env runtime_env_2 = RuntimeEnv.deserialize(serialized_runtime_env) test_plugin_2 = runtime_env_2.get("test_plugin", data_class=TestPlugin) assert len(test_plugin_2.field1) == 2 assert test_plugin_2.field1[0].nfield1 == ["a", "b", "c"] assert test_plugin_2.field1[0].nfield2 is False assert test_plugin_2.field1[1].nfield1 == ["d", "e"] assert test_plugin_2.field1[1].nfield2 is True assert test_plugin_2.field2 == "abc"
def test_validate_test_env_2(self, set_runtime_env_plugin_schemas): runtime_env = RuntimeEnv() runtime_env.set("test_env_2", "123") with pytest.raises(jsonschema.exceptions.ValidationError, match="test_env_2"): runtime_env.set("test_env_2", ["123"])
def test_validate_test_env_1(self, set_runtime_env_plugin_schemas): runtime_env = RuntimeEnv() runtime_env.set("test_env_1", {"array": ["123"], "bool": True}) with pytest.raises(jsonschema.exceptions.ValidationError, match="bool"): runtime_env.set("test_env_1", {"array": ["123"], "bool": "1"})