You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by mp...@apache.org on 2015/01/28 17:49:23 UTC
ambari git commit: AMBARI-9379. Failing unittest when HDP repo is
present. (mpapirkovskyy)
Repository: ambari
Updated Branches:
refs/heads/trunk 760e15583 -> 62e0a5952
AMBARI-9379. Failing unittest when HDP repo is present. (mpapirkovskyy)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/62e0a595
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/62e0a595
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/62e0a595
Branch: refs/heads/trunk
Commit: 62e0a5952aadf04f17843f347a64d1ed5d7bb470
Parents: 760e155
Author: Myroslav Papirkovskyy <mp...@hortonworks.com>
Authored: Wed Jan 28 18:49:08 2015 +0200
Committer: Myroslav Papirkovskyy <mp...@hortonworks.com>
Committed: Wed Jan 28 18:49:18 2015 +0200
----------------------------------------------------------------------
.../custom_actions/TestInstallPackages.py | 76 +++++++++++---------
1 file changed, 44 insertions(+), 32 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/62e0a595/ambari-server/src/test/python/custom_actions/TestInstallPackages.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/custom_actions/TestInstallPackages.py b/ambari-server/src/test/python/custom_actions/TestInstallPackages.py
index 58a5f94..17ea63f 100644
--- a/ambari-server/src/test/python/custom_actions/TestInstallPackages.py
+++ b/ambari-server/src/test/python/custom_actions/TestInstallPackages.py
@@ -29,17 +29,21 @@ from mock.mock import patch, MagicMock
from resource_management.core.base import Resource
from resource_management.core.resources.packaging import Package
from resource_management.core.exceptions import Fail
+from ambari_commons.os_check import OSCheck
class TestInstallPackages(RMFTestCase):
+ @staticmethod
def _add_packages(arg):
arg.append(["pkg1", "1.0", "repo"])
arg.append(["pkg2", "2.0", "repo2"])
+ @patch("resource_management.libraries.functions.list_ambari_managed_repos.list_ambari_managed_repos")
+ @patch("resource_management.libraries.functions.packages_analyzer.allInstalledPackages")
@patch("resource_management.libraries.script.Script.put_structured_out")
- @patch("resource_management.libraries.functions.packages_analyzer.allInstalledPackages",
- new=MagicMock(side_effect = _add_packages))
- def test_normal_flow(self, put_structured_out):
+ def test_normal_flow(self, put_structured_out_mock, allInstalledPackages_mock, list_ambari_managed_repos_mock):
+ allInstalledPackages_mock.side_effect = TestInstallPackages._add_packages
+ list_ambari_managed_repos_mock.return_value=[]
self.executeScript("scripts/install_packages.py",
classname="InstallPackages",
command="actionexecute",
@@ -47,8 +51,8 @@ class TestInstallPackages(RMFTestCase):
target=RMFTestCase.TARGET_CUSTOM_ACTIONS,
os_type=('Redhat', '6.4', 'Final'),
)
- self.assertTrue(put_structured_out.called)
- self.assertEquals(put_structured_out.call_args[0][0],
+ self.assertTrue(put_structured_out_mock.called)
+ self.assertEquals(put_structured_out_mock.call_args[0][0],
{'package_installation_result': 'SUCCESS',
'installed_repository_version': u'2.2.0.1-885',
'stack_id': 'HDP-2.2',
@@ -81,12 +85,15 @@ class TestInstallPackages(RMFTestCase):
self.assertNoMoreResources()
- @patch("resource_management.libraries.functions.list_ambari_managed_repos.list_ambari_managed_repos",
- new=MagicMock(return_value=["HDP-UTILS-2.2.0.1-885"]))
+ @patch("resource_management.libraries.functions.list_ambari_managed_repos.list_ambari_managed_repos")
+ @patch("ambari_commons.os_check.OSCheck.is_redhat_family")
@patch("resource_management.libraries.script.Script.put_structured_out")
- @patch("resource_management.libraries.functions.packages_analyzer.allInstalledPackages",
- new=MagicMock(side_effect = _add_packages))
- def test_exclude_existing_repo(self, put_structured_out):
+ @patch("resource_management.libraries.functions.packages_analyzer.allInstalledPackages")
+ def test_exclude_existing_repo(self, allInstalledPackages_mock, put_structured_out_mock,
+ is_redhat_family_mock, list_ambari_managed_repos_mock):
+ allInstalledPackages_mock.side_effect = TestInstallPackages._add_packages
+ list_ambari_managed_repos_mock.return_value=["HDP-UTILS-2.2.0.1-885"]
+ is_redhat_family_mock.return_value = True
self.executeScript("scripts/install_packages.py",
classname="InstallPackages",
command="actionexecute",
@@ -94,8 +101,8 @@ class TestInstallPackages(RMFTestCase):
target=RMFTestCase.TARGET_CUSTOM_ACTIONS,
os_type=('Redhat', '6.4', 'Final'),
)
- self.assertTrue(put_structured_out.called)
- self.assertEquals(put_structured_out.call_args[0][0],
+ self.assertTrue(put_structured_out_mock.called)
+ self.assertEquals(put_structured_out_mock.call_args[0][0],
{'package_installation_result': 'SUCCESS',
'installed_repository_version': u'2.2.0.1-885',
'stack_id': 'HDP-2.2',
@@ -130,6 +137,7 @@ class TestInstallPackages(RMFTestCase):
_install_failed = False
+ @staticmethod
def _add_packages_with_fail(arg):
arg.append(["pkg1", "1.0", "repo"])
arg.append(["pkg2", "2.0", "repo2"])
@@ -145,12 +153,19 @@ class TestInstallPackages(RMFTestCase):
TestInstallPackages._install_failed = True
raise Exception()
+ @patch("resource_management.libraries.functions.list_ambari_managed_repos.list_ambari_managed_repos")
+ @patch("ambari_commons.os_check.OSCheck.is_redhat_family")
+ @patch("resource_management.libraries.functions.packages_analyzer.allInstalledPackages")
+ @patch("resource_management.core.resources.packaging.Package.__new__")
@patch("resource_management.libraries.script.Script.put_structured_out")
- @patch("resource_management.libraries.functions.packages_analyzer.allInstalledPackages",
- new=MagicMock(side_effect = _add_packages_with_fail))
- @patch("resource_management.core.resources.packaging.Package.__new__",
- new=_new_with_exception)
- def test_fail(self, put_structured_out):
+ def test_fail(self, put_structured_out_mock, Package__mock, allInstalledPackages_mock,
+ is_redhat_family_mock, list_ambari_managed_repos_mock):
+ allInstalledPackages_mock.side_effect = TestInstallPackages._add_packages_with_fail
+ is_redhat_family_mock.return_value = True
+ list_ambari_managed_repos_mock.return_value = []
+ def side_effect(retcode):
+ raise Exception()
+ Package__mock.side_effect = side_effect
self.assertRaises(Fail, self.executeScript, "scripts/install_packages.py",
classname="InstallPackages",
command="actionexecute",
@@ -158,12 +173,9 @@ class TestInstallPackages(RMFTestCase):
target=RMFTestCase.TARGET_CUSTOM_ACTIONS,
os_type=('Redhat', '6.4', 'Final'))
- self.assertTrue(put_structured_out.called)
- self.assertEquals(put_structured_out.call_args[0][0],
- {'package_installation_result': 'FAIL',
- 'installed_repository_version': u'2.2.0.1-885',
- 'stack_id': 'HDP-2.2',
- 'ambari_repositories': []})
+ self.assertTrue(put_structured_out_mock.called)
+ self.assertEquals(put_structured_out_mock.call_args[0][0],
+ {'stack_id': 'HDP-2.2', 'installed_repository_version': u'2.2.0.1-885', 'ambari_repositories': [], 'package_installation_result': 'FAIL'})
self.assertResourceCalled('Repository', 'HDP-UTILS-2.2.0.1-885',
base_url=u'http://s3.amazonaws.com/dev.hortonworks.com/HDP/centos5/2.x/updates/2.2.0.0',
action=['create'],
@@ -182,17 +194,17 @@ class TestInstallPackages(RMFTestCase):
mirror_list=None,
append_to_file=True,
)
- self.assertResourceCalled('Package', 'hadoop_2_2_*', use_repos=['base', 'HDP-UTILS-2.2.0.1-885', 'HDP-2.2.0.1-885'])
- self.assertResourceCalled('Package', 'snappy', use_repos=['base', 'HDP-UTILS-2.2.0.1-885', 'HDP-2.2.0.1-885'])
- self.assertResourceCalled('Package', 'hadoop_2_2_fake_pkg', action=["remove"])
- self.assertResourceCalled('Package', 'snappy_fake_pkg', action=["remove"])
self.assertNoMoreResources()
+ @patch("ambari_commons.os_check.OSCheck.is_suse_family")
+ @patch("resource_management.core.resources.packaging.Package")
@patch("resource_management.libraries.script.Script.put_structured_out")
- @patch("resource_management.libraries.functions.packages_analyzer.allInstalledPackages",
- new=MagicMock(side_effect = _add_packages))
- def test_format_package_name(self, put_structured_out):
+ @patch("resource_management.libraries.functions.packages_analyzer.allInstalledPackages")
+ def test_format_package_name(self,allInstalledPackages_mock, put_structured_out_mock,
+ package_mock, is_suse_family_mock):
+ allInstalledPackages_mock = MagicMock(side_effect = TestInstallPackages._add_packages)
+ is_suse_family_mock.return_value = True
self.executeScript("scripts/install_packages.py",
classname="InstallPackages",
command="actionexecute",
@@ -200,8 +212,8 @@ class TestInstallPackages(RMFTestCase):
target=RMFTestCase.TARGET_CUSTOM_ACTIONS,
os_type=('Suse', '11', 'Final'),
)
- self.assertTrue(put_structured_out.called)
- self.assertEquals(put_structured_out.call_args[0][0],
+ self.assertTrue(put_structured_out_mock.called)
+ self.assertEquals(put_structured_out_mock.call_args[0][0],
{'package_installation_result': 'SUCCESS',
'installed_repository_version': u'2.2.0.1-885',
'stack_id': 'HDP-2.2',