@@ -302,6 +302,52 @@ def test_execution_api_server_url(
302302 "execution_api_server_url should not be set for Airflow 2.x versions"
303303 )
304304
305+ @pytest .mark .parametrize (
306+ ("git_sync_enabled" , "ssh_key_secret" , "expected_volume" ),
307+ [
308+ (True , "my-secret" , True ),
309+ (True , None , False ),
310+ (False , "my-secret" , False ),
311+ ],
312+ )
313+ def test_pod_template_git_sync_ssh_key_volume_with_ssh_key_secret_name (
314+ self , git_sync_enabled , ssh_key_secret , expected_volume
315+ ):
316+ dag_values = {"gitSync" : {"enabled" : git_sync_enabled , "sshKeySecret" : ssh_key_secret }}
317+ docs = render_chart (
318+ values = {
319+ "executor" : "KubernetesExecutor" ,
320+ "dags" : dag_values ,
321+ },
322+ show_only = ["templates/configmaps/configmap.yaml" ],
323+ )
324+
325+ pod_template_file = jmespath .search ('data."pod_template_file.yaml"' , docs [0 ])
326+ assert ("git-sync-ssh-key" in pod_template_file ) == expected_volume
327+
328+ @pytest .mark .parametrize (
329+ ("git_sync_enabled" , "ssh_key" , "expected_volume" ),
330+ [
331+ (True , "my-key" , True ),
332+ (True , None , False ),
333+ (False , "my-key" , False ),
334+ ],
335+ )
336+ def test_pod_template_git_sync_ssh_key_volume_with_ssh_key (
337+ self , git_sync_enabled , ssh_key , expected_volume
338+ ):
339+ dag_values = {"gitSync" : {"enabled" : git_sync_enabled , "sshKey" : ssh_key }}
340+ docs = render_chart (
341+ values = {
342+ "executor" : "KubernetesExecutor" ,
343+ "dags" : dag_values ,
344+ },
345+ show_only = ["templates/configmaps/configmap.yaml" ],
346+ )
347+
348+ pod_template_file = jmespath .search ('data."pod_template_file.yaml"' , docs [0 ])
349+ assert ("git-sync-ssh-key" in pod_template_file ) == expected_volume
350+
305351 @pytest .mark .parametrize (
306352 ("scheduler_cpu_limit" , "expected_sync_parallelism" ),
307353 [
0 commit comments