def test_bad_args(self) -> None: with self.assertRaises(NotImplementedError): PathManager.copy(self._remote_uri, self._remote_uri, foo="foo") # type: ignore with self.assertRaises(NotImplementedError): PathManager.exists(self._remote_uri, foo="foo") # type: ignore with self.assertRaises(ValueError): PathManager.get_local_path(self._remote_uri, foo="foo") # type: ignore with self.assertRaises(NotImplementedError): PathManager.isdir(self._remote_uri, foo="foo") # type: ignore with self.assertRaises(NotImplementedError): PathManager.isfile(self._remote_uri, foo="foo") # type: ignore with self.assertRaises(NotImplementedError): PathManager.ls(self._remote_uri, foo="foo") # type: ignore with self.assertRaises(NotImplementedError): PathManager.mkdirs(self._remote_uri, foo="foo") # type: ignore with self.assertRaises(ValueError): PathManager.open(self._remote_uri, foo="foo") # type: ignore with self.assertRaises(NotImplementedError): PathManager.rm(self._remote_uri, foo="foo") # type: ignore PathManager.set_strict_kwargs_checking(False) PathManager.get_local_path(self._remote_uri, foo="foo") # type: ignore f = PathManager.open(self._remote_uri, foo="foo") # type: ignore f.close() PathManager.set_strict_kwargs_checking(True)
def test_symlink(self) -> None: _symlink = self._tmpfile + "_symlink" # pyre-ignore assert PathManager.symlink(self._tmpfile, _symlink) # pyre-ignore with PathManager.open(_symlink) as f: self.assertEqual(f.read(), self._tmpfile_contents) assert os.readlink(_symlink) == self._tmpfile os.remove(_symlink)
def test_copy(self) -> None: _tmpfile_2 = self._tmpfile + "2" # pyre-ignore _tmpfile_2_contents = "something else" with open(_tmpfile_2, "w") as f: f.write(_tmpfile_2_contents) f.flush() # pyre-ignore assert PathManager.copy(self._tmpfile, _tmpfile_2, True) with PathManager.open(_tmpfile_2, "r") as f: self.assertEqual(f.read(), self._tmpfile_contents)
def test_open_args(self) -> None: PathManager.set_strict_kwargs_checking(True) f = PathManager.open( self._tmpfile, # type: ignore mode="r", buffering=1, encoding="UTF-8", errors="ignore", newline=None, closefd=True, opener=None, ) f.close()
def test_bad_args(self) -> None: # TODO (T58240718): Replace with dynamic checks with self.assertRaises(ValueError): PathManager.copy(self._tmpfile, self._tmpfile, foo="foo") # type: ignore with self.assertRaises(ValueError): PathManager.exists(self._tmpfile, foo="foo") # type: ignore with self.assertRaises(ValueError): PathManager.get_local_path(self._tmpfile, foo="foo") # type: ignore with self.assertRaises(ValueError): PathManager.isdir(self._tmpfile, foo="foo") # type: ignore with self.assertRaises(ValueError): PathManager.isfile(self._tmpfile, foo="foo") # type: ignore with self.assertRaises(ValueError): PathManager.ls(self._tmpfile, foo="foo") # type: ignore with self.assertRaises(ValueError): PathManager.mkdirs(self._tmpfile, foo="foo") # type: ignore with self.assertRaises(ValueError): PathManager.open(self._tmpfile, foo="foo") # type: ignore with self.assertRaises(ValueError): PathManager.rm(self._tmpfile, foo="foo") # type: ignore PathManager.set_strict_kwargs_checking(False) PathManager.copy(self._tmpfile, self._tmpfile, foo="foo") # type: ignore PathManager.exists(self._tmpfile, foo="foo") # type: ignore PathManager.get_local_path(self._tmpfile, foo="foo") # type: ignore PathManager.isdir(self._tmpfile, foo="foo") # type: ignore PathManager.isfile(self._tmpfile, foo="foo") # type: ignore PathManager.ls(self._tmpdir, foo="foo") # type: ignore PathManager.mkdirs(self._tmpdir, foo="foo") # type: ignore f = PathManager.open(self._tmpfile, foo="foo") # type: ignore f.close() # pyre-ignore with open(os.path.join(self._tmpdir, "test_rm.txt"), "w") as f: rm_file = f.name f.write(self._tmpfile_contents) f.flush() PathManager.rm(rm_file, foo="foo") # type: ignore
def test_open(self) -> None: # pyre-ignore with PathManager.open(self._tmpfile, "r") as f: self.assertEqual(f.read(), self._tmpfile_contents)
def test_open_writes(self) -> None: # HTTPURLHandler does not support writing, only reading. with self.assertRaises(AssertionError): with PathManager.open(self._remote_uri, "w") as f: f.write("foobar") # pyre-ignore
def test_open(self) -> None: with self._patch_download(): with PathManager.open(self._remote_uri, "rb") as f: self.assertTrue(os.path.exists(f.name)) self.assertTrue(os.path.isfile(f.name)) self.assertTrue(f.read() != "")