From a270ea294621687bad118a04508a8e820c0de8a8 Mon Sep 17 00:00:00 2001 From: Abhijeet Kasurde Date: Thu, 2 Jul 2020 23:04:48 +0530 Subject: [PATCH] FileOrData: Handle None object Return when object is None in FileOrData class Signed-off-by: Abhijeet Kasurde --- config/kube_config.py | 2 ++ config/kube_config_test.py | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/config/kube_config.py b/config/kube_config.py index 9786e0e5..ec185871 100644 --- a/config/kube_config.py +++ b/config/kube_config.py @@ -97,6 +97,8 @@ def __init__(self, obj, file_key_name, data_key_name=None, self._file = None self._data = None self._base64_file_content = base64_file_content + if not obj: + return if data_key_name in obj: self._data = obj[data_key_name] elif file_key_name in obj: diff --git a/config/kube_config_test.py b/config/kube_config_test.py index ef5616e4..0c3b42ae 100644 --- a/config/kube_config_test.py +++ b/config/kube_config_test.py @@ -255,6 +255,16 @@ def test_file_given_data_bytes_no_base64(self): data_key_name=TEST_DATA_KEY, base64_file_content=False) self.assertEqual(TEST_DATA, self.get_file_content(t.as_file())) + def test_file_given_no_object(self): + t = FileOrData(obj=None, file_key_name=TEST_FILE_KEY, + data_key_name=TEST_DATA_KEY) + self.assertEqual(t.as_file(), None) + + def test_file_given_no_object_data(self): + t = FileOrData(obj=None, file_key_name=TEST_FILE_KEY, + data_key_name=TEST_DATA_KEY) + self.assertEqual(t.as_data(), None) + class TestConfigNode(BaseTestCase):