Repository: ambari Updated Branches: refs/heads/trunk 685f9dd73 -> 2c9820f69
AMBARI-8933 Ambari Agent Component Cannot Run Tests on OSX Updated the mocks + a few missing OS-dependent implementations Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/2c9820f6 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/2c9820f6 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/2c9820f6 Branch: refs/heads/trunk Commit: 2c9820f694bb54cfbf109824f5b7c793f0da1fc9 Parents: 685f9dd Author: Florian Barca <fba...@hortonworks.com> Authored: Mon Jan 5 17:15:04 2015 -0800 Committer: Florian Barca <fba...@hortonworks.com> Committed: Mon Jan 5 17:15:04 2015 -0800 ---------------------------------------------------------------------- .../src/main/python/ambari_agent/HostCleanup.py | 14 ++++++++++++-- .../src/test/python/ambari_agent/TestActionQueue.py | 6 ++++++ .../python/ambari_agent/TestActualConfigHandler.py | 16 +++++++++++++++- .../test/python/ambari_agent/TestCertGeneration.py | 9 +++++++++ .../ambari_agent/TestCustomServiceOrchestrator.py | 9 +++++++++ .../src/test/python/ambari_agent/TestDataCleaner.py | 8 ++++++++ .../src/test/python/ambari_agent/TestHostname.py | 12 ++++++++++-- .../src/test/python/ambari_agent/TestLiveStatus.py | 11 ++++++++++- .../src/test/python/ambari_agent/TestMain.py | 3 +++ .../src/test/python/ambari_agent/TestNetUtil.py | 10 +++++++++- .../test/python/ambari_agent/TestPythonExecutor.py | 12 ++++++++++++ .../src/test/python/ambari_agent/TestSecurity.py | 9 +++++++++ 12 files changed, 112 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/2c9820f6/ambari-agent/src/main/python/ambari_agent/HostCleanup.py ---------------------------------------------------------------------- diff --git a/ambari-agent/src/main/python/ambari_agent/HostCleanup.py b/ambari-agent/src/main/python/ambari_agent/HostCleanup.py index 35e7b51..a128dad 100644 --- a/ambari-agent/src/main/python/ambari_agent/HostCleanup.py +++ b/ambari-agent/src/main/python/ambari_agent/HostCleanup.py @@ -18,6 +18,8 @@ See the License for the specific language governing permissions and limitations under the License. ''' import sys +from ambari_commons.os_family_impl import OsFamilyImpl, OsFamilyFuncImpl + # For compatibility with different OSes # Edit PYTHONPATH to be able to import common_functions sys.path.append("/usr/lib/python2.6/site-packages/") @@ -34,8 +36,6 @@ import shlex import datetime from AmbariConfig import AmbariConfig from ambari_commons import OSCheck, OSConst -if OSCheck.get_os_family() != OSConst.WINSRV_FAMILY: - from pwd import getpwnam logger = logging.getLogger() @@ -423,7 +423,17 @@ class HostCleanup: self.do_erase_dir_silent([fileToCheck]) logger.info("Deleting file/folder: " + fileToCheck) + @OsFamilyFuncImpl(os_family=OSConst.WINSRV_FAMILY) def get_user_ids(self, userList): + + userIds = [] + # No user ids to check in Windows for now + return userIds + + @OsFamilyFuncImpl(os_family=OsFamilyImpl.DEFAULT) + def get_user_ids(self, userList): + from pwd import getpwnam + userIds = [] if userList: for user in userList: http://git-wip-us.apache.org/repos/asf/ambari/blob/2c9820f6/ambari-agent/src/test/python/ambari_agent/TestActionQueue.py ---------------------------------------------------------------------- diff --git a/ambari-agent/src/test/python/ambari_agent/TestActionQueue.py b/ambari-agent/src/test/python/ambari_agent/TestActionQueue.py index 53cad62..6c14e33 100644 --- a/ambari-agent/src/test/python/ambari_agent/TestActionQueue.py +++ b/ambari-agent/src/test/python/ambari_agent/TestActionQueue.py @@ -222,6 +222,7 @@ class TestActionQueue(TestCase): self.assertTrue(process_command_mock.call_count > 1) + @patch.object(OSCheck, "os_distribution", new = MagicMock(return_value = os_distro_value)) @patch("traceback.print_exc") @patch.object(ActionQueue, "execute_command") @patch.object(ActionQueue, "execute_status_command") @@ -441,6 +442,7 @@ class TestActionQueue(TestCase): self.assertEqual(len(report['reports']), 0) + @patch.object(OSCheck, "os_distribution", new = MagicMock(return_value = os_distro_value)) @patch.object(CustomServiceOrchestrator, "runCommand") @patch("CommandStatusDict.CommandStatusDict") @patch.object(ActionQueue, "status_update_callback") @@ -481,6 +483,7 @@ class TestActionQueue(TestCase): self.assertEqual(len(report['reports']), 1) self.assertEqual(expected, report['reports'][0]) + @patch.object(OSCheck, "os_distribution", new = MagicMock(return_value = os_distro_value)) @patch.object(ActualConfigHandler, "write_client_components") @patch.object(CustomServiceOrchestrator, "runCommand") @patch("CommandStatusDict.CommandStatusDict") @@ -523,6 +526,7 @@ class TestActionQueue(TestCase): self.assertEqual(expected, report['reports'][0]) self.assertFalse(write_client_components_mock.called) + @patch.object(OSCheck, "os_distribution", new = MagicMock(return_value = os_distro_value)) @patch.object(ActionQueue, "status_update_callback") @patch.object(StackVersionsFileHandler, "read_stack_version") @patch.object(CustomServiceOrchestrator, "requestComponentStatus") @@ -555,6 +559,7 @@ class TestActionQueue(TestCase): self.assertEqual(report['componentStatus'][0], expected) self.assertTrue(requestComponentStatus_mock.called) + @patch.object(OSCheck, "os_distribution", new = MagicMock(return_value = os_distro_value)) @patch.object(ActionQueue, "status_update_callback") @patch.object(StackVersionsFileHandler, "read_stack_version") @patch.object(CustomServiceOrchestrator, "requestComponentStatus") @@ -627,6 +632,7 @@ class TestActionQueue(TestCase): actionQueue.join() self.assertEqual(actionQueue.stopped(), True, 'Action queue is not stopped.') + @patch.object(OSCheck, "os_distribution", new = MagicMock(return_value = os_distro_value)) @patch.object(StackVersionsFileHandler, "read_stack_version") @patch.object(CustomServiceOrchestrator, "runCommand") @patch.object(CustomServiceOrchestrator, "__init__") http://git-wip-us.apache.org/repos/asf/ambari/blob/2c9820f6/ambari-agent/src/test/python/ambari_agent/TestActualConfigHandler.py ---------------------------------------------------------------------- diff --git a/ambari-agent/src/test/python/ambari_agent/TestActualConfigHandler.py b/ambari-agent/src/test/python/ambari_agent/TestActualConfigHandler.py index 166fd57..7f88e17 100644 --- a/ambari-agent/src/test/python/ambari_agent/TestActualConfigHandler.py +++ b/ambari-agent/src/test/python/ambari_agent/TestActualConfigHandler.py @@ -21,8 +21,15 @@ import tempfile from unittest import TestCase import os import logging -from mock.mock import patch +from mock.mock import patch, MagicMock, call from ambari_agent.LiveStatus import LiveStatus +from ambari_commons import OSCheck +from only_for_platform import only_for_platform, get_platform, PLATFORM_LINUX, PLATFORM_WINDOWS + +if get_platform() != PLATFORM_WINDOWS: + os_distro_value = ('Suse','11','Final') +else: + os_distro_value = ('win2012serverr2','6.3','WindowsServer') with patch("platform.linux_distribution", return_value = ('Suse','11','Final')): from ambari_agent.AmbariConfig import AmbariConfig @@ -132,6 +139,7 @@ class TestActualConfigHandler(TestCase): logger = logging.getLogger() + @patch.object(OSCheck, "os_distribution", new = MagicMock(return_value = os_distro_value)) def test_read_write(self): config = AmbariConfig().getConfig() tmpdir = tempfile.gettempdir() @@ -144,6 +152,7 @@ class TestActualConfigHandler(TestCase): self.assertEquals(tags, output) os.remove(os.path.join(tmpdir, ActualConfigHandler.CONFIG_NAME)) + @patch.object(OSCheck, "os_distribution", new = MagicMock(return_value = os_distro_value)) def test_read_empty(self): config = AmbariConfig().getConfig() tmpdir = tempfile.gettempdir() @@ -158,6 +167,7 @@ class TestActualConfigHandler(TestCase): self.assertEquals(None, output) os.remove(os.path.join(tmpdir, ActualConfigHandler.CONFIG_NAME)) + @patch.object(OSCheck, "os_distribution", new = MagicMock(return_value = os_distro_value)) def test_read_write_component(self): config = AmbariConfig().getConfig() tmpdir = tempfile.gettempdir() @@ -184,6 +194,7 @@ class TestActualConfigHandler(TestCase): os.remove(os.path.join(tmpdir, "FOO_" + ActualConfigHandler.CONFIG_NAME)) os.remove(os.path.join(tmpdir, ActualConfigHandler.CONFIG_NAME)) + @patch.object(OSCheck, "os_distribution", new = MagicMock(return_value = os_distro_value)) def test_write_actual_component_and_client_components(self): config = AmbariConfig().getConfig() tmpdir = tempfile.gettempdir() @@ -208,6 +219,7 @@ class TestActualConfigHandler(TestCase): os.remove(os.path.join(tmpdir, "HBASE_CLIENT_" + ActualConfigHandler.CONFIG_NAME)) os.remove(os.path.join(tmpdir, "HDFS_CLIENT_" + ActualConfigHandler.CONFIG_NAME)) + @patch.object(OSCheck, "os_distribution", new = MagicMock(return_value = os_distro_value)) @patch.object(ActualConfigHandler, "write_file") def test_write_client_components(self, write_file_mock): config = AmbariConfig().getConfig() @@ -228,6 +240,7 @@ class TestActualConfigHandler(TestCase): self.assertTrue(write_file_mock.called) self.assertEqual(1, write_file_mock.call_count) + @patch.object(OSCheck, "os_distribution", new = MagicMock(return_value = os_distro_value)) @patch.object(ActualConfigHandler, "write_file") def test_write_empty_client_components(self, write_file_mock): config = AmbariConfig().getConfig() @@ -247,6 +260,7 @@ class TestActualConfigHandler(TestCase): self.assertEquals(tags1, handler.read_actual_component('HBASE_CLIENT')) self.assertFalse(write_file_mock.called) + @patch.object(OSCheck, "os_distribution", new = MagicMock(return_value = os_distro_value)) @patch.object(ActualConfigHandler, "write_file") @patch.object(ActualConfigHandler, "read_file") def test_read_actual_component_inmemory(self, read_file_mock, write_file_mock): http://git-wip-us.apache.org/repos/asf/ambari/blob/2c9820f6/ambari-agent/src/test/python/ambari_agent/TestCertGeneration.py ---------------------------------------------------------------------- diff --git a/ambari-agent/src/test/python/ambari_agent/TestCertGeneration.py b/ambari-agent/src/test/python/ambari_agent/TestCertGeneration.py index c724c31..d188dbd 100644 --- a/ambari-agent/src/test/python/ambari_agent/TestCertGeneration.py +++ b/ambari-agent/src/test/python/ambari_agent/TestCertGeneration.py @@ -25,8 +25,17 @@ import ConfigParser import security from security import CertificateManager from ambari_agent import AmbariConfig +from mock.mock import patch, MagicMock +from ambari_commons import OSCheck +from only_for_platform import only_for_platform, get_platform, PLATFORM_LINUX, PLATFORM_WINDOWS + +if get_platform() != PLATFORM_WINDOWS: + os_distro_value = ('Suse','11','Final') +else: + os_distro_value = ('win2012serverr2','6.3','WindowsServer') class TestCertGeneration(TestCase): + @patch.object(OSCheck, "os_distribution", new = MagicMock(return_value = os_distro_value)) def setUp(self): self.tmpdir = tempfile.mkdtemp() config = AmbariConfig.AmbariConfig() http://git-wip-us.apache.org/repos/asf/ambari/blob/2c9820f6/ambari-agent/src/test/python/ambari_agent/TestCustomServiceOrchestrator.py ---------------------------------------------------------------------- diff --git a/ambari-agent/src/test/python/ambari_agent/TestCustomServiceOrchestrator.py b/ambari-agent/src/test/python/ambari_agent/TestCustomServiceOrchestrator.py index f9c94b0..811cf26 100644 --- a/ambari-agent/src/test/python/ambari_agent/TestCustomServiceOrchestrator.py +++ b/ambari-agent/src/test/python/ambari_agent/TestCustomServiceOrchestrator.py @@ -41,8 +41,13 @@ from FileCache import FileCache from LiveStatus import LiveStatus from BackgroundCommandExecutionHandle import BackgroundCommandExecutionHandle from ambari_agent.ActionQueue import ActionQueue +from ambari_commons import OSCheck from only_for_platform import get_platform, PLATFORM_WINDOWS +if get_platform() != PLATFORM_WINDOWS: + os_distro_value = ('Suse','11','Final') +else: + os_distro_value = ('win2012serverr2','6.3','WindowsServer') class TestCustomServiceOrchestrator(TestCase): @@ -62,6 +67,7 @@ class TestCustomServiceOrchestrator(TestCase): self.config.set('python', 'custom_actions_dir', tmpdir) + @patch.object(OSCheck, "os_distribution", new = MagicMock(return_value = os_distro_value)) @patch.object(FileCache, "__init__") def test_add_reg_listener_to_controller(self, FileCache_mock): FileCache_mock.return_value = None @@ -73,6 +79,7 @@ class TestCustomServiceOrchestrator(TestCase): self.assertTrue(dummy_controller.registration_listeners.append.called) + @patch.object(OSCheck, "os_distribution", new = MagicMock(return_value = os_distro_value)) @patch.object(CustomServiceOrchestrator, 'decompressClusterHostInfo') @patch("hostname.public_hostname") @patch("os.path.isfile") @@ -136,6 +143,7 @@ class TestCustomServiceOrchestrator(TestCase): self.assertTrue(unlink_mock.called) + @patch.object(OSCheck, "os_distribution", new = MagicMock(return_value = os_distro_value)) @patch("os.path.exists") @patch.object(FileCache, "__init__") def test_resolve_script_path(self, FileCache_mock, exists_mock): @@ -325,6 +333,7 @@ class TestCustomServiceOrchestrator(TestCase): from ambari_agent.StackVersionsFileHandler import StackVersionsFileHandler + @patch.object(OSCheck, "os_distribution", new = MagicMock(return_value = os_distro_value)) @patch("ambari_commons.shell.kill_process_with_children") @patch.object(FileCache, "__init__") @patch.object(CustomServiceOrchestrator, "resolve_script_path") http://git-wip-us.apache.org/repos/asf/ambari/blob/2c9820f6/ambari-agent/src/test/python/ambari_agent/TestDataCleaner.py ---------------------------------------------------------------------- diff --git a/ambari-agent/src/test/python/ambari_agent/TestDataCleaner.py b/ambari-agent/src/test/python/ambari_agent/TestDataCleaner.py index 0ec6b69..3ecb46a 100644 --- a/ambari-agent/src/test/python/ambari_agent/TestDataCleaner.py +++ b/ambari-agent/src/test/python/ambari_agent/TestDataCleaner.py @@ -24,6 +24,13 @@ from mock.mock import patch, MagicMock, call, Mock from ambari_agent import DataCleaner import AmbariConfig import os +from ambari_commons import OSCheck +from only_for_platform import only_for_platform, get_platform, PLATFORM_LINUX, PLATFORM_WINDOWS + +if get_platform() != PLATFORM_WINDOWS: + os_distro_value = ('Suse','11','Final') +else: + os_distro_value = ('win2012serverr2','6.3','WindowsServer') class TestDataCleaner(unittest.TestCase): @@ -42,6 +49,7 @@ class TestDataCleaner(unittest.TestCase): cleaner = DataCleaner.DataCleaner(config) self.assertFalse(DataCleaner.logger.warn.called) + @patch.object(OSCheck, "os_distribution", new = MagicMock(return_value = os_distro_value)) def test_config(self): """ Verify that if the config does not have a property, default values are used. http://git-wip-us.apache.org/repos/asf/ambari/blob/2c9820f6/ambari-agent/src/test/python/ambari_agent/TestHostname.py ---------------------------------------------------------------------- diff --git a/ambari-agent/src/test/python/ambari_agent/TestHostname.py b/ambari-agent/src/test/python/ambari_agent/TestHostname.py index 5dbd095..87c69b8 100644 --- a/ambari-agent/src/test/python/ambari_agent/TestHostname.py +++ b/ambari-agent/src/test/python/ambari_agent/TestHostname.py @@ -26,11 +26,18 @@ import socket import tempfile import shutil import os, pprint, json,stat -from mock.mock import patch -from only_for_platform import only_for_platform, PLATFORM_LINUX +from mock.mock import patch, MagicMock +from ambari_commons import OSCheck +from only_for_platform import only_for_platform, get_platform, PLATFORM_LINUX, PLATFORM_WINDOWS + +if get_platform() != PLATFORM_WINDOWS: + os_distro_value = ('Suse','11','Final') +else: + os_distro_value = ('win2012serverr2','6.3','WindowsServer') class TestHostname(TestCase): + @patch.object(OSCheck, "os_distribution", new = MagicMock(return_value = os_distro_value)) def test_hostname(self): hostname.cached_hostname = None hostname.cached_public_hostname = None @@ -87,6 +94,7 @@ class TestHostname(TestCase): config.remove_option('agent', 'public_hostname_script') pass + @patch.object(OSCheck, "os_distribution", new = MagicMock(return_value = os_distro_value)) @patch.object(socket, "getfqdn") def test_caching(self, getfqdn_mock): hostname.cached_hostname = None http://git-wip-us.apache.org/repos/asf/ambari/blob/2c9820f6/ambari-agent/src/test/python/ambari_agent/TestLiveStatus.py ---------------------------------------------------------------------- diff --git a/ambari-agent/src/test/python/ambari_agent/TestLiveStatus.py b/ambari-agent/src/test/python/ambari_agent/TestLiveStatus.py index a080d49..24fad3c 100644 --- a/ambari-agent/src/test/python/ambari_agent/TestLiveStatus.py +++ b/ambari-agent/src/test/python/ambari_agent/TestLiveStatus.py @@ -23,9 +23,16 @@ from ambari_agent.LiveStatus import LiveStatus from ambari_agent.AmbariConfig import AmbariConfig import os, sys, StringIO from ambari_agent import ActualConfigHandler -from mock.mock import patch +from mock.mock import patch, MagicMock import pprint from ambari_agent import StatusCheck +from ambari_commons import OSCheck +from only_for_platform import only_for_platform, get_platform, PLATFORM_LINUX, PLATFORM_WINDOWS + +if get_platform() != PLATFORM_WINDOWS: + os_distro_value = ('Suse','11','Final') +else: + os_distro_value = ('win2012serverr2','6.3','WindowsServer') class TestLiveStatus(TestCase): @@ -137,6 +144,7 @@ class TestLiveStatus(TestCase): # enable stdout sys.stdout = sys.__stdout__ + @patch.object(OSCheck, "os_distribution", new = MagicMock(return_value = os_distro_value)) @patch.object(ActualConfigHandler.ActualConfigHandler, "read_actual_component") def test_build(self, read_actual_component_mock): for component in LiveStatus.COMPONENTS: @@ -174,6 +182,7 @@ class TestLiveStatus(TestCase): self.assertTrue(len(result) > 0, 'Livestatus should not be empty') self.assertTrue(result['status'], LiveStatus.LIVE_STATUS) + @patch.object(OSCheck, "os_distribution", new = MagicMock(return_value = os_distro_value)) @patch.object(ActualConfigHandler.ActualConfigHandler, "read_actual_component") @patch.object(StatusCheck.StatusCheck, "getStatus") def test_build_predefined(self, getStatus_mock, read_actual_component_mock): http://git-wip-us.apache.org/repos/asf/ambari/blob/2c9820f6/ambari-agent/src/test/python/ambari_agent/TestMain.py ---------------------------------------------------------------------- diff --git a/ambari-agent/src/test/python/ambari_agent/TestMain.py b/ambari-agent/src/test/python/ambari_agent/TestMain.py index 19966e7..3cf36f5 100644 --- a/ambari-agent/src/test/python/ambari_agent/TestMain.py +++ b/ambari-agent/src/test/python/ambari_agent/TestMain.py @@ -97,6 +97,7 @@ class TestMain(unittest.TestCase): setLevel_mock.assert_called_with(logging.DEBUG) + @patch.object(OSCheck, "os_distribution", new = MagicMock(return_value = os_distro_value)) @patch.object(main.logger, "setLevel") @patch("logging.basicConfig") def test_update_log_level(self, basicConfig_mock, setLevel_mock): @@ -155,6 +156,7 @@ class TestMain(unittest.TestCase): self.assertFalse(read_mock.called) + @patch.object(OSCheck, "os_distribution", new = MagicMock(return_value = os_distro_value)) @patch("sys.exit") @patch("os.path.isfile") @patch("os.path.isdir") @@ -275,6 +277,7 @@ class TestMain(unittest.TestCase): self.assertTrue(True) + @patch.object(OSCheck, "os_distribution", new = MagicMock(return_value = os_distro_value)) @patch.object(socket, "gethostbyname") @patch.object(main, "setup_logging") @patch.object(main, "bind_signal_handlers") http://git-wip-us.apache.org/repos/asf/ambari/blob/2c9820f6/ambari-agent/src/test/python/ambari_agent/TestNetUtil.py ---------------------------------------------------------------------- diff --git a/ambari-agent/src/test/python/ambari_agent/TestNetUtil.py b/ambari-agent/src/test/python/ambari_agent/TestNetUtil.py index 287ea3c..3d8083b 100644 --- a/ambari-agent/src/test/python/ambari_agent/TestNetUtil.py +++ b/ambari-agent/src/test/python/ambari_agent/TestNetUtil.py @@ -22,9 +22,17 @@ from ambari_agent import NetUtil from mock.mock import MagicMock, patch import unittest import threading -from only_for_platform import only_for_platform, PLATFORM_LINUX +from ambari_commons import OSCheck +from only_for_platform import only_for_platform, get_platform, PLATFORM_LINUX, PLATFORM_WINDOWS + +if get_platform() != PLATFORM_WINDOWS: + os_distro_value = ('Suse','11','Final') +else: + os_distro_value = ('win2012serverr2','6.3','WindowsServer') + class TestNetUtil(unittest.TestCase): + @patch.object(OSCheck, "os_distribution", new = MagicMock(return_value = os_distro_value)) @patch("urlparse.urlparse") @patch("httplib.HTTPSConnection") def test_checkURL(self, httpsConMock, parseMock): http://git-wip-us.apache.org/repos/asf/ambari/blob/2c9820f6/ambari-agent/src/test/python/ambari_agent/TestPythonExecutor.py ---------------------------------------------------------------------- diff --git a/ambari-agent/src/test/python/ambari_agent/TestPythonExecutor.py b/ambari-agent/src/test/python/ambari_agent/TestPythonExecutor.py index bd3a7f3..d3bcd31 100644 --- a/ambari-agent/src/test/python/ambari_agent/TestPythonExecutor.py +++ b/ambari-agent/src/test/python/ambari_agent/TestPythonExecutor.py @@ -29,9 +29,17 @@ from threading import Thread from PythonExecutor import PythonExecutor from AmbariConfig import AmbariConfig from mock.mock import MagicMock, patch +from ambari_commons import OSCheck +from only_for_platform import only_for_platform, get_platform, PLATFORM_LINUX, PLATFORM_WINDOWS + +if get_platform() != PLATFORM_WINDOWS: + os_distro_value = ('Suse','11','Final') +else: + os_distro_value = ('win2012serverr2','6.3','WindowsServer') class TestPythonExecutor(TestCase): + @patch.object(OSCheck, "os_distribution", new = MagicMock(return_value = os_distro_value)) @patch("ambari_commons.shell.kill_process_with_children") def test_watchdog_1(self, kill_process_with_children_mock): """ @@ -65,6 +73,7 @@ class TestPythonExecutor(TestCase): self.assertTrue(callback_method.called) + @patch.object(OSCheck, "os_distribution", new = MagicMock(return_value = os_distro_value)) def test_watchdog_2(self): """ Tries to catch false positive watchdog invocations @@ -98,6 +107,7 @@ class TestPythonExecutor(TestCase): self.assertEquals(subproc_mock.returncode, 0, "Subprocess should not be terminated before timeout") self.assertTrue(callback_method.called) + @patch.object(OSCheck, "os_distribution", new = MagicMock(return_value = os_distro_value)) def test_execution_results(self): subproc_mock = self.Subprocess_mockup() executor = PythonExecutor("/tmp", AmbariConfig().getConfig()) @@ -129,6 +139,7 @@ class TestPythonExecutor(TestCase): 'structuredOut': {}}) self.assertTrue(callback_method.called) + @patch.object(OSCheck, "os_distribution", new = MagicMock(return_value = os_distro_value)) def test_is_successfull(self): executor = PythonExecutor("/tmp", AmbariConfig().getConfig()) @@ -141,6 +152,7 @@ class TestPythonExecutor(TestCase): self.assertFalse(executor.isSuccessfull(1)) + @patch.object(OSCheck, "os_distribution", new = MagicMock(return_value = os_distro_value)) def test_python_command(self): executor = PythonExecutor("/tmp", AmbariConfig().getConfig()) command = executor.python_command("script", ["script_param1"]) http://git-wip-us.apache.org/repos/asf/ambari/blob/2c9820f6/ambari-agent/src/test/python/ambari_agent/TestSecurity.py ---------------------------------------------------------------------- diff --git a/ambari-agent/src/test/python/ambari_agent/TestSecurity.py b/ambari-agent/src/test/python/ambari_agent/TestSecurity.py index d745864..52ddbdb 100644 --- a/ambari-agent/src/test/python/ambari_agent/TestSecurity.py +++ b/ambari-agent/src/test/python/ambari_agent/TestSecurity.py @@ -29,6 +29,14 @@ import ssl import os import tempfile +from ambari_commons import OSCheck +from only_for_platform import only_for_platform, get_platform, PLATFORM_LINUX, PLATFORM_WINDOWS + +if get_platform() != PLATFORM_WINDOWS: + os_distro_value = ('Suse','11','Final') +else: + os_distro_value = ('win2012serverr2','6.3','WindowsServer') + with patch("platform.linux_distribution", return_value = ('Suse','11','Final')): from ambari_agent import NetUtil from ambari_agent.security import CertificateManager @@ -40,6 +48,7 @@ with patch("platform.linux_distribution", return_value = ('Suse','11','Final')): aa = mock.mock.mock_open() class TestSecurity(unittest.TestCase): + @patch.object(OSCheck, "os_distribution", new = MagicMock(return_value = os_distro_value)) def setUp(self): # disable stdout out = StringIO.StringIO()