Example #1
0
    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
Example #2
0
    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