You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ao...@apache.org on 2014/12/19 18:59:02 UTC
ambari git commit: AMBARI-8827. Failure in pyhton unit tests for
ambari-server (aonishuk)
Repository: ambari
Updated Branches:
refs/heads/trunk 6734ea3de -> 405edb289
AMBARI-8827. Failure in pyhton unit tests for ambari-server (aonishuk)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/405edb28
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/405edb28
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/405edb28
Branch: refs/heads/trunk
Commit: 405edb28951fce001cfedae92e119b0acfcada68
Parents: 6734ea3
Author: Andrew Onishuk <ao...@hortonworks.com>
Authored: Fri Dec 19 19:58:52 2014 +0200
Committer: Andrew Onishuk <ao...@hortonworks.com>
Committed: Fri Dec 19 19:58:52 2014 +0200
----------------------------------------------------------------------
.../test/python/ambari_agent/TestActionQueue.py | 4 +-
.../test/python/ambari_agent/TestHostInfo.py | 5 +-
.../src/main/python/ambari_commons/os_check.py | 75 ++++++++++----------
ambari-server/src/test/python/TestOSCheck.py | 18 ++---
4 files changed, 50 insertions(+), 52 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/405edb28/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 9aeb024..c8d90ab 100644
--- a/ambari-agent/src/test/python/ambari_agent/TestActionQueue.py
+++ b/ambari-agent/src/test/python/ambari_agent/TestActionQueue.py
@@ -36,7 +36,7 @@ from ambari_agent.PythonExecutor import PythonExecutor
from ambari_agent.CommandStatusDict import CommandStatusDict
from ambari_agent.ActualConfigHandler import ActualConfigHandler
from FileCache import FileCache
-import ambari_commons.os_check
+from ambari_commons import OSCheck
class TestActionQueue(TestCase):
def setUp(self):
@@ -275,7 +275,7 @@ class TestActionQueue(TestCase):
actionQueue.process_command(execution_command)
self.assertTrue(print_exc_mock.called)
- @patch.object(ambari_commons.os_check,"os_distribution", new=lambda: ('Suse','11','Final'))
+ @patch.object(OSCheck, "os_distribution", new = MagicMock(return_value = ('Suse','11','Final')))
@patch("__builtin__.open")
@patch.object(ActionQueue, "status_update_callback")
def test_execute_command(self, status_update_callback_mock, open_mock):
http://git-wip-us.apache.org/repos/asf/ambari/blob/405edb28/ambari-agent/src/test/python/ambari_agent/TestHostInfo.py
----------------------------------------------------------------------
diff --git a/ambari-agent/src/test/python/ambari_agent/TestHostInfo.py b/ambari-agent/src/test/python/ambari_agent/TestHostInfo.py
index a5f085b..a7f3435 100644
--- a/ambari-agent/src/test/python/ambari_agent/TestHostInfo.py
+++ b/ambari-agent/src/test/python/ambari_agent/TestHostInfo.py
@@ -40,6 +40,7 @@ with patch("platform.linux_distribution", return_value = ('redhat','11','Final')
import ambari_commons
@patch.object(System, "os_family", new = 'redhat')
+@patch.object(OSCheck, "os_distribution", new = MagicMock(return_value = ('redhat','11','Final')))
class TestHostInfo(TestCase):
@patch.object(OSCheck, 'get_os_family')
@@ -219,7 +220,6 @@ class TestHostInfo(TestCase):
for item in ['/etc/conf/a1', '/var/lib/a1', '/etc/conf/b1', '/var/lib/b1']:
self.assertTrue(item in names)
- @patch("ambari_commons.os_check.os_distribution", new=MagicMock(return_value=('redhat','11','Final')))
@patch('os.path.exists')
@patch('__builtin__.open')
def test_checkUsers(self, builtins_open_mock, path_mock):
@@ -416,7 +416,6 @@ class TestHostInfo(TestCase):
result = hostInfo.hadoopVarLogCount()
self.assertEquals(result, 0)
- @patch("ambari_commons.os_check.os_distribution", new=MagicMock(return_value=('redhat','11','Final')))
@patch("os.listdir", create=True, autospec=True)
@patch("__builtin__.open", create=True, autospec=True)
@patch("pwd.getpwuid", create=True, autospec=True)
@@ -499,7 +498,6 @@ class TestHostInfo(TestCase):
self.assertEquals(result[0]['name'], 'service1')
self.assertTrue(len(result[0]['desc']) > 0)
- @patch("ambari_commons.os_check.os_distribution", new=MagicMock(return_value=('redhat','11','Final')))
@patch("os.path.exists")
@patch("os.listdir", create=True, autospec=True)
@patch("os.path.islink")
@@ -567,7 +565,6 @@ class TestHostInfo(TestCase):
run_os_command_mock.return_value = 3, "", ""
self.assertFalse(Firewall().getFirewallObject().check_iptables())
- @patch("ambari_commons.os_check.os_distribution", new=MagicMock(return_value=('redhat','11','Final')))
@patch("os.path.isfile")
@patch('__builtin__.open')
def test_transparent_huge_page(self, open_mock, os_path_isfile_mock):
http://git-wip-us.apache.org/repos/asf/ambari/blob/405edb28/ambari-common/src/main/python/ambari_commons/os_check.py
----------------------------------------------------------------------
diff --git a/ambari-common/src/main/python/ambari_commons/os_check.py b/ambari-common/src/main/python/ambari_commons/os_check.py
index 503f933..39d8202 100644
--- a/ambari-common/src/main/python/ambari_commons/os_check.py
+++ b/ambari-common/src/main/python/ambari_commons/os_check.py
@@ -70,41 +70,6 @@ VER_NT_WORKSTATION = 1
VER_NT_DOMAIN_CONTROLLER = 2
VER_NT_SERVER = 3
-
-def os_distribution():
- if platform.system() == SYSTEM_WINDOWS:
- # windows distribution
- major, minor, build, code = _get_windows_version()
- if code in (VER_NT_DOMAIN_CONTROLLER, VER_NT_SERVER):
- # we are on server os
- release = None
- if major == 6:
- if minor == 0:
- release = REL_2008
- elif minor == 1:
- release = REL_2008R2
- elif minor == 2:
- release = REL_2012
- elif minor == 3:
- release = REL_2012R2
- distribution = (release, "{0}.{1}".format(major,minor),"WindowsServer")
- else:
- # we are on unsupported desktop os
- distribution = ("", "","")
- else:
- # linux distribution
- PYTHON_VER = sys.version_info[0] * 10 + sys.version_info[1]
-
- if PYTHON_VER < 26:
- distribution = platform.dist()
- elif os.path.exists('/etc/redhat-release'):
- distribution = platform.dist()
- else:
- distribution = platform.linux_distribution()
-
- return distribution
-
-
class OS_CONST_TYPE(type):
# Declare here os type mapping
@@ -157,6 +122,40 @@ class OSConst:
class OSCheck:
@staticmethod
+ def os_distribution():
+ if platform.system() == SYSTEM_WINDOWS:
+ # windows distribution
+ major, minor, build, code = _get_windows_version()
+ if code in (VER_NT_DOMAIN_CONTROLLER, VER_NT_SERVER):
+ # we are on server os
+ release = None
+ if major == 6:
+ if minor == 0:
+ release = REL_2008
+ elif minor == 1:
+ release = REL_2008R2
+ elif minor == 2:
+ release = REL_2012
+ elif minor == 3:
+ release = REL_2012R2
+ distribution = (release, "{0}.{1}".format(major,minor),"WindowsServer")
+ else:
+ # we are on unsupported desktop os
+ distribution = ("", "","")
+ else:
+ # linux distribution
+ PYTHON_VER = sys.version_info[0] * 10 + sys.version_info[1]
+
+ if PYTHON_VER < 26:
+ distribution = platform.dist()
+ elif os.path.exists('/etc/redhat-release'):
+ distribution = platform.dist()
+ else:
+ distribution = platform.linux_distribution()
+
+ return distribution
+
+ @staticmethod
def get_os_type():
"""
Return values:
@@ -168,7 +167,7 @@ class OSCheck:
"""
# Read content from /etc/*-release file
# Full release name
- dist = os_distribution()
+ dist = OSCheck.os_distribution()
operatingSystem = dist[0].lower()
# special cases
@@ -209,7 +208,7 @@ class OSCheck:
"""
# Read content from /etc/*-release file
# Full release name
- dist = os_distribution()
+ dist = OSCheck.os_distribution()
dist = dist[1]
if dist:
@@ -233,7 +232,7 @@ class OSCheck:
In case cannot detect raises exception.
"""
- dist = os_distribution()
+ dist = OSCheck.os_distribution()
dist = dist[2].lower()
if dist:
http://git-wip-us.apache.org/repos/asf/ambari/blob/405edb28/ambari-server/src/test/python/TestOSCheck.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/TestOSCheck.py b/ambari-server/src/test/python/TestOSCheck.py
index 1f60964..026f747 100644
--- a/ambari-server/src/test/python/TestOSCheck.py
+++ b/ambari-server/src/test/python/TestOSCheck.py
@@ -26,6 +26,7 @@ import tempfile
import sys
from unittest import TestCase
from mock.mock import patch
+from mock.mock import MagicMock
from ambari_commons import OSCheck
import os_check_type
@@ -33,12 +34,13 @@ import os_check_type
utils = __import__('ambari_server.utils').utils
# We have to use this import HACK because the filename contains a dash
with patch("platform.linux_distribution", return_value = ('Suse','11','Final')):
- with patch.object(utils, "get_postgre_hba_dir"):
- ambari_server = __import__('ambari-server')
+ with patch.object(OSCheck, "os_distribution", return_value = ('Suse','11','Final')):
+ with patch.object(utils, "get_postgre_hba_dir"):
+ ambari_server = __import__('ambari-server')
class TestOSCheck(TestCase):
- @patch("platform.linux_distribution")
+ @patch.object(OSCheck, "os_distribution")
@patch("os.path.exists")
def test_get_os_type(self, mock_exists, mock_linux_distribution):
@@ -87,7 +89,7 @@ class TestOSCheck(TestCase):
result = OSCheck.get_os_type()
self.assertEquals(result, 'redhat')
- @patch("platform.linux_distribution")
+ @patch.object(OSCheck, "os_distribution")
@patch("os.path.exists")
def test_get_os_family(self, mock_exists, mock_linux_distribution):
@@ -131,7 +133,7 @@ class TestOSCheck(TestCase):
self.assertEquals("Cannot detect os type. Exiting...", str(e))
pass
- @patch("platform.linux_distribution")
+ @patch.object(OSCheck, "os_distribution")
def test_get_os_version(self, mock_linux_distribution):
# 1 - Any system
@@ -149,7 +151,7 @@ class TestOSCheck(TestCase):
self.assertEquals("Cannot detect os version. Exiting...", str(e))
pass
- @patch("platform.linux_distribution")
+ @patch.object(OSCheck, "os_distribution")
def test_get_os_major_version(self, mock_linux_distribution):
# 1
@@ -162,7 +164,7 @@ class TestOSCheck(TestCase):
result = OSCheck.get_os_major_version()
self.assertEquals(result, '11')
- @patch("platform.linux_distribution")
+ @patch.object(OSCheck, "os_distribution")
def test_get_os_release_name(self, mock_linux_distribution):
# 1 - Any system
@@ -226,7 +228,7 @@ class TestOSCheck(TestCase):
result = ambari_server.update_ambari_properties()
self.assertEquals(result, 0)
- @patch("platform.linux_distribution")
+ @patch.object(OSCheck, "os_distribution")
def test_os_type_check(self, mock_linux_distribution):
# 1 - server and agent os compatible