AMBARI-21882. Throw an error if unsupported database JDBC driver is configured 
for HDP services. (stoader)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/a86e1618
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/a86e1618
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/a86e1618

Branch: refs/heads/branch-2.6
Commit: a86e16185c012b3929532527aed286c1a5050276
Parents: 48ad866
Author: Toader, Sebastian <stoa...@hortonworks.com>
Authored: Wed Sep 6 15:07:49 2017 +0200
Committer: Toader, Sebastian <stoa...@hortonworks.com>
Committed: Wed Sep 6 15:20:49 2017 +0200

----------------------------------------------------------------------
 .../functions/setup_ranger_plugin_xml.py        |   1 +
 .../0.12.0.2.0/package/scripts/params_linux.py  |   2 +
 .../RANGER/0.4.0/package/scripts/params.py      |   2 +
 .../0.5.0.2.3/package/scripts/params.py         |   3 +
 .../1.4.4.2.0/package/scripts/params_linux.py   |   2 +
 .../custom_actions/scripts/check_host.py        |   1 +
 .../HIVE/test_jdbc_driver_config.py             |  66 ++
 .../RANGER/test_db_flavor_config.py             |  63 ++
 .../RANGER_KMS/test_db_flavor_config.py         |  63 ++
 .../SQOOP/test_jdbc_driver_config.py            |  63 ++
 .../common-services/configs/hive_default.json   | 650 ++++++++++++++
 .../configs/hive_unsupported_jdbc_type.json     | 650 ++++++++++++++
 .../configs/ranger_admin_default.json           | 386 ++++++++
 .../ranger_admin_unsupported_db_flavor.json     | 386 ++++++++
 .../configs/ranger_kms_default.json             | 802 +++++++++++++++++
 .../ranger_kms_unsupported_db_flavor.json       | 802 +++++++++++++++++
 .../common-services/configs/sqoop_default.json  | 879 +++++++++++++++++++
 .../configs/sqoop_unsupported_jdbc_driver.json  | 879 +++++++++++++++++++
 .../test/python/custom_actions/TestCheckHost.py |  33 +
 19 files changed, 5733 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/a86e1618/ambari-common/src/main/python/resource_management/libraries/functions/setup_ranger_plugin_xml.py
----------------------------------------------------------------------
diff --git 
a/ambari-common/src/main/python/resource_management/libraries/functions/setup_ranger_plugin_xml.py
 
b/ambari-common/src/main/python/resource_management/libraries/functions/setup_ranger_plugin_xml.py
index c80c577..485c1a6 100644
--- 
a/ambari-common/src/main/python/resource_management/libraries/functions/setup_ranger_plugin_xml.py
+++ 
b/ambari-common/src/main/python/resource_management/libraries/functions/setup_ranger_plugin_xml.py
@@ -284,6 +284,7 @@ def get_audit_configs(config):
     previous_jdbc_jar_name = 
default("/hostLevelParams/previous_custom_sqlanywhere_jdbc_name", None)
     audit_jdbc_url = 
format('jdbc:sqlanywhere:database={xa_audit_db_name};host={xa_db_host}')
     jdbc_driver = "sap.jdbc4.sqlanywhere.IDriver"
+  else: raise Fail(format("'{xa_audit_db_flavor}' db flavor not supported."))
 
   return jdbc_jar_name, previous_jdbc_jar_name, audit_jdbc_url, jdbc_driver
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/a86e1618/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py
 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py
index cc978c5..956438e 100644
--- 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py
+++ 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py
@@ -49,6 +49,7 @@ from resource_management.libraries.functions.get_architecture 
import get_archite
 from resource_management.libraries.functions.version import get_major_version
 
 from resource_management.core.utils import PasswordString
+from resource_management.core.exceptions import Fail
 from resource_management.core.shell import checked_call
 from ambari_commons.credential_store_helper import 
get_password_from_credential_store
 
@@ -288,6 +289,7 @@ elif hive_jdbc_driver == "sap.jdbc4.sqlanywhere.IDriver":
   jdbc_jar_name = default("/hostLevelParams/custom_sqlanywhere_jdbc_name", 
None)
   hive_previous_jdbc_jar_name = 
default("/hostLevelParams/previous_custom_sqlanywhere_jdbc_name", None)
   sqla_db_used = True
+else: raise Fail(format("JDBC driver '{hive_jdbc_driver}' not supported."))
 
 default_mysql_jar_name = "mysql-connector-java.jar"
 default_mysql_target = format("{hive_lib}/{default_mysql_jar_name}")

