コード例 #1
0
def get_external_checks_dir(args):
    external_checks_dir = args.external_checks_dir
    if args.external_checks_git:
        git_getter = GitGetter(args.external_checks_git[0])
        external_checks_dir = [git_getter.get()]
        atexit.register(shutil.rmtree,str(Path(external_checks_dir[0]).parent))
    return external_checks_dir
コード例 #2
0
 def test_parse_source(self):
     url = "https://my-git.com/repository-name/"
     getter = GitGetter(url)
     git_url, subdir = getter._source_subdir()
     self.assertEqual("https://my-git.com/repository-name/", git_url,
                      "Parsed source url should contain hostname and path")
     self.assertEqual("", subdir,
                      "Parsed source subdirectory should be empty")
コード例 #3
0
def get_external_checks_dir(config: Any) -> Any:
    external_checks_dir = config.external_checks_dir
    if config.external_checks_git:
        git_getter = GitGetter(config.external_checks_git[0])
        external_checks_dir = [git_getter.get()]
        atexit.register(shutil.rmtree,
                        str(Path(external_checks_dir[0]).parent))
    return external_checks_dir
コード例 #4
0
 def test_parse_source_with_query_without_scheme(self):
     url = "my-git.com/repository-name?key=value"
     getter = GitGetter(url)
     git_url, subdir = getter._source_subdir()
     self.assertEqual(
         "my-git.com/repository-name?key=value", git_url,
         "Parsed source url should contain hostname, path and query")
     self.assertEqual("", subdir,
                      "Parsed source subdirectory should be empty")
コード例 #5
0
 def test_parse_source_and_subdirectory_without_scheme(self):
     url = "my-git.com/repository-name//sub/path"
     getter = GitGetter(url)
     git_url, subdir = getter._source_subdir()
     self.assertEqual("my-git.com/repository-name", git_url,
                      "Parsed source url should contain hostname ane path")
     self.assertEqual(
         "/sub/path", subdir,
         "Parsed source subdirectory should contain absolute (sub)path")
コード例 #6
0
 def test_parse_source_and_subdirectory(self):
     url = "https://my-git.com/repository-name.git//sub/path"
     getter = GitGetter(url)
     git_url, subdir = getter._source_subdir()
     self.assertEqual("https://my-git.com/repository-name.git", git_url,
                      "Parsed source url should contain hostname and path")
     self.assertEqual(
         "/sub/path", subdir,
         "Parsed source subdirectory should contain absolute (sub)path")
コード例 #7
0
 def test_parse_source_and_subdirectory_with_query(self):
     url = "https://my-git.com/repository-name//sub/path?key=value"
     getter = GitGetter(url)
     git_url, subdir = getter._source_subdir()
     self.assertEqual(
         "https://my-git.com/repository-name?key=value", git_url,
         "Parsed source url should contain hostname, path and query")
     self.assertEqual(
         "/sub/path", subdir,
         "Parsed source subdirectory should contain absolute (sub)path")
コード例 #8
0
ファイル: git_loader.py プロジェクト: laxmansmr-us/checkov
 def _load_module(self) -> ModuleContent:
     try:
         module_source = self.module_source.lstrip('git::')
         if module_source.startswith('ssh:'):
             return ModuleContent(dir=None)
         git_getter = GitGetter(module_source, create_clone_and_result_dirs=False)
         git_getter.temp_dir = self.dest_dir
         git_getter.do_get()
         return_dir = self.dest_dir
         if self.inner_module:
             return_dir = os.path.join(self.dest_dir, self.inner_module)
         return ModuleContent(dir=return_dir)
     except Exception as e:
         self.logger.error(f'failed to get {self.module_source} because of {e}')
         return ModuleContent(dir=None)
コード例 #9
0
ファイル: git_loader.py プロジェクト: tronxd/checkov
    def _load_module(self) -> ModuleContent:
        try:
            self._process_generic_git_repo()

            module_source = self.module_source.replace("git::", "")
            git_getter = GitGetter(module_source,
                                   create_clone_and_result_dirs=False)
            git_getter.temp_dir = self.dest_dir
            git_getter.do_get()

            return_dir = self.dest_dir
            if self.inner_module:
                return_dir = os.path.join(self.dest_dir, self.inner_module)
            return ModuleContent(dir=return_dir)
        except Exception as e:
            self.logger.error(
                f"failed to get {self.module_source} because of {e}")
            return ModuleContent(dir=None, failed_url=self.module_source)