Пример #1
0
 def test_get_metadata_wrapper_with_empty_cache(self,
                                                gen_cache: Mock) -> None:
     path = "tests/pyre/simple_class.py"
     gen_cache.return_value = {path: {"types": []}}
     manager = FullRepoManager(REPO_ROOT_DIR, [path],
                               [TypeInferenceProvider])
     wrapper = manager.get_metadata_wrapper_for_path(path)
     self.assertEqual(wrapper.resolve(TypeInferenceProvider), {})
Пример #2
0
 def test_get_metadata_wrapper_with_invalid_path(self,
                                                 gen_cache: Mock) -> None:
     path = "tests/pyre/simple_class.py"
     gen_cache.return_value = {path: {"types": []}}
     manager = FullRepoManager(REPO_ROOT_DIR, ["invalid_path.py"],
                               [TypeInferenceProvider])
     with self.assertRaisesRegex(
             Exception,
             "The path needs to be in paths parameter when constructing FullRepoManager for efficient batch processing.",
     ):
         manager.get_metadata_wrapper_for_path(path)
Пример #3
0
 def test_with_full_repo_manager(self) -> None:
     with TemporaryDirectory() as dir:
         fname = "pkg/mod.py"
         (Path(dir) / "pkg").mkdir()
         (Path(dir) / fname).touch()
         mgr = FullRepoManager(dir, [fname], [FullyQualifiedNameProvider])
         wrapper = mgr.get_metadata_wrapper_for_path(fname)
         fqnames = wrapper.resolve(FullyQualifiedNameProvider)
         (mod, names) = next(iter(fqnames.items()))
         self.assertIsInstance(mod, cst.Module)
         self.assertEqual(names, {
             QualifiedName(name="pkg.mod", source=QualifiedNameSource.LOCAL)
         })
Пример #4
0
 def test_get_metadata_wrapper_with_patched_cache(self,
                                                  gen_cache: Mock) -> None:
     path_prefix = "tests/pyre/simple_class"
     path = f"{path_prefix}.py"
     gen_cache.return_value = {
         path:
         json.loads(
             (Path(REPO_ROOT_DIR) / f"{path_prefix}.json").read_text())
     }
     manager = FullRepoManager(REPO_ROOT_DIR, [path],
                               [TypeInferenceProvider])
     wrapper = manager.get_metadata_wrapper_for_path(path)
     _test_simple_class_helper(self, wrapper)
Пример #5
0
 def test_get_full_repo_cache(self, gen_cache: Mock) -> None:
     path_prefix = "tests/pyre/simple_class"
     path = f"{path_prefix}.py"
     mock_cache = {
         path:
         json.loads(
             (Path(REPO_ROOT_DIR) / f"{path_prefix}.json").read_text())
     }
     gen_cache.return_value = mock_cache
     manager = FullRepoManager(REPO_ROOT_DIR, path, [TypeInferenceProvider])
     cache = manager.cache
     self.assertEqual(cache, {TypeInferenceProvider: mock_cache})