HEX
Server: LiteSpeed
System: Linux s3.sitechai.com 4.18.0-553.51.1.lve.1.el8.x86_64 #1 SMP Wed May 14 14:34:57 UTC 2025 x86_64
User: workzeni (2217)
PHP: 8.1.32
Disabled: mail, show_source, system, shell_exec, passthru, exec, eval, shell
Upload Files
File: //usr/lib64/python3.6/site-packages/borg/testsuite/__pycache__/file_integrity.cpython-36.opt-1.pyc
3

y��b��@sJddlZddlmZmZmZGdd�d�ZGdd�d�ZGdd	�d	�ZdS)
�N�)�IntegrityCheckedFile�DetachedIntegrityCheckedFile�FileIntegrityErrorc@s:eZdZdd�Zdd�Zdd�Zejjdd�d
d��Z	dS)�TestReadIntegrityFilecCs|jd�}|jd�dS)N�file�1234)�join�write)�self�tmpdir�protected_file�r�&/usr/lib64/python3.6/file_integrity.py�test_no_integritys

z'TestReadIntegrityFile.test_no_integrityc
CsL|jd�}|jd�|jd�jd�tjt��tjt|��WdQRXdS)Nrrzfile.integrity�)r	r
�pytest�raisesrr�read_integrity_file�str)rrr
rrr�test_truncated_integrity
s


z.TestReadIntegrityFile.test_truncated_integritycCs(|jd�}|jd�|jd�jd�dS)Nrrzfile.integrityz4{"algorithm": "HMAC_SERIOUSHASH", "digests": "1234"})r	r
)rrr
rrr�test_unknown_algorithms

z,TestReadIntegrityFile.test_unknown_algorithm�json�4{"ALGORITHM": "HMAC_SERIOUSHASH", "digests": "1234"}�[]�1234.5�
"A string"�Invalid JSONc
CsL|jd�}|jd�|jd�j|�tjt��tjt|��WdQRXdS)Nrrzfile.integrity)r	r
rrrrrr)rrrr
rrr�test_malformeds


z$TestReadIntegrityFile.test_malformedN)rrrrr)
�__name__�
__module__�__qualname__rrrr�mark�parametrizerrrrrrsrc@sXeZdZejdd��Zdd�Zdd�Zdd�Zej	j
d	d�dd
��Zdd�Zdd�Z
dS)� TestDetachedIntegrityCheckedFilec	Cs4t|jd��}t|dd��}|jd�WdQRX|S)NrT)r
sfoo and bar)rr	rr
)rr�path�fdrrr�integrity_protected_file*sz9TestDetachedIntegrityCheckedFile.integrity_protected_filec	Cst|dd��}WdQRXdS)NF)r
)r)rrr'r&rrr�test_simple1sz,TestDetachedIntegrityCheckedFile.test_simplecCsRt|d��}|jd�WdQRXtjt��t|dd��}WdQRXWdQRXdS)N�abs extra dataF)r
)�openr
rrrr)rr'r&rrr�test_corrupted_file7s
z4TestDetachedIntegrityCheckedFile.test_corrupted_filecCsVt|d��}|jd�WdQRXtjt��"t|dd��
}d}WdQRXWdQRXdS)Nr)s extra dataF)r
sfoo and bar)r*r
rrrr)rr'r&�datarrr� test_corrupted_file_partial_read>szATestDetachedIntegrityCheckedFile.test_corrupted_file_partial_read�new_name�different_file�different_file.different_extcCsd|j|�}|jd�j|�|jd�j|d�tjt��"tt|�dd��}WdQRXWdQRXdS)Nrzfile.integrityz
.integrityF)r
)r	�moverrrrr)rrr'r.�new_pathr&rrr�test_renamed_fileFs
z2TestDetachedIntegrityCheckedFile.test_renamed_filec	Cs`|jd�}|jd�j|jd��|jd�j|jd��t|jd��}t|dd��}WdQRXdS)NZanother_directoryrzfile.integrityF)r
)�mkdirr	r1rr)rrr'Znew_dirr2r&rrr�test_moved_fileRs
z0TestDetachedIntegrityCheckedFile.test_moved_filec	Cs*|jd�j�t|dd��}WdQRXdS)Nzfile.integrityF)r
)r	�remover)rrr'r&rrrrZsz2TestDetachedIntegrityCheckedFile.test_no_integrityN)r/r0)rr r!r�fixturer'r(r+r-r"r#r3r5rrrrrr$)s
r$c@s@eZdZejdd��Zdd�Zdd�Zejj	dd
�d
d��Z
dS)�%TestDetachedIntegrityCheckedFilePartsc	CsHt|jd��}t|dd��$}|jd�|jd�|jd�WdQRX|S)NrT)r
sfoo and bar�fooparts other data)rr	rr
�	hash_part)rrr%r&rrrr'as

z>TestDetachedIntegrityCheckedFileParts.integrity_protected_filec	Cs*t|dd��}d}|jd�WdQRXdS)NF)r
sfoo and barr9)rr:)rr'r&�data1rrrr(js
z1TestDetachedIntegrityCheckedFileParts.test_simplecCsVtjt��Bt|dd��*}d}tjt��|jd�WdQRXWdQRXWdQRXdS)NF)r
sfoo and barZbarpart)rrrrr:)rr'r&r;rrr�test_wrong_part_nameqs
z:TestDetachedIntegrityCheckedFileParts.test_wrong_part_name�partial_readFTc Cs�t|d��}|jd�WdQRXtjt��Rt|dd��:}d}y|jd�Wntk
r`YnX|sn|j�WdQRXWdQRXdS)Nr)s%some extra stuff that does not belongF)r
sfoo and barr9)r*r
rrrrr:�read)rr'r=r&r;rrr�test_part_independence~sz<TestDetachedIntegrityCheckedFileParts.test_part_independenceN)FT)rr r!rr7r'r(r<r"r#r?rrrrr8`s	
r8)rZcrypto.file_integrityrrrrr$r8rrrr�<module>s"7