o
    DDi
                     @   s   U d dl Z d dlmZ d dlmZmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZ eeejjj Zeed< G d	d
 d
eZdS )    N)Path)Mockpatch)FullRepoManager)_test_simple_class_helper)TypeInferenceProvider)UnitTestREPO_ROOT_DIRc                   @   s   e Zd ZeeddeddfddZeeddeddfddZeeddeddfdd	Z	eeddeddfd
dZ
dS )FullRepoManagerTest	gen_cachereturnNc                 C   sB   d}|dg ii|_ tt|gtg}||}| |ti  d S )Ntests/pyre/simple_class.pytypes)return_valuer   r	   r   get_metadata_wrapper_for_pathassertEqualresolve)selfr   pathmanagerwrapper r   e/var/www/Datamplify/venv/lib/python3.10/site-packages/libcst/metadata/tests/test_full_repo_manager.py*test_get_metadata_wrapper_with_empty_cache   s
   
z>FullRepoManagerTest.test_get_metadata_wrapper_with_empty_cachec                 C   sX   d}| d}|t tt| d  i|_tt|gtg}||}t	| | d S Nztests/pyre/simple_classz.pyz.json)
jsonloadsr   r	   	read_textr   r   r   r   r   )r   r   path_prefixr   r   r   r   r   r   ,test_get_metadata_wrapper_with_patched_cache   s   

z@FullRepoManagerTest.test_get_metadata_wrapper_with_patched_cachec                 C   s^   d}|dg ii|_ ttdgtg}| td || W d    d S 1 s(w   Y  d S )Nr   r   zinvalid_path.pyziThe path needs to be in paths parameter when constructing FullRepoManager for efficient batch processing.)r   r   r	   r   assertRaisesRegex	Exceptionr   )r   r   r   r   r   r   r   +test_get_metadata_wrapper_with_invalid_path&   s   
"z?FullRepoManagerTest.test_get_metadata_wrapper_with_invalid_pathc                 C   s\   d}| d}|t tt| d  i}||_tt|tg}|j}| 	|t|i d S r   )
r   r   r   r	   r   r   r   r   cacher   )r   r   r   r   
mock_cacher   r#   r   r   r   test_get_full_repo_cache3   s   
z,FullRepoManagerTest.test_get_full_repo_cache)__name__
__module____qualname__r   objectr   r   r   r   r"   r%   r   r   r   r   r
      s    




r
   )r   pathlibr   unittest.mockr   r   !libcst.metadata.full_repo_managerr   2libcst.metadata.tests.test_type_inference_providerr   'libcst.metadata.type_inference_providerr   libcst.testing.utilsr   str__file__parentr   r	   __annotations__r
   r   r   r   r   <module>   s   
