def test_create_flow_run_job_fails_outside_cluster():
    environment = DaskKubernetesEnvironment()

    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")
def test_create_flow_run_job(monkeypatch):
    environment = DaskKubernetesEnvironment()

    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")