HEX
Server: LiteSpeed
System: Linux shams.tasjeel.ae 5.14.0-611.5.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Nov 11 08:09:09 EST 2025 x86_64
User: infowars (1469)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: //usr/lib64/python3.9/site-packages/borg/testsuite/__pycache__/nonces.cpython-39.opt-1.pyc
a

HZ�h�@s^ddlZddlZddlmZddlmZddlmZddl	m
Z
ddlmZGdd	�d	�Z
dS)
�N�)�nonces)�NonceManager)�
bin_to_hex)�get_security_dir��InvalidRPCMethodc@s�eZdZGdd�d�ZGdd�de�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�ZdS)�TestNonceManagerc@s@eZdZGdd�d�Ze�Zed�Zee�Zdd�Z	dd�Z
dS)	zTestNonceManager.MockRepositoryc@seZdZdZdS)z)TestNonceManager.MockRepository._Locationz/some/placeN)�__name__�
__module__�__qualname__Zorig�r
r
�;/usr/lib64/python3.9/site-packages/borg/testsuite/nonces.py�	_Locationsr� cCs|jS�N��	next_free��selfr
r
r�get_free_noncesz.TestNonceManager.MockRepository.get_free_noncecCs
||_dSrr�rZnext_unreservedZstart_noncer
r
r�commit_nonce_reservationsz8TestNonceManager.MockRepository.commit_nonce_reservationN)r
rrrZ	_location�bytes�idr�id_strrrr
r
r
r�MockRepositorysrc@seZdZdd�Zdd�ZdS)z"TestNonceManager.MockOldRepositorycCstd��dS)N�rrr
r
rrsz1TestNonceManager.MockOldRepository.get_free_noncecCst�d�dS)NzDcommit_nonce_reservation should never be called on an old repository)�pytestZfailrr
r
rr!sz;TestNonceManager.MockOldRepository.commit_nonce_reservationN)r
rrrrr
r
r
r�MockOldRepositorysrcCs
d|_dSr)�
repositoryrr
r
r�setUp$szTestNonceManager.setUpcCsFttj�t|jj�d���}|��Wd�S1s80YdS)N�nonce)�open�os�path�joinrr r�read)r�fdr
r
r�cache_nonce'szTestNonceManager.cache_noncecCs@ttj�t|jj�d�d��}Wd�n1s20YdS)Nr"�w)r#r$r%r&rr r)rr"r(r
r
r�set_cache_nonce+sz TestNonceManager.set_cache_noncecCs4|�tdd�|��|_t|jd�}|�dd�}dS�N�NONCE_SPACE_RESERVATIONr� �)�setattrrrr r�ensure_reservation�rZmonkeypatchZmanagerZ
next_noncer
r
r�test_empty_cache_and_old_server/s

z0TestNonceManager.test_empty_cache_and_old_servercCs<|�tdd�|��|_d|j_t|jd�}|�dd�}dSr,�r0rrr rrr1r2r
r
r�test_empty_cache9s
z!TestNonceManager.test_empty_cachecCsl|�tdd�|��|_d|j_t|jd�}|�dd�}|�dd�}|�dd�}|�dd	�}|�d
d�}dS)Nr-rr.r/� �
i  i3 �iC �@r4r2r
r
r�test_empty_nonceDs
z!TestNonceManager.test_empty_noncecCsF|�tdd�|��|_d|j_|�d�t|jd�}|�dd�}dS)Nr-rr.�0000000000002000r/�r0rrr rr+rr1r2r
r
r�test_sync_noncehs

z TestNonceManager.test_sync_noncecCsF|�tdd�|��|_d|j_|�d�t|jd�}|�dd�}dS)Nr-rr;r.r/r<r2r
r
r�test_server_just_upgradedvs

z*TestNonceManager.test_server_just_upgradedcCs<|�tdd�|��|_d|j_t|jd�}|�dd�}dS)Nr-rr.�r/r4r2r
r
r�test_transaction_abort_no_cache�s
z0TestNonceManager.test_transaction_abort_no_cachecCs>|�tdd�|��|_|�d�t|jd�}|�dd�}dS)Nr-rr;r.r?r/)r0rrr r+rr1r2r
r
r�!test_transaction_abort_old_server�s

z2TestNonceManager.test_transaction_abort_old_servercCsF|�tdd�|��|_d|j_|�d�t|jd�}|�dd�}dS)Nr-rr.Z0000000000001000r?r/r<r2r
r
r�&test_transaction_abort_on_other_client�s

z7TestNonceManager.test_transaction_abort_on_other_clientcCsf|�tdd�|��|_d|j_|�d�t|jd�}|�dd�}d|j_|�dd�}|�d	d
�}dS)Nr-rr.r;r/i@r6�i �r<r2r
r
r�test_interleaved�s

z!TestNonceManager.test_interleavedN)r
rrrrr!r)r+r3r5r:r=r>r@rArBrEr
r
r
rr	s
$
r	)Zos.pathr$rZcryptorZ
crypto.noncesrZ
crypto.keyrZhelpersrZremoterr	r
r
r
r�<module>s