Repository: incubator-slider Updated Branches: refs/heads/feature/python_unittests 52591a9fa -> 4c21c63a3
Test Commit 4 Project: http://git-wip-us.apache.org/repos/asf/incubator-slider/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-slider/commit/4c21c63a Tree: http://git-wip-us.apache.org/repos/asf/incubator-slider/tree/4c21c63a Diff: http://git-wip-us.apache.org/repos/asf/incubator-slider/diff/4c21c63a Branch: refs/heads/feature/python_unittests Commit: 4c21c63a3c09134b3bc1f015d22f8c5337a7ad99 Parents: 52591a9 Author: Sumit Mohanty <[email protected]> Authored: Sun Nov 9 08:15:49 2014 -0800 Committer: Sumit Mohanty <[email protected]> Committed: Sun Nov 9 08:15:49 2014 -0800 ---------------------------------------------------------------------- slider-agent/src/main/python/agent/main.py | 3 +- .../src/test/python/agent/TestActionQueue.py | 15 +++ .../src/test/python/agent/TestPythonExecutor.py | 2 +- .../resource_management/TestContentSources.py | 124 ------------------- 4 files changed, 18 insertions(+), 126 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/4c21c63a/slider-agent/src/main/python/agent/main.py ---------------------------------------------------------------------- diff --git a/slider-agent/src/main/python/agent/main.py b/slider-agent/src/main/python/agent/main.py index 48d84cd..3a75cb1 100644 --- a/slider-agent/src/main/python/agent/main.py +++ b/slider-agent/src/main/python/agent/main.py @@ -172,7 +172,8 @@ def stop_agent(): if pid == -1: print ("Agent process is not running") else: - os.kill(pid, signal.SIGKILL) + if not IS_WINDOWS: + os.kill(pid, signal.SIGKILL) os._exit(1) http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/4c21c63a/slider-agent/src/test/python/agent/TestActionQueue.py ---------------------------------------------------------------------- diff --git a/slider-agent/src/test/python/agent/TestActionQueue.py b/slider-agent/src/test/python/agent/TestActionQueue.py index 1a0b2cf..48260a0 100644 --- a/slider-agent/src/test/python/agent/TestActionQueue.py +++ b/slider-agent/src/test/python/agent/TestActionQueue.py @@ -38,6 +38,8 @@ from CustomServiceOrchestrator import CustomServiceOrchestrator from PythonExecutor import PythonExecutor from CommandStatusDict import CommandStatusDict from AgentToggleLogger import AgentToggleLogger +import platform +IS_WINDOWS = platform.system() == "Windows" class TestActionQueue(TestCase): @@ -347,6 +349,19 @@ class TestActionQueue(TestCase): 'taskId': 3, 'exitcode': 777, 'reportResult': True} + if IS_WINDOWS: + expected = {'status': 'IN_PROGRESS', + 'stderr': 'Read from {0}\\errors-3.txt'.format(tempdir), + 'stdout': 'Read from {0}\\output-3.txt'.format(tempdir), + 'structuredOut': '', + 'clusterName': u'cc', + 'roleCommand': u'INSTALL', + 'serviceName': u'HBASE', + 'role': u'HBASE_MASTER', + 'actionId': '1-1', + 'taskId': 3, + 'exitcode': 777, + 'reportResult': True} self.assertEqual(report['reports'][0], expected) # Continue command execution unfreeze_flag.set() http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/4c21c63a/slider-agent/src/test/python/agent/TestPythonExecutor.py ---------------------------------------------------------------------- diff --git a/slider-agent/src/test/python/agent/TestPythonExecutor.py b/slider-agent/src/test/python/agent/TestPythonExecutor.py index 630d18c..5451e65 100644 --- a/slider-agent/src/test/python/agent/TestPythonExecutor.py +++ b/slider-agent/src/test/python/agent/TestPythonExecutor.py @@ -136,7 +136,7 @@ class TestPythonExecutor(TestCase): executor.runShellKillPgrp = runShellKillPgrp_method subproc_mock.returncode = 0 subproc_mock.should_finish_event.set() - result = executor.run_file("file", ["arg1", "arg2"], tmpoutfile, tmperrfile, PYTHON_TIMEOUT_SECONDS, tmpstroutfile, "INFO") + result = executor.run_file("file", ["arg1", "arg2"], tmpoutfile, tmperrfile, PYTHON_TIMEOUT_SECONDS, tmpstroutfile, "INFO", True, None) self.assertEquals(result, {'exitcode': 0, 'stderr': 'Dummy err', 'stdout': 'Dummy output', 'structuredOut': {}}) http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/4c21c63a/slider-agent/src/test/python/resource_management/TestContentSources.py ---------------------------------------------------------------------- diff --git a/slider-agent/src/test/python/resource_management/TestContentSources.py b/slider-agent/src/test/python/resource_management/TestContentSources.py index 2527f30..3913ba1 100644 --- a/slider-agent/src/test/python/resource_management/TestContentSources.py +++ b/slider-agent/src/test/python/resource_management/TestContentSources.py @@ -108,130 +108,6 @@ class TestContentSources(TestCase): self.assertEqual(exists_mock.call_count, 1) pass - @patch.object(urllib2, "urlopen") - @patch.object(os, "makedirs") - @patch.object(os.path, "exists") - def test_download_source_get_content_nocache(self, exists_mock, makedirs_mock, urlopen_mock): - """ - Testing DownloadSource.get_content without cache - """ - exists_mock.return_value = True - web_file_mock = MagicMock() - web_file_mock.read.return_value = 'web_content' - urlopen_mock.return_value = web_file_mock - - with Environment("/base") as env: - download_source = DownloadSource("http://download/source", cache=False) - content = download_source.get_content() - - self.assertEqual('web_content', content) - self.assertEqual(urlopen_mock.call_count, 1) - urlopen_mock.assert_called_with('http://download/source') - self.assertEqual(web_file_mock.read.call_count, 1) - - @patch.object(urllib2, "urlopen") - @patch.object(os, "makedirs") - @patch.object(os.path, "exists") - def test_download_source_get_content_cache_new(self, exists_mock, makedirs_mock, urlopen_mock): - """ - Testing DownloadSource.get_content with cache on non-cached resource - """ - exists_mock.side_effect = [True, False] - web_file_mock = MagicMock() - web_file_mock.read.return_value = 'web_content' - urlopen_mock.return_value = web_file_mock - - with Environment("/base") as env: - download_source = DownloadSource("http://download/source", cache=True) - content = download_source.get_content() - - self.assertEqual('web_content', content) - self.assertEqual(urlopen_mock.call_count, 1) - urlopen_mock.assert_called_with('http://download/source') - self.assertEqual(web_file_mock.read.call_count, 1) - - @patch("__builtin__.open") - @patch.object(os, "makedirs") - @patch.object(os.path, "exists") - def test_download_source_get_content_cache_existent(self, exists_mock, makedirs_mock, open_mock): - """ - Testing DownloadSource.get_content with cache on cached resource - """ - exists_mock.side_effect = [True, True, False] - - file_mock = MagicMock(name = 'file_mock') - file_mock.__enter__.return_value = file_mock - file_mock.read.return_value = 'cached_content' - open_mock.return_value = file_mock - - - with Environment("/base") as env: - download_source = DownloadSource("http://download/source", cache=True) - content = download_source.get_content() - - self.assertEqual('cached_content', content) - self.assertEqual(open_mock.call_count, 1) - open_mock.assert_called_with('/var/tmp/downloads/source') - self.assertEqual(file_mock.read.call_count, 1) - - @patch.object(urllib2, "urlopen") - @patch("__builtin__.open") - @patch.object(os, "makedirs") - @patch.object(os.path, "exists") - def test_download_source_get_content_cache_existent_md5_match(self, exists_mock, makedirs_mock, open_mock, - urlopen_mock): - """ - Testing DownloadSource.get_content with cache on cached resource with md5 check - """ - exists_mock.side_effect = [True, True, False] - - file_mock = MagicMock(name = 'file_mock') - file_mock.__enter__.return_value = file_mock - file_mock.read.return_value = 'cached_content' - open_mock.return_value = file_mock - - - with Environment("/base") as env: - download_source = DownloadSource("http://download/source", cache=True) - content = download_source.get_content() - - self.assertEqual('cached_content', content) - self.assertEqual(open_mock.call_count, 1) - open_mock.assert_called_with('/var/tmp/downloads/source') - self.assertEqual(file_mock.read.call_count, 1) - self.assertEqual(urlopen_mock.call_count, 0) - - @patch.object(urllib2, "urlopen") - @patch("__builtin__.open") - @patch.object(os, "makedirs") - @patch.object(os.path, "exists") - def test_download_source_get_content_cache_existent_md5_unmatch(self, exists_mock, makedirs_mock, open_mock, - urlopen_mock): - """ - Testing DownloadSource.get_content with cache on cached resource with md5 check - """ - exists_mock.side_effect = [True, True, False] - fake_md5 = "144c9defac04969c7bfad8efaa8ea194" - file_mock = MagicMock(name = 'file_mock') - file_mock.__enter__.return_value = file_mock - file_mock.read.return_value = 'cached_content' - open_mock.return_value = file_mock - web_file_mock = MagicMock() - web_file_mock.read.return_value = 'web_content' - urlopen_mock.return_value = web_file_mock - - with Environment("/base") as env: - download_source = DownloadSource("http://download/source", cache=True, md5sum=fake_md5) - content = download_source.get_content() - - self.assertEqual('web_content', content) - self.assertEqual(open_mock.call_count, 2) - open_mock.assert_once_called('/var/tmp/downloads/source', 'w') - open_mock.assert_once_called('/var/tmp/downloads/source') - self.assertEqual(file_mock.read.call_count, 1) - self.assertEqual(urlopen_mock.call_count, 1) - urlopen_mock.assert_called_with('http://download/source') - @patch("__builtin__.open") @patch.object(os.path, "getmtime") @patch.object(os.path, "exists")
