Example #1
0
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)
Example #2
0
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'
Example #3
0
def test_libvmod_xcounter():
    """Test GitHub libvmod-xcounter."""
    repo = "https://github.com/xcir/libvmod-xcounter"

    output = latest(repo)

    assert output >= version.parse("62.3")
Example #4
0
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")
Example #5
0
def test_gperftools():
    """Test gperftools."""
    repo = "https://github.com/gperftools/gperftools/releases"

    output = latest(repo)

    assert output >= version.parse("2.7")
Example #6
0
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')
Example #7
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")
Example #8
0
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')
Example #9
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")
Example #10
0
def test_naxsi():
    """Test a GitHub project."""
    repo = "https://github.com/nbs-system/naxsi/releases"

    output = latest(repo)

    assert output >= version.parse("1.1")
Example #11
0
def test_roer():
    """Test a GitHub project."""
    repo = "spinnaker/roer"

    output = latest(repo)

    assert output >= version.parse("0.11.3")
Example #12
0
def test_grafana():
    """Test Grafana at GitHub."""
    repo = "grafana/grafana"

    output = latest(repo)

    assert output >= version.parse("6.2.2")
Example #13
0
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")
Example #14
0
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")
Example #15
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')
Example #16
0
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')
Example #17
0
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")
Example #18
0
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')
Example #19
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")
Example #20
0
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")
Example #21
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')
Example #22
0
def test_nginx():
    """Test NGINX."""
    repo = "https://nginx.org/"

    output = latest(repo, 'version')

    assert output >= version.parse("1.18.0")
Example #23
0
def test_mautic_pre():
    """Test Mautic."""
    repo = "mautic/mautic"

    output = latest(repo, 'version', True)

    assert output >= version.parse("2.15.2")
Example #24
0
def test_symfony():
    """Test Symfony."""
    repo = "https://github.com/symfony/symfony/releases"

    output = latest(repo)

    assert output >= version.parse("4.2.8")
Example #25
0
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')
Example #26
0
def test_wp_cli():
    """Test WP-CLI."""
    repo = "wp-cli/wp-cli"

    output = latest(repo)

    assert output >= version.parse("2.2.0")
Example #27
0
def test_sf_keepass():
    """Test a SourceForge project."""
    repo = 'https://sourceforge.net/projects/keepass'

    v = latest(repo)

    assert v >= version.parse('2.45')
Example #28
0
    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))

        
        
Example #29
0
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')
Example #30
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