|
@@ -81,59 +81,93 @@ class TestSetupAgent(TestCase):
|
|
|
self.assertEqual(ret, 2)
|
|
|
|
|
|
|
|
|
- @patch.object(setup_agent, 'getAvaliableAgentPackageVersionsSuse')
|
|
|
+ @patch.object(setup_agent, 'getAvaliableAgentPackageVersions')
|
|
|
@patch.object(setup_agent, 'is_suse')
|
|
|
- @patch.object(setup_agent, 'findNearestAgentPackageVersionSuse')
|
|
|
+ @patch.object(setup_agent, 'is_ubuntu')
|
|
|
@patch.object(setup_agent, 'findNearestAgentPackageVersion')
|
|
|
- def test_returned_optimal_version_is_initial_on_suse(self, findNearestAgentPackageVersion_method,
|
|
|
- findNearestAgentPackageVersionSuse_method,
|
|
|
- is_suse_method, getAvaliableAgentPackageVersionsSuse_method):
|
|
|
- getAvaliableAgentPackageVersionsSuse_method.return_value = {"exitstatus": 0, "log": "1.1.1"}
|
|
|
+ def test_returned_optimal_version_is_initial_on_suse(self, findNearestAgentPackageVersion_method, is_ubuntu_mock,
|
|
|
+ is_suse_method, getAvaliableAgentPackageVersions_method):
|
|
|
+ getAvaliableAgentPackageVersions_method.return_value = {"exitstatus": 0, "log": "1.1.1"}
|
|
|
is_suse_method.return_value = True
|
|
|
+ is_ubuntu_mock.return_value = False
|
|
|
|
|
|
projectVersion = "1.1.1"
|
|
|
result_version = setup_agent.getOptimalVersion(projectVersion)
|
|
|
- self.assertTrue(findNearestAgentPackageVersionSuse_method.called)
|
|
|
- self.assertFalse(findNearestAgentPackageVersion_method.called)
|
|
|
+ self.assertTrue(findNearestAgentPackageVersion_method.called)
|
|
|
self.assertTrue(result_version["exitstatus"] == 1)
|
|
|
pass
|
|
|
|
|
|
+ @patch.object(setup_agent, 'getAvaliableAgentPackageVersions')
|
|
|
@patch.object(setup_agent, 'is_suse')
|
|
|
- @patch.object(setup_agent, 'findNearestAgentPackageVersionSuse')
|
|
|
+ @patch.object(setup_agent, 'is_ubuntu')
|
|
|
+ @patch.object(setup_agent, 'findNearestAgentPackageVersion')
|
|
|
+ def test_returned_optimal_version_is_initial_on_ubuntu(self, findNearestAgentPackageVersion_method, is_ubuntu_mock,
|
|
|
+ is_suse_method, getAvaliableAgentPackageVersions_method):
|
|
|
+ getAvaliableAgentPackageVersions_method.return_value = {"exitstatus": 0, "log": "1.1.1"}
|
|
|
+ is_suse_method.return_value = False
|
|
|
+ is_ubuntu_mock.return_value = True
|
|
|
+
|
|
|
+ projectVersion = "1.1.1"
|
|
|
+ result_version = setup_agent.getOptimalVersion(projectVersion)
|
|
|
+ self.assertTrue(findNearestAgentPackageVersion_method.called)
|
|
|
+ self.assertTrue(result_version["exitstatus"] == 1)
|
|
|
+ pass
|
|
|
+
|
|
|
+ @patch.object(setup_agent, 'is_suse')
|
|
|
+ @patch.object(setup_agent, 'is_ubuntu')
|
|
|
@patch.object(setup_agent, 'findNearestAgentPackageVersion')
|
|
|
def test_returned_optimal_version_is_nearest_on_suse(self, findNearestAgentPackageVersion_method,
|
|
|
- findNearestAgentPackageVersionSuse_method,
|
|
|
+ is_ubuntu_method,
|
|
|
is_suse_method):
|
|
|
is_suse_method.return_value = True
|
|
|
+ is_ubuntu_method.return_value = False
|
|
|
|
|
|
projectVersion = ""
|
|
|
nearest_version = projectVersion + "1.1.1"
|
|
|
- findNearestAgentPackageVersionSuse_method.return_value = {
|
|
|
+ findNearestAgentPackageVersion_method.return_value = {
|
|
|
"exitstatus" : 0,
|
|
|
"log": [nearest_version, ""]
|
|
|
}
|
|
|
|
|
|
result_version = setup_agent.getOptimalVersion(projectVersion)
|
|
|
-
|
|
|
- self.assertTrue(findNearestAgentPackageVersionSuse_method.called)
|
|
|
- self.assertFalse(findNearestAgentPackageVersion_method.called)
|
|
|
+ self.assertTrue(findNearestAgentPackageVersion_method.called)
|
|
|
self.assertTrue(result_version["exitstatus"] == 1)
|
|
|
pass
|
|
|
|
|
|
+ @patch.object(setup_agent, 'is_suse')
|
|
|
+ @patch.object(setup_agent, 'is_ubuntu')
|
|
|
+ @patch.object(setup_agent, 'findNearestAgentPackageVersion')
|
|
|
+ def test_returned_optimal_version_is_nearest_on_ubuntu(self, findNearestAgentPackageVersion_method,
|
|
|
+ is_ubuntu_method,
|
|
|
+ is_suse_method):
|
|
|
+ is_suse_method.return_value = False
|
|
|
+ is_ubuntu_method.return_value = True
|
|
|
+
|
|
|
+ projectVersion = ""
|
|
|
+ nearest_version = projectVersion + "1.1.1"
|
|
|
+ findNearestAgentPackageVersion_method.return_value = {
|
|
|
+ "exitstatus" : 0,
|
|
|
+ "log": [nearest_version, ""]
|
|
|
+ }
|
|
|
+
|
|
|
+ result_version = setup_agent.getOptimalVersion(projectVersion)
|
|
|
+ self.assertTrue(findNearestAgentPackageVersion_method.called)
|
|
|
+ self.assertTrue(result_version["exitstatus"] == 1)
|
|
|
+ pass
|
|
|
|
|
|
@patch.object(setup_agent, 'getAvaliableAgentPackageVersions')
|
|
|
@patch.object(setup_agent, 'is_suse')
|
|
|
- @patch.object(setup_agent, 'findNearestAgentPackageVersionSuse')
|
|
|
+ @patch.object(setup_agent, 'is_ubuntu')
|
|
|
@patch.object(setup_agent, 'findNearestAgentPackageVersion')
|
|
|
def test_returned_optimal_version_is_initial(self, findNearestAgentPackageVersion_method,
|
|
|
- findNearestAgentPackageVersionSuse_method,
|
|
|
+ is_ubuntu_method,
|
|
|
is_suse_method, getAvaliableAgentPackageVersions_method):
|
|
|
getAvaliableAgentPackageVersions_method.return_value = {"exitstatus": 0, "log": "1.1.1"}
|
|
|
is_suse_method.return_value = False
|
|
|
+ is_ubuntu_method.return_value = False
|
|
|
|
|
|
projectVersion = "1.1.1"
|
|
|
result_version = setup_agent.getOptimalVersion(projectVersion)
|
|
|
- self.assertFalse(findNearestAgentPackageVersionSuse_method.called)
|
|
|
self.assertTrue(findNearestAgentPackageVersion_method.called)
|
|
|
self.assertTrue(result_version["log"] == projectVersion)
|
|
|
pass
|
|
@@ -141,13 +175,14 @@ class TestSetupAgent(TestCase):
|
|
|
|
|
|
@patch.object(setup_agent, 'getAvaliableAgentPackageVersions')
|
|
|
@patch.object(setup_agent, 'is_suse')
|
|
|
- @patch.object(setup_agent, 'findNearestAgentPackageVersionSuse')
|
|
|
+ @patch.object(setup_agent, 'is_ubuntu')
|
|
|
@patch.object(setup_agent, 'findNearestAgentPackageVersion')
|
|
|
def test_returned_optimal_version_is_default(self, findNearestAgentPackageVersion_method,
|
|
|
- findNearestAgentPackageVersionSuse_method,
|
|
|
+ is_ubuntu_method,
|
|
|
is_suse_method, getAvaliableAgentPackageVersions_method):
|
|
|
getAvaliableAgentPackageVersions_method.return_value = {"exitstatus": 0, "log": "1.1.1"}
|
|
|
is_suse_method.return_value = False
|
|
|
+ is_ubuntu_method.return_value = False
|
|
|
findNearestAgentPackageVersion_method.return_value = {
|
|
|
"exitstatus" : 0,
|
|
|
"log": ["1.1.1.1", ""]
|
|
@@ -156,7 +191,6 @@ class TestSetupAgent(TestCase):
|
|
|
projectVersion = "1.1.1"
|
|
|
result_version = setup_agent.getOptimalVersion(projectVersion)
|
|
|
|
|
|
- self.assertFalse(findNearestAgentPackageVersionSuse_method.called)
|
|
|
self.assertTrue(findNearestAgentPackageVersion_method.called)
|
|
|
self.assertTrue(result_version["exitstatus"] == 1)
|
|
|
|
|
@@ -173,27 +207,30 @@ class TestSetupAgent(TestCase):
|
|
|
f.read.return_value = " suse "
|
|
|
self.assertTrue(setup_agent.is_suse())
|
|
|
|
|
|
- @patch.object(subprocess, 'Popen')
|
|
|
- def test_installAgentSuse(self, Popen_mock):
|
|
|
- self.assertFalse(setup_agent.installAgentSuse("1") == None)
|
|
|
+ @patch("os.path.isfile")
|
|
|
+ @patch("__builtin__.open")
|
|
|
+ def test_is_ubuntu(self, open_mock, isfile_mock):
|
|
|
+ isfile_mock.return_value = True
|
|
|
+ f = open_mock.return_value
|
|
|
+ f.read.return_value = " ubuntu "
|
|
|
+ self.assertTrue(setup_agent.is_ubuntu())
|
|
|
|
|
|
@patch.object(setup_agent, 'isAgentPackageAlreadyInstalled')
|
|
|
@patch.object(setup_agent, 'runAgent')
|
|
|
@patch.object(setup_agent, 'configureAgent')
|
|
|
@patch.object(setup_agent, 'installAgent')
|
|
|
- @patch.object(setup_agent, 'installAgentSuse')
|
|
|
@patch.object(setup_agent, 'is_suse')
|
|
|
+ @patch.object(setup_agent, 'is_ubuntu')
|
|
|
@patch.object(setup_agent, 'getOptimalVersion')
|
|
|
@patch.object(setup_agent, 'checkServerReachability')
|
|
|
@patch("sys.exit")
|
|
|
@patch("os.path.dirname")
|
|
|
@patch("os.path.realpath")
|
|
|
def test_setup_agent_main(self, dirname_mock, realpath_mock, exit_mock, checkServerReachability_mock,
|
|
|
- getOptimalVersion_mock, is_suse_mock, installAgentSuse_mock,
|
|
|
+ getOptimalVersion_mock, is_ubuntu_mock, is_suse_mock,
|
|
|
installAgent_mock, configureAgent_mock, runAgent_mock,
|
|
|
isAgentPackageAlreadyInstalled_mock):
|
|
|
installAgent_mock.return_value = {'log': 'log', 'exitstatus': 0}
|
|
|
- installAgentSuse_mock.return_value = {'log': 'log', 'exitstatus': 0}
|
|
|
runAgent_mock.return_value = 0
|
|
|
getOptimalVersion_mock.return_value = {'log': '1.1.2, 1.1.3, ', 'exitstatus': 1}
|
|
|
setup_agent.main(("setupAgent.py","agents_host","password", "server_hostname","1.1.1","8080"))
|
|
@@ -201,21 +238,23 @@ class TestSetupAgent(TestCase):
|
|
|
self.assertTrue(getOptimalVersion_mock.called)
|
|
|
exit_mock.reset_mock()
|
|
|
getOptimalVersion_mock.reset_mock()
|
|
|
+
|
|
|
getOptimalVersion_mock.return_value = {'log': '1.1.1', 'exitstatus': 0}
|
|
|
isAgentPackageAlreadyInstalled_mock.return_value = False
|
|
|
is_suse_mock.return_value = True
|
|
|
+ is_ubuntu_mock.return_value = False
|
|
|
setup_agent.main(("setupAgent.py","agents_host","password", "server_hostname","1.1.1","8080"))
|
|
|
self.assertTrue(exit_mock.called)
|
|
|
self.assertTrue(getOptimalVersion_mock.called)
|
|
|
self.assertTrue(isAgentPackageAlreadyInstalled_mock.called)
|
|
|
- self.assertTrue(is_suse_mock.called)
|
|
|
- self.assertTrue(installAgentSuse_mock.called)
|
|
|
- self.assertFalse(installAgent_mock.called)
|
|
|
+ self.assertTrue(installAgent_mock.called)
|
|
|
+ self.assertFalse(is_suse_mock.called)
|
|
|
+ self.assertFalse(is_ubuntu_mock.called)
|
|
|
exit_mock.reset_mock()
|
|
|
getOptimalVersion_mock.reset_mock()
|
|
|
isAgentPackageAlreadyInstalled_mock.reset_mock()
|
|
|
is_suse_mock.reset_mock()
|
|
|
- installAgentSuse_mock.reset_mock()
|
|
|
+ is_ubuntu_mock.reset_mock()
|
|
|
installAgent_mock.reset_mock()
|
|
|
|
|
|
getOptimalVersion_mock.return_value = {'log': '', 'exitstatus': 0}
|
|
@@ -224,23 +263,25 @@ class TestSetupAgent(TestCase):
|
|
|
self.assertTrue(getOptimalVersion_mock.called)
|
|
|
self.assertFalse(isAgentPackageAlreadyInstalled_mock.called)
|
|
|
self.assertFalse(is_suse_mock.called)
|
|
|
- self.assertFalse(installAgentSuse_mock.called)
|
|
|
+ self.assertFalse(is_ubuntu_mock.called)
|
|
|
+
|
|
|
exit_mock.reset_mock()
|
|
|
getOptimalVersion_mock.reset_mock()
|
|
|
isAgentPackageAlreadyInstalled_mock.reset_mock()
|
|
|
is_suse_mock.reset_mock()
|
|
|
- installAgentSuse_mock.reset_mock()
|
|
|
+ is_ubuntu_mock.reset_mock()
|
|
|
installAgent_mock.reset_mock()
|
|
|
|
|
|
-
|
|
|
is_suse_mock.return_value = False
|
|
|
+ is_ubuntu_mock.return_value = False
|
|
|
getOptimalVersion_mock.return_value = {'log': '1.1.1', 'exitstatus': 0}
|
|
|
setup_agent.main(("setupAgent.py","agents_host","password", "server_hostname","1.1.1","8080"))
|
|
|
self.assertTrue(exit_mock.called)
|
|
|
self.assertTrue(getOptimalVersion_mock.called)
|
|
|
self.assertTrue(isAgentPackageAlreadyInstalled_mock.called)
|
|
|
- self.assertTrue(is_suse_mock.called)
|
|
|
self.assertTrue(installAgent_mock.called)
|
|
|
+ self.assertFalse(is_suse_mock.called)
|
|
|
+ self.assertFalse(is_ubuntu_mock.called)
|
|
|
exit_mock.reset_mock()
|
|
|
getOptimalVersion_mock.reset_mock()
|
|
|
isAgentPackageAlreadyInstalled_mock.reset_mock()
|
|
@@ -248,7 +289,7 @@ class TestSetupAgent(TestCase):
|
|
|
getOptimalVersion_mock.reset_mock()
|
|
|
isAgentPackageAlreadyInstalled_mock.reset_mock()
|
|
|
is_suse_mock.reset_mock()
|
|
|
- installAgentSuse_mock.reset_mock()
|
|
|
+ is_ubuntu_mock.reset_mock()
|
|
|
installAgent_mock.reset_mock()
|
|
|
|
|
|
setup_agent.main(("setupAgent.py","agents_host","password", "server_hostname","{ambariVersion}","8080"))
|
|
@@ -261,6 +302,7 @@ class TestSetupAgent(TestCase):
|
|
|
self.assertTrue(getOptimalVersion_mock.called)
|
|
|
exit_mock.reset_mock()
|
|
|
is_suse_mock.return_value = False
|
|
|
+ is_ubuntu_mock.return_value = False
|
|
|
setup_agent.main(("setupAgent.py","agents_host","password", "server_hostname","null","null"))
|
|
|
self.assertTrue(exit_mock.called)
|
|
|
exit_mock.reset_mock()
|
|
@@ -276,11 +318,13 @@ class TestSetupAgent(TestCase):
|
|
|
# Expected
|
|
|
pass
|
|
|
self.assertTrue(exit_mock.called)
|
|
|
+ installAgent_mock.reset_mock()
|
|
|
exit_mock.reset_mock()
|
|
|
#if suse
|
|
|
is_suse_mock.return_value = True
|
|
|
+ is_ubuntu_mock.return_value = False
|
|
|
#if "zypper install -y ambari-agent" return not 0 result
|
|
|
- installAgentSuse_mock.return_value = {'log': 'log', 'exitstatus': 1}
|
|
|
+ installAgent_mock.return_value = {'log': 'log', 'exitstatus': 1}
|
|
|
try:
|
|
|
setup_agent.main(("setupAgent.py","agents_host","password", "server_hostname","1.1.1","8080"))
|
|
|
self.fail("Should throw exception")
|
|
@@ -288,15 +332,19 @@ class TestSetupAgent(TestCase):
|
|
|
# Expected
|
|
|
pass
|
|
|
self.assertTrue(exit_mock.called)
|
|
|
+ exit_mock.reset_mock()
|
|
|
+ #if ubuntu
|
|
|
+ is_suse_mock.return_value = False
|
|
|
+ is_ubuntu_mock.return_value = True
|
|
|
|
|
|
-
|
|
|
- @patch.object(setup_agent, 'execOsCommand')
|
|
|
- def test_findNearestAgentPackageVersionSuse(self, execOsCommand_mock):
|
|
|
- setup_agent.findNearestAgentPackageVersionSuse("1.1.1")
|
|
|
- self.assertTrue(execOsCommand_mock.called)
|
|
|
- execOsCommand_mock.reset_mock()
|
|
|
- setup_agent.findNearestAgentPackageVersionSuse("")
|
|
|
- self.assertTrue(execOsCommand_mock.called)
|
|
|
+ installAgent_mock.return_value = {'log': 'log', 'exitstatus': 1}
|
|
|
+ try:
|
|
|
+ setup_agent.main(("setupAgent.py","agents_host","password", "server_hostname","1.1.1","8080"))
|
|
|
+ self.fail("Should throw exception")
|
|
|
+ except Exception:
|
|
|
+ # Expected
|
|
|
+ pass
|
|
|
+ self.assertTrue(exit_mock.called)
|
|
|
|
|
|
@patch.object(setup_agent, 'execOsCommand')
|
|
|
def test_findNearestAgentPackageVersion(self, execOsCommand_mock):
|
|
@@ -321,12 +369,7 @@ class TestSetupAgent(TestCase):
|
|
|
setup_agent.getAvaliableAgentPackageVersions()
|
|
|
self.assertTrue(execOsCommand_mock.called)
|
|
|
|
|
|
- @patch.object(setup_agent, 'execOsCommand')
|
|
|
- def test_getAvaliableAgentPackageVersionsSuse(self, execOsCommand_mock):
|
|
|
- setup_agent.getAvaliableAgentPackageVersionsSuse()
|
|
|
- self.assertTrue(execOsCommand_mock.called)
|
|
|
-
|
|
|
@patch.object(setup_agent, 'execOsCommand')
|
|
|
def test_installAgent(self, execOsCommand_mock):
|
|
|
setup_agent.installAgent("1.1.1")
|
|
|
- self.assertTrue(execOsCommand_mock.called)
|
|
|
+ self.assertTrue(execOsCommand_mock.called)
|