def test_k8s_install_kubelogin_create_installation_dir(self, logger_mock, mock_url_retrieve): mock_url_retrieve.side_effect = create_kubelogin_zip try: temp_dir = tempfile.mkdtemp() # tempfile.TemporaryDirectory() is no available on 2.7 test_location = os.path.join(temp_dir, 'foo', 'kubelogin') k8s_install_kubelogin(mock.MagicMock(), client_version='0.0.4', install_location=test_location) self.assertTrue(os.path.exists(test_location)) finally: shutil.rmtree(temp_dir)
def test_k8s_install_kubelogin_emit_warnings(self, logger_mock, mock_url_retrieve): mock_url_retrieve.side_effect = create_kubelogin_zip try: temp_dir = os.path.realpath(tempfile.mkdtemp()) # tempfile.TemporaryDirectory() is no available on 2.7 test_location = os.path.join(temp_dir, 'kubelogin') k8s_install_kubelogin(mock.MagicMock(), client_version='0.0.4', install_location=test_location) self.assertEqual(mock_url_retrieve.call_count, 1) # 2 warnings, 1st for download result; 2nd for updating PATH self.assertEqual(logger_mock.warning.call_count, 2) # 2 warnings, one for download result finally: shutil.rmtree(temp_dir)
def test_k8s_install_kubelogin_with_custom_source_url(self, logger_mock, mock_url_retrieve): mock_url_retrieve.side_effect = create_kubelogin_zip try: temp_dir = tempfile.mkdtemp() test_location = os.path.join(temp_dir, 'foo', 'kubelogin') test_ver = '1.2.6' test_source_url = 'http://url2' k8s_install_kubelogin(mock.MagicMock(), client_version=test_ver, install_location=test_location, source_url=test_source_url) mock_url_retrieve.assert_called_with(mockUrlretrieveUrlValidator(test_source_url, test_ver), mock.ANY) finally: shutil.rmtree(temp_dir)