def testGetAncestorLFNs(self): """ _testGenAncestorLFNs_ Create a series of files that have several generations of parentage information. Verify that the parentage information is reported correctly. """ testFileA = File(lfn="/this/is/a/lfnA", size=1024, events=10, checksums={"cksum": 1}, locations="se1.fnal.gov") testFileA.create() testFileB = File(lfn="/this/is/a/lfnB", size=1024, events=10, checksums={"cksum": 1}, locations="se1.fnal.gov") testFileB.create() testFileC = File(lfn="/this/is/a/lfnC", size=1024, events=10, checksums={"cksum": 1}, locations="se1.fnal.gov") testFileC.create() testFileD = File(lfn="/this/is/a/lfnD", size=1024, events=10, checksums={"cksum": 1}, locations="se1.fnal.gov") testFileD.create() testFileE = File(lfn="/this/is/a/lfnE", size=1024, events=10, checksums={"cksum": 1}, locations="se1.fnal.gov") testFileE.create() testFileE = File(lfn="/this/is/a/lfnF", size=1024, events=10, checksums={"cksum": 1}, locations="se1.fnal.gov") testFileE.create() testFileA.addParent(lfn="/this/is/a/lfnB") testFileA.addParent(lfn="/this/is/a/lfnC") testFileB.addParent(lfn="/this/is/a/lfnD") testFileC.addParent(lfn="/this/is/a/lfnD") testFileD.addParent(lfn="/this/is/a/lfnE") testFileD.addParent(lfn="/this/is/a/lfnF") level1 = ["/this/is/a/lfnB", "/this/is/a/lfnC"] level2 = ["/this/is/a/lfnD"] level3 = ["/this/is/a/lfnE", "/this/is/a/lfnF"] level4 = level5 = [] decs2 = ["/this/is/a/lfnA"] assert testFileA.getAncestors(level=1, type="lfn") == level1, "ERROR: level 1 test failed" assert testFileA.getAncestors(level=2, type="lfn") == level2, "ERROR: level 2 test failed" assert testFileA.getAncestors(level=3, type="lfn") == level3, "ERROR: level 3 test failed" assert testFileA.getAncestors(level=4, type="lfn") == level4, "ERROR: level 4 test failed" assert testFileA.getAncestors(level=5, type="lfn") == level5, "ERROR: level 5 test failed" assert testFileD.getDescendants(level=1, type="lfn") == level1, "ERROR: level 1 desc test failed" assert testFileD.getDescendants(level=2, type="lfn") == decs2, "ERROR: level 2 desc test failed" assert testFileD.getDescendants(level=3, type="lfn") == level4, "ERROR: level 3 desc test failed" return
def testGetAncestorLFNs(self): """ _testGenAncestorLFNs_ Create a series of files that have several generations of parentage information. Verify that the parentage information is reported correctly. """ testFileA = File(lfn="/this/is/a/lfnA", size=1024, events=10, checksums={'cksum': 1}, locations="se1.fnal.gov") testFileA.create() testFileB = File(lfn="/this/is/a/lfnB", size=1024, events=10, checksums={'cksum': 1}, locations="se1.fnal.gov") testFileB.create() testFileC = File(lfn="/this/is/a/lfnC", size=1024, events=10, checksums={'cksum': 1}, locations="se1.fnal.gov") testFileC.create() testFileD = File(lfn="/this/is/a/lfnD", size=1024, events=10, checksums={'cksum': 1}, locations="se1.fnal.gov") testFileD.create() testFileE = File(lfn="/this/is/a/lfnE", size=1024, events=10, checksums={'cksum': 1}, locations="se1.fnal.gov") testFileE.create() testFileE = File(lfn="/this/is/a/lfnF", size=1024, events=10, checksums={'cksum': 1}, locations="se1.fnal.gov") testFileE.create() testFileA.addParent(lfn="/this/is/a/lfnB") testFileA.addParent(lfn="/this/is/a/lfnC") testFileB.addParent(lfn="/this/is/a/lfnD") testFileC.addParent(lfn="/this/is/a/lfnD") testFileD.addParent(lfn="/this/is/a/lfnE") testFileD.addParent(lfn="/this/is/a/lfnF") level1 = ["/this/is/a/lfnB", "/this/is/a/lfnC"] level2 = ["/this/is/a/lfnD"] level3 = ["/this/is/a/lfnE", "/this/is/a/lfnF"] level4 = level5 = [] decs2 = ["/this/is/a/lfnA"] assert testFileA.getAncestors(level=1, type='lfn') == level1, \ "ERROR: level 1 test failed" assert testFileA.getAncestors(level=2, type='lfn') == level2, \ "ERROR: level 2 test failed" assert testFileA.getAncestors(level=3, type='lfn') == level3, \ "ERROR: level 3 test failed" assert testFileA.getAncestors(level=4, type='lfn') == level4, \ "ERROR: level 4 test failed" assert testFileA.getAncestors(level=5, type='lfn') == level5, \ "ERROR: level 5 test failed" assert testFileD.getDescendants(level=1, type='lfn') == level1, \ "ERROR: level 1 desc test failed" assert testFileD.getDescendants(level=2, type='lfn') == decs2, \ "ERROR: level 2 desc test failed" assert testFileD.getDescendants(level=3, type='lfn') == level4, \ "ERROR: level 3 desc test failed" return