reads on non-matching file specifiers raise IOError
This commit is contained in:
parent
b28d20f8b1
commit
0d4f6acde1
@ -79,6 +79,8 @@ class GridFile(object):
|
||||
if file:
|
||||
self.__id = file["_id"]
|
||||
else:
|
||||
if mode == "r":
|
||||
raise IOError("No such file: %r" % file_spec)
|
||||
file_spec["length"] = 0
|
||||
file_spec["uploadDate"] = datetime.datetime.now()
|
||||
file_spec.setdefault("chunkSize", 256000)
|
||||
|
||||
@ -58,6 +58,13 @@ class TestGridFile(unittest.TestCase):
|
||||
file.close()
|
||||
|
||||
def test_create_grid_file(self):
|
||||
self.db._files.remove({})
|
||||
self.db._chunks.remove({})
|
||||
|
||||
# just write a blank file so that reads on {} don't fail
|
||||
file = GridFile({"filename": "test"}, self.db, "w")
|
||||
file.close()
|
||||
|
||||
self.assertRaises(TypeError, GridFile, "hello", self.db)
|
||||
self.assertRaises(TypeError, GridFile, None, self.db)
|
||||
self.assertRaises(TypeError, GridFile, 5, self.db)
|
||||
@ -81,5 +88,8 @@ class TestGridFile(unittest.TestCase):
|
||||
self.assertRaises(TypeError, GridFile, {}, self.db, "r", 5)
|
||||
self.assertRaises(TypeError, GridFile, {}, self.db, "r", [])
|
||||
|
||||
self.assertRaises(IOError, GridFile, {"filename": "mike"}, self.db)
|
||||
self.assertTrue(GridFile({"filename": "test"}, self.db))
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
||||
Loading…
Reference in New Issue
Block a user