From 82b105c481e4dee12e3d94ab51e6bb8c18410bde Mon Sep 17 00:00:00 2001 From: Mike Dirolf Date: Mon, 26 Jan 2009 17:02:15 -0500 Subject: [PATCH] more tests --- gridfs/grid_file.py | 2 ++ test/test_grid_file.py | 31 ++++++++++++++++++++++++++++++- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/gridfs/grid_file.py b/gridfs/grid_file.py index 8cdbef497..07d5c5e80 100644 --- a/gridfs/grid_file.py +++ b/gridfs/grid_file.py @@ -68,6 +68,8 @@ class GridFile(object): raise TypeError("database must be an instance of database") if not isinstance(collection, types.StringTypes): raise TypeError("collection must be an instance of (str, unicode)") + if not isinstance(mode, types.StringTypes): + raise TypeError("mode must be an instance of (str, unicode)") if mode not in ("r", "w"): raise ValueError("mode must be one of ('r', 'w')") diff --git a/test/test_grid_file.py b/test/test_grid_file.py index 292d45511..f4823d7de 100644 --- a/test/test_grid_file.py +++ b/test/test_grid_file.py @@ -25,16 +25,45 @@ class TestGridFile(unittest.TestCase): def setUp(self): self.db = get_connection().test - def test_write_then_read(self): + def test_basic(self): self.db._files.remove({}) + self.db._chunks.remove({}) + self.assertEqual(self.db._files.find().count(), 0) + self.assertEqual(self.db._chunks.find().count(), 0) file = GridFile({"filename": "test"}, self.db, "w") file.write("hello world") file.close() + self.assertEqual(self.db._files.find().count(), 1) + self.assertEqual(self.db._chunks.find().count(), 1) file = GridFile({"filename": "test"}, self.db) self.assertEqual(file.read(), "hello world") file.close() + def test_create_grid_file(self): + self.assertRaises(TypeError, GridFile, "hello", self.db) + self.assertRaises(TypeError, GridFile, None, self.db) + self.assertRaises(TypeError, GridFile, 5, self.db) + + self.assertRaises(TypeError, GridFile, {}, "hello") + self.assertRaises(TypeError, GridFile, {}, None) + self.assertRaises(TypeError, GridFile, {}, 5) + self.assertTrue(GridFile({}, self.db)) + + self.assertRaises(TypeError, GridFile, {}, self.db, None) + self.assertRaises(TypeError, GridFile, {}, self.db, 5) + self.assertRaises(TypeError, GridFile, {}, self.db, []) + self.assertRaises(ValueError, GridFile, {}, self.db, "m") + self.assertRaises(ValueError, GridFile, {}, self.db, u"m") + self.assertTrue(GridFile({}, self.db, "r")) + self.assertTrue(GridFile({}, self.db, u"r")) + self.assertTrue(GridFile({}, self.db, "w")) + self.assertTrue(GridFile({}, self.db, u"w")) + + self.assertRaises(TypeError, GridFile, {}, self.db, "r", None) + self.assertRaises(TypeError, GridFile, {}, self.db, "r", 5) + self.assertRaises(TypeError, GridFile, {}, self.db, "r", []) + if __name__ == "__main__": unittest.main()