def test_raises_bad_project_error_while_graphql(): """ Test getting BadProjectError while in graphql. When a bad project is passed as owner/name, we don't fail on 404 while getting releases.atom as we're still hoping to get something with graphql. So graphql response should be checked and BadProjectError raised so that we can communicate that the repo argument passed was invalid. """ with pytest.raises(BadProjectError): repo = 'SiliconLabs/uC-OS' latest(repo)
def test_magento2_major_tag(): """Test major selection and returning tag.""" repo = 'magento/magento2' v = latest(repo, major='2.3.4', output_format='tag') assert v == '2.3.4-p2'
def test_libvmod_xcounter(): """Test GitHub libvmod-xcounter.""" repo = "https://github.com/xcir/libvmod-xcounter" output = latest(repo) assert output >= version.parse("62.3")
def test_ngx_pagespeed(): """Test ngx_pagespeed.""" repo = "apache/incubator-pagespeed-ngx" output = latest(repo, output_format='version') assert output >= version.parse("1.13.35.2")
def test_gperftools(): """Test gperftools.""" repo = "https://github.com/gperftools/gperftools/releases" output = latest(repo) assert output >= version.parse("2.7")
def test_homepage_feed_discovery(): """Test with a project through website feed discovery.""" repo = 'https://filezilla-project.org/' v = latest(repo, only='FileZilla Client') assert v >= version.parse('3.50.0')
def test_brotli(): """Test ngx_brotli GitHub project.""" repo = "https://github.com/eustas/ngx_brotli/releases" output = latest(repo) assert output == version.parse("0.1.2")
def test_with_search(): """Test using GitHub search API by specifying one word in repo.""" repo = 'telize' v = latest(repo) assert v >= version.parse('3.0.0')
def test_ndk(): """Test a GitHub project.""" repo = "https://github.com/simplresty/ngx_devel_kit" output = latest(repo) assert output <= version.parse("0.3.1")
def test_naxsi(): """Test a GitHub project.""" repo = "https://github.com/nbs-system/naxsi/releases" output = latest(repo) assert output >= version.parse("1.1")
def test_roer(): """Test a GitHub project.""" repo = "spinnaker/roer" output = latest(repo) assert output >= version.parse("0.11.3")
def test_grafana(): """Test Grafana at GitHub.""" repo = "grafana/grafana" output = latest(repo) assert output >= version.parse("6.2.2")
def test_gitlab_at(): """Test specifying GitLab repo with an --at parameter.""" repo = 'ddcci-driver-linux/ddcci-driver-linux' v = latest(repo, at='gitlab') assert v >= version.parse("0.4.1")
def test_datadog_agent(): repo = "DataDog/datadog-agent" output = latest(repo) # TODO deal with projects like this (dca- and non-dca tags are different subprojects) assert output >= version.parse("1.7.0")
def test_tdesktop(): """Test Telegram Desktop at GitHub.""" repo = "https://github.com/telegramdesktop/tdesktop/releases" output = latest(repo, 'version', False) assert output >= version.parse('1.8.1')
def test_squid_underscore_lover(): """Test a repo with tags like SQUID_5_0_1.""" repo = 'https://github.com/squid-cache/squid/releases' v = latest(repo) assert v >= version.parse('5.0.1')
def test_major(): """Test major selection.""" repo = "https://github.com/SpiderLabs/ModSecurity" output = latest(repo, major='2.9') assert output == version.parse("2.9.3")
def test_homepage_github_link_discovery(): """Test with discovering github repo from project own website.""" repo = 'https://transmissionbt.com/' v = latest(repo) assert v >= version.parse('3.0')
def test_gitlab_1(): """Test specifying a deep-level link at GitLab.""" repo = 'https://gitlab.com/ddcci-driver-linux/ddcci-driver-linux/-/tree/master' v = latest(repo) assert v == version.parse("0.3.3")
def test_monit(): """Test Monit.""" repo = "https://mmonit.com/monit/dist/monit-5.26.0.tar.gz" output = latest(repo, 'version') assert output > version.parse("5.25.0")
def test_merc_1(): """Test a Mercurial repo.""" repo = 'https://hg.dillo.org/dillo/' v = latest(repo) assert v == version.parse('3.0.5')
def test_nginx(): """Test NGINX.""" repo = "https://nginx.org/" output = latest(repo, 'version') assert output >= version.parse("1.18.0")
def test_mautic_pre(): """Test Mautic.""" repo = "mautic/mautic" output = latest(repo, 'version', True) assert output >= version.parse("2.15.2")
def test_symfony(): """Test Symfony.""" repo = "https://github.com/symfony/symfony/releases" output = latest(repo) assert output >= version.parse("4.2.8")
def test_magento2_major(): """Test major selection and returning version.""" repo = 'magento/magento2' v = latest(repo, major='2.3.4') assert v == version.parse('2.3.4.post2')
def test_wp_cli(): """Test WP-CLI.""" repo = "wp-cli/wp-cli" output = latest(repo) assert output >= version.parse("2.2.0")
def test_sf_keepass(): """Test a SourceForge project.""" repo = 'https://sourceforge.net/projects/keepass' v = latest(repo) assert v >= version.parse('2.45')
def CheckForUpdate(self): debug.info("Checking for new release. {} v{} installed in {}".format(self.data.UpdateRepo,self.version,self.workingDir)) #Use GITHUB Token to remove rate limit, not required if you are doing a single test per day os.environ['GITHUB_API_TOKEN'] = self.token debug.info("Using github api token: {} to check updates".format(self.token)) # Use lastversion to check against github latest release repo, don't look at pre releases try: latest_version = lastversion.latest(self.data.UpdateRepo, output_format='version', pre_ok=False) except Exception as e: debug.error("Unable to get info from GitHub. Error: {}".format(e)) else: if latest_version != None: if latest_version > version.parse(self.version): debug.info("New release v{} available.".format(latest_version)) self.data.newUpdate = True else: debug.info("No new release.") self.data.newUpdate = False else: debug.error("Unable to get latest version from github, is it tagged properly?") nextcheck = self.scheduler.get_job('updatecheck').next_run_time debug.info("Next check for update @ {}".format(nextcheck))
def test_tags_only_repo(): """A repo may never published a formal release which results in a completely empty releases atom without any formal and non-formal tags See #63""" repo = 'https://github.com/lastversion-test-repos/cpython' v = latest(repo) assert v == version.parse('3.10.0')
def check_latest_version(self): """Checker whether a new version of Eddington-GUI is available or not.""" try: eddington_latest_version = str(latest(self.app_name)) self.has_newer_version = parse_version( eddington_latest_version) > parse_version(__version__) except requests.exceptions.ConnectionError: self.has_newer_version = False