Updated Branches: refs/heads/trunk 16d0f7bbd -> c7a9937af
AMBARI-4557 Write unnitests for PIG install script on HDP1 and HDP2 (dsen) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/c7a9937a Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/c7a9937a Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/c7a9937a Branch: refs/heads/trunk Commit: c7a9937af54210bd5d6004c329a8d2bf0f66ad2a Parents: 16d0f7b Author: Dmitry Sen <[email protected]> Authored: Fri Feb 7 20:54:33 2014 +0200 Committer: Dmitry Sen <[email protected]> Committed: Fri Feb 7 20:54:33 2014 +0200 ---------------------------------------------------------------------- .../python/stacks/1.3.2/PIG/test_pig_client.py | 61 ++++++++++++++ .../stacks/1.3.2/PIG/test_pig_service_check.py | 88 ++++++++++++++++++++ .../python/stacks/2.0.6/PIG/test_pig_client.py | 61 ++++++++++++++ .../stacks/2.0.6/PIG/test_pig_service_check.py | 88 ++++++++++++++++++++ 4 files changed, 298 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/c7a9937a/ambari-server/src/test/python/stacks/1.3.2/PIG/test_pig_client.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/1.3.2/PIG/test_pig_client.py b/ambari-server/src/test/python/stacks/1.3.2/PIG/test_pig_client.py new file mode 100644 index 0000000..954c098 --- /dev/null +++ b/ambari-server/src/test/python/stacks/1.3.2/PIG/test_pig_client.py @@ -0,0 +1,61 @@ +#!/usr/bin/env python + +''' +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. +''' + +from stacks.utils.RMFTestCase import * + +class TestHcatClient(RMFTestCase): + + def test_configure_default(self): + self.executeScript("1.3.2/services/PIG/package/scripts/pig_client.py", + classname = "PigClient", + command = "configure", + config_file="default.json" + ) + + self.assertResourceCalled('Directory', '/etc/pig/conf', + owner = 'hdfs', + group = 'hadoop', + ) + self.assertResourceCalled('TemplateConfig', '/etc/pig/conf/pig-env.sh', + owner = 'hdfs', + ) + self.assertResourceCalled('TemplateConfig', '/etc/pig/conf/pig.properties', + owner = 'hdfs', + ) + self.assertNoMoreResources() + + def test_configure_secured(self): + self.executeScript("1.3.2/services/PIG/package/scripts/pig_client.py", + classname = "PigClient", + command = "configure", + config_file="secured.json" + ) + + self.assertResourceCalled('Directory', '/etc/pig/conf', + owner = 'hdfs', + group = 'hadoop', + ) + self.assertResourceCalled('TemplateConfig', '/etc/pig/conf/pig-env.sh', + owner = 'hdfs', + ) + self.assertResourceCalled('TemplateConfig', '/etc/pig/conf/pig.properties', + owner = 'hdfs', + ) + self.assertNoMoreResources() http://git-wip-us.apache.org/repos/asf/ambari/blob/c7a9937a/ambari-server/src/test/python/stacks/1.3.2/PIG/test_pig_service_check.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/1.3.2/PIG/test_pig_service_check.py b/ambari-server/src/test/python/stacks/1.3.2/PIG/test_pig_service_check.py new file mode 100644 index 0000000..ceb5440 --- /dev/null +++ b/ambari-server/src/test/python/stacks/1.3.2/PIG/test_pig_service_check.py @@ -0,0 +1,88 @@ +#!/usr/bin/env python + +''' +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. +''' + +from stacks.utils.RMFTestCase import * + +class TestServiceCheck(RMFTestCase): + + def test_configure_default(self): + self.executeScript("1.3.2/services/PIG/package/scripts/service_check.py", + classname = "PigServiceCheck", + command = "service_check", + config_file="default.json" + ) + + self.assertResourceCalled('ExecuteHadoop', 'dfs -rmr pigsmoke.out passwd; hadoop dfs -put /etc/passwd passwd ', + try_sleep = 5, + tries = 3, + user = 'ambari-qa', + conf_dir = '/etc/hadoop/conf', + ) + + self.assertResourceCalled('File', '/tmp/pigSmoke.sh', + content = StaticFile('pigSmoke.sh'), + mode = 493, + ) + + self.assertResourceCalled('Execute', 'pig /tmp/pigSmoke.sh', + logoutput = True, + path = ['/usr/sbin:/sbin:/usr/local/bin:/bin:/usr/bin'], + tries = 3, + user = 'ambari-qa', + try_sleep = 5, + ) + + self.assertResourceCalled('ExecuteHadoop', 'fs -test -e pigsmoke.out', + user = 'ambari-qa', + conf_dir = '/etc/hadoop/conf', + ) + + + def test_configure_secured(self): + self.executeScript("1.3.2/services/PIG/package/scripts/service_check.py", + classname = "PigServiceCheck", + command = "service_check", + config_file="secured.json" + ) + + self.assertResourceCalled('ExecuteHadoop', 'dfs -rmr pigsmoke.out passwd; hadoop dfs -put /etc/passwd passwd ', + try_sleep = 5, + tries = 3, + user = 'ambari-qa', + conf_dir = '/etc/hadoop/conf', + ) + + self.assertResourceCalled('File', '/tmp/pigSmoke.sh', + content = StaticFile('pigSmoke.sh'), + mode = 493, + ) + + self.assertResourceCalled('Execute', 'pig /tmp/pigSmoke.sh', + logoutput = True, + path = ['/usr/sbin:/sbin:/usr/local/bin:/bin:/usr/bin'], + tries = 3, + user = 'ambari-qa', + try_sleep = 5, + ) + + self.assertResourceCalled('ExecuteHadoop', 'fs -test -e pigsmoke.out', + user = 'ambari-qa', + conf_dir = '/etc/hadoop/conf', + ) http://git-wip-us.apache.org/repos/asf/ambari/blob/c7a9937a/ambari-server/src/test/python/stacks/2.0.6/PIG/test_pig_client.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.0.6/PIG/test_pig_client.py b/ambari-server/src/test/python/stacks/2.0.6/PIG/test_pig_client.py new file mode 100644 index 0000000..00c573b --- /dev/null +++ b/ambari-server/src/test/python/stacks/2.0.6/PIG/test_pig_client.py @@ -0,0 +1,61 @@ +#!/usr/bin/env python + +''' +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. +''' + +from stacks.utils.RMFTestCase import * + +class TestHcatClient(RMFTestCase): + + def test_configure_default(self): + self.executeScript("2.0.6/services/PIG/package/scripts/pig_client.py", + classname = "PigClient", + command = "configure", + config_file="default.json" + ) + + self.assertResourceCalled('Directory', '/etc/pig/conf', + owner = 'hdfs', + group = 'hadoop', + ) + self.assertResourceCalled('TemplateConfig', '/etc/pig/conf/pig-env.sh', + owner = 'hdfs', + ) + self.assertResourceCalled('TemplateConfig', '/etc/pig/conf/pig.properties', + owner = 'hdfs', + ) + self.assertNoMoreResources() + + def test_configure_secured(self): + self.executeScript("2.0.6/services/PIG/package/scripts/pig_client.py", + classname = "PigClient", + command = "configure", + config_file="secured.json" + ) + + self.assertResourceCalled('Directory', '/etc/pig/conf', + owner = 'hdfs', + group = 'hadoop', + ) + self.assertResourceCalled('TemplateConfig', '/etc/pig/conf/pig-env.sh', + owner = 'hdfs', + ) + self.assertResourceCalled('TemplateConfig', '/etc/pig/conf/pig.properties', + owner = 'hdfs', + ) + self.assertNoMoreResources() http://git-wip-us.apache.org/repos/asf/ambari/blob/c7a9937a/ambari-server/src/test/python/stacks/2.0.6/PIG/test_pig_service_check.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.0.6/PIG/test_pig_service_check.py b/ambari-server/src/test/python/stacks/2.0.6/PIG/test_pig_service_check.py new file mode 100644 index 0000000..c3d3fa2 --- /dev/null +++ b/ambari-server/src/test/python/stacks/2.0.6/PIG/test_pig_service_check.py @@ -0,0 +1,88 @@ +#!/usr/bin/env python + +''' +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. +''' + +from stacks.utils.RMFTestCase import * + +class TestServiceCheck(RMFTestCase): + + def test_configure_default(self): + self.executeScript("2.0.6/services/PIG/package/scripts/service_check.py", + classname = "PigServiceCheck", + command = "service_check", + config_file="default.json" + ) + + self.assertResourceCalled('ExecuteHadoop', 'dfs -rmr pigsmoke.out passwd; hadoop dfs -put /etc/passwd passwd ', + try_sleep = 5, + tries = 3, + user = 'ambari-qa', + conf_dir = '/etc/hadoop/conf', + ) + + self.assertResourceCalled('File', '/tmp/pigSmoke.sh', + content = StaticFile('pigSmoke.sh'), + mode = 493, + ) + + self.assertResourceCalled('Execute', 'pig /tmp/pigSmoke.sh', + logoutput = True, + path = ['/usr/sbin:/sbin:/usr/local/bin:/bin:/usr/bin'], + tries = 3, + user = 'ambari-qa', + try_sleep = 5, + ) + + self.assertResourceCalled('ExecuteHadoop', 'fs -test -e pigsmoke.out', + user = 'ambari-qa', + conf_dir = '/etc/hadoop/conf', + ) + + + def test_configure_secured(self): + self.executeScript("2.0.6/services/PIG/package/scripts/service_check.py", + classname = "PigServiceCheck", + command = "service_check", + config_file="secured.json" + ) + + self.assertResourceCalled('ExecuteHadoop', 'dfs -rmr pigsmoke.out passwd; hadoop dfs -put /etc/passwd passwd ', + try_sleep = 5, + tries = 3, + user = 'ambari-qa', + conf_dir = '/etc/hadoop/conf', + ) + + self.assertResourceCalled('File', '/tmp/pigSmoke.sh', + content = StaticFile('pigSmoke.sh'), + mode = 493, + ) + + self.assertResourceCalled('Execute', 'pig /tmp/pigSmoke.sh', + logoutput = True, + path = ['/usr/sbin:/sbin:/usr/local/bin:/bin:/usr/bin'], + tries = 3, + user = 'ambari-qa', + try_sleep = 5, + ) + + self.assertResourceCalled('ExecuteHadoop', 'fs -test -e pigsmoke.out', + user = 'ambari-qa', + conf_dir = '/etc/hadoop/conf', + )
