U
    ܦ\                     @   sh   d dl Z d dlmZ ddlmZ e ejjdG dd dee jZ	e ej
jdG d	d
 d
e	ZdS )    N)kwallet   )BackendBasicTestszKWallet5 unavailablec                       sD   e Zd ZejddZdd Zdd Zd fdd		Zd
d Z	  Z
S )DBusKWalletTestCase@ c                 C   s   t  S N)r   DBusKeyringself r   E/usr/lib/python3/dist-packages/keyring/tests/backends/test_kwallet.pyinit_keyring   s    z DBusKWalletTestCase.init_keyringc              	   C   s6   | j D ]*}z| jj|  W q tk
r.   Y qX qd S r   )credentials_createdkeyringZdelete_passwordBaseException)r   itemr   r   r   tearDown   s
    
zDBusKWalletTestCase.tearDownFc                    s<   | j ||f |r$|d | }d}tt| ||| d S )Nr   Python)r   addsuperr   set_password)r   serviceusernamepasswordZ
old_format	__class__r   r   r      s    z DBusKWalletTestCase.set_passwordc              	   C   s   | j }| |||d  | |||d |   | _ }|||}| ||d||||f  | ||dd |   | _ }|||}| |dd|||df  |d|d | }| |d d|||d f  d S )NTzDIncorrect password for username: '%s' on service: '%s'. '%s' != '%s'r   r   r   zNot 'None' password returned for username: '%s' on service: '%s'. '%s' != '%s'. Passwords from old folder should be deleted during migration.)r   ZassertEqualZget_passwordr   r   )r   r   r   r   r   Zret_passwordr   r   r   check_set_get,   s<     
 
 
z!DBusKWalletTestCase.check_set_get)F)__name__
__module____qualname__r   ZDIFFICULT_CHARSreplacer   r   r   r   __classcell__r   r   r   r   r      s
   r   zKWallet4 unavailablec                   @   s   e Zd Zdd ZdS )DBusKWallet4TestCasec                 C   s   t  S r   )r   DBusKeyringKWallet4r
   r   r   r   r   S   s    z!DBusKWallet4TestCase.init_keyringN)r   r   r    r   r   r   r   r   r#   P   s   r#   )ZunittestZkeyring.backendsr   Ztest_backendr   Z
skipUnlessr	   ZviableZTestCaser   r$   r#   r   r   r   r   <module>   s   H
