def test_handle_input_directory_argument_default(self, arg_parser,
                                                  logmerge_config_object,
                                                  argparse_test_dir):
     args_string_list = []
     res = update_configuration_from_args(
         logmerge_config_object, arg_parser.parse_args(args_string_list))
     assert res.input_directory == Path.cwd()
 def test_handle_input_directory_argument_non_directory(
         self, arg_parser, logmerge_config_object, argparse_test_dir):
     custom_path = Path(argparse_test_dir, "exists.csv")
     args_string_list = ["-i", str(custom_path)]
     with pytest.raises(ArgumentTypeError):
         res = update_configuration_from_args(
             logmerge_config_object,
             arg_parser.parse_args(args_string_list))
 def test_handle_input_directory_argument_custom(self, arg_parser,
                                                 logmerge_config_object,
                                                 argparse_test_dir):
     custom_path = Path(argparse_test_dir, "subdirectory")
     args_string_list = ["-i", str(custom_path)]
     res = update_configuration_from_args(
         logmerge_config_object, arg_parser.parse_args(args_string_list))
     assert res.input_directory == custom_path
 def test_handle_output_location_argument_custom_file_exists(
         self, arg_parser, logmerge_config_object, argparse_test_dir):
     configuration = LogmergeConfig(create_default_config())
     argument_list = ["-o", str(Path(argparse_test_dir, "exists.csv"))]
     argument_namespace = arg_parser.parse_args(argument_list)
     with pytest.raises(FileExistsError):
         configuration = update_configuration_from_args(
             configuration, argument_namespace)
 def test_handle_verbosity_argument(self, arg_parser,
                                    logmerge_config_object):
     verbosity_strings = ("-sss", "-ss", "-s", "-v", "-vv", "-vvv", "-vvvv")
     level_strings = "CRITICAL CRITICAL ERROR INFO DEBUG NOTSET".split()
     verbosity_level_pairs = zip(verbosity_strings, level_strings)
     for verbosity, level in verbosity_level_pairs:
         res = update_configuration_from_args(
             logmerge_config_object, arg_parser.parse_args([verbosity]))
         assert res.log_level == level
 def test_handle_output_location_argument_custom_directory(
         self, arg_parser, logmerge_config_object, argparse_test_dir):
     configuration = LogmergeConfig(create_default_config())
     argument_list = ["-o", str(argparse_test_dir)]
     args_namespace = arg_parser.parse_args(argument_list)
     configuration = update_configuration_from_args(configuration,
                                                    args_namespace)
     assert configuration.output_location.parent == argparse_test_dir
     assert configuration.output_location.name.endswith(".csv")
 def test_handle_recursive_argument_default(self, arg_parser,
                                            logmerge_config_object,
                                            argparse_test_dir):
     config_file = create_default_config()
     configuration = LogmergeConfig(config_file)
     assert configuration.recursive is False
     argument_list = []
     args_namespace = arg_parser.parse_args(argument_list)
     configuration = update_configuration_from_args(configuration,
                                                    args_namespace)
     assert configuration.recursive is False
 def test_handle_recursive_argument_false(self, arg_parser,
                                          logmerge_config_object,
                                          argparse_test_dir):
     config_file = create_default_config()
     config_file["SEARCH"]["AutoRecursive"] = str(True)
     configuration = LogmergeConfig(config_file)
     assert configuration.recursive is True
     argument_list = ["-R"]
     args_namespace = arg_parser.parse_args(argument_list)
     configuration = update_configuration_from_args(configuration,
                                                    args_namespace)
     assert configuration.recursive is False
 def test_handle_header_argument_bad(self, arg_parser,
                                     logmerge_config_object,
                                     argparse_test_dir):
     config_file = create_default_config()
     configuration = LogmergeConfig(config_file)
     custom_header = "[\\fnord"
     assert configuration.header == default_header
     argument_list = ["-t", repr(custom_header)]
     args_namespace = arg_parser.parse_args(argument_list)
     with pytest.raises(ArgumentTypeError):
         configuration = update_configuration_from_args(
             configuration, args_namespace)
 def test_handle_header_argument_custom(self, arg_parser,
                                        logmerge_config_object,
                                        argparse_test_dir):
     config_file = create_default_config()
     configuration = LogmergeConfig(config_file)
     custom_header = ["one", "two", "three"]
     assert configuration.header == default_header
     argument_list = ["-t", repr(custom_header)]
     args_namespace = arg_parser.parse_args(argument_list)
     configuration = update_configuration_from_args(configuration,
                                                    args_namespace)
     assert configuration.header == custom_header
 def test_handle_header_argument_false(self, arg_parser,
                                       logmerge_config_object,
                                       argparse_test_dir):
     # TODO:  Is None how this should be expressed?
     config_file = create_default_config()
     configuration = LogmergeConfig(config_file)
     assert configuration.header == default_header
     argument_list = ["-T"]
     args_namespace = arg_parser.parse_args(argument_list)
     configuration = update_configuration_from_args(configuration,
                                                    args_namespace)
     assert configuration.header is None
 def test_handle_header_argument_true(self, arg_parser,
                                      logmerge_config_object,
                                      argparse_test_dir):
     # TODO:  Allow this to be false by default?
     config_file = create_default_config()
     configuration = LogmergeConfig(config_file)
     assert configuration.header == default_header
     argument_list = ["-t"]
     args_namespace = arg_parser.parse_args(argument_list)
     configuration = update_configuration_from_args(configuration,
                                                    args_namespace)
     assert configuration.header == default_header
 def test_handle_archive_argument_exists(self, arg_parser,
                                         logmerge_config_object,
                                         argparse_test_dir):
     config_file = create_default_config()
     config_file["ARCHIVE"]["AutoArchive"] = str(False)
     configuration = LogmergeConfig(config_file)
     assert configuration.archive is False
     argument_list = ["-a", str(Path(argparse_test_dir, "exists.csv"))]
     args_namespace = arg_parser.parse_args(argument_list)
     with pytest.raises(FileExistsError):
         configuration = update_configuration_from_args(
             configuration, args_namespace)
 def test_handle_archive_argument_default(self, arg_parser,
                                          logmerge_config_object,
                                          argparse_test_dir):
     config_file = create_default_config()
     config_file["ARCHIVE"]["Folder"] = str(argparse_test_dir)
     configuration = LogmergeConfig(config_file)
     argument_list = []
     args_namespace = arg_parser.parse_args(argument_list)
     configuration = update_configuration_from_args(configuration,
                                                    args_namespace)
     assert configuration.archive_folder.parent == argparse_test_dir
     assert configuration.archive is True
 def test_handle_output_location_argument_default(self, arg_parser,
                                                  logmerge_config_object,
                                                  argparse_test_dir):
     configfile = create_default_config()
     configfile["OUTPUT"]["Folder"] = str(argparse_test_dir)
     configuration = LogmergeConfig(configfile)
     assert configuration is not None
     argument_list = []
     args_namespace = arg_parser.parse_args(argument_list)
     configuration = update_configuration_from_args(configuration,
                                                    args_namespace)
     assert configuration.output_location.parent == argparse_test_dir
     assert configuration.output_location.name.endswith(".csv")
 def test_handle_archive_argument_custom(self, arg_parser,
                                         logmerge_config_object,
                                         argparse_test_dir):
     config_file = create_default_config()
     config_file["ARCHIVE"]["AutoArchive"] = str(False)
     configuration = LogmergeConfig(config_file)
     assert configuration.archive is False
     argument_list = ["-a", str(Path(argparse_test_dir, "subdirectory"))]
     args_namespace = arg_parser.parse_args(argument_list)
     configuration = update_configuration_from_args(configuration,
                                                    args_namespace)
     assert configuration.archive_folder.parent == Path(
         argparse_test_dir, "subdirectory")
     assert configuration.archive is True