
    j                    :    d dl mZ d dlmZmZ d	dZd	dZd	dZdS )
    )annotations)BaselinePriceCacheshould_log_errorreturnNonec                     g dfd} t          d          }|                    dd	| 
          dk    sJ |                    dd| 
          dk    sJ |                    dd| 
          dk    sJ ddgk    sJ d S )Ncoinstrr   floatc                R                         |            dt                    z   S )N      Y@)appendlen)r	   callss    tests/test_market_data_cache.pyfetcherzAtest_baseline_price_cache_reuses_value_until_ttl.<locals>.fetcher	   s&    Ts5zz!!    <   ttl_secondsBTCi  now_tsr   g     @Y@i  i%  g     Y@)r	   r
   r   r   )r   get)r   cacher   s     @r   0test_baseline_price_cache_reuses_value_until_ttlr      s    E" " " " " " 2...E99U4999UBBBB99U4999UBBBB99U4999UBBBBUEN""""""r   c                     dt          d          gdfd} t          d	          }|                    d
d|           dk    sJ |                    d
d|           dk    sJ d S )Nr   znetwork down_coinr
   r   r   c                `                         d          }t          |t                    r||S )Nr   )pop
isinstance	Exception)r   valuevaluess     r   r   zNtest_baseline_price_cache_keeps_previous_value_on_fetch_error.<locals>.fetcher   s.    

1eY'' 	Kr   
   r   ETH   r      )r   r
   r   r   )RuntimeErrorr   r   )r   r   r$   s     @r   =test_baseline_price_cache_keeps_previous_value_on_fetch_errorr*      s    \.112F      2...E99U1g966%????99U2w9775@@@@@@r   c                     i } t          dd| d          du sJ t          dd| d          du sJ t          dd| d          du sJ d S )	Nr   r   r   )r   last_loginterval_secondsTr%   F=   )r   )r,   s    r   1test_should_log_error_throttles_repeated_messagesr/   $   sy    !#HE!hQSTTTX\\\\\E"xRTUUUY^^^^^E"xRTUUUY]]]]]]]r   N)r   r   )
__future__r   market_data_cacher   r   r   r*   r/    r   r   <module>r3      s    " " " " " " B B B B B B B B# # # #A A A A^ ^ ^ ^ ^ ^r   