ó
º9—^c           @   s4  d  d l  Z  d  d l Z d  d l Z y d  d l j Z Wn e k
 rV d  d l Z n Xe d k rÓ e	 d k rÓ d  d l m Z m Z e j j e j e j e j e ƒ ƒ ƒ ƒ d  d l m Z d  d l m Z n  d e f d „  ƒ  YZ d „  Z d	 „  Z d
 „  Z e d „  ƒ Z e d „  ƒ Z e ƒ  e ƒ  d S(   iÿÿÿÿNt   __main__(   t   syst   path(   t   Client(   t   Configt   StaticClientc           B   s}   e  Z d  „  Z d d d d „ Z d d d d „ Z d d d d „ Z d d d d „ Z d d d d „ Z d d d d „ Z	 RS(   c         C   s   |  j  | ƒ |  S(   N(   t   _add_to_url_path(   t   selft   value(    (    s/   /tmp/pip-unpacked-wheel-vZkhRb/tests/profile.pyt   __getattr__   s    c   	         së   ˆ  j  ƒ  ‰  | rç |  j | ƒ | r4 t j | ƒ n d  } | rF | n d  } t j ƒ  } t j |  j | ƒ d | ƒ} x- |  j	 j
 ƒ  D] \ } } | j | | ƒ q† W‡  f d †  | _ | j | ƒ |  _ |  j |  j ƒ |  j ƒ  n  d  S(   Nt   datac              s   ˆ  S(   N(    (    (   t   method(    s/   /tmp/pip-unpacked-wheel-vZkhRb/tests/profile.pyt   <lambda>'   t    (   t   uppert   _set_headerst   jsont   dumpst   Nonet   urllibt   build_openert   Requestt
   _build_urlt   request_headerst	   iteritemst
   add_headert
   get_methodt   opent	   _responset   _set_responset   _reset(	   R   R   t   request_bodyt   query_paramsR   t   openert   requestt   keyR   (    (   R   s/   /tmp/pip-unpacked-wheel-vZkhRb/tests/profile.pyt   make_request   s    	c         C   s   |  j  d | | | ƒ |  S(   Nt   get(   R$   (   R   R   R    R   (    (    s/   /tmp/pip-unpacked-wheel-vZkhRb/tests/profile.pyR%   ,   s    c         C   s   |  j  d | | | ƒ |  S(   Nt   post(   R$   (   R   R   R    R   (    (    s/   /tmp/pip-unpacked-wheel-vZkhRb/tests/profile.pyR&   4   s    c         C   s   |  j  d | | | ƒ |  S(   Nt   put(   R$   (   R   R   R    R   (    (    s/   /tmp/pip-unpacked-wheel-vZkhRb/tests/profile.pyR'   <   s    c         C   s   |  j  d | | | ƒ |  S(   Nt   patch(   R$   (   R   R   R    R   (    (    s/   /tmp/pip-unpacked-wheel-vZkhRb/tests/profile.pyR(   D   s    c         C   s   |  j  d | | | ƒ |  S(   Nt   delete(   R$   (   R   R   R    R   (    (    s/   /tmp/pip-unpacked-wheel-vZkhRb/tests/profile.pyR)   L   s    N(
   t   __name__t
   __module__R	   R   R$   R%   R&   R'   R(   R)   (    (    (    s/   /tmp/pip-unpacked-wheel-vZkhRb/tests/profile.pyR      s&   	c            s   ‡  f d †  } | S(   Nc             sC   t  j  ƒ  } ˆ  |  | Ž  } t  j  ƒ  } ˆ  j d | | d f GH| S(   Nt   tookt   seconds(   t   timeR*   (   t   argst   kwargst   startt   resultt   end(   t   f(    s/   /tmp/pip-unpacked-wheel-vZkhRb/tests/profile.pyt   f_timerW   s
    (    (   R4   R5   (    (   R4   s/   /tmp/pip-unpacked-wheel-vZkhRb/tests/profile.pyt   timefuncV   s    c          c   s    x t  d ƒ D] }  |  Vq Wd  S(   Ni@KL (   t   xrange(   t   x(    (    s/   /tmp/pip-unpacked-wheel-vZkhRb/tests/profile.pyt
   get_number`   s    c         C   s:  x3| d k r5i d d 6} i d d 6} |  j  j d | d | ƒ i d d	 6} i d
 d 6} |  j  j d | d | ƒ i d d	 6} i d d 6} d } |  j  j | ƒ j d | d | ƒ i d d	 6} i d d 6} d } |  j  j | ƒ j d | d | ƒ i d d 6} d } |  j  j | ƒ j d | ƒ | d 8} q Wd  S(   Ni    iÈ   s   X-Mockid   t   limitR    R   R
   t   sampleiÉ   R   t   test_url_paramiÌ   i   (   t   api_keysR%   R&   t   _R'   R(   R)   (   t   clientt	   num_loopsR   R    R
   t   headerst
   api_key_id(    (    s/   /tmp/pip-unpacked-wheel-vZkhRb/tests/profile.pyt   run_tested_codee   s.    c          C   sŸ   d j  t j j t j j t ƒ ƒ ƒ }  t |  ƒ t j j d ƒ } i d d 6d d 6d j  | ƒ d 6} t	 d	 t j j d
 ƒ d | d d ƒ } t
 | d ƒ d  S(   Ns   {}/..t   SENDGRID_API_KEYiÈ   s   X-Mocks   application/jsons   Content-Types	   Bearer {}t   Authorizationt   hostt
   LOCAL_HOSTR   t   versioni   i
   (   t   formatt   osR   t   abspatht   dirnamet   __file__R   t   environR%   R   RC   (   t
   local_patht   api_keyR   R?   (    (    s/   /tmp/pip-unpacked-wheel-vZkhRb/tests/profile.pyt   dynamic_version„   s    '
	c          C   sŸ   d j  t j j t j j t ƒ ƒ ƒ }  t |  ƒ t j j d ƒ } i d d 6d d 6d j  | ƒ d 6} t	 d	 t j j d
 ƒ d | d d ƒ } t
 | d ƒ d  S(   Ns   {}/..RD   iÈ   s   X-Mocks   application/jsons   Content-Types	   Bearer {}RE   RF   RG   R   RH   i   i
   (   RI   RJ   R   RK   RL   RM   R   RN   R%   R   RC   (   RO   RP   R   R?   (    (    s/   /tmp/pip-unpacked-wheel-vZkhRb/tests/profile.pyt   static_version”   s    '
	(   R.   RJ   R   t   urllib.requestR"   R   t   ImportErrort   urllib2R*   t   __package__R   R   R   t   appendRL   RK   RM   t   python_http_client.clientR   t   python_http_client.configR   R   R6   R9   RC   RQ   RR   (    (    (    s/   /tmp/pip-unpacked-wheel-vZkhRb/tests/profile.pyt   <module>   s&   +C	
		