Example #1
0
    def test_create_variants_with_dash(self):
        ci = ComposeInfo()
        ci.release.name = "Fedora"
        ci.release.short = "F"
        ci.release.version = "22"
        ci.release.type = "ga"

        ci.compose.id = "F-22-20150522.0"
        ci.compose.type = "production"
        ci.compose.date = "20150522"
        ci.compose.respin = 0

        # 2 Tools variants: one for Server, one for Workstation
        # but parent variants are not part of the compose
        variant = Variant(ci)
        variant.id = "ServerTools"
        variant.uid = "Server-Tools"
        variant.name = "Tools"
        variant.type = "variant"
        variant.arches = ["x86_64"]
        ci.variants.add(variant)
        ci.variants["Server-Tools"]

        variant = Variant(ci)
        variant.id = "WorkstationTools"
        variant.uid = "Workstation-Tools"
        variant.name = "Tools"
        variant.type = "variant"
        variant.arches = ["x86_64"]
        ci.variants.add(variant)
        ci.variants["Workstation-Tools"]

        ci.dump(self.ci_path)
        self._test_identity(ci)
        return ci
Example #2
0
    def test_create_variants_with_dash(self):
        ci = ComposeInfo()
        ci.release.name = "Fedora"
        ci.release.short = "F"
        ci.release.version = "22"
        ci.release.type = "ga"

        ci.compose.id = "F-22-20150522.0"
        ci.compose.type = "production"
        ci.compose.date = "20150522"
        ci.compose.respin = 0

        # 2 Tools variants: one for Server, one for Workstation
        # but parent variants are not part of the compose
        variant = Variant(ci)
        variant.id = "ServerTools"
        variant.uid = "Server-Tools"
        variant.name = "Tools"
        variant.type = "variant"
        variant.arches = set(["x86_64"])
        ci.variants.add(variant)
        ci.variants["Server-Tools"]

        variant = Variant(ci)
        variant.id = "WorkstationTools"
        variant.uid = "Workstation-Tools"
        variant.name = "Tools"
        variant.type = "variant"
        variant.arches = set(["x86_64"])
        ci.variants.add(variant)
        ci.variants["Workstation-Tools"]

        ci.dump(self.ci_path)
        self._test_identity(ci)
        return ci
    def _test_identity(self, ci):
        first = os.path.join(self.tmp_dir, "first")
        second = os.path.join(self.tmp_dir, "second")

        # write original file
        ci.dump(first)

        # read file and write it back
        ci = ComposeInfo()
        ci.load(first)
        ci.dump(second)

        # check if first and second files are identical
        self.assertSameFiles(first, second)
Example #4
0
    def test_multiple_variants(self):
        ci = ComposeInfo()
        ci.release.name = "Fedora"
        ci.release.short = "F"
        ci.release.version = "25"
        ci.release.type = "ga"

        ci.compose.id = "F-25-20150522.0"
        ci.compose.type = "production"
        ci.compose.date = "20161225"
        ci.compose.respin = 0

        varianta = Variant(ci)
        varianta.id = "Server"
        varianta.uid = "Server"
        varianta.name = "Server"
        varianta.type = "variant"
        varianta.arches = set(["armhfp", "i386", "x86_64"])

        variantb = Variant(ci)
        variantb.id = "Client"
        variantb.uid = "Client"
        variantb.name = "Client"
        variantb.type = "variant"
        variantb.arches = set(["armhfp", "i386", "x86_64"])

        ci.variants.add(varianta)
        ci.variants.add(variantb)
        ci.get_variants()
        self.assertEqual(ci.get_variants(), [variantb, varianta])
        self.assertEqual(ci.get_variants(arch='x86_64'), [variantb, varianta])
    def test_create(self):
        ci = ComposeInfo()
        ci.release.name = "Fedora"
        ci.release.short = "F"
        ci.release.version = "22"

        ci.compose.id = "F-22-20150522.0"
        ci.compose.type = "production"
        ci.compose.date = "20150522"
        ci.compose.respin = 0

        variant = Variant(ci)
        variant.id = "Server"
        variant.uid = "Server"
        variant.name = "Server"
        variant.type = "variant"
        variant.arches = ["armhfp", "i386", "x86_64"]

        ci.variants.add(variant)

        ci.dump(self.ci_path)
        self._test_identity(ci)
        return ci
Example #6
0
    def test_create(self):
        ci = ComposeInfo()
        ci.release.name = "Fedora"
        ci.release.short = "F"
        ci.release.version = "22"

        ci.compose.id = "F-22-20150522.0"
        ci.compose.type = "production"
        ci.compose.date = "20150522"
        ci.compose.respin = 0

        variant = Variant(ci)
        variant.id = "Server"
        variant.uid = "Server"
        variant.name = "Server"
        variant.type = "variant"
        variant.arches = ["armhfp", "i386", "x86_64"]

        ci.variants.add(variant)

        ci.dump(self.ci_path)
        self._test_identity(ci)
        return ci
