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
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)
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
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])
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
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')