def test_empty_working_directory(): runner = CliRunner() with instance_for_test() as instance: with new_cwd(os.path.dirname(__file__)): result = runner.invoke( pipeline_execute_command, [ "-f", file_relative_path(__file__, "file_with_local_import.py"), "-a", "foo_pipeline", ], ) assert result.exit_code == 0 runs = instance.get_runs() assert len(runs) == 1 with instance_for_test() as instance: with new_cwd(os.path.dirname(__file__)): result = runner.invoke( job_execute_command, [ "-f", file_relative_path(__file__, "file_with_local_import.py"), "-a", "qux_job", ], ) assert result.exit_code == 0 runs = instance.get_runs() assert len(runs) == 1
def test_default_working_directory(): runner = CliRunner() import os with default_cli_test_instance() as instance: with new_cwd(os.path.dirname(__file__)): result = runner.invoke( pipeline_launch_command, [ "-f", file_relative_path(__file__, "file_with_local_import.py"), "-a", "foo_pipeline", ], ) assert result.exit_code == 0 runs = instance.get_runs() assert len(runs) == 1 with new_cwd(os.path.dirname(__file__)): result = runner.invoke( job_launch_command, [ "-f", file_relative_path(__file__, "file_with_local_import.py"), "-a", "qux_job", ], ) assert result.exit_code == 0 runs = instance.get_runs() assert len(runs) == 2
def test_load_with_empty_working_directory(capfd): port = find_free_port() # File that will fail if working directory isn't set to default python_file = file_relative_path(__file__, "grpc_repo_with_local_import.py") with new_cwd(os.path.dirname(__file__)): ipc_output_file = _get_ipc_output_file() process = subprocess.Popen( [ "dagster", "api", "grpc", "--port", str(port), "--python-file", python_file, "--ipc-output-file", ipc_output_file, ], stdout=subprocess.PIPE, ) try: wait_for_grpc_server(process, ipc_output_file) assert DagsterGrpcClient(port=port).ping("foobar") == "foobar" finally: process.terminate() # indicating the working directory is empty fails ipc_output_file = _get_ipc_output_file() process = subprocess.Popen( [ "dagster", "api", "grpc", "--port", str(port), "--python-file", python_file, "--empty-working-directory", "--ipc-output-file", ipc_output_file, ], stdout=subprocess.PIPE, ) try: with pytest.raises(DagsterUserCodeProcessError): wait_for_grpc_server(process, ipc_output_file) process.wait() _, err = capfd.readouterr() assert "No module named" in err finally: if process.poll() is None: process.terminate()
def test_load_with_empty_working_directory(capfd): port = find_free_port() # File that will fail if working directory isn't set to default python_file = file_relative_path(__file__, "grpc_repo_with_local_import.py") subprocess_args = [ "dagster", "api", "grpc", "--port", str(port), "--python-file", python_file, ] with new_cwd(os.path.dirname(__file__)): process = subprocess.Popen( subprocess_args, stdout=subprocess.PIPE, ) try: wait_for_grpc_server( process, DagsterGrpcClient(port=port, host="localhost"), subprocess_args ) assert DagsterGrpcClient(port=port).ping("foobar") == "foobar" finally: process.terminate() # indicating the working directory is empty fails port = find_free_port() subprocess_args = [ "dagster", "api", "grpc", "--port", str(port), "--python-file", python_file, "--empty-working-directory", ] process = subprocess.Popen( subprocess_args, stdout=subprocess.PIPE, ) try: with pytest.raises(Exception): wait_for_grpc_server( process, DagsterGrpcClient(port=port, host="localhost"), subprocess_args ) process.wait() _, err = capfd.readouterr() assert "No module named" in err finally: if process.poll() is None: process.terminate()
def test_legacy_repository_yaml_module_autoload(): with pytest.warns( UserWarning, match=re.escape( "You are using the legacy repository yaml format. Please update your file " ), ): with new_cwd(file_relative_path(__file__, "legacy_repository_yaml_module")): assert successfully_load_repository_via_cli([]).name == "hello_world_repository"
def test_legacy_repository_yaml_dash_y(): with pytest.warns( UserWarning, match=re.escape( "You have used -y or --repository-yaml to load a workspace. This is deprecated and " "will be eliminated in 0.9.0."), ): with new_cwd(file_relative_path(__file__, "legacy_repository_yaml")): assert (successfully_load_repository_via_cli( ["-y", "repository.yaml"]).name == "hello_world_repository")
def test_load_with_empty_working_directory(): port = find_free_port() # File that will fail if working directory isn't set to default python_file = file_relative_path(__file__, "grpc_repo_with_local_import.py") with new_cwd(os.path.dirname(__file__)): process = subprocess.Popen( [ "dagster", "api", "grpc", "--port", str(port), "--python-file", python_file ], stdout=subprocess.PIPE, ) try: assert wait_for_grpc_server(process) assert DagsterGrpcClient(port=port).ping("foobar") == "foobar" finally: process.terminate()