Example #7
0
    def test_get_variants(self):
        ci = ComposeInfo()
        ci.release.name = "Fedora"
        ci.release.short = "F"
        ci.release.version = "25"
        ci.release.type = "ga"

        ci.compose.id = "F-25-20150522.0"
        ci.compose.type = "production"
        ci.compose.date = "20161225"
        ci.compose.respin = 0

        variant = Variant(ci)
        variant.id = "Server"
        variant.uid = "Server"
        variant.name = "Server"
        variant.type = "variant"
        variant.arches = set(["armhfp", "i386", "x86_64"])

        ci.variants.add(variant)
        ci.get_variants()
        self.assertEqual(ci.get_variants(), [variant])
        self.assertEqual(ci.get_variants(arch='x86_64'), [variant])
Example #8
0
    def setUpRelease(self, compose_type, release_type, bp_type=None):
        self.ci = ComposeInfo()
        self.ci.release.name = 'Fedora'
        self.ci.release.short = 'F'
        self.ci.release.version = '22'
        self.ci.release.type = release_type
        self.ci.compose.date = '20160622'
        self.ci.compose.respin = 0
        self.ci.compose.type = compose_type

        if bp_type:
            self.ci.release.is_layered = True
            self.ci.base_product.short = 'BASE'
            self.ci.base_product.version = '3'
            self.ci.base_product.type = bp_type
Example #9
0
    def setUpRelease(self, compose_type, release_type, bp_type=None):
        self.ci = ComposeInfo()
        self.ci.release.name = 'Fedora'
        self.ci.release.short = 'F'
        self.ci.release.version = '22'
        self.ci.release.type = release_type
        self.ci.compose.date = '20160622'
        self.ci.compose.respin = 0
        self.ci.compose.type = compose_type

        if bp_type:
            self.ci.release.is_layered = True
            self.ci.base_product.short = 'BASE'
            self.ci.base_product.version = '3'
            self.ci.base_product.type = bp_type
Example #10
0
    def _test_identity(self, ci):
        first = os.path.join(self.tmp_dir, "first")
        second = os.path.join(self.tmp_dir, "second")

        # write original file
        ci.dump(first)

        # read file and write it back
        ci = ComposeInfo()
        ci.load(first)
        ci.dump(second)

        # check if first and second files are identical
        self.assertSameFiles(first, second)
Example #11
0
class TestCreateComposeID(unittest.TestCase):
    def setUpRelease(self, compose_type, release_type, bp_type=None):
        self.ci = ComposeInfo()
        self.ci.release.name = 'Fedora'
        self.ci.release.short = 'F'
        self.ci.release.version = '22'
        self.ci.release.type = release_type
        self.ci.compose.date = '20160622'
        self.ci.compose.respin = 0
        self.ci.compose.type = compose_type

        if bp_type:
            self.ci.release.is_layered = True
            self.ci.base_product.short = 'BASE'
            self.ci.base_product.version = '3'
            self.ci.base_product.type = bp_type

    def test_ga_compose_ga_release(self):
        self.setUpRelease('production', 'ga')
        self.assertEqual(self.ci.create_compose_id(),
                         'F-22-20160622.0')

    def test_nightly_compose_ga_release(self):
        self.setUpRelease('nightly', 'ga')
        self.assertEqual(self.ci.create_compose_id(),
                         'F-22-20160622.n.0')

    def test_ga_compose_updates_release(self):
        self.setUpRelease('production', 'updates')
        self.assertEqual(self.ci.create_compose_id(),
                         'F-22-updates-20160622.0')

    def test_nightly_compose_updates_release(self):
        self.setUpRelease('nightly', 'updates')
        self.assertEqual(self.ci.create_compose_id(),
                         'F-22-updates-20160622.n.0')

    def test_ga_compose_ga_layered_release(self):
        self.setUpRelease('production', 'ga', 'ga')
        self.assertEqual(self.ci.create_compose_id(),
                         'F-22-BASE-3-20160622.0')

    def test_nightly_compose_ga_layered_release(self):
        self.setUpRelease('nightly', 'ga', 'ga')
        self.assertEqual(self.ci.create_compose_id(),
                         'F-22-BASE-3-20160622.n.0')

    def test_ga_compose_updates_layered_release(self):
        self.setUpRelease('production', 'updates', 'ga')
        self.assertEqual(self.ci.create_compose_id(),
                         'F-22-updates-BASE-3-20160622.0')

    def test_nightly_compose_updates_layered_release(self):
        self.setUpRelease('nightly', 'updates', 'ga')
        self.assertEqual(self.ci.create_compose_id(),
                         'F-22-updates-BASE-3-20160622.n.0')

    def test_ga_compose_ga_layered_release_updates_base(self):
        self.setUpRelease('production', 'ga', 'updates')
        self.assertEqual(self.ci.create_compose_id(),
                         'F-22-BASE-3-updates-20160622.0')

    def test_nightly_compose_ga_layered_release_updates_base(self):
        self.setUpRelease('nightly', 'ga', 'updates')
        self.assertEqual(self.ci.create_compose_id(),
                         'F-22-BASE-3-updates-20160622.n.0')

    def test_ga_compose_updates_layered_release_updates_base(self):
        self.setUpRelease('production', 'updates', 'updates')
        self.assertEqual(self.ci.create_compose_id(),
                         'F-22-updates-BASE-3-updates-20160622.0')

    def test_nightly_compose_updates_layered_release_updates_base(self):
        self.setUpRelease('nightly', 'updates', 'updates')
        self.assertEqual(self.ci.create_compose_id(),
                         'F-22-updates-BASE-3-updates-20160622.n.0')