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.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||jksJ�||_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_noncecCsNttj�t|jj�d�d��}|�|�s,J�Wd�n1s@0YdS)Nr"�w)r#r$r%r&rr r�write)rr"r(r
r
r�set_cache_nonce+sz TestNonceManager.set_cache_noncecCsP|�tdd�|��|_t|jd�}|�dd�}|dks<J�|��dksLJ�dS�N�NONCE_SPACE_RESERVATIONr� ��0000000000002033)�setattrrrr r�ensure_reservationr)�rZmonkeypatchZmanagerZ
next_noncer
r
r�test_empty_cache_and_old_server/s
z0TestNonceManager.test_empty_cache_and_old_servercCsX|�tdd�|��|_d|j_t|jd�}|�dd�}|dksDJ�|��dksTJ�dSr-�r2rrr rrr3r)r4r
r
r�test_empty_cache9s
z!TestNonceManager.test_empty_cachecCsP|�tdd�|��|_d|j_t|jd�}|�dd�}|dksDJ�|��dksTJ�|jjdksdJ�|�dd�}|dks|J�|��dks�J�|jjdks�J�|�d	d�}|d	ks�J�|��dks�J�|jjdks�J�|�dd
�}|dks�J�|��dks�J�|jjdk�sJ�|�d
d�}|dk�s(J�|��dk�s:J�|jjdk�sLJ�dS)Nr.rr/r0r1�3 � �
i  �Z0000000000002063ic iC �@Z00000000000020c3i� r6r4r
r
r�test_empty_nonceDs0
z!TestNonceManager.test_empty_noncecCsr|�tdd�|��|_d|j_|�d�t|jd�}|�dd�}|dksNJ�|��dks^J�|jjdksnJ�dS)Nr.rr/�0000000000002000r0r1r8�	r2rrr rr,rr3r)r4r
r
r�test_sync_noncehs

z TestNonceManager.test_sync_noncecCsr|�tdd�|��|_d|j_|�d�t|jd�}|�dd�}|dksNJ�|��dks^J�|jjdksnJ�dS)Nr.rr>r/r0r1r8r?r4r
r
r�test_server_just_upgradedvs

z*TestNonceManager.test_server_just_upgradedcCsh|�tdd�|��|_d|j_t|jd�}|�dd�}|dksDJ�|��dksTJ�|jjdksdJ�dS)Nr.rr/�r0r1r8r6r4r
r
r�test_transaction_abort_no_cache�s
z0TestNonceManager.test_transaction_abort_no_cachecCsZ|�tdd�|��|_|�d�t|jd�}|�dd�}|dksFJ�|��dksVJ�dS)Nr.rr>r/rBr0r1)r2rrr r,rr3r)r4r
r
r�!test_transaction_abort_old_server�s

z2TestNonceManager.test_transaction_abort_old_servercCsr|�tdd�|��|_d|j_|�d�t|jd�}|�dd�}|dksNJ�|��dks^J�|jjdksnJ�dS)	Nr.rr/Z0000000000001000rBr0r1r8r?r4r
r
r�&test_transaction_abort_on_other_client�s

z7TestNonceManager.test_transaction_abort_on_other_clientcCs�|�tdd�|��|_d|j_|�d�t|jd�}|�dd�}|dksNJ�|��dks^J�|jjdksnJ�d|j_|�d	d
�}|d	ks�J�|��dks�J�|jjdks�J�|�dd�}|dks�J�|��d
ks�J�|jjdks�J�dS)Nr.rr/r>r0r1r8i@r9�i �Z0000000000004035i5@r?r4r
r
r�test_interleaved�s$

z!TestNonceManager.test_interleavedN)r
rrrrr!r)r,r5r7r=r@rArCrDrErHr
r
r
rr	s
$
r	)Zos.pathr$rZcryptorZ
crypto.noncesrZ
crypto.keyrZhelpersrZremoterr	r
r
r
r�<module>s