Ejemplo n.º 1
0
def test_create_flow_run_job_fails_outside_cluster():
    with tempfile.TemporaryDirectory() as directory:

        with open(os.path.join(directory, "job.yaml"), "w+") as file:
            file.write("job")

        environment = KubernetesJobEnvironment(
            job_spec_file=os.path.join(directory, "job.yaml"))

        with pytest.raises(EnvironmentError):
            with set_temporary_config({"cloud.auth_token": "test"}):
                environment.create_flow_run_job(
                    docker_name="test1/test2:test3", flow_file_path="test4")
Ejemplo n.º 2
0
def test_create_flow_run_job(monkeypatch):
    file_path = os.path.dirname(
        prefect.environments.execution.dask.k8s.__file__)
    environment = KubernetesJobEnvironment(path.join(file_path, "job.yaml"))

    config = MagicMock()
    monkeypatch.setattr("kubernetes.config", config)

    batchv1 = MagicMock()
    monkeypatch.setattr("kubernetes.client",
                        MagicMock(BatchV1Api=MagicMock(return_value=batchv1)))

    with set_temporary_config({"cloud.auth_token": "test"}):
        environment.create_flow_run_job(docker_name="test1/test2:test3",
                                        flow_file_path="test4")

    assert (batchv1.create_namespaced_job.call_args[1]["body"]["apiVersion"] ==
            "batch/v1")