Exemplo n.º 1
0
    def test_tell(self):
        self.db.fs.files.remove({})
        self.db.fs.chunks.remove({})

        file = GridFile({"filename": "test", "chunkSize": 3}, self.db, "w")
        file.write("hello world")
        self.assertRaises(ValueError, file.tell)
        file.close()

        file = GridFile({"filename": "test"}, self.db, "r")
        self.assertEqual(file.tell(), 0)
        file.read(0)
        self.assertEqual(file.tell(), 0)
        file.read(1)
        self.assertEqual(file.tell(), 1)
        file.read(2)
        self.assertEqual(file.tell(), 3)
        file.read()
        self.assertEqual(file.tell(), file.length)

        file.close()
Exemplo n.º 2
0
        def helper(data):
            filename = qcheck.gen_printable_string(qcheck.lift(20))()

            f = GridFile({"filename": filename, "chunkSize": 1}, self.db, "w")
            f.write(data)
            f.close()

            self.files += 1
            self.chunks += len(data)

            self.assertEqual(self.db.fs.files.find().count(), self.files)
            self.assertEqual(self.db.fs.chunks.find().count(), self.chunks)

            f = GridFile({"filename": filename}, self.db)
            self.assertEqual(f.read(), data)
            f.close()

            f = GridFile({"filename": filename}, self.db)
            self.assertEqual(f.read(10) + f.read(10), data)
            f.close()
            return True
Exemplo n.º 3
0
    def test_alternate_collection(self):
        self.db.pymongo_test.files.remove({})
        self.db.pymongo_test.chunks.remove({})

        self.assertEqual(self.db.pymongo_test.files.find().count(), 0)
        self.assertEqual(self.db.pymongo_test.chunks.find().count(), 0)
        file = GridFile({"filename": "test"}, self.db, "w",
                        collection="pymongo_test")
        file.write("hello world")
        file.close()

        self.assertEqual(self.db.pymongo_test.files.find().count(), 1)
        self.assertEqual(self.db.pymongo_test.chunks.find().count(), 1)

        file = GridFile({"filename": "test"}, self.db,
                        collection="pymongo_test")
        self.assertEqual(file.read(), "hello world")
        file.close()

        # test that md5 still works...
        self.assertEqual(file.md5, "5eb63bbbe01eeed093cb22bb8f5acdc3")

        # make sure it's still there...
        file = GridFile({"filename": "test"}, self.db,
                        collection="pymongo_test")
        self.assertEqual(file.read(), "hello world")
        file.close()

        file = GridFile({"filename": "test"}, self.db, "w",
                        collection="pymongo_test")
        file.close()

        self.assertEqual(self.db.pymongo_test.files.find().count(), 1)
        self.assertEqual(self.db.pymongo_test.chunks.find().count(), 0)

        file = GridFile({"filename": "test"}, self.db,
                        collection="pymongo_test")
        self.assertEqual(file.read(), "")
        file.close()
Exemplo n.º 4
0
 def test_spec_with_id(self):
     # This was raising a TypeError at one point - make sure it doesn't
     file = GridFile({"_id": "foobar", "filename": "foobar"}, self.db, "w")
     file.close()