Refactor tests, add additional tests
authorPaul Nasrat <pnasrat@redhat.com>
Thu, 20 Jul 2006 20:34:46 +0000 (20:34 +0000)
committerPaul Nasrat <pnasrat@redhat.com>
Thu, 20 Jul 2006 20:34:46 +0000 (20:34 +0000)
test/testMetaDataGenerator.py

index 1bcc1f7ec7a8a68183d61fd38fb9cae5bbaf45c7..85ff375c7aefdecefec8ef49e5f4fd552c8f94b4 100644 (file)
@@ -17,27 +17,60 @@ class MetaDataGeneratorTestCase(unittest.TestCase):
         self.mdgen = MetaDataGenerator({})
         self.basepath = os.path.dirname(self.tempdir)
         self.directory = os.path.basename(self.tempdir)
+        self.files = {}
+
+    def __addFile(self, dir, ext):
+        f = tempfile.NamedTemporaryFile(suffix=ext, dir=dir)
+        self.files[f.name] = f
 
     def tearDown(self):
         self.mdgen = None
+        for fname, fobj in self.files.items():
+            fobj.close()
+            del(self.files[fname])
         if self.tempdir:
             shutil.rmtree(self.tempdir)
-        self.tempdir = None
 
     def testEmptyFileList(self):
+        """Test when target directory empty of files"""
         results = self.mdgen.getFileList(self.basepath, self.directory, ".test")
         self.assertEquals(results, [], msg="Expected no files")
 
-    def testSingleFile(self):
-        f = tempfile.NamedTemporaryFile(suffix=".test", dir=self.tempdir)
+    def testSingleMatchingFile(self):
+        """Test single file matching extension"""
+        self.__addFile(self.tempdir, ".test")
         results = self.mdgen.getFileList(self.basepath, self.directory, ".test")
         self.assertEquals(len(results), 1, msg="Expected one file")
-        f.close()
+
+    def testSingleNonMatchingFile(self):
+        """Test single file not matching extension"""
+        self.__addFile(self.tempdir, ".notme")
+        results = self.mdgen.getFileList(self.basepath, self.directory, ".test")
+        self.assertEquals(results, [], msg="Expected no matching files")
+
+    def testReturnMatchedDirectory(self):
+        """Test matching file referenced by directory passed in"""
+        self.__addFile(self.tempdir, ".test")
+        results = self.mdgen.getFileList(self.basepath, self.directory, ".test")
+        filedir = os.path.dirname(results[0])
+        self.assertEquals(filedir, self.directory, msg="Returned directory "
+                          "should be passed in directory")
+
+    def testMultipleMixedFiles(self):
+        """Test right number of files returned with both matches and non"""
+        self.__addFile(self.tempdir, ".test")
+        self.__addFile(self.tempdir, ".test")
+        self.__addFile(self.tempdir, ".notme")
+        results = self.mdgen.getFileList(self.basepath, self.directory, ".test")
+        self.assertEquals(len(results), 2, msg="Expected one file")
 
 def suite():
     suite = unittest.TestSuite()
     suite.addTest(MetaDataGeneratorTestCase("testEmptyFileList"))
-    suite.addTest(MetaDataGeneratorTestCase("testSingleFile"))
+    suite.addTest(MetaDataGeneratorTestCase("testSingleMatchingFile"))
+    suite.addTest(MetaDataGeneratorTestCase("testSingleNonMatchingFile"))
+    suite.addTest(MetaDataGeneratorTestCase("testReturnMatchedDirectory"))
+    suite.addTest(MetaDataGeneratorTestCase("testMultipleMixedFiles"))
     return suite
 
 if __name__ == "__main__":