§
    ±Û”a°  ã                   ó¸   — d Z eZddlZddlZddlZddlZddlZddlm	Z	m
Z
 ej        d         dk    ZereZneZ G d„ dej        ¦  «        Z G d„ de¦  «        ZdS )	z Tests for the atomic file cache.é    N)ÚAtomicFileCacheÚsafenameé   c                   ó¼   ‡ — e Zd ZdZej        ZdZe                     d¦  «        Z	ˆ fd„Z
ˆ fd„Zd„ Zd„ Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zˆ xZS )ÚTestFileCacheInterfaceúTests for ``AtomicFileCache``.s	   paÉªÎ¸É™núutf-8c                 ó†   •— t          t          | ¦  «                             ¦   «          t          j        ¦   «         | _        d S ©N)Úsuperr   ÚsetUpÚtempfileÚmkdtempÚ	cache_dir©ÚselfÚ	__class__s    €úO/usr/lib/python3/dist-packages/lazr/restfulclient/tests/test_atomicfilecache.pyr   zTestFileCacheInterface.setUp.   s4   ø€ ÝÕ$ dÑ+Ô+×1Ò1Ñ3Ô3Ð3Ý!Ô)Ñ+Ô+ˆŒˆˆó    c                 óˆ   •— t          j        | j        ¦  «         t          t          | ¦  «                             ¦   «          d S r   )ÚshutilÚrmtreer   r   r   ÚtearDownr   s    €r   r   zTestFileCacheInterface.tearDown2   s8   ø€ ÝŒ�d”nÑ%Ô%Ð%ÝÕ$ dÑ+Ô+×4Ò4Ñ6Ô6Ð6Ð6Ð6r   c                 óB   — |                       | j        t          ¦  «        S )z*Make a FileCache-like object to be tested.)Úfile_cache_factoryr   r   )r   s    r   Úmake_file_cachez&TestFileCacheInterface.make_file_cache6   s   € à×&Ò& t¤~µxÑ@Ô@Ð@r   c                 ó€   — |                       ¦   «         }|                      d |                     d¦  «        ¦  «         d S ©NÚnonexistent)r   ÚassertIsÚget©r   Úcaches     r   Útest_get_non_existent_keyz0TestFileCacheInterface.test_get_non_existent_key:   s9   € à×$Ò$Ñ&Ô&ˆØ�Š�d˜EŸIšI mÑ4Ô4Ñ5Ô5Ð5Ð5Ð5r   c                 ó¬   — |                       ¦   «         }|                     dd¦  «         |                      d|                     d¦  «        ¦  «         d S ©NÚkeyó   value©r   ÚsetÚassertEqualr!   r"   s     r   Útest_set_keyz#TestFileCacheInterface.test_set_key?   sO   € à×$Ò$Ñ&Ô&ˆØ�	Š	�%˜Ñ"Ô"Ð"Ø×Ò˜ 5§9¢9¨UÑ#3Ô#3Ñ4Ô4Ð4Ð4Ð4r   c                 óØ   — |                       ¦   «         }|                     dd¦  «         |                     dd¦  «         |                      d|                     d¦  «        ¦  «         d S )Nr'   r(   s	   new-valuer)   r"   s     r   Útest_set_twice_overridesz/TestFileCacheInterface.test_set_twice_overridesE   sc   € à×$Ò$Ñ&Ô&ˆØ�	Š	�%˜Ñ"Ô"Ð"Ø�	Š	�%˜Ñ&Ô&Ð&Ø×Ò˜ u§y¢y°Ñ'7Ô'7Ñ8Ô8Ð8Ð8Ð8r   c                 óª   — |                       ¦   «         }|                     d¦  «         |                      d |                     d¦  «        ¦  «         d S r   )r   Údeleter    r!   r"   s     r   Útest_delete_absent_keyz-TestFileCacheInterface.test_delete_absent_keyL   sK   € à×$Ò$Ñ&Ô&ˆØ�Š�]Ñ#Ô#Ð#Ø�Š�d˜EŸIšI mÑ4Ô4Ñ5Ô5Ð5Ð5Ð5r   c                 óÖ   — |                       ¦   «         }|                     dd¦  «         |                     d¦  «         |                      d |                     d¦  «        ¦  «         d S r&   )r   r*   r0   r    r!   r"   s     r   Útest_delete_keyz&TestFileCacheInterface.test_delete_keyR   sa   € ð ×$Ò$Ñ&Ô&ˆØ�	Š	�%˜Ñ"Ô"Ð"Ø�Š�UÑÔÐØ�Š�d˜EŸIšI eÑ,Ô,Ñ-Ô-Ð-Ð-Ð-r   c                 óp   — |                       ¦   «         }|                      t          |j        d¦  «         d S ©Né*   )r   ÚassertRaisesÚ	TypeErrorr!   r"   s     r   Útest_get_non_string_keyz.TestFileCacheInterface.test_get_non_string_keyZ   s3   € à×$Ò$Ñ&Ô&ˆØ×Ò�) U¤Y°Ñ3Ô3Ð3Ð3Ð3r   c                 óp   — |                       ¦   «         }|                      t          |j        d¦  «         d S r5   )r   r7   r8   r0   r"   s     r   Útest_delete_non_string_keyz1TestFileCacheInterface.test_delete_non_string_key_   s3   € à×$Ò$Ñ&Ô&ˆØ×Ò�) U¤\°2Ñ6Ô6Ð6Ð6Ð6r   c                 ór   — |                       ¦   «         }|                      t          |j        dd¦  «         d S )Nr6   z
the answer)r   r7   r8   r*   r"   s     r   Útest_set_non_string_keyz.TestFileCacheInterface.test_set_non_string_keyd   s5   € à×$Ò$Ñ&Ô&ˆØ×Ò�) U¤Y°°LÑAÔAÐAÐAÐAr   c                 óÄ   — |                       ¦   «         }|                      t          |j        dd¦  «         |                      d|                     d¦  «        ¦  «         d S )NÚanswerr6   r   )r   r7   r8   r*   r+   r!   r"   s     r   Útest_set_non_string_valuez0TestFileCacheInterface.test_set_non_string_valuei   sY   € ð ×$Ò$Ñ&Ô&ˆØ×Ò�) U¤Y°¸"Ñ=Ô=Ð=Ø×Ò˜˜eŸiši¨Ñ1Ô1Ñ2Ô2Ð2Ð2Ð2r   c                 óŠ   — |                       ¦   «         }|                      d |                     | j        ¦  «        ¦  «         d S r   )r   r    r!   Úunicode_textr"   s     r   Útest_get_unicodez'TestFileCacheInterface.test_get_unicodeq   s<   € à×$Ò$Ñ&Ô&ˆØ�Š�d˜EŸIšI dÔ&7Ñ8Ô8Ñ9Ô9Ð9Ð9Ð9r   c                 óÀ   — |                       ¦   «         }|                     | j        d¦  «         |                      d|                     | j        ¦  «        ¦  «         d S ©Nr(   )r   r*   rB   r+   r!   r"   s     r   Útest_set_unicode_keysz,TestFileCacheInterface.test_set_unicode_keysv   sU   € Ø×$Ò$Ñ&Ô&ˆØ�	Š	�$Ô# XÑ.Ô.Ð.Ø×Ò˜ 5§9¢9¨TÔ->Ñ#?Ô#?Ñ@Ô@Ð@Ð@Ð@r   c                 óœ   — |                       ¦   «         }t          rt          nt          }|                      ||j        d| j        ¦  «         d S ©Nr'   )r   ÚPY3r8   ÚUnicodeEncodeErrorr7   r*   rB   )r   r#   Úerrors      r   Útest_set_unicode_valuez-TestFileCacheInterface.test_set_unicode_value{   sG   € à×$Ò$Ñ&Ô&ˆÝ Ð8•	�	Õ&8ˆØ×Ò˜% ¤¨E°4Ô3DÑEÔEÐEÐEÐEr   c                 óô   — |                       ¦   «         }|                     | j        d¦  «         |                     | j        ¦  «         |                      d |                     | j        ¦  «        ¦  «         d S rE   )r   r*   rB   r0   r    r!   r"   s     r   Útest_delete_unicodez*TestFileCacheInterface.test_delete_unicode�   sh   € à×$Ò$Ñ&Ô&ˆØ�	Š	�$Ô# XÑ.Ô.Ð.Ø�Š�TÔ&Ñ'Ô'Ð'Ø�Š�d˜EŸIšI dÔ&7Ñ8Ô8Ñ9Ô9Ð9Ð9Ð9r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úhttplib2Ú	FileCacher   Úunicode_bytesÚdecoderB   r   r   r   r$   r,   r.   r1   r3   r9   r;   r=   r@   rC   rF   rL   rN   Ú__classcell__)r   s   @r   r   r   &   sV  ø€ € € € € Ø(Ð(à!Ô+Ðà2€MØ ×'Ò'¨Ñ0Ô0€Lð,ð ,ð ,ð ,ð ,ð7ð 7ð 7ð 7ð 7ðAð Að Að6ð 6ð 6ð
5ð 5ð 5ð9ð 9ð 9ð6ð 6ð 6ð.ð .ð .ð4ð 4ð 4ð
7ð 7ð 7ð
Bð Bð Bð
3ð 3ð 3ð:ð :ð :ð
Að Að Að
Fð Fð Fð:ð :ð :ð :ð :ð :ð :r   r   c                   óD   — e Zd ZdZeZed„ ¦   «         Zd„ Zd„ Z	d„ Z
d„ ZdS )ÚTestAtomicFileCacher   c                 ót   — t          | t          ¦  «        r|                      d¦  «        } t          j        | z   S )Nr	   )Ú
isinstanceÚbinary_typerV   r   ÚTEMPFILE_PREFIX)Úxs    r   Úprefix_safenamez#TestAtomicFileCache.prefix_safenameŽ   s3   € å�a�Ñ%Ô%ð 	"Ø—’˜Ñ!Ô!ˆAÝÔ.°Ñ2Ð2r   c                 óÄ   — |                       ¦   «         }|                      t          |j        dd¦  «         |                      d |                     d¦  «        ¦  «         d S )Nr?   r6   )r   r7   r8   r*   r    r!   r"   s     r   r@   z-TestAtomicFileCache.test_set_non_string_value”   sW   € ð
 ×$Ò$Ñ&Ô&ˆØ×Ò�) U¤Y°¸"Ñ=Ô=Ð=Ø�Š�d˜EŸIšI hÑ/Ô/Ñ0Ô0Ð0Ð0Ð0r   c                 ó€   — | j         }t          | j        |¦  «        }|                      t          |j        d¦  «         d S rH   )r_   r   r   r7   Ú
