コード例 #1
0
    def test_get_latest_release_for_version_range_with_channel_types(self):
        """Testing PackageBundle.get_latest_release_for_version_range with
        channel_types
        """
        bundle = PackageBundle(manifest_url="packages/TestPackage/index.json", name="MyPackage")
        bundle._loaded = True

        channel1 = PackageChannel(
            bundle=bundle, name="2.0.x", current=False, channel_type=PackageChannel.CHANNEL_TYPE_PRERELEASE
        )
        channel1._loaded = True
        channel2 = PackageChannel(
            bundle=bundle, name="1.0.x", current=True, channel_type=PackageChannel.CHANNEL_TYPE_RELEASE
        )
        channel2._loaded = True
        bundle._channels = [channel1, channel2]

        release1 = PackageRelease(channel=channel1, version="2.0")
        channel1._releases = [release1]

        release2 = PackageRelease(channel=channel2, version="1.0")
        channel2._releases = [release2]

        self.assertEqual(
            bundle.get_latest_release_for_version_range(
                version_range=">=1.0", channel_types=[PackageChannel.CHANNEL_TYPE_RELEASE]
            ),
            release2,
        )
        self.assertEqual(
            bundle.get_latest_release_for_version_range(">=2.0", channel_types=[PackageChannel.CHANNEL_TYPE_RELEASE]),
            None,
        )
コード例 #2
0
    def test_current_channel_with_no_current(self):
        """Testing PackageBundle.current_channel with no current channel"""
        bundle = PackageBundle(manifest_url="packages/TestPackage/index.json")
        bundle._loaded = True

        channel = PackageChannel(
            bundle=bundle, name="staging", current=False, visible=False, manifest_url="staging.json"
        )
        bundle._channels = [channel]

        self.assertEqual(bundle.current_channel, None)
コード例 #3
0
    def test_current_channel(self):
        """Testing PackageBundle.current_channel"""
        bundle = PackageBundle(manifest_url="packages/TestPackage/index.json")
        bundle._loaded = True

        channel1 = PackageChannel(bundle=bundle, name="beta", current=False, visible=True, manifest_url="beta.json")
        channel2 = PackageChannel(bundle=bundle, name="1.0.x", current=True, visible=True, manifest_url="1.0.x.json")
        channel3 = PackageChannel(bundle=bundle, name="0.5.x", current=False, visible=True, manifest_url="0.5.x.json")
        bundle._channels = [channel1, channel2, channel3]

        self.assertEqual(bundle.current_channel, channel2)
コード例 #4
0
    def test_serialize(self):
        """Testing PackageBundle.serialize"""
        bundle = PackageBundle(
            manifest_url="packages/TestPackage/index.json",
            name="TestPackage",
            description="This is a summary.\n\nThis is a description.",
            created_timestamp=datetime(2015, 10, 10, 8, 17, 29, 958569),
            last_updated_timestamp=datetime(2015, 10, 15, 8, 17, 29, 958569),
            current_version="1.0.0",
            channel_aliases={"stable": "1.0.x", "beta": "2.0.x"},
            package_names=[{"system": ["centos", "rhel"], "name": "reviewboard", "type": "rpm"}],
        )
        bundle._loaded = True

        channel = PackageChannel(
            bundle=bundle,
            name="1.0.x",
            created_timestamp=datetime(2015, 10, 11, 8, 17, 29, 958569),
            last_updated_timestamp=datetime(2015, 10, 12, 8, 17, 29, 958569),
            latest_version="1.0.0",
            current=True,
            visible=True,
            manifest_url="1.0.x.json",
        )
        bundle._channels = [channel]

        self.assertEqual(
            bundle.serialize(),
            {
                "format_version": "1.0",
                "name": "TestPackage",
                "description": ["This is a summary.", "", "This is a description."],
                "created_timestamp": "2015-10-10T08:17:29.958569",
                "last_updated_timestamp": "2015-10-15T08:17:29.958569",
                "current_version": "1.0.0",
                "package_names": [{"system": ["centos", "rhel"], "name": "reviewboard", "type": "rpm"}],
                "channel_aliases": {"stable": "1.0.x", "beta": "2.0.x"},
                "channels": [
                    {
                        "name": "1.0.x",
                        "created_timestamp": "2015-10-11T08:17:29.958569",
                        "last_updated_timestamp": "2015-10-12T08:17:29.958569",
                        "latest_version": "1.0.0",
                        "channel_type": "release",
                        "current": True,
                        "visible": True,
                        "manifest_file": "1.0.x.json",
                    }
                ],
            },
        )
コード例 #5
0
    def test_get_latest_release_for_version_range(self):
        """Testing PackageBundle.get_latest_release_for_version_range"""
        bundle = PackageBundle(manifest_url="packages/TestPackage/index.json", name="MyPackage")
        bundle._loaded = True

        channel = PackageChannel(bundle=bundle, name="staging", current=True)
        channel._loaded = True
        bundle._channels = [channel]

        release1 = PackageRelease(channel=channel, version="1.5")
        release2 = PackageRelease(channel=channel, version="1.0")
        channel._releases = [release1, release2]

        self.assertEqual(bundle.get_latest_release_for_version_range(">=1.0"), release1)
        self.assertEqual(bundle.get_latest_release_for_version_range("<1.0"), None)
コード例 #6
0
    def test_get_latest_release_for_version_range_with_release_types(self):
        """Testing PackageBundle.get_latest_release_for_version_range with
        release_types
        """
        bundle = PackageBundle(manifest_url="packages/TestPackage/index.json", name="MyPackage")
        bundle._loaded = True

        channel = PackageChannel(bundle=bundle, name="2.0.x", current=False)
        channel._loaded = True
        bundle._channels = [channel]

        release1 = PackageRelease(channel=channel, version="2.0", release_type=PackageRelease.TYPE_BETA)
        release2 = PackageRelease(channel=channel, version="1.0", release_type=PackageRelease.TYPE_STABLE)
        channel._releases = [release1, release2]

        self.assertEqual(
            bundle.get_latest_release_for_version_range(
                version_range=">=1.0", release_types=[PackageRelease.TYPE_STABLE]
            ),
            release2,
        )
        self.assertEqual(
            bundle.get_latest_release_for_version_range(">=1.0", release_types=[PackageRelease.TYPE_ALPHA]), None
        )