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, )
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)
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)
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", } ], }, )
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)
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 )