Esempio n. 1
0
    def test_parse_platforms(self):
        parser = role_loader.RoleMetaParser({
            'galaxy_info': {
                'platforms': [{
                    'name': 'Ubuntu',
                    'versions': ['trusty', 'xenial']
                }, {
                    'name': 'RHEL',
                    'versions': ['all']
                }]
            },
            'dependencies': []
        })
        platforms = parser.parse_platforms()

        assert platforms == [
            models.PlatformInfo('Ubuntu', ['trusty', 'xenial']),
            models.PlatformInfo('RHEL', ['all']),
        ]
Esempio n. 2
0
    def parse_platforms(self):
        meta_platforms = self.metadata.get('platforms')
        if not meta_platforms:
            return []
        if not isinstance(meta_platforms, collections.Sequence):
            raise exc.ContentLoadError(
                'Expected "platforms" in metadata to be a list.')

        platforms = []
        for idx, platform in enumerate(meta_platforms):
            name = platform.get('name', None)
            if not name:
                continue

            versions = platform.get('versions', ['all'])
            # TODO: Validate versions
            platforms.append(models.PlatformInfo(name, versions))
        return platforms
Esempio n. 3
0
    def parse_platforms(self):
        meta_platforms = self.metadata.get('platforms')
        if not meta_platforms:
            return []
        if not isinstance(meta_platforms, collections.Sequence):
            raise exc.ContentLoadError(
                'Expected "platforms" in metadata to be a list.')

        platforms = []
        for idx, platform in enumerate(meta_platforms):
            try:
                name = platform['name']
            except KeyError:
                self.log.warning(
                    'No name specified for platform [{0}], skipping'
                    .format(idx))
                continue

            versions = platform.get('versions', ['all'])
            # TODO: Validate versions
            platforms.append(models.PlatformInfo(name, versions))
        return platforms