Просмотр исходного кода

AMBARI-2975. ambari-server setup -j cannot update java.home. (Vladimir Tkhir via mahadev)

Mahadev Konar 11 лет назад
Родитель
Сommit
d8afa86728

+ 1 - 1
ambari-server/src/main/python/ambari-server.py

@@ -1522,7 +1522,7 @@ def download_jdk(args):
     raise FatalException(-1, err)
   conf_file = properties.fileName
   ok = False
-  if get_JAVA_HOME():
+  if get_JAVA_HOME() and not args.java_home:
     pass # do nothing
   elif args.java_home and os.path.exists(args.java_home):
     print_warning_msg("JAVA_HOME " + args.java_home

+ 9 - 0
ambari-server/src/test/python/TestAmbaryServer.py

@@ -1582,6 +1582,15 @@ MIIFHjCCAwYCCQDpHKOBI+Lt0zANBgkqhkiG9w0BAQUFADBRMQswCQYDVQQGEwJV
       rcode = ambari_server.download_jdk(args)
       self.assertTrue(download_jce_policy_mock.called)
 
+    # Test case: Update JAVA_HOME location using command: ambari-server setup -j %NEW_LOCATION%
+    write_property_mock.reset_mock()
+    args.java_home = "somewhere"
+    path_existsMock.return_value = True
+    path_existsMock.side_effect = None
+    get_JAVA_HOME_mock.return_value = True
+    install_jce_manualy_mock.return_value = 0
+    rcode = ambari_server.download_jdk(args)
+    self.assertTrue(write_property_mock.called)
 
 
   @patch.object(ambari_server, "run_os_command")