ValueErrorr!   ©r   r   r#   s      r   Útest_bad_safename_getz)TestAtomicFileCache.test_bad_safename_getŸ   s;   € ØÔ'ˆÝ ¤°Ñ9Ô9ˆØ×Ò�* e¤i°Ñ7Ô7Ð7Ð7Ð7r   c                 ó‚   — | j         }t          | j        |¦  «        }|                      t          |j        dd¦  «         d S r&   )r_   r   r   r7   rb   r*   rc   s      r   Útest_bad_safename_setz)TestAtomicFileCache.test_bad_safename_set¤   s=   € ØÔ'ˆÝ ¤°Ñ9Ô9ˆØ×Ò�* e¤i°¸ÑAÔAÐAÐAÐAr   c                 ó€   — | j         }t          | j        |¦  «        }|                      t          |j        d¦  «         d S rH   )r_   r   r   r7   rb   r0   rc   s      r   Útest_bad_safename_deletez,TestAtomicFileCache.test_bad_safename_delete©   s;   € ØÔ'ˆÝ ¤°Ñ9Ô9ˆØ×Ò�* e¤l°EÑ:Ô:Ð:Ð:Ð:r   N)rO   rP   rQ   rR   r   r   Ústaticmethodr_   r@   rd   rf   rh   © r   r   rY   rY   ‰   sx   € € € € € Ø(Ð(à(Ðàð3ð 3ñ „\ð3ð
1ð 1ð 1ð8ð 8ð 8ð
Bð Bð Bð
;ð ;ð ;ð ;ð ;r   rY   )rR   ÚtypeÚ__metaclass__r   Úsysr   ÚunittestrS   Úlazr.restfulclient._browserr   r   Úversion_inforI   Úbytesr\   ÚstrÚTestCaser   rY   rj   r   r   ú<module>rt      sè   ðð$ 'Ð &à€à €€€Ø 
€
€
€
Ø €€€Ø €€€à €€€à AÐ AÐ AÐ AÐ AÐ AÐ AÐ Aà	Ô�qÔ˜QÒ€Øð Ø€K€Kà€Kð`:ð `:ð `:ð `:ð `:˜XÔ.ñ `:ô `:ð `:ðF#;ð #;ð #;ð #;ð #;Ð0ñ #;ô #;ð #;ð #;ð #;r   