Beispiel #1
0
def test_api_request(capsys, offline):
    if offline:
        pytest.skip('requires internet connection')

    with pytest.raises(SystemExit):
        api_request('missing_command')
    out, err = capsys.readouterr()
    assert "Error: " in out
Beispiel #2
0
    def _get_valid_version(self,
                           name,
                           organization,
                           tag_name,
                           version='',
                           specversion=''):
        # Check spec version
        try:
            spec = semantic_version.Spec(specversion)
        except ValueError:
            click.secho('Invalid distribution version {0}: {1}'.format(
                name, specversion),
                        fg='red')
            exit(1)

        # Download latest releases list
        releases = api_request('{}/releases'.format(name), organization)
        if releases is not None:
            for release in releases:
                if 'tag_name' in release:
                    if version:
                        # Version number via @
                        tag = tag_name.replace('%V', version)
                        if tag == release['tag_name']:
                            return self._check_sem_version(version, spec)
                    else:
                        pattern = tag_name.replace('%V', '(?P<v>.*?)') + '$'
                        match = re.search(pattern, release['tag_name'])
                        if match:
                            version = match.group('v')
                            return self._check_sem_version(version, spec)
Beispiel #3
0
    def _get_valid_version(self, name, organization, tag_name,
                           version='', specversion=''):
        # Check spec version
        try:
            spec = semantic_version.Spec(specversion)
        except ValueError:
            click.secho('Invalid distribution version {0}: {1}'.format(
                        name, specversion), fg='red')
            exit(1)

        # Download latest releases list
        releases = api_request('{}/releases'.format(name), organization)
        if releases is not None:
            for release in releases:
                if 'tag_name' in release:
                    if version:
                        # Version number via @
                        tag = tag_name.replace('%V', version)
                        if tag == release['tag_name']:
                            return self._check_sem_version(version, spec)
                    else:
                        pattern = tag_name.replace('%V', '(?P<v>.*?)') + '$'
                        match = re.search(pattern, release['tag_name'])
                        if match:
                            version = match.group('v')
                            return self._check_sem_version(version, spec)
Beispiel #4
0
 def _validate_version(self, name, organization, tag_name, version):
     releases = api_request('{}/releases'.format(name), organization)
     if releases is not None:
         for release in releases:
             if 'tag_name' in release and \
                release['tag_name'] == tag_name.replace('%V', version):
                 return True
     return False
Beispiel #5
0
 def _get_latest_version(self, name, organization, tag_name):
     version = ''
     latest_release = api_request(
         '{}/releases/latest'.format(name), organization)
     if latest_release is not None and 'tag_name' in latest_release:
         pattern = tag_name.replace('%V', '(?P<v>.*?)') + '$'
         match = re.search(pattern, latest_release['tag_name'])
         if match:
             version = match.group('v')
     return version
Beispiel #6
0
    def _get_valid_version(self, rel_name, organization, tag_name):

        # Download latest releases list
        releases = api_request('{}/releases'.format(rel_name), organization)

        if self.version:
            # Find required version via @
            if not util.check_package_version(self.version, self.spec_version):
                util.show_package_version_warning(
                    self.package, self.version, self.spec_version)
                exit(1)
            return self._find_required_version(
                releases, tag_name, self.version, self.spec_version)
        else:
            # Find latest version release
            return self._find_latest_version(
                releases, tag_name, self.spec_version)
Beispiel #7
0
    def _get_valid_version(self, rel_name, organization, tag_name):

        # Download latest releases list
        releases = api_request('{}/releases'.format(rel_name), organization)

        if self.version:
            # Find required version via @
            if not util.check_package_version(self.version, self.spec_version):
                util.show_package_version_warning(self.package, self.version,
                                                  self.spec_version)
                exit(1)
            return self._find_required_version(releases, tag_name,
                                               self.version, self.spec_version)
        else:
            # Find latest version release
            return self._find_latest_version(releases, tag_name,
                                             self.spec_version)
Beispiel #8
0
    def _get_valid_version(self, name, organization, tag_name,
                           req_version='', specversion='', force=False):
        # Check spec version
        try:
            spec = semantic_version.Spec(specversion)
        except ValueError:
            click.secho('Invalid distribution version {0}: {1}'.format(
                        name, specversion), fg='red')
            exit(1)

        # Download latest releases list
        releases = api_request('{}/releases'.format(name), organization)

        if req_version:
            # Find required version via @
            return self._find_required_version(
                releases, tag_name, req_version, spec, force)
        else:
            # Find latest version release
            return self._find_latest_version(
                releases, tag_name, req_version, spec)
Beispiel #9
0
def test_api_request(capsys):
    with pytest.raises(SystemExit):
        api_request('missing_command')
    out, err = capsys.readouterr()
    assert "Error: " in out