http://git-wip-us.apache.org/repos/asf/ambari/blob/a86e1618/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/params.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/params.py
 
b/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/params.py
index 01ae55f..04ef818 100644
--- 
a/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/params.py
+++ 
b/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/params.py
@@ -29,6 +29,7 @@ from resource_management.libraries.functions.stack_features 
import check_stack_f
 from resource_management.libraries.functions.stack_features import 
get_stack_feature_version
 from resource_management.libraries.functions import StackFeature
 from resource_management.libraries.functions.get_bare_principal import 
get_bare_principal
+from resource_management.core.exceptions import Fail
 
 # a map of the Ambari role to the component name
 # for use with <stack-root>/current/<component>
@@ -198,6 +199,7 @@ elif db_flavor.lower() == 'sqla':
   previous_jdbc_jar_name = 
default("/hostLevelParams/previous_custom_sqlanywhere_jdbc_name", None)
   audit_jdbc_url = 
format('jdbc:sqlanywhere:database={ranger_auditdb_name};host={db_host}') if 
stack_supports_ranger_audit_db else None
   jdbc_dialect = 
"org.eclipse.persistence.platform.database.SQLAnywherePlatform"
+else: raise Fail(format("'{db_flavor}' db flavor not supported."))
 
 downloaded_custom_connector = format("{tmp_dir}/{jdbc_jar_name}")
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/a86e1618/ambari-server/src/main/resources/common-services/RANGER_KMS/0.5.0.2.3/package/scripts/params.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/common-services/RANGER_KMS/0.5.0.2.3/package/scripts/params.py
 
b/ambari-server/src/main/resources/common-services/RANGER_KMS/0.5.0.2.3/package/scripts/params.py
index 93c7b88..4029ef5 100755
--- 
a/ambari-server/src/main/resources/common-services/RANGER_KMS/0.5.0.2.3/package/scripts/params.py
+++ 
b/ambari-server/src/main/resources/common-services/RANGER_KMS/0.5.0.2.3/package/scripts/params.py
@@ -32,6 +32,7 @@ from 
resource_management.libraries.functions.setup_ranger_plugin_xml import gene
 from resource_management.libraries.resources.hdfs_resource import HdfsResource
 from resource_management.libraries.functions import stack_select
 from resource_management.libraries.functions import get_kinit_path
+from resource_management.core.exceptions import Fail
 
 config  = Script.get_config()
 tmp_dir = Script.get_tmp_dir()
@@ -163,6 +164,7 @@ elif db_flavor == 'sqla':
   db_jdbc_url = format('jdbc:sqlanywhere:database={db_name};host={db_host}')
   db_jdbc_driver = "sap.jdbc4.sqlanywhere.IDriver"
   jdbc_dialect = 
"org.eclipse.persistence.platform.database.SQLAnywherePlatform"
+else: raise Fail(format("'{db_flavor}' db flavor not supported."))
 
 downloaded_custom_connector = format("{tmp_dir}/{jdbc_jar_name}")
 
@@ -210,6 +212,7 @@ if has_ranger_admin:
       xa_previous_jdbc_jar_name = 
default("/hostLevelParams/previous_custom_sqlanywhere_jdbc_name", None)
       audit_jdbc_url = 
format('jdbc:sqlanywhere:database={xa_audit_db_name};host={xa_db_host}')
       jdbc_driver = "sap.jdbc4.sqlanywhere.IDriver"
+    else: raise Fail(format("'{xa_audit_db_flavor}' db flavor not supported."))
 
   downloaded_connector_path = format("{tmp_dir}/{jdbc_jar}") if 
stack_supports_ranger_audit_db else None
   driver_source = format("{jdk_location}/{jdbc_jar}") if 
stack_supports_ranger_audit_db else None

http://git-wip-us.apache.org/repos/asf/ambari/blob/a86e1618/ambari-server/src/main/resources/common-services/SQOOP/1.4.4.2.0/package/scripts/params_linux.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/common-services/SQOOP/1.4.4.2.0/package/scripts/params_linux.py
 
b/ambari-server/src/main/resources/common-services/SQOOP/1.4.4.2.0/package/scripts/params_linux.py
index c1138b3..400c87c 100644
--- 
a/ambari-server/src/main/resources/common-services/SQOOP/1.4.4.2.0/package/scripts/params_linux.py
+++ 
b/ambari-server/src/main/resources/common-services/SQOOP/1.4.4.2.0/package/scripts/params_linux.py
@@ -28,6 +28,7 @@ from resource_management.libraries.functions import 
StackFeature
 from resource_management.libraries.functions.stack_features import 
