Merge pull request #6 from jhernandez/ALBS-662

ALBS-662: Added the ability to authenticate other CAS users' artifacts

Reviewed-on: almalinux/cas_wrapper#6
This commit is contained in:
Javier Hernández 2022-11-10 10:15:42 +00:00
commit d9c09a5d58
2 changed files with 12 additions and 2 deletions

View File

@ -108,6 +108,7 @@ class CasWrapper:
local_path: str,
return_json: bool = False,
use_hash: bool = False,
signer_id: str = None,
):
"""
Wrapper around `cas authenticate`
@ -123,6 +124,8 @@ class CasWrapper:
command_args = ['authenticate', local_path]
if use_hash:
command_args = ['authenticate', '--hash', local_path]
if signer_id:
command_args.extend(('--signerID', signer_id))
command_args.extend(('-o', 'json'))
command = self._cas[command_args]
try:
@ -146,6 +149,7 @@ class CasWrapper:
def authenticate_source(
self,
local_path: str,
signer_id: str = None,
) -> typing.Tuple[bool, typing.Optional[str]]:
"""
Authenticates source by git path.
@ -155,7 +159,11 @@ class CasWrapper:
commit_cas_hash = None
self.ensure_login()
try:
result_json = self.authenticate(local_path, return_json=True)
result_json = self.authenticate(
local_path,
return_json=True,
signer_id=signer_id
)
is_authenticated = result_json['verified']
commit_cas_hash = result_json['hash']
# we can fall with ProcessExecutionError,
@ -168,6 +176,7 @@ class CasWrapper:
self,
local_path: str,
use_hash: bool = False,
signer_id: str = None,
) -> bool:
"""
Authenticates artifact by artifact path or hash if `use_hash` is True.
@ -180,6 +189,7 @@ class CasWrapper:
local_path,
use_hash=use_hash,
return_json=True,
signer_id=signer_id
)['verified']
# we can fall with ProcessExecutionError,
# because artifact can be not notarized

View File

@ -2,7 +2,7 @@ from setuptools import setup
setup(
name="cas_wrapper",
version="0.0.5",
version="0.0.6",
author="Stepan Oksanichenko",
author_email="soksanichenko@almalinux.org",
description="The python wrapper around binary cas from "