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
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)
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
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
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)
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)
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)
def test_api_request(capsys): with pytest.raises(SystemExit): api_request('missing_command') out, err = capsys.readouterr() assert "Error: " in out