check_stack_feature
 from resource_management.libraries.functions.expect import expect
 from resource_management.libraries.functions.setup_atlas_hook import 
has_atlas_in_cluster
+from resource_management.core.exceptions import Fail
 
 
 # a map of the Ambari role to the component name
@@ -117,6 +118,7 @@ if "jdbc_drivers" in config['configurations']['sqoop-env']:
         jdbc_name = default("/hostLevelParams/custom_hsqldb_jdbc_name", None)
         previous_jdbc_jar_name = 
default("/hostLevelParams/previous_custom_hsqldb_jdbc_name", None)
         jdbc_driver_name = "hsqldb"
+      else: raise Fail(format("JDBC driver '{driver_name}' not supported."))
     else:
       continue
     sqoop_jdbc_drivers_dict.append(jdbc_name)

http://git-wip-us.apache.org/repos/asf/ambari/blob/a86e1618/ambari-server/src/main/resources/custom_actions/scripts/check_host.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/custom_actions/scripts/check_host.py 
b/ambari-server/src/main/resources/custom_actions/scripts/check_host.py
index a485415..3ca2909 100644
--- a/ambari-server/src/main/resources/custom_actions/scripts/check_host.py
+++ b/ambari-server/src/main/resources/custom_actions/scripts/check_host.py
@@ -319,6 +319,7 @@ class CheckHost(Script):
         jdbc_url = jdk_location + jdbc_driver_sqla_name
         jdbc_driver_class = JDBC_DRIVER_CLASS_SQLA
         jdbc_name = jdbc_driver_sqla_name
