
    f                         d dl m Z  d dlZd dlZd dlmZmZmZ d dlmZm	Z	m
Z
 d dlmZmZ  G d de      Z G d d	e      Z G d
 de      Z G d dej$                        Zy)    )datetimeN)call	MagicMockpatch)newest_packageslatest_updated_packages	HTTPError)_getPackagec                       e Zd ZdZej
                  j                  ej
                  j                  e      d      Z	 e
e	      j                         Zy)GoodNewestResponse   z
newest.xmlN__name__
__module____qualname__status_codeospathjoindirname__file__xmlopenreadcontent     K/var/www/cvtools/html/venv/lib/python3.12/site-packages/tests/test_parse.pyr   r      s;    K
'',,rwwx0')C3innGr   r   c                       e Zd ZdZej
                  j                  ej
                  j                  e      d      Z	 e
e	      j                         Zy)GoodUpdatedResponser   zupdated.xmlNr   r   r   r   r!   r!      s;    K
'',,rwwx0(*C3innGr   r!   c                       e Zd ZdZdZy)BadResponse,  MockedN)r   r   r   r   reasonr   r   r   r#   r#      s    KFr   r#   c                   >   e Zd Zd Zd Zd Z ede      d        Z ede      d        Z	 ede
      d        Z ede
      d	        Z ede
      d
        Z ede
      d        Z ede      d        Z ede      d        Z ede      d        Zy)	TestParsec                 X    | j                         | _        | j                         | _        y )N)setup_newestnewestsetup_updatedupdated)selfs    r   setUpzTestParse.setUp    s"    '')))+r   c                 l    ddddd}dddd	d}d
dddd}t        |      t        |      t        |      gS )Ngobble"http://pypi.python.org/pypi/gobble*Automatic functional testing for CLI apps.09 Aug 2014 06:57:42 GMT)nameurldescriptiondateflask_autorestz*http://pypi.python.org/pypi/flask_autorestz@auto create restful apis for database, with the help of dataset.z09 Aug 2014 05:24:58 GMTranrodz"http://pypi.python.org/pypi/ranrodz1download route53 hosted zones as local json filesz09 Aug 2014 05:20:21 GMTr   r.   item1item2item3s       r   r*   zTestParse.setup_newest$   sZ    !< L35 *D b35 "< S35 ??r   c                 r    dddddd}ddd	d
dd}dddddd}t        |      t        |      t        |      gS )Npycoin0.50'http://pypi.python.org/pypi/pycoin/0.50IUtilities for Bitcoin and altcoin addresses and transaction manipulation.09 Aug 2014 08:40:20 GMT)r5   versionr6   r7   r8   zdjango-signupz0.6.0z/http://pypi.python.org/pypi/django-signup/0.6.0zFA user registration app for Django with support for custom user modelsz09 Aug 2014 08:33:53 GMTpyADCz0.1.3z'http://pypi.python.org/pypi/pyADC/0.1.3z@Python implementation of the ADC(S) Protocol for Direct Connect.z09 Aug 2014 08:19:56 GMTr;   r<   s       r   r,   zTestParse.setup_updated3   sc    !"A k3	5
 )#I h3	5
 !#A b3	5
 ??r   zrequests.get)return_valuec                    	 t                y # t        $ rr}| j                  d|j                         | j                  |j                  |j                         | j                  |j
                  |j                         Y d }~y d }~ww xY wNr$   )r   r	   assertEqualr   errnor&   messager.   get_mockes      r   test_newest_packages_bad_getz&TestParse.test_newest_packages_bad_getE   sd    	2 	2S!--0Q]]AGG4QXXqyy11	2   
 	BA(BBc                    	 t                y # t        $ rr}| j                  d|j                         | j                  |j                  |j                         | j                  |j
                  |j                         Y d }~y d }~ww xY wrJ   )r   r	   rK   r   rL   r&   rM   rN   s      r   test_updated_packages_bad_getz'TestParse.test_updated_packages_bad_getO   sd    	2#% 	2S!--0Q]]AGG4QXXqyy11	2rR   c                    t               }| j                  t        d      |j                         | j                  | j                  d   j
                  |d   j
                         | j                  | j                  d   j
                  |d   j
                         | j                  | j                  d   j
                  |d   j
                         y )N3https://pypi.python.org/pypi?%3Aaction=packages_rssr         )r   rK   r   	call_argsr+   r5   r.   rO   ps      r   test_newest_packageszTestParse.test_newest_packagesY   s    ST!++	-Q,,adii8Q,,adii8Q,,adii8r   c                    t               }| j                  t        d      |j                         | j                  d|d   j                         | j                  d|d   j
                         | j                  d|d   j                         | j                  t        j                  dd      |d   j                         y )NrV   r1   r   r2   r3   r4   %d %b %Y %H:%M:%S %Z)
r   rK   r   rY   r5   r6   r7   r   strptimer8   rZ   s      r   test_newest_packagezTestParse.test_newest_packageb   s    ST!++	-1Q499-=qtxxHE1))	+**+E+AC1	$r   c                     t               }| j                  t        d      |j                         | j                  d|d   j	                                y )NrV   z<Package gobble>r   )r   rK   r   rY   __repr__rZ   s      r   test_newest_package_reprz"TestParse.test_newest_package_repro   sD    ST!++	-+QqT]]_=r   c                     t               }| j                  t        d      |j                         | j                  d |d   j                         y )NrV   r   )r   rK   r   rY   rF   rZ   s      r   test_newest_package_versionz%TestParse.test_newest_package_versionv   sA    ST!++	-qt||,r   c                    t               }| j                  t        d      |j                         | j                  | j                  d   j
                  |d   j
                         | j                  | j                  d   j                  |d   j                         | j                  | j                  d   j
                  |d   j
                         | j                  | j                  d   j                  |d   j                         | j                  | j                  d   j
                  |d   j
                         | j                  | j                  d   j                  |d   j                         y )N*https://pypi.python.org/pypi?%3Aaction=rssr   rW   rX   )r   rK   r   rY   r-   r5   rF   rZ   s      r   test_updated_packageszTestParse.test_updated_packages}   s   #%JK!++	-a--qtyy9a00!A$,,?a--qtyy9a00!A$,,?a--qtyy9a00!A$,,?r   c                    t               }| j                  t        d      |j                         | j                  d|d   j                         | j                  d|d   j
                         | j                  d|d   j                         | j                  d|d   j                         | j                  t        j                  dd      |d   j                         y )	Nrg   rA   r   rB   rC   rD   rE   r^   )r   rK   r   rY   r5   rF   r6   r7   r   r_   r8   rZ   s      r   test_updated_packagezTestParse.test_updated_package   s    #%JK!++	-1Q499-1.BAaDHHMd1))	+**+E+AC1	$r   c                     t               }| j                  t        d      |j                         | j                  d|d   j	                                y )Nrg   z<Package pycoin>r   )r   rK   r   rY   rb   rZ   s      r   test_updated_package_reprz#TestParse.test_updated_package_repr   sD    #%JK!++	-+QqT]]_=r   N)r   r   r   r/   r*   r,   r   r#   rQ   rT   r   r\   r`   rc   re   r!   rh   rj   rl   r   r   r   r(   r(      s   ,@@$ >42 52 >42 52 >(:;9 <9 >(:;
$ <
$ >(:;> <> >(:;- <- >(;<	@ =	@ >(;<$ =$ >(;<> =>r   r(   )r   r   unittestmockr   r   r   yargr   r   r	   
yarg.parser
   r   objectr   r!   r#   TestCaser(   r   r   r   <module>rs      sU     	  ' ' D D $ & & 
~>!! ~>r   