示例#1
0
 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"]
示例#2
0
 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"}
示例#3
0
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"
示例#4
0
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"
示例#5
0
 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"])
示例#6
0
 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"})