| 
									
										
										
										
											2003-05-13 06:42:59 +00:00
										 |  |  | """Tests for the bsddb185 module.
 | 
					
						
							| 
									
										
										
										
											2003-05-06 20:36:57 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2003-05-13 06:42:59 +00:00
										 |  |  | The file 185test.db found in Lib/test/ is for testing purposes with this | 
					
						
							|  |  |  | testing suite. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | """
 | 
					
						
							| 
									
										
										
										
											2003-05-06 20:36:57 +00:00
										 |  |  | from test.test_support import verbose, run_unittest, findfile | 
					
						
							|  |  |  | import unittest | 
					
						
							|  |  |  | import bsddb185 | 
					
						
							|  |  |  | import anydbm | 
					
						
							|  |  |  | import whichdb | 
					
						
							|  |  |  | import os | 
					
						
							|  |  |  | import tempfile | 
					
						
							| 
									
										
										
										
											2003-05-17 02:54:11 +00:00
										 |  |  | import shutil | 
					
						
							| 
									
										
										
										
											2003-05-06 20:36:57 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | class Bsddb185Tests(unittest.TestCase): | 
					
						
							| 
									
										
										
										
											2003-05-13 06:42:59 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2003-05-06 20:36:57 +00:00
										 |  |  |     def test_open_existing_hash(self): | 
					
						
							| 
									
										
										
										
											2003-05-13 06:42:59 +00:00
										 |  |  |         # Verify we can open a file known to be a hash v2 file | 
					
						
							| 
									
										
										
										
											2003-05-06 20:36:57 +00:00
										 |  |  |         db = bsddb185.hashopen(findfile("185test.db")) | 
					
						
							|  |  |  |         self.assertEqual(db["1"], "1") | 
					
						
							|  |  |  |         db.close() | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def test_whichdb(self): | 
					
						
							| 
									
										
										
										
											2003-05-13 06:42:59 +00:00
										 |  |  |         # Verify that whichdb correctly sniffs the known hash v2 file | 
					
						
							| 
									
										
										
										
											2003-05-06 20:36:57 +00:00
										 |  |  |         self.assertEqual(whichdb.whichdb(findfile("185test.db")), "bsddb185") | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def test_anydbm_create(self): | 
					
						
							| 
									
										
										
										
											2003-05-13 06:42:59 +00:00
										 |  |  |         # Verify that anydbm.open does *not* create a bsddb185 file | 
					
						
							| 
									
										
										
										
											2003-05-06 20:36:57 +00:00
										 |  |  |         tmpdir = tempfile.mkdtemp() | 
					
						
							|  |  |  |         try: | 
					
						
							| 
									
										
										
										
											2003-05-17 02:54:11 +00:00
										 |  |  |             dbfile = os.path.join(tmpdir, "foo.db") | 
					
						
							|  |  |  |             anydbm.open(dbfile, "c").close() | 
					
						
							|  |  |  |             ftype = whichdb.whichdb(dbfile) | 
					
						
							|  |  |  |             self.assertNotEqual(ftype, "bsddb185") | 
					
						
							| 
									
										
										
										
											2003-05-06 20:36:57 +00:00
										 |  |  |         finally: | 
					
						
							| 
									
										
										
										
											2003-05-17 02:54:11 +00:00
										 |  |  |             shutil.rmtree(tmpdir) | 
					
						
							| 
									
										
										
										
											2003-05-06 20:36:57 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | def test_main(): | 
					
						
							|  |  |  |     run_unittest(Bsddb185Tests) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if __name__ == "__main__": | 
					
						
							|  |  |  |     test_main() |