Exemple #1
0
 def testMatchProcessedDatasets(self):
     """
     matchProcessedDatasets returns known processed datasets
     """
     self.dbs = DBSReader(self.endpoint)
     dataset = self.dbs.matchProcessedDatasets('Jet', 'RAW', 'Run2011A-v1')
     self.assertEqual(1, len(dataset))
     self.assertEqual(['/Jet/Run2011A-v1/RAW'], dataset[0]['PathList'])
     self.assertEqual('Run2011A-v1', dataset[0]['Name'])
     self.assertFalse(
         self.dbs.matchProcessedDatasets('Jet', 'RAW', 'Run2011A-v666'))
Exemple #2
0
 def testlistRunLumis(self):
     """listRunLumis returns known runs and lumicounts (None for DBS3)"""
     self.dbs = DBSReader(self.endpoint)
     runs = self.dbs.listRunLumis(dataset=DATASET)
     self.assertEqual(46, len(runs))
     self.assertTrue(173692 in runs)
     self.assertEqual(runs[173692], None)
     runs = self.dbs.listRunLumis(block=BLOCK)
     self.assertEqual(1, len(runs))
     self.assertTrue(173657 in runs)
     self.assertEqual(runs[173657], None)
Exemple #3
0
 def testListPrimaryDatasets(self):
     """
     listPrimaryDatasets returns known primary datasets
     """
     self.dbs = DBSReader(self.endpoint)
     results = self.dbs.listPrimaryDatasets('Jet*')
     self.assertTrue('Jet' in results)
     self.assertTrue('JetMET' in results)
     self.assertTrue('JetMETTau' in results)
     self.assertFalse(self.dbs.listPrimaryDatasets('DoesntExist'))
     return
Exemple #4
0
 def testListDatatiers(self):
     """
     listDatatiers returns all datatiers available
     """
     self.dbs = DBSReader(self.endpoint)
     results = self.dbs.listDatatiers()
     self.assertTrue('RAW' in results)
     self.assertTrue('GEN-SIM-RECO' in results)
     self.assertTrue('GEN-SIM' in results)
     self.assertFalse('RAW-ALAN' in results)
     return
Exemple #5
0
 def testListFileBlocks(self):
     """listFileBlocks returns block names in dataset"""
     self.dbs = DBSReader(self.endpoint)
     blocks = self.dbs.listFileBlocks(DATASET)
     self.assertTrue(BLOCK in blocks)
     # block is closed
     block = self.dbs.listFileBlocks(DATASET,
                                     blockName=BLOCK,
                                     onlyClosedBlocks=True)[0]
     self.assertEqual(block, BLOCK)
     self.assertTrue(BLOCK in block)
Exemple #6
0
    def testGetFileBlockWithParents(self):
        """getFileBlockWithParents returns block and parents"""
        self.dbs = DBSReader(self.endpoint)
        block = self.dbs.getFileBlockWithParents(BLOCK_WITH_PARENTS)
        self.assertEqual(len(block), 1)
        block = block[BLOCK_WITH_PARENTS]
        self.assertEqual(PARENT_FILE,
                         block['Files'][0]['ParentList'][0]['LogicalFileName'])

        self.assertRaises(DBSReaderError, self.dbs.getFileBlockWithParents,
                          BLOCK + 'asas')
Exemple #7
0
    def testListFilesInBlockWithParents(self):
        """listFilesInBlockWithParents gets files with parents for a block"""
        self.dbs = DBSReader(self.endpoint)
        files = self.dbs.listFilesInBlockWithParents(
            '/Cosmics/Commissioning2015-PromptReco-v1/RECO#004ac3ba-d09e-11e4-afad-001e67ac06a0')
        self.assertEqual(4, len(files))
        self.assertEqual('/Cosmics/Commissioning2015-PromptReco-v1/RECO#004ac3ba-d09e-11e4-afad-001e67ac06a0',
                         files[0]['block_name'])
        self.assertEqual('/Cosmics/Commissioning2015-PromptReco-v1/RECO#004ac3ba-d09e-11e4-afad-001e67ac06a0',
                         files[0]['BlockName'])
        self.assertEqual(
            '/store/data/Commissioning2015/Cosmics/RAW/v1/000/238/545/00000/1043E89F-2DCF-E411-9CAE-02163E013751.root',
            files[0]['ParentList'][0]['LogicalFileName'])

        self.assertRaises(DBSReaderError, self.dbs.listFilesInBlockWithParents, BLOCK + 'asas')
