
 KMc           @   s   d  Z  e Z d d l Z d d l m Z m Z m Z m Z m	 Z	 m
 Z
 m Z m Z m Z m Z m Z d e f d     YZ d e j f d     YZ d S(   s(   Tests for the error_for helper function.iN(   t
   BadRequestt   ClientErrort   Conflictt	   HTTPErrort   MethodNotAllowedt   NotFoundt   PreconditionFailedt   ResponseErrort   ServerErrort   Unauthorizedt	   error_fort   DummyRequestc           B   s   e  Z d  Z d   Z RS(   s-   Just enough of a request to fool error_for().c         C   s   | |  _  d  S(   N(   t   status(   t   selfR   (    (    sG   /usr/lib/python2.7/dist-packages/lazr/restfulclient/tests/test_error.pyt   __init__   s    (   t   __name__t
   __module__t   __doc__R   (    (    (    sG   /usr/lib/python2.7/dist-packages/lazr/restfulclient/tests/test_error.pyR      s   t   TestErrorForc           B   sw   e  Z d  d  Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d	   Z d
   Z	 d   Z
 d   Z RS(   t    c         C   sg   t  |  } t | |  } | d k r: |  j | d  n) |  j t | |   |  j | | j  d S(   s9   Make sure error_for returns the right HTTPError subclass.N(   R   R
   t   Nonet   assertEqualst
   assertTruet
   isinstancet   content(   R   R   t   expected_errorR   t   requestt   error(    (    sG   /usr/lib/python2.7/dist-packages/lazr/restfulclient/tests/test_error.pyt   error_for_status%   s    c         C   s%   x d D] } |  j  | d  q Wd S(   s.   Make sure a 2xx response code yields no error.i   i   i   i+  N(   i   i   i   i+  (   R   R   (   R   R   (    (    sG   /usr/lib/python2.7/dist-packages/lazr/restfulclient/tests/test_error.pyt   test_no_error_for_2xx/   s    c         C   s%   x d D] } |  j  | d  q Wd S(   s.   Make sure a 2xx response code yields no error.i   i   i   i+  N(   i   i   i   i+  (   R   R   (   R   R   (    (    sG   /usr/lib/python2.7/dist-packages/lazr/restfulclient/tests/test_error.pyR   4   s    c         C   s%   x d D] } |  j  | d  q Wd S(   s.   Make sure a 3xx response code yields no error.i-  i.  i/  i0  i  N(   i-  i.  i/  i0  i  (   R   R   (   R   R   (    (    sG   /usr/lib/python2.7/dist-packages/lazr/restfulclient/tests/test_error.pyt   test_no_error_for_3xx9   s    c         C   s   |  j  d t d  d S(   s3   Make sure a 400 response code yields ResponseError.i  s   error messageN(   R   R   (   R   (    (    sG   /usr/lib/python2.7/dist-packages/lazr/restfulclient/tests/test_error.pyt   test_error_for_400>   s    c         C   s   |  j  d t d  d S(   s2   Make sure a 401 response code yields Unauthorized.i  s   error messageN(   R   R	   (   R   (    (    sG   /usr/lib/python2.7/dist-packages/lazr/restfulclient/tests/test_error.pyt   test_error_for_401B   s    c         C   s   |  j  d t d  d S(   s/   Make sure a 404 response code yields Not Found.i  s   error messageN(   R   R   (   R   (    (    sG   /usr/lib/python2.7/dist-packages/lazr/restfulclient/tests/test_error.pyt   test_error_for_404F   s    c         C   s   |  j  d t d  d S(   s6   Make sure a 405 response code yields MethodNotAllowed.i  s   error messageN(   R   R   (   R   (    (    sG   /usr/lib/python2.7/dist-packages/lazr/restfulclient/tests/test_error.pyR!   J   s    c         C   s   |  j  d t d  d S(   s.   Make sure a 409 response code yields Conflict.i  s   error messageN(   R   R   (   R   (    (    sG   /usr/lib/python2.7/dist-packages/lazr/restfulclient/tests/test_error.pyt   test_error_for_409N   s    c         C   s   |  j  d t d  d S(   s8   Make sure a 412 response code yields PreconditionFailed.i  s   error messageN(   R   R   (   R   (    (    sG   /usr/lib/python2.7/dist-packages/lazr/restfulclient/tests/test_error.pyt   test_error_for_412R   s    c         C   s   |  j  d t d  d S(   s?   Make sure an unrexognized 4xx response code yields ClientError.i  s   error messageN(   R   R   (   R   (    (    sG   /usr/lib/python2.7/dist-packages/lazr/restfulclient/tests/test_error.pyt   test_error_for_4xxV   s    c         C   s%   x d D] } |  j  | t  q Wd S(   s2   Make sure a 5xx response codes yields ServerError.i  i  i  iW  N(   i  i  i  iW  (   R   R   (   R   R   (    (    sG   /usr/lib/python2.7/dist-packages/lazr/restfulclient/tests/test_error.pyt   test_no_error_for_5xxZ   s    (   R   R   R   R   R   R   R    R!   R"   R#   R$   R%   (    (    (    sG   /usr/lib/python2.7/dist-packages/lazr/restfulclient/tests/test_error.pyR   #   s   
										(   R   t   typet   __metaclass__t   unittestt   lazr.restfulclient.errorsR    R   R   R   R   R   R   R   R   R	   R
   t   objectR   t   TestCaseR   (    (    (    sG   /usr/lib/python2.7/dist-packages/lazr/restfulclient/tests/test_error.pyt   <module>   s
   L