def setUp(self): global_config_reader = GlobalConfigParametersReader() arguments = ['app-name', 'config-file', 'eu-west-1', '--destination-schema-auto-create', '--destination-table-auto-create'] global_config_reader.get_config_key_values_updated_with_cli_args(arguments) self.configure_test_cluster() self.create_test_table()
def test_global_config_reader_unprocessed_values(self): unprocessed_parameters = ['application_name', 'config_file', 'eu-west-1'] full_args = copy.deepcopy(unprocessed_parameters) for parameter in self.processable_parameters: full_args.append(parameter) config_reader = GlobalConfigParametersReader() config_reader.get_config_key_values_updated_with_cli_args(full_args) self.assertEqual(unprocessed_parameters, config_reader.unprocessed_arguments)
def setUp(self): global_config_reader = GlobalConfigParametersReader() arguments = [ 'app-name', 'config-file', 'eu-west-1', '--destination-schema-auto-create', '--destination-table-auto-create' ] global_config_reader.get_config_key_values_updated_with_cli_args( arguments) self.configure_test_cluster() self.create_test_table()
def test_global_config_reader_unprocessed_values(self): unprocessed_parameters = [ 'application_name', 'config_file', 'eu-west-1' ] full_args = copy.deepcopy(unprocessed_parameters) for parameter in self.processable_parameters: full_args.append(parameter) config_reader = GlobalConfigParametersReader() config_reader.get_config_key_values_updated_with_cli_args(full_args) self.assertEqual(unprocessed_parameters, config_reader.unprocessed_arguments)
def test_global_config_reader_overwritten_default_value_bool_without_explicit_value_at_end(self): cli_params = ['application_name', 'config_file', 'eu-west-1', '--connection-pre-test', 'False', '--destinationTableAutoCreate'] config_reader = GlobalConfigParametersReader() default_parameters = config_reader.get_config_key_values_updated_with_cli_args(cli_params) expected_value = True returned_value = default_parameters['destinationTableAutoCreate'] self.assertEqual(expected_value, returned_value)
def test_global_config_reader_overwritten_default_value(self): cli_params = ['application_name', 'config_file', 'eu-west-1', '--connection-pre-test', 'False'] config_reader = GlobalConfigParametersReader() default_parameters = config_reader.get_config_key_values_updated_with_cli_args(cli_params) expected_value = False returned_value = default_parameters['connectionPreTest'] self.assertEqual(expected_value, returned_value)
def main(args): global region global_config_reader = GlobalConfigParametersReader() global_config_values = global_config_reader.get_config_key_values_updated_with_cli_args(args) set_log_level(global_config_values['logLevel']) UnloadCopyTool(global_config_values['s3ConfigFile'], global_config_values['region'], global_config_values)
def main(args): global region global_config_reader = GlobalConfigParametersReader() global_config_values = global_config_reader.get_config_key_values_updated_with_cli_args(args) set_log_level(global_config_values['logLevel']) UnloadCopyTool(global_config_values['s3ConfigFile'], global_config_values['region'], global_config_values)
def test_global_config_reader_valid_region(self): valid_region_name = 'us-east-2' unprocessed_parameters = [ 'application_name', 'config_file', '--region', valid_region_name ] config_reader = GlobalConfigParametersReader() config_key_values = config_reader.get_config_key_values_updated_with_cli_args( unprocessed_parameters) self.assertEqual(valid_region_name, config_key_values['region'])
def test_global_config_reader_overwritten_default_value(self): cli_params = [ 'application_name', 'config_file', 'eu-west-1', '--connection-pre-test', 'False' ] config_reader = GlobalConfigParametersReader() default_parameters = config_reader.get_config_key_values_updated_with_cli_args( cli_params) expected_value = False returned_value = default_parameters['connectionPreTest'] self.assertEqual(expected_value, returned_value)
def test_global_config_reader_valid_if_boolean_flag_is_used_and_followed_by_no_argument( self): valid_region_name = 'eu-west-1' unprocessed_parameters = [ 'redshift_unload_copy.py', '--log-level', 'debug', '--destination-table-auto-create', 'conf.json', 'eu-west-1' ] config_reader = GlobalConfigParametersReader() config_key_values = config_reader.get_config_key_values_updated_with_cli_args( unprocessed_parameters) self.assertEqual(valid_region_name, config_key_values['region'])
def test_global_config_reader_overwritten_default_value_bool_without_explicit_value_at_end( self): cli_params = [ 'application_name', 'config_file', 'eu-west-1', '--connection-pre-test', 'False', '--destinationTableAutoCreate' ] config_reader = GlobalConfigParametersReader() default_parameters = config_reader.get_config_key_values_updated_with_cli_args( cli_params) expected_value = True returned_value = default_parameters['destinationTableAutoCreate'] self.assertEqual(expected_value, returned_value)
def test_global_config_reader_valid_region(self): valid_region_name = 'us-east-2' unprocessed_parameters = ['application_name', 'config_file', '--region', valid_region_name] config_reader = GlobalConfigParametersReader() config_key_values = config_reader.get_config_key_values_updated_with_cli_args(unprocessed_parameters) self.assertEqual(valid_region_name, config_key_values['region'])
def test_global_config_reader_valid_if_boolean_flag_is_used_and_followed_by_no_argument(self): valid_region_name = 'eu-west-1' unprocessed_parameters = ['redshift_unload_copy.py', '--log-level', 'debug', '--destination-table-auto-create', 'conf.json', 'eu-west-1'] config_reader = GlobalConfigParametersReader() config_key_values = config_reader.get_config_key_values_updated_with_cli_args(unprocessed_parameters) self.assertEqual(valid_region_name, config_key_values['region'])