def test_attributes(self): f = AsyncIOMotorGridIn( self.db.fs, filename="test", foo="bar", content_type="text") yield from f.close() g = AsyncIOMotorGridOut(self.db.fs, f._id) attr_names = ( '_id', 'filename', 'name', 'name', 'content_type', 'length', 'chunk_size', 'upload_date', 'aliases', 'metadata', 'md5') for attr_name in attr_names: self.assertRaises(InvalidOperation, getattr, g, attr_name) yield from g.open() for attr_name in attr_names: getattr(g, attr_name)
def test_attributes(self): f = AsyncIOMotorGridIn( self.db.fs, filename="test", foo="bar", content_type="text") yield from f.close() g = AsyncIOMotorGridOut(self.db.fs, f._id) attr_names = ( '_id', 'filename', 'name', 'name', 'content_type', 'length', 'chunk_size', 'upload_date', 'aliases', 'metadata', 'md5') for attr_name in attr_names: self.assertRaises(InvalidOperation, getattr, g, attr_name) yield from g.open() for attr_name in attr_names: getattr(g, attr_name)
def test_attributes(self): f = AsyncIOMotorGridIn(self.db.fs, filename="test", foo="bar", content_type="text") yield from f.close() g = AsyncIOMotorGridOut(self.db.fs, f._id) attr_names = ( "_id", "filename", "name", "name", "content_type", "length", "chunk_size", "upload_date", "aliases", "metadata", "md5", ) for attr_name in attr_names: self.assertRaises(InvalidOperation, getattr, g, attr_name) yield from g.open() for attr_name in attr_names: getattr(g, attr_name)
def test_gridout_open_exc_info(self): g = AsyncIOMotorGridOut(self.db.fs, "_id that doesn't exist") try: yield from g.open() except NoFile: _, _, tb = sys.exc_info() # The call tree should include PyMongo code we ran on a thread. formatted = '\n'.join(traceback.format_tb(tb)) self.assertTrue('_ensure_file' in formatted)
def test_gridout_open_exc_info(self): g = AsyncIOMotorGridOut(self.db.fs, "_id that doesn't exist") try: yield from g.open() except NoFile: _, _, tb = sys.exc_info() # The call tree should include PyMongo code we ran on a thread. formatted = '\n'.join(traceback.format_tb(tb)) self.assertTrue('_ensure_file' in formatted)
def test_grid_out_file_document(self): one = AsyncIOMotorGridIn(self.db.fs) yield from one.write(b"foo bar") yield from one.close() file_document = yield from self.db.fs.files.find_one() two = AsyncIOMotorGridOut(self.db.fs, file_document=file_document) self.assertEqual(b"foo bar", (yield from two.read())) file_document = yield from self.db.fs.files.find_one() three = AsyncIOMotorGridOut(self.db.fs, 5, file_document) self.assertEqual(b"foo bar", (yield from three.read())) gridout = AsyncIOMotorGridOut(self.db.fs, file_document={}) with self.assertRaises(NoFile): yield from gridout.open()
def test_grid_out_file_document(self): one = AsyncIOMotorGridIn(self.db.fs) yield from one.write(b"foo bar") yield from one.close() file_document = yield from self.db.fs.files.find_one() two = AsyncIOMotorGridOut(self.db.fs, file_document=file_document) self.assertEqual(b"foo bar", (yield from two.read())) file_document = yield from self.db.fs.files.find_one() three = AsyncIOMotorGridOut(self.db.fs, 5, file_document) self.assertEqual(b"foo bar", (yield from three.read())) gridout = AsyncIOMotorGridOut(self.db.fs, file_document={}) with self.assertRaises(NoFile): yield from gridout.open()
def test_grid_out_default_opts(self): self.assertRaises(TypeError, AsyncIOMotorGridOut, "foo") gout = AsyncIOMotorGridOut(self.db.fs, 5) with self.assertRaises(NoFile): yield from gout.open() a = AsyncIOMotorGridIn(self.db.fs) yield from a.close() b = yield from AsyncIOMotorGridOut(self.db.fs, a._id).open() self.assertEqual(a._id, b._id) self.assertEqual(0, b.length) self.assertEqual(None, b.content_type) self.assertEqual(255 * 1024, b.chunk_size) self.assertTrue(isinstance(b.upload_date, datetime.datetime)) self.assertEqual(None, b.aliases) self.assertEqual(None, b.metadata) self.assertEqual("d41d8cd98f00b204e9800998ecf8427e", b.md5)
def test_grid_out_default_opts(self): self.assertRaises(TypeError, AsyncIOMotorGridOut, "foo") gout = AsyncIOMotorGridOut(self.db.fs, 5) with self.assertRaises(NoFile): yield from gout.open() a = AsyncIOMotorGridIn(self.db.fs) yield from a.close() b = yield from AsyncIOMotorGridOut(self.db.fs, a._id).open() self.assertEqual(a._id, b._id) self.assertEqual(0, b.length) self.assertEqual(None, b.content_type) self.assertEqual(255 * 1024, b.chunk_size) self.assertTrue(isinstance(b.upload_date, datetime.datetime)) self.assertEqual(None, b.aliases) self.assertEqual(None, b.metadata) self.assertEqual("d41d8cd98f00b204e9800998ecf8427e", b.md5)