Пример #1
0
    def test_migrate_versionfilter(self):
        m = migrater.Migrater("src", "dst")
        m.gather("openexr", "2019")
        current_version = constants.VERSIONS[
            constants.ImageType.PACKAGE]["openexr"][1]
        self.assertEqual(len(m.migration_list), 1)
        minfo = m.migration_list[0]
        self.assertEqual(minfo.image, "ci-package-openexr")
        self.assertEqual(minfo.version, "2019.1")
        self.assertEqual(
            minfo.source,
            f"{constants.DOCKER_REGISTRY}/src/ci-package-openexr:{current_version}",
        )
        self.assertEqual(
            minfo.destination,
            f"{constants.DOCKER_REGISTRY}/dst/ci-package-openexr:{current_version}",
        )

        m.migrate(dry_run=True)
        self.assertEqual(
            m.cmds,
            [
                f"docker pull {constants.DOCKER_REGISTRY}/src/ci-package-openexr:{current_version}",
                f"docker tag {constants.DOCKER_REGISTRY}/src/ci-package-openexr:{current_version} {constants.DOCKER_REGISTRY}/dst/ci-package-openexr:{current_version}",
                f"docker tag {constants.DOCKER_REGISTRY}/dst/ci-package-openexr:{current_version} {constants.DOCKER_REGISTRY}/dst/ci-package-openexr:2019",
                f"docker tag {constants.DOCKER_REGISTRY}/dst/ci-package-openexr:{current_version} {constants.DOCKER_REGISTRY}/dst/ci-package-openexr:latest",
                f"docker push {constants.DOCKER_REGISTRY}/dst/ci-package-openexr:{current_version}",
            ],
        )
Пример #2
0
def migrate(from_org, to_org, package, version, dry_run):
    """Migrates packages from a dockerhub org to another.
    """
    m = migrater.Migrater(from_org, to_org)
    m.gather(package, version)
    if not click.confirm(
        "Are you sure you want to migrate the following {} packages?\n{}\n".format(
            len(m.migration_list),
            "\n".join(f"{mi.source} -> {mi.destination}" for mi in m.migration_list),
        )
    ):
        return
    m.migrate(dry_run)
Пример #3
0
    def test_migrate_versionfilter(self):
        m = migrater.Migrater("src", "dst")
        m.gather("openexr", "2019")
        current_version = list(
            index.Index().iter_versions(constants.ImageType.PACKAGE, "openexr")
        )[1]
        self.assertEqual(len(m.migration_list), 1)
        minfo = m.migration_list[0]
        self.assertEqual(minfo.image, "ci-package-openexr")
        oexr_version = list(
            index.Index().iter_versions(constants.ImageType.PACKAGE, "openexr")
        )[1]
        self.assertEqual(minfo.version, oexr_version)
        self.assertEqual(
            minfo.source,
            f"{constants.DOCKER_REGISTRY}/src/ci-package-openexr:{current_version}",
        )
        self.assertEqual(
            minfo.destination,
            f"{constants.DOCKER_REGISTRY}/dst/ci-package-openexr:{current_version}",
        )

        m.migrate(dry_run=True)
        reg = constants.DOCKER_REGISTRY
        self.assertEqual(
            m.cmds,
            [
                f"docker pull {reg}/src/ci-package-openexr:{current_version}",
                f"docker tag {reg}/src/ci-package-openexr:{current_version} "
                f"{reg}/dst/ci-package-openexr:{current_version}",
                f"docker push {reg}/dst/ci-package-openexr:{current_version}",
                f"docker tag {reg}/dst/ci-package-openexr:{current_version} "
                f"{reg}/dst/ci-package-openexr:2019",
                f"docker push {reg}/dst/ci-package-openexr:2019",
                f"docker tag {reg}/dst/ci-package-openexr:{current_version} "
                f"{reg}/dst/ci-package-openexr:latest",
                f"docker push {reg}/dst/ci-package-openexr:latest",
            ],
        )
Пример #4
0
 def test_migrate_pkgfilter(self):
     m = migrater.Migrater("src", "dst")
     m.gather("openexr", "")
     self.assertEqual(len(m.migration_list), 3)
Пример #5
0
 def test_migrate_nofilter(self):
     m = migrater.Migrater("src", "dst")
     m.gather("", "")
     self.assertGreater(len(m.migration_list), 10)