def test_update_configs(self, option_parser_mock, curl_mock, backup_file_mock, file_handler_mock, read_mapping_mock, get_config_mock, get_config_resp_mock): file_handler_mock.return_value = logging.FileHandler('') # disable creating real file opm = option_parser_mock.return_value options = MagicMock() args = ["update-configs"] opm.parse_args.return_value = (options, args) options.logfile = "logfile" options.user = "******" options.password = "******" options.hostname = "localhost" options.clustername = "c1" curl_mock.side_effect = ['', '', '', '', '', '', '', ''] read_mapping_mock.return_value = { "TASKTRACKER": ["c6401", "c6402"], "JOBTRACKER": ["c6401"], "MAPREDUCE_CLIENT": ["c6403"]} get_config_resp_mock.return_value = "hbase-site", {} site_properties = { "mapred.hosts": "an_old_value", "mapred.hosts.exclude": "an_old_value", "mapred.jobtracker.maxtasks.per.job": "an_old_value", "hbase.rpc.engine": "an_old_value", "dfs.df.interval": "an_old_value", "mapred.userlog.retain.hours": "will_not_be_stored", "global1": "global11" } get_config_mock.side_effect = [ site_properties.copy(), site_properties.copy(), site_properties.copy(), site_properties.copy(), site_properties.copy(), site_properties.copy()] saved_global = UpgradeHelper_HDP2.GLOBAL saved_hdfs = UpgradeHelper_HDP2.HDFS_SITE saved_core = UpgradeHelper_HDP2.CORE_SITE saved_habse = UpgradeHelper_HDP2.HBASE_SITE saved_mapred = UpgradeHelper_HDP2.MAPRED_SITE try: UpgradeHelper_HDP2.GLOBAL = {"global2": "REPLACE_WITH_global1"} UpgradeHelper_HDP2.HDFS_SITE = {"global2": "REPLACE_WITH_global1"} UpgradeHelper_HDP2.CORE_SITE = {"global2": "REPLACE_WITH_global1"} UpgradeHelper_HDP2.main() finally: UpgradeHelper_HDP2.GLOBAL = saved_global UpgradeHelper_HDP2.HDFS_SITE = saved_hdfs UpgradeHelper_HDP2.CORE_SITE = saved_core UpgradeHelper_HDP2.MAPRED_SITE = saved_mapred self.assertEqual(7, len(curl_mock.call_args_list)) self.validate_update_config_call(curl_mock.call_args_list[0], "capacity-scheduler") self.validate_update_config_call(curl_mock.call_args_list[1], "yarn-site") self.validate_update_config_call(curl_mock.call_args_list[3], "mapred-site") self.validate_update_config_call(curl_mock.call_args_list[2], "global") self.validate_config_replacememt(curl_mock.call_args_list[1], "yarn-site") self.validate_config_replacememt(curl_mock.call_args_list[2], "global") self.validate_config_replacememt(curl_mock.call_args_list[3], "mapred-site") self.validate_config_replacememt(curl_mock.call_args_list[4], "hdfs-site") self.validate_config_replacememt(curl_mock.call_args_list[5], "core-site") self.validate_config_replacememt(curl_mock.call_args_list[6], "hbase-site") pass
def test_no_hbase(self, option_parser_mock, curl_mock, backup_file_mock, file_handler_mock, read_mapping_mock, get_config_mock, get_config_resp_mock): file_handler_mock.return_value = logging.FileHandler('') # disable creating real file opm = option_parser_mock.return_value options = MagicMock() args = ["update-configs"] opm.parse_args.return_value = (options, args) options.logfile = "logfile" options.user = "******" options.password = "******" options.hostname = "localhost" options.clustername = "c1" curl_mock.side_effect = ['', '', '', '', '', '', ''] read_mapping_mock.return_value = { "TASKTRACKER": ["c6401", "c6402"], "JOBTRACKER": ["c6401"], "MAPREDUCE_CLIENT": ["c6403"]} get_config_resp_mock.return_value = "hbase-site", None get_config_mock.return_value = { "mapred.hosts": "an_old_value", "mapred.hosts.exclude": "an_old_value", "mapred.jobtracker.maxtasks.per.job": "an_old_value", "mapred.jobtracker.taskScheduler": "an_old_value", "dfs.df.interval": "an_old_value", "mapred.userlog.retain.hours": "will_not_be_stored", "global1": "global11" } UpgradeHelper_HDP2.main() self.assertEqual(6, len(curl_mock.call_args_list))
def test_no_hbase(self, option_parser_mock, curl_mock, backup_file_mock, file_handler_mock, read_mapping_mock, get_config_mock, get_config_resp_mock): file_handler_mock.return_value = logging.FileHandler( '') # disable creating real file opm = option_parser_mock.return_value options = MagicMock() args = ["update-configs"] opm.parse_args.return_value = (options, args) options.logfile = "logfile" options.user = "******" options.password = "******" options.hostname = "localhost" options.clustername = "c1" curl_mock.side_effect = ['', '', '', '', '', '', ''] read_mapping_mock.return_value = { "TASKTRACKER": ["c6401", "c6402"], "JOBTRACKER": ["c6401"], "MAPREDUCE_CLIENT": ["c6403"] } get_config_resp_mock.return_value = "hbase-site", None get_config_mock.return_value = { "mapred.hosts": "an_old_value", "mapred.hosts.exclude": "an_old_value", "mapred.jobtracker.maxtasks.per.job": "an_old_value", "mapred.jobtracker.taskScheduler": "an_old_value", "dfs.df.interval": "an_old_value", "mapred.userlog.retain.hours": "will_not_be_stored", "global1": "global11" } UpgradeHelper_HDP2.main() self.assertEqual(6, len(curl_mock.call_args_list))
def get_mock_options(self, printonly=False): options = MagicMock() options.logfile = "logfile" options.user = "******" options.password = "******" options.hostname = "localhost" options.clustername = "c1" options.printonly = printonly return options
def test_update_configs(self, option_parser_mock, curl_mock, backup_file_mock, file_handler_mock, read_mapping_mock, get_config_mock, get_config_resp_mock): file_handler_mock.return_value = logging.FileHandler( '') # disable creating real file opm = option_parser_mock.return_value options = MagicMock() args = ["update-configs"] opm.parse_args.return_value = (options, args) options.logfile = "logfile" options.user = "******" options.password = "******" options.hostname = "localhost" options.clustername = "c1" curl_mock.side_effect = ['', '', '', '', '', '', '', ''] read_mapping_mock.return_value = { "TASKTRACKER": ["c6401", "c6402"], "JOBTRACKER": ["c6401"], "MAPREDUCE_CLIENT": ["c6403"] } get_config_resp_mock.return_value = "hbase-site", {} site_properties = { "mapred.hosts": "an_old_value", "mapred.hosts.exclude": "an_old_value", "mapred.jobtracker.maxtasks.per.job": "an_old_value", "hbase.rpc.engine": "an_old_value", "dfs.df.interval": "an_old_value", "mapred.userlog.retain.hours": "will_not_be_stored", "global1": "global11" } get_config_mock.side_effect = [ site_properties.copy(), site_properties.copy(), site_properties.copy(), site_properties.copy(), site_properties.copy(), site_properties.copy() ] saved_global = UpgradeHelper_HDP2.GLOBAL saved_hdfs = UpgradeHelper_HDP2.HDFS_SITE saved_core = UpgradeHelper_HDP2.CORE_SITE saved_habse = UpgradeHelper_HDP2.HBASE_SITE saved_hive = UpgradeHelper_HDP2.HIVE_SITE saved_mapred = UpgradeHelper_HDP2.MAPRED_SITE try: UpgradeHelper_HDP2.GLOBAL = {"global2": "REPLACE_WITH_global1"} UpgradeHelper_HDP2.HDFS_SITE = {"global2": "REPLACE_WITH_global1"} UpgradeHelper_HDP2.CORE_SITE = {"global2": "REPLACE_WITH_global1"} UpgradeHelper_HDP2.main() finally: UpgradeHelper_HDP2.GLOBAL = saved_global UpgradeHelper_HDP2.HDFS_SITE = saved_hdfs UpgradeHelper_HDP2.CORE_SITE = saved_core UpgradeHelper_HDP2.MAPRED_SITE = saved_mapred self.assertEqual(8, len(curl_mock.call_args_list)) self.validate_update_config_call(curl_mock.call_args_list[0], "capacity-scheduler") self.validate_update_config_call(curl_mock.call_args_list[1], "yarn-site") self.validate_update_config_call(curl_mock.call_args_list[3], "mapred-site") self.validate_update_config_call(curl_mock.call_args_list[2], "global") self.validate_config_replacememt(curl_mock.call_args_list[1], "yarn-site") self.validate_config_replacememt(curl_mock.call_args_list[2], "global") self.validate_config_replacememt(curl_mock.call_args_list[3], "mapred-site") self.validate_config_replacememt(curl_mock.call_args_list[4], "hdfs-site") self.validate_config_replacememt(curl_mock.call_args_list[5], "core-site") self.validate_config_replacememt(curl_mock.call_args_list[6], "hbase-site") pass