Exemple #8
0
    def testGetFileBlocksInfo(self):
        """getFileBlocksInfo returns block info, including location lookup"""
        self.dbs = DBSReader(self.endpoint)
        blocks = self.dbs.getFileBlocksInfo(DATASET)
        block = self.dbs.getFileBlocksInfo(DATASET, blockName=BLOCK)
        self.assertEqual(1, len(block))
        block = block[0]
        self.assertEqual(46, len(blocks))
        self.assertTrue(block['Name'] in [x['Name'] for x in blocks])
        self.assertEqual(BLOCK, block['Name'])
        self.assertEqual(0, block['OpenForWriting'])
        self.assertEqual(150780132, block['BlockSize'])
        self.assertEqual(2, block['NumberOfFiles'])
        # possibly fragile but assume block located at least at cern
        self.assertTrue(block['PhEDExNodeList'])

        # weird error handling - depends on whether block or dataset is missing
        with self.assertRaises(DBSReaderError):
            self.dbs.getFileBlocksInfo(DATASET + 'blah')

        with self.assertRaises(DBSReaderError):
            self.dbs.getFileBlocksInfo(DATASET, blockName=BLOCK + 'asas')
Exemple #9
0
 def testlistDatasetFileDetails(self):
     """testlistDatasetFilesDetails returns lumis, events, and parents of a dataset"""
     TESTFILE = '/store/data/Run2011A/HighPileUp/RAW/v1/000/173/658/56484BAB-CBCB-E011-AF00-BCAEC518FF56.root'
     self.dbs = DBSReader(self.endpoint)
     details = self.dbs.listDatasetFileDetails(DATASET)
     self.assertEqual(len(details), 49)
     self.assertTrue(TESTFILE in details)
     self.assertEqual(details[TESTFILE]['NumberOfEvents'], 545)
     self.assertEqual(details[TESTFILE]['file_size'], 286021145)
     self.assertEqual(details[TESTFILE]['BlockName'],
                      '/HighPileUp/Run2011A-v1/RAW#dd6e0796-cbcc-11e0-80a9-003048caaace')
     self.assertEqual(details[TESTFILE]['Md5'], 'NOTSET')
     self.assertEqual(details[TESTFILE]['md5'], 'NOTSET')
     self.assertEqual(details[TESTFILE]['Adler32'], 'a41a1446')
     self.assertEqual(details[TESTFILE]['adler32'], 'a41a1446')
     self.assertEqual(details[TESTFILE]['Checksum'], '22218315')
     self.assertEqual(details[TESTFILE]['check_sum'], '22218315')
     self.assertTrue(173658 in details[TESTFILE]['Lumis'])
     self.assertEqual(sorted(details[TESTFILE]['Lumis'][173658]),
                      [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
                       27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
                       51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
                       75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
                       99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111])
Exemple #10
0
 def testBlockToDatasetPath(self):
     """blockToDatasetPath extracts path from block name"""
     self.dbs = DBSReader(self.endpoint)
     self.assertEqual(self.dbs.blockToDatasetPath(BLOCK), DATASET)
     self.assertRaises(DBSReaderError, self.dbs.blockToDatasetPath, BLOCK + 'asas')
Exemple #11
0
 def testBlockIsOpen(self):
     """blockIsOpen checks if a block is open"""
     self.dbs = DBSReader(self.endpoint)
     self.assertFalse(self.dbs.blockIsOpen(BLOCK))
Exemple #12
0
 def testGetFiles(self):
     """getFiles returns files in dataset"""
     self.dbs = DBSReader(self.endpoint)
     files = self.dbs.getFiles(DATASET)
     self.assertEqual(len(files), 46)
Exemple #13
0
 def testLfnsInBlock(self):
     """lfnsInBlock returns lfns in block"""
     self.dbs = DBSReader(self.endpoint)
     self.assertTrue(FILE in [x['logical_file_name'] for x in self.dbs.lfnsInBlock(BLOCK)])
     self.assertRaises(DBSReaderError, self.dbs.lfnsInBlock, BLOCK + 'asas')
Exemple #14
0
def _getDBS3Reader(endpoint, **kwargs):
    from WMCore.Services.DBS.DBS3Reader import DBS3Reader as DBSReader
    return DBSReader(endpoint, **kwargs)
Exemple #15
0
 def testListFilesInBlock(self):
     """listFilesInBlock returns files in block"""
     self.dbs = DBSReader(self.endpoint)
     self.assertTrue(FILE in [x['LogicalFileName'] for x in self.dbs.listFilesInBlock(BLOCK)])
     self.assertRaises(DBSReaderError, self.dbs.listFilesInBlock, DATASET + '#blah')
Exemple #16
0
 def testBlockExists(self):
     """blockExists returns existence of blocks"""
     self.dbs = DBSReader(self.endpoint)
     self.assertTrue(self.dbs.blockExists(BLOCK))
     self.assertRaises(DBSReaderError, self.dbs.blockExists, DATASET + '#somethingelse')
Exemple #17
0
 def testListOpenFileBlocks(self):
     """listOpenFileBlocks finds open blocks"""
     # hard to find a dataset with open blocks, so don't bother
     self.dbs = DBSReader(self.endpoint)
     self.assertFalse(self.dbs.listOpenFileBlocks(DATASET))
Exemple #18
0
 def testlistDatasetFiles(self):
     """listDatasetFiles returns files in dataset"""
     self.dbs = DBSReader(self.endpoint)
     files = self.dbs.listDatasetFiles(DATASET)
     self.assertEqual(49, len(files))
     self.assertTrue(FILE in files)