+    else: no_jdbc_error_message = format("'{db_name}' database type not 
supported.")
 
     if no_jdbc_error_message:
       Logger.warning(no_jdbc_error_message)

http://git-wip-us.apache.org/repos/asf/ambari/blob/a86e1618/ambari-server/src/test/python/common-services/HIVE/test_jdbc_driver_config.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/python/common-services/HIVE/test_jdbc_driver_config.py 
b/ambari-server/src/test/python/common-services/HIVE/test_jdbc_driver_config.py
new file mode 100644
index 0000000..e4d81b1
--- /dev/null
+++ 
b/ambari-server/src/test/python/common-services/HIVE/test_jdbc_driver_config.py
@@ -0,0 +1,66 @@
+"""
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import os
+
+from resource_management.core.exceptions import Fail
+from stacks.utils.RMFTestCase import RMFTestCase
+
+import unittest
+
+class TestJdbcDriverConfig(RMFTestCase):
+  STACK_VERSION = "2.6"
+  CONFIG_DIR = os.path.join(os.path.dirname(__file__), '../configs')
+
+  def test_jdbc_type_0_12_0_2_0(self):
+    self.executeScript("HIVE/0.12.0.2.0/package/scripts/hive_server.py",
+                       classname="HiveServer",
+                       command="configure",
+                       target=RMFTestCase.TARGET_COMMON_SERVICES,
+                       stack_version=self.STACK_VERSION,
+                       config_file=os.path.join(self.CONFIG_DIR, 
"hive_default.json"))
+
+  def test_unsupported_jdbc_type_throws_error_0_12_0_2_0(self):
+    with self.assertRaises(Fail):
+      self.executeScript("HIVE/0.12.0.2.0/package/scripts/hive_server.py",
+                       classname="HiveServer",
+                       command="configure",
+                       target=RMFTestCase.TARGET_COMMON_SERVICES,
+                       stack_version=self.STACK_VERSION,
+                       config_file=os.path.join(self.CONFIG_DIR, 
"hive_unsupported_jdbc_type.json"))
+
+  def test_jdbc_type_2_1_0_3_0(self):
+    self.executeScript("HIVE/2.1.0.3.0/package/scripts/hive_server.py",
+                       classname="HiveServer",
+                       command="configure",
+                       target=RMFTestCase.TARGET_COMMON_SERVICES,
+                       stack_version=self.STACK_VERSION,
+                       config_file=os.path.join(self.CONFIG_DIR, 
"hive_default.json"))
+
+  def test_unsupported_jdbc_type_throws_error_2_1_0_3_0(self):
+    with self.assertRaises(Fail):
+      self.executeScript("HIVE/2.1.0.3.0/package/scripts/hive_server.py",
+                         classname="HiveServer",
+                         command="configure",
+                         target=RMFTestCase.TARGET_COMMON_SERVICES,
+                         stack_version=self.STACK_VERSION,
+                         config_file=os.path.join(self.CONFIG_DIR, 
"hive_unsupported_jdbc_type.json"))
+
+
+
+

http://git-wip-us.apache.org/repos/asf/ambari/blob/a86e1618/ambari-server/src/test/python/common-services/RANGER/test_db_flavor_config.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/python/common-services/RANGER/test_db_flavor_config.py 
b/ambari-server/src/test/python/common-services/RANGER/test_db_flavor_config.py
new file mode 100644
index 0000000..568e3fd
--- /dev/null
+++ 
b/ambari-server/src/test/python/common-services/RANGER/test_db_flavor_config.py
@@ -0,0 +1,63 @@
+"""
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import os
+
+from resource_management.core.exceptions import Fail
+from stacks.utils.RMFTestCase import RMFTestCase
+
+import unittest
+
+class TestDbFlavorConfig(RMFTestCase):
+  STACK_VERSION = "2.6"
+  CONFIG_DIR = os.path.join(os.path.dirname(__file__), '../configs')
+
+
+  def test_db_flavor_0_4_0(self):
+    self.executeScript("RANGER/0.4.0/package/scripts/ranger_admin.py",
+                       classname="RangerAdmin",
+                       command="configure",
+                       target=RMFTestCase.TARGET_COMMON_SERVICES,
+                       stack_version=self.STACK_VERSION,
+                       config_file=os.path.join(self.CONFIG_DIR, 
"ranger_admin_default.json"))
+
+  def test_unsupported_db_flavor_0_4_0(self):
+    with self.assertRaises(Fail):
+      self.executeScript("RANGER/0.4.0/package/scripts/ranger_admin.py",
+                       classname="RangerAdmin",
+                       command="configure",
+                       target=RMFTestCase.TARGET_COMMON_SERVICES,
+                       stack_version=self.STACK_VERSION,
+                       config_file=os.path.join(self.CONFIG_DIR, 
"ranger_admin_unsupported_db_flavor.json"))
+
+  def test_db_flavor_1_0_0_3_0(self):
+    self.executeScript("RANGER/1.0.0.3.0/package/scripts/ranger_admin.py",
+                       classname="RangerAdmin",
+                       command="configure",
+                       target=RMFTestCase.TARGET_COMMON_SERVICES,
+                       stack_version=self.STACK_VERSION,
+                       config_file=os.path.join(self.CONFIG_DIR, 
"ranger_admin_default.json"))
+
+  def test_unsupported_db_flavor_1_0_0_3_0(self):
+    with self.assertRaises(Fail):
+      self.executeScript("RANGER/1.0.0.3.0/package/scripts/ranger_admin.py",
+                         classname="RangerAdmin",
+                         command="configure",
+                         target=RMFTestCase.TARGET_COMMON_SERVICES,
+                         stack_version=self.STACK_VERSION,
+                         config_file=os.path.join(self.CONFIG_DIR, 
"ranger_admin_unsupported_db_flavor.json"))
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/a86e1618/ambari-server/src/test/python/common-services/RANGER_KMS/test_db_flavor_config.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/python/common-services/RANGER_KMS/test_db_flavor_config.py
 
b/ambari-server/src/test/python/common-services/RANGER_KMS/test_db_flavor_config.py
new file mode 100644
index 0000000..48654ee
--- /dev/null
+++ 
b/ambari-server/src/test/python/common-services/RANGER_KMS/test_db_flavor_config.py
@@ -0,0 +1,63 @@
+"""
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import os
+
+from resource_management.core.exceptions import Fail
+from stacks.utils.RMFTestCase import RMFTestCase
+
+import unittest
+
+class TestDbFlavorConfig(RMFTestCase):
+  STACK_VERSION = "2.6"
+  CONFIG_DIR = os.path.join(os.path.dirname(__file__), '../configs')
+
+
+  def test_db_flavor_0_5_0_2_3(self):
+    self.executeScript("RANGER_KMS/0.5.0.2.3/package/scripts/kms_server.py",
+                       classname="KmsServer",
+                       command="configure",
+                       target=RMFTestCase.TARGET_COMMON_SERVICES,
+                       stack_version=self.STACK_VERSION,
+                       config_file=os.path.join(self.CONFIG_DIR, 
"ranger_kms_default.json"))
+
+  def test_unsupported_db_flavor_0_5_0_2_3(self):
+    with self.assertRaises(Fail):
+      self.executeScript("RANGER_KMS/0.5.0.2.3/package/scripts/kms_server.py",
+                       classname="KmsServer",
+                       command="configure",
+                       target=RMFTestCase.TARGET_COMMON_SERVICES,
+                       stack_version=self.STACK_VERSION,
+                       config_file=os.path.join(self.CONFIG_DIR, 
"ranger_kms_unsupported_db_flavor.json"))
+
+  def test_db_flavor_1_0_0_3_0(self):
+    self.executeScript("RANGER_KMS/1.0.0.3.0/package/scripts/kms_server.py",
+                       classname="KmsServer",
+                       command="configure",
+                       target=RMFTestCase.TARGET_COMMON_SERVICES,
+                       stack_version=self.STACK_VERSION,
+                       config_file=os.path.join(self.CONFIG_DIR, 
"ranger_kms_default.json"))
+
+  def test_unsupported_db_flavor_1_0_0_3_0(self):
+    with self.assertRaises(Fail):
+      self.executeScript("RANGER_KMS/1.0.0.3.0/package/scripts/kms_server.py",
+                         classname="KmsServer",
+                         command="configure",
+                         target=RMFTestCase.TARGET_COMMON_SERVICES,
+                         stack_version=self.STACK_VERSION,
+                         config_file=os.path.join(self.CONFIG_DIR, 
"ranger_kms_unsupported_db_flavor.json"))
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/a86e1618/ambari-server/src/test/python/common-services/SQOOP/test_jdbc_driver_config.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/python/common-services/SQOOP/test_jdbc_driver_config.py
 
b/ambari-server/src/test/python/common-services/SQOOP/test_jdbc_driver_config.py
new file mode 100644
index 0000000..7bb809a
--- /dev/null
+++ 
b/ambari-server/src/test/python/common-services/SQOOP/test_jdbc_driver_config.py
@@ -0,0 +1,63 @@
+"""
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import os
+
+from resource_management.core.exceptions import Fail
+from stacks.utils.RMFTestCase import RMFTestCase
+
+import unittest
+
+class TestJdbcDriverConfig(RMFTestCase):
+  STACK_VERSION = "2.6"
+  CONFIG_DIR = os.path.join(os.path.dirname(__file__), '../configs')
+
+
+  def test_jdbc_driver_1_4_4_2_0(self):
+    self.executeScript("SQOOP/1.4.4.2.0/package/scripts/sqoop_client.py",
+                       classname="SqoopClient",
+                       command="configure",
+                       target=RMFTestCase.TARGET_COMMON_SERVICES,
+                       stack_version=self.STACK_VERSION,
+                       config_file=os.path.join(self.CONFIG_DIR, 
"sqoop_default.json"))
+
+  def test_unsupported_jdbc_driver_1_4_4_2_0(self):
+    with self.assertRaises(Fail):
+      self.executeScript("SQOOP/1.4.4.2.0/package/scripts/sqoop_client.py",
+                       classname="SqoopClient",
+                       command="configure",
+                       target=RMFTestCase.TARGET_COMMON_SERVICES,
+                       stack_version=self.STACK_VERSION,
+                       config_file=os.path.join(self.CONFIG_DIR, 
"sqoop_unsupported_jdbc_driver.json"))
+
+  def test_jdbc_driver_1_4_4_3_0(self):
+    self.executeScript("SQOOP/1.4.4.3.0/package/scripts/sqoop_client.py",
+                       classname="SqoopClient",
+                       command="configure",
+                       target=RMFTestCase.TARGET_COMMON_SERVICES,
+                       stack_version=self.STACK_VERSION,
+                       config_file=os.path.join(self.CONFIG_DIR, 
"sqoop_default.json"))
+
+  def test_unsupported_jdbc_driver_1_4_4_3_0(self):
+    with self.assertRaises(Fail):
+      self.executeScript("SQOOP/1.4.4.3.0/package/scripts/sqoop_client.py",
+                         classname="SqoopClient",
+                         command="configure",
+                         target=RMFTestCase.TARGET_COMMON_SERVICES,
+                         stack_version=self.STACK_VERSION,
+                         config_file=os.path.join(self.CONFIG_DIR, 
"sqoop_unsupported_jdbc_driver.json"))
\ No newline at end of file

Reply via email to