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