def process_arguments(self, arguments: List[str]) -> None:
     parser = argparse.ArgumentParser(
         "nix-prefetch-github", parents=[get_options_argument_parser()])
     parser.add_argument("owner")
     parser.add_argument("repo")
     parser.add_argument("--rev", default=None)
     args = parser.parse_args(arguments)
     self._logger_manager.set_logging_configuration(
         args.logging_configuration)
     self._use_case.prefetch_github_repository(request=Request(
         repository=GithubRepository(owner=args.owner, name=args.repo),
         revision=args.rev,
         prefetch_options=args.prefetch_options,
         rendering_format=args.rendering_format,
     ))
def parser_arguments(
        arguments: Optional[List[str]] = None) -> argparse.Namespace:
    parser = argparse.ArgumentParser(parents=[get_options_argument_parser()])
    parser.add_argument("--directory")
    parser.add_argument("--remote", default="origin")
    return parser.parse_args(arguments)
def parse_arguments(arguments: Optional[List[str]]) -> argparse.Namespace:
    parser = argparse.ArgumentParser("nix-prefetch-github-latest-release",
                                     parents=[get_options_argument_parser()])
    parser.add_argument("owner")
    parser.add_argument("repo")
    return parser.parse_args(arguments)
 def test_that_prefetch_options_is_present_in_namespace_when_parsing_arguments(
     self, ) -> None:
     parser = get_options_argument_parser()
     arguments = parser.parse_args([])
     self.assertIsInstance(arguments.prefetch_options, PrefetchOptions)
 def test_specifying_nix_and_then_json_sets_rendering_option_to_json(
         self) -> None:
     parser = get_options_argument_parser()
     arguments = parser.parse_args(["--nix", "--json"])
     self.assertEqual(arguments.rendering_format, RenderingFormat.json)
 def test_rendering_option_is_json_by_default(self) -> None:
     parser = get_options_argument_parser()
     arguments = parser.parse_args([])
     self.assertEqual(arguments.rendering_format, RenderingFormat.json)
 def test_specifying_nix_sets_rendering_option_to_nix(self) -> None:
     parser = get_options_argument_parser()
     arguments = parser.parse_args(["--nix"])
     self.assertEqual(arguments.rendering_format, RenderingFormat.nix)
 def test_that_log_level_is_WARNING_by_default(self) -> None:
     parser = get_options_argument_parser()
     arguments = parser.parse_args([])
     self.assertEqual(arguments.logging_configuration.log_level, WARNING)
 def test_that_verbosity_flag_increases_log_level_to_INFO(self) -> None:
     parser = get_options_argument_parser()
     arguments = parser.parse_args(["--verbose"])
     self.assertEqual(arguments.logging_configuration.log_level, INFO)
 def test_that_deep_clone_is_disabled_by_default(self) -> None:
     parser = get_options_argument_parser()
     arguments = parser.parse_args([])
     self.assertFalse(arguments.prefetch_options.deep_clone)
 def test_that_specifying_no_deep_clone_sets_prefetch_options_propery(
         self) -> None:
     parser = get_options_argument_parser()
     arguments = parser.parse_args(["--deep-clone", "--no-deep-clone"])
     self.assertFalse(arguments.prefetch_options.deep_clone)
 def test_that_leave_dot_git_can_be_disabled_via_appropriate_cli_option(
     self, ) -> None:
     parser = get_options_argument_parser()
     arguments = parser.parse_args(
         ["--leave-dot-git", "--no-leave-dot-git"])
     self.assertFalse(arguments.prefetch_options.leave_dot_git)
 def test_that_by_default_leave_dot_git_is_disabled(self) -> None:
     parser = get_options_argument_parser()
     arguments = parser.parse_args([])
     self.assertFalse(arguments.prefetch_options.leave_dot_git)
 def test_that_fetch_submodules_can_be_disabled_by_specifying_appropriate_cli_option(
     self, ) -> None:
     parser = get_options_argument_parser()
     arguments = parser.parse_args(
         ["--fetch-submodules", "--no-fetch-submodules"])
     self.assertFalse(arguments.prefetch_options.fetch_submodules)