def test_non_seekable(self): url = "https://github.com/kennethreitz/requests/archive/v2.8.1.zip" f = SeekableHTTPFile(url, debug=True) self.assertEqual(f.name, "requests-2.8.1.zip") self.assertFalse(f.seekable()) with self.assertRaises(OSError): f.seek(5)
def test_text_file(self): url = "https://docs.python.org/3/library/io.html#module-io" name = "text.htm" f = SeekableHTTPFile(url, name, debug=True) f.seek(-200, io.SEEK_END) pos = f.tell() self.assertEqual(pos, f.content_length - 200) text = f.read(50) self.assertIsInstance(text, bytes) self.assertEqual(len(text), 50) self.assertEqual(name, f.name)