def testRunConfiguration(self): """ Test execution of the configuration. """ loader = Loader() loader.loadFromDirectory(self.__exampleDirectory) self.assertEqual(len(loader.taskHolders()), 1) taskHolder = loader.taskHolders()[0] taskHolder.addVar( "prefix", self.__exampleTargetPrefixDirectory, True ) # loading input data for the execution crawlerGroups = Crawler.group( FsCrawler.createFromPath( os.path.join(self.__exampleDirectory, 'imageSequence') ).globFromParent() ) resultCrawlers = [] for group in crawlerGroups: if isinstance(group[0], Crawler.registeredType('png')): resultCrawlers += taskHolder.run(group) targetFilePaths = list(sorted(filter(lambda x: len(x), map(lambda x: x.strip(), self.__generatedData.split('\n'))))) createdFilePaths = list(sorted(map(lambda x: x.var('fullPath')[len(self.__exampleTargetPrefixDirectory) + 1:].replace('\\', '/'), resultCrawlers))) self.assertListEqual(targetFilePaths, createdFilePaths)
def test02Delivery(self): """ Test the delivery configuration. """ loader = Loader() loader.loadFromDirectory(self.__exampleDirectory) taskHolder = list( filter( lambda x: os.path.basename(x.var('contextConfig')) == 'deliveryConfig.json', loader.taskHolders())) self.assertEqual(len(taskHolder), 1) taskHolder = taskHolder[0] taskHolder.addVar("prefix", self.__exampleDeliveryPrefixDirectory, True) # loading input data for the ingestion crawlerGroups = Crawler.group( FsCrawler.createFromPath( os.path.normpath( os.path.join( self.__exampleIngestionPrefixDirectory, 'jobs/foo/seq/abc/shot/def/plates/bla/v001/1920x1080_exr' ))).glob()) resultCrawlers = [] for group in crawlerGroups: if isinstance(group[0], Crawler.registeredType('plateExr')): resultCrawlers += taskHolder.run(group) targetFilePaths = list( sorted( filter( lambda x: len(x), map( lambda x: x.strip(), self.__deliveryGeneratedData.replace( '<date>', datetime.today().strftime('%Y%m%d')).split( '\n'))))) createdFilePaths = list( sorted( map( lambda x: x.var('fullPath')[len( self.__exampleDeliveryPrefixDirectory) + 1:].replace( '\\', '/'), resultCrawlers))) self.assertListEqual(targetFilePaths, createdFilePaths)
def test01Ingestion(self): """ Test the ingestion configuration. """ loader = Loader() loader.loadFromDirectory(self.__exampleDirectory) taskHolder = list( filter( lambda x: os.path.basename(x.var('contextConfig')) == 'ingestConfig.yaml', loader.taskHolders())) self.assertEqual(len(taskHolder), 1) taskHolder = taskHolder[0] taskHolder.addVar("prefix", self.__exampleIngestionPrefixDirectory, True) # loading input data for the ingestion crawlerGroups = Crawler.group( FsCrawler.createFromPath( os.path.join(self.__exampleDirectory, 'plates')).globFromParent()) resultCrawlers = [] for group in crawlerGroups: if isinstance(group[0], Crawler.registeredType('png')): resultCrawlers += taskHolder.run(group) targetFilePaths = list( sorted( filter( lambda x: len(x), map(lambda x: x.strip(), self.__ingestedGeneratedData.split('\n'))))) createdFilePaths = list( sorted( map( lambda x: x.var('fullPath')[len( self.__exampleIngestionPrefixDirectory) + 1:].replace( '\\', '/'), resultCrawlers))) self.assertListEqual(targetFilePaths, createdFilePaths)