Пример #1
0
    def load(self):
        """Load data from the manifest file.

        The data from the manifest will be loaded and stored in this
        instance, allowing the caller to access it.
        """
        # Let the exceptions bubble up.
        data = get_data_loader().load_by_path(self.absolute_manifest_url)

        self._releases = []
        self._package_rules = []

        self.created_timestamp = \
            dateutil.parser.parse(data['created_timestamp'])
        self.last_updated_timestamp = \
            dateutil.parser.parse(data['last_updated_timestamp'])

        self._releases = [
            PackageRelease.deserialize(self, releases_data)
            for releases_data in data['releases']
        ]

        self._package_rules = [
            PackageRules.deserialize(self, rules_data)
            for rules_data in data['package_rules']
        ]

        self._loaded = True
Пример #2
0
    def test_serialize(self):
        """Testing PackageRelease.serialize"""
        bundle = PackageBundle()
        channel = PackageChannel(bundle)

        release = PackageRelease(
            channel=channel,
            version='1.0',
            release_type=PackageRelease.TYPE_BETA,
            visible=False,
            release_notes_url='https://example.com/1.0/')

        self.assertEqual(
            release.serialize(),
            {
                'version': '1.0',
                'type': 'beta',
                'visible': False,
                'release_notes_url': 'https://example.com/1.0/',
            })
Пример #3
0
    def test_deserialize_with_minimum_info(self):
        """Testing PackageRelease.deserialize with minimum info"""
        bundle = PackageBundle()
        channel = PackageChannel(bundle)
        release = PackageRelease.deserialize(
            channel,
            {
                'version': '1.0',
            })

        self.assertEqual(release.version, '1.0')
        self.assertEqual(release.release_type, PackageRelease.TYPE_STABLE)
        self.assertTrue(release.visible)
        self.assertEqual(release.release_notes_url, None)
Пример #4
0
    def test_deserialize_with_all_info(self):
        """Testing PackageRelease.deserialize with all available info"""
        bundle = PackageBundle()
        channel = PackageChannel(bundle)
        release = PackageRelease.deserialize(
            channel,
            {
                'version': '1.0',
                'type': 'beta',
                'visible': False,
                'release_notes_url': 'https://example.com/1.0/',
            })

        self.assertEqual(release.version, '1.0')
        self.assertEqual(release.release_type, PackageRelease.TYPE_BETA)
        self.assertFalse(release.visible)
        self.assertEqual(release.release_notes_url, 'https://example.com/1.0/')