Exemple #1
0
 def testChmodDir(self):
     """
     Test that the chmod task works properly on a directory.
     """
     crawler = FsCrawler.createFromPath(self.__dir)
     fileCrawler = FsCrawler.createFromPath(self.__path)
     chmodTask = Task.create('chmod')
     chmodTask.add(crawler, self.__dir)
     chmodTask.add(fileCrawler, self.__dir)
     dirPerm = "775"
     filePerm = "664"
     chmodTask.setOption('directoryMode', dirPerm)
     chmodTask.setOption('fileMode', filePerm)
     result = chmodTask.output()
     self.assertEqual(len(result), 1)
     self.assertEqual(self.__getPermission(self.__dir), dirPerm)
     self.assertEqual(self.__getPermission(self.__path), filePerm)
Exemple #2
0
 def testTemplate(self):
     """
     Test that the Template works properly.
     """
     crawler = FsCrawler.createFromPath(self.__file)
     value = '(dirname {filePath})/(newver <parent>)/{name}.(pad {frame} 6).{ext}'
     result = Template(value).valueFromCrawler(crawler)
     self.assertEqual(
         os.path.normpath(result),
         os.path.join(BaseTestCase.dataTestsDirectory(), 'v003',
                      'RND-TST-SHT_lighting_beauty_sr.001001.exr'))
Exemple #3
0
 def testNestProcedureTemplateSimple(self):
     """
     Test simple nested procedures in the template.
     """
     crawler = FsCrawler.createFromPath(self.__file)
     value = "/a/b/c/(dirname(dirname '/d/e/f'))/(newver <parent>)/{name}.(pad {frame} 6).{ext}"
     result = Template(value).valueFromCrawler(crawler)
     self.assertEqual(
         os.path.normpath(result),
         os.path.normpath(
             '/a/b/c/d/v001/RND-TST-SHT_lighting_beauty_sr.001001.exr'))
Exemple #4
0
 def testRemove(self):
     """
     Test that the remove task works properly.
     """
     crawler = FsCrawler.createFromPath(self.__path)
     removeTask = Task.create('remove')
     removeTask.add(crawler, self.__path)
     result = removeTask.output()
     self.assertEqual(len(result), 1)
     crawler = result[0]
     self.assertFalse(os.path.isfile(crawler.var("filePath")))
Exemple #5
0
 def testNestProcedureTemplateMultiple(self):
     """
     Test multiple nested procedures in the template.
     """
     crawler = FsCrawler.createFromPath(self.__file)
     value = "/a/b/c/(concat (dirname(dirname (dirname '/d/e/f/g'))) '_' (dirname (dirname {var})))/(newver <parent>)/{name}.(pad {frame} 6).{ext}"
     result = Template(value).valueFromCrawler(crawler,
                                               extraVars={'var': 'h/j/l'})
     self.assertEqual(
         os.path.normpath(result),
         os.path.normpath(
             '/a/b/c/d_h/v001/RND-TST-SHT_lighting_beauty_sr.001001.exr'))
 def testImageThumbnail(self):
     """
     Test that the ImageThumbnail task works properly.
     """
     crawler = FsCrawler.createFromPath(self.__sourcePath)
     thumbnailTask = Task.create('imageThumbnail')
     thumbnailTask.add(crawler, self.__targetPath)
     result = thumbnailTask.output()
     self.assertEqual(len(result), 1)
     crawler = result[0]
     self.assertEqual(crawler.var("width"), 640)
     self.assertEqual(crawler.var("height"), 360)
Exemple #7
0
 def testChecksumTask(self):
     """
     Test that the checksum task works properly.
     """
     crawler = FsCrawler.createFromPath(self.__sourcePath)
     checksumTask = Task.create('checksum')
     checksumTask.add(crawler, self.__targetPath)
     result = checksumTask.output()
     self.assertEqual(len(result), 1)
     checksumTask = Task.create('checksum')
     checksumTask.add(crawler, self.__otherPath)
     self.assertRaises(ChecksumTaskMatchError, checksumTask.output)
Exemple #8
0
 def testNestProcedureTemplateArithmetic(self):
     """
     Test arithmetic nested procedures in the template.
     """
     crawler = FsCrawler.createFromPath(self.__file)
     value = "/a/b/c/({a} + (sum {b} 2))/(newver <parent>)/{name}.(pad {frame} 6).{ext}"
     result = Template(value).valueFromCrawler(crawler,
                                               extraVars={
                                                   'a': 2,
                                                   'b': 3
                                               })
     self.assertEqual(
         os.path.normpath(result),
         os.path.normpath(
             '/a/b/c/7/v001/RND-TST-SHT_lighting_beauty_sr.001001.exr'))
Exemple #9
0
 def testChmodFile(self):
     """
     Test that the chmod task works properly on a file.
     """
     crawler = FsCrawler.createFromPath(self.__path)
     chmodTask = Task.create('chmod')
     chmodTask.add(crawler, self.__path)
     for permission in ["644", "444", "744", "664"]:
         chmodTask.setOption('directoryMode', permission)
         chmodTask.setOption('fileMode', permission)
         result = chmodTask.output()
         self.assertEqual(len(result), 1)
         crawler = result[0]
         self.assertEqual(self.__getPermission(crawler.var('filePath')),
                          permission)
Exemple #10
0
 def testCopy(self):
     """
     Test that the copy task works properly.
     """
     crawler = FsCrawler.createFromPath(self.__sourcePath)
     copyTask = Task.create('copy')
     copyTask.add(crawler, self.__targetPath)
     result = copyTask.output()
     self.assertEqual(len(result), 1)
     crawler = result[0]
     self.assertEqual(crawler.var("filePath"), self.__targetPath)
     self.assertTrue(os.path.isfile(crawler.var("filePath")))
     self.assertIsInstance(crawler, ExrCrawler)
     self.assertEqual(crawler.var("width"), crawler.var("width"))
     self.assertEqual(crawler.var("height"), crawler.var("height"))
Exemple #11
0
 def testSymlink(self):
     """
     Test that hardlinks are skipped when running the chmod task.
     """
     link = os.path.join(self.dataTestsDirectory(), 'symlink.exr')
     os.symlink(self.__path, link)
     self.assertEqual(self.__getPermission(link), '664')
     self.assertTrue(os.path.islink(link))
     crawler = FsCrawler.createFromPath(link)
     chmodTask = Task.create('chmod')
     chmodTask.add(crawler, link)
     chmodTask.setOption('directoryMode', '775')
     chmodTask.setOption('fileMode', '775')
     chmodTask.output()
     self.assertEqual(self.__getPermission(link), '664')
     self.addCleanup(self.cleanup, link)
Exemple #12
0
 def testResizeImage(self):
     """
     Test that the ResizeImage task works properly.
     """
     crawler = FsCrawler.createFromPath(self.__sourcePath)
     resizeTask = Task.create('resizeImage')
     resizeTask.add(crawler, self.__targetPath)
     resizeTask.setOption("width", "480")
     resizeTask.setOption("height", "270")
     for convertToRGBA in [False, True]:
         resizeTask.setOption("convertToRGBA", convertToRGBA)
         result = resizeTask.output()
         self.assertEqual(len(result), 1)
         crawler = result[0]
         self.assertEqual(crawler.var("width"), 480)
         self.assertEqual(crawler.var("height"), 270)