def test_write_file_like(self): one = AsyncIOMotorGridIn(self.db.fs) yield from one.write(b"hello world") yield from one.close() two = AsyncIOMotorGridOut(self.db.fs, one._id) three = AsyncIOMotorGridIn(self.db.fs) yield from three.write(two) yield from three.close() four = AsyncIOMotorGridOut(self.db.fs, three._id) self.assertEqual(b"hello world", (yield from four.read()))
def test_grid_out_custom_opts(self): one = AsyncIOMotorGridIn(self.db.fs, _id=5, filename="my_file", contentType="text/html", chunkSize=1000, aliases=["foo"], metadata={ "foo": 1, "bar": 2 }, bar=3, baz="hello") yield from one.write(b"hello world") yield from one.close() two = yield from AsyncIOMotorGridOut(self.db.fs, 5).open() self.assertEqual(5, two._id) self.assertEqual(11, two.length) self.assertEqual("text/html", two.content_type) self.assertEqual(1000, two.chunk_size) self.assertTrue(isinstance(two.upload_date, datetime.datetime)) self.assertEqual(["foo"], two.aliases) self.assertEqual({"foo": 1, "bar": 2}, two.metadata) self.assertEqual(3, two.bar) self.assertEqual("5eb63bbbe01eeed093cb22bb8f5acdc3", two.md5)
def test_grid_out_custom_opts(self): one = AsyncIOMotorGridIn( self.db.fs, _id=5, filename="my_file", contentType="text/html", chunkSize=1000, aliases=["foo"], metadata={"foo": 1, "bar": 2}, bar=3, baz="hello", ) yield from one.write(b"hello world") yield from one.close() two = yield from AsyncIOMotorGridOut(self.db.fs, 5).open() self.assertEqual(5, two._id) self.assertEqual(11, two.length) self.assertEqual("text/html", two.content_type) self.assertEqual(1000, two.chunk_size) self.assertTrue(isinstance(two.upload_date, datetime.datetime)) self.assertEqual(["foo"], two.aliases) self.assertEqual({"foo": 1, "bar": 2}, two.metadata) self.assertEqual(3, two.bar) self.assertEqual("5eb63bbbe01eeed093cb22bb8f5acdc3", two.md5)
def test_alternate_collection(self): yield from self.db.alt.files.remove() yield from self.db.alt.chunks.remove() f = AsyncIOMotorGridIn(self.db.alt) yield from f.write(b"hello world") yield from f.close() self.assertEqual(1, (yield from self.db.alt.files.find().count())) self.assertEqual(1, (yield from self.db.alt.chunks.find().count())) g = AsyncIOMotorGridOut(self.db.alt, f._id) self.assertEqual(b"hello world", (yield from g.read())) # test that md5 still works... self.assertEqual("5eb63bbbe01eeed093cb22bb8f5acdc3", g.md5)
def test_alternate_collection(self): yield from self.db.alt.files.delete_many({}) yield from self.db.alt.chunks.delete_many({}) f = AsyncIOMotorGridIn(self.db.alt) yield from f.write(b"hello world") yield from f.close() self.assertEqual(1, (yield from self.db.alt.files.find().count())) self.assertEqual(1, (yield from self.db.alt.chunks.find().count())) g = AsyncIOMotorGridOut(self.db.alt, f._id) self.assertEqual(b"hello world", (yield from g.read())) # test that md5 still works... self.assertEqual("5eb63bbbe01eeed093cb22bb8f5acdc3", g.md5)
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()