This is an automated email from the ASF dual-hosted git repository.
kaxilnaik pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/master by this push:
new 7a4e170 Kubernetes Test Cleanup (#15626)
7a4e170 is described below
commit 7a4e17048e538877ab602519f579228ef759b130
Author: Kaxil Naik <[email protected]>
AuthorDate: Sat May 1 15:29:30 2021 +0100
Kubernetes Test Cleanup (#15626)
Some of the tests were redundant in
`kubernetes_tests/test_kubernetes_pod_operator_backcompat.py` which didn't test
anything related to deprecated classes and were already covered by either
`kubernetes_tests/test_kubernetes_pod_operator.py` or
`tests/providers/cncf/kubernetes/operators/test_kubernetes_pod.py`
---
kubernetes_tests/test_kubernetes_pod_operator.py | 28 ---------
.../test_kubernetes_pod_operator_backcompat.py | 69 ----------------------
.../kubernetes/operators/test_kubernetes_pod.py | 21 +++++++
3 files changed, 21 insertions(+), 97 deletions(-)
diff --git a/kubernetes_tests/test_kubernetes_pod_operator.py
b/kubernetes_tests/test_kubernetes_pod_operator.py
index ea97677..55d03cb 100644
--- a/kubernetes_tests/test_kubernetes_pod_operator.py
+++ b/kubernetes_tests/test_kubernetes_pod_operator.py
@@ -574,34 +574,6 @@ class TestKubernetesPodOperatorSystem(unittest.TestCase):
@mock.patch("airflow.providers.cncf.kubernetes.utils.pod_launcher.PodLauncher.start_pod")
@mock.patch("airflow.providers.cncf.kubernetes.utils.pod_launcher.PodLauncher.monitor_pod")
@mock.patch("airflow.kubernetes.kube_client.get_kube_client")
- def test_envs_from_configmaps(self, mock_client, mock_monitor, mock_start):
- # GIVEN
- from airflow.utils.state import State
-
- configmap_name = "test-config-map"
- env_from =
[k8s.V1EnvFromSource(config_map_ref=k8s.V1ConfigMapEnvSource(name=configmap_name))]
- # WHEN
- k = KubernetesPodOperator(
- namespace='default',
- image="ubuntu:16.04",
- cmds=["bash", "-cx"],
- arguments=["echo 10"],
- labels={"foo": "bar"},
- name="test-" + str(random.randint(0, 1000000)),
- task_id="task" + self.get_current_task_name(),
- in_cluster=False,
- do_xcom_push=False,
- env_from=env_from,
- )
- # THEN
- mock_monitor.return_value = (State.SUCCESS, None)
- context = create_context(k)
- k.execute(context)
- assert mock_start.call_args[0][0].spec.containers[0].env_from ==
env_from
-
-
@mock.patch("airflow.providers.cncf.kubernetes.utils.pod_launcher.PodLauncher.start_pod")
-
@mock.patch("airflow.providers.cncf.kubernetes.utils.pod_launcher.PodLauncher.monitor_pod")
- @mock.patch("airflow.kubernetes.kube_client.get_kube_client")
def test_envs_from_secrets(self, mock_client, monitor_mock, start_mock):
# GIVEN
from airflow.utils.state import State
diff --git a/kubernetes_tests/test_kubernetes_pod_operator_backcompat.py
b/kubernetes_tests/test_kubernetes_pod_operator_backcompat.py
index c6248d2..b65d5d1 100644
--- a/kubernetes_tests/test_kubernetes_pod_operator_backcompat.py
+++ b/kubernetes_tests/test_kubernetes_pod_operator_backcompat.py
@@ -153,32 +153,6 @@ class TestKubernetesPodOperatorSystem(unittest.TestCase):
k8s.V1LocalObjectReference(name=fake_pull_secrets)
]
-
@mock.patch("airflow.providers.cncf.kubernetes.utils.pod_launcher.PodLauncher.start_pod")
-
@mock.patch("airflow.providers.cncf.kubernetes.utils.pod_launcher.PodLauncher.monitor_pod")
-
@mock.patch("airflow.providers.cncf.kubernetes.utils.pod_launcher.PodLauncher.delete_pod")
- @mock.patch("airflow.kubernetes.kube_client.get_kube_client")
- def test_pod_delete_even_on_launcher_error(
- self, mock_client, delete_pod_mock, monitor_pod_mock, start_pod_mock
- ): # pylint: disable=unused-argument
- k = KubernetesPodOperator(
- namespace='default',
- image="ubuntu:16.04",
- cmds=["bash", "-cx"],
- arguments=["echo 10"],
- labels={"foo": "bar"},
- name="test",
- task_id="task",
- in_cluster=False,
- do_xcom_push=False,
- cluster_context='default',
- is_delete_operator_pod=True,
- )
- monitor_pod_mock.side_effect = AirflowException('fake failure')
- with pytest.raises(AirflowException):
- context = self.create_context(k)
- k.execute(context=context)
- assert delete_pod_mock.called
-
def test_working_pod(self):
k = KubernetesPodOperator(
namespace='default',
@@ -651,48 +625,5 @@ class TestKubernetesPodOperatorSystem(unittest.TestCase):
]
assert self.expected_pod == actual_pod
-
@mock.patch("airflow.providers.cncf.kubernetes.utils.pod_launcher.PodLauncher.start_pod")
-
@mock.patch("airflow.providers.cncf.kubernetes.utils.pod_launcher.PodLauncher.monitor_pod")
- @mock.patch("airflow.kubernetes.kube_client.get_kube_client")
- def test_pod_priority_class_name(
- self, mock_client, monitor_mock, start_mock
- ): # pylint: disable=unused-argument
- """Test ability to assign priorityClassName to pod"""
- priority_class_name = "medium-test"
- k = KubernetesPodOperator(
- namespace='default',
- image="ubuntu:16.04",
- cmds=["bash", "-cx"],
- arguments=["echo 10"],
- labels={"foo": "bar"},
- name="test",
- task_id="task",
- in_cluster=False,
- do_xcom_push=False,
- priority_class_name=priority_class_name,
- )
-
- monitor_mock.return_value = (State.SUCCESS, None)
- context = self.create_context(k)
- k.execute(context)
- actual_pod = self.api_client.sanitize_for_serialization(k.pod)
- self.expected_pod['spec']['priorityClassName'] = priority_class_name
- assert self.expected_pod == actual_pod
-
- def test_pod_name(self):
- pod_name_too_long = "a" * 221
- with pytest.raises(AirflowException):
- KubernetesPodOperator(
- namespace='default',
- image="ubuntu:16.04",
- cmds=["bash", "-cx"],
- arguments=["echo 10"],
- labels={"foo": "bar"},
- name=pod_name_too_long,
- task_id="task",
- in_cluster=False,
- do_xcom_push=False,
- )
-
# pylint: enable=unused-argument
diff --git a/tests/providers/cncf/kubernetes/operators/test_kubernetes_pod.py
b/tests/providers/cncf/kubernetes/operators/test_kubernetes_pod.py
index 9a5b22b..bd42cfa 100644
--- a/tests/providers/cncf/kubernetes/operators/test_kubernetes_pod.py
+++ b/tests/providers/cncf/kubernetes/operators/test_kubernetes_pod.py
@@ -110,6 +110,27 @@ class TestKubernetesPodOperator(unittest.TestCase):
assert k.env_vars[0].value == "footemplated"
assert k.env_vars[0].name == "bartemplated"
+ def test_envs_from_configmaps(
+ self,
+ ):
+ configmap_name = "test-config-map"
+ env_from =
[k8s.V1EnvFromSource(config_map_ref=k8s.V1ConfigMapEnvSource(name=configmap_name))]
+ # WHEN
+ k = KubernetesPodOperator(
+ namespace='default',
+ image="ubuntu:16.04",
+ cmds=["bash", "-cx"],
+ arguments=["echo 10"],
+ labels={"foo": "bar"},
+ name="test",
+ task_id="task",
+ in_cluster=False,
+ do_xcom_push=False,
+ env_from=env_from,
+ )
+ pod = self.run_pod(k)
+ assert pod.spec.containers[0].env_from == env_from
+
def test_labels(self):
k = KubernetesPodOperator(
namespace="default",