def test_get_java_versions():
    """Test basic behavior of function get_versions_for_maven_package."""
    package_versions = get_versions_for_maven_package("tomcat:catalina")
    assert package_versions is not None

    # good old version 4.0.4 should be reported
    assert "4.0.4" in package_versions

    package_versions = get_versions_for_maven_package(
        "it is hard to specify package that does not exist:foobar"
    )
    assert package_versions is not None

    # we expect empty list there
    assert not package_versions

    package_versions = get_versions_for_maven_package("there's missing comma")
    assert package_versions is not None

    # we expect empty list there
    assert not package_versions

    package_versions = get_versions_for_ep("maven", "junit:junit")
    assert package_versions is not None
    assert "4.12" in package_versions
Exemplo n.º 2
0
def server_create_analysis(ecosystem, package, version, api_flow=True,
                           force=False, force_graph_sync=False):
    """Create bayesianApiFlow handling analyses for specified EPV.

    :param ecosystem: ecosystem for which the flow should be run
    :param package: package for which should be flow run
    :param version: package version
    :param force: force run flow even specified EPV exists
    :param force_graph_sync: force synchronization to graph
    :return: dispatcher ID handling flow
    """
    # Dont try ingestion for private packages
    if get_versions_for_ep(ecosystem, package):
        logger.info("Unknown flow for {} {}".format(ecosystem, package))
        args = {
            'ecosystem': ecosystem,
            'name': package,
            'version': version,
            'force': force,
            'force_graph_sync': force_graph_sync
        }
        if api_flow:
            return server_run_flow('bayesianApiFlow', args)
        else:
            return server_run_flow('bayesianFlow', args)
    else:
        logger.info("Private package detected {} {}".format(ecosystem, package))
        return None
Exemplo n.º 3
0
def get_affected_versions(affected, ecosystem):
    """Get all affected versions for given package."""
    all_versions = get_versions_for_ep(ECOSYSTEM_MAPPING[ecosystem], affected.name)
    affected_versions = set()
    for version in all_versions:
        if affected.affects(affected.name, version=version):
            affected_versions.add(version)
    return affected_versions
def test_get_golang_versions():
    """Test basic behavior of function get_versions_for_golang_package."""
    versions = get_versions_for_golang_package("github.com/grafana/grafana")
    assert versions is not None

    versions = get_versions_for_golang_package("some_junk_name")
    assert versions is None

    versions = get_versions_for_ep("golang", "github.com/grafana/grafana")
    assert versions is not None
    assert "6.1.6" in versions
def test_get_versions_for_ep_no_package():
    """Test get_versions_for_ep for no package provided."""
    with pytest.raises(ValueError):
        get_versions_for_ep("maven", None)
    with pytest.raises(ValueError):
        get_versions_for_ep("npm", None)
    with pytest.raises(ValueError):
        get_versions_for_ep("pypi", None)
def test_get_python_versions():
    """Test basic behavior of function get_versions_for_pypi_package."""
    package_versions = get_versions_for_pypi_package("numpy")
    assert package_versions is not None

    # good old version 1.3.0 should be reported
    assert "1.3.0" in package_versions

    package_versions = get_versions_for_pypi_package(
        "it is hard to specify package that does not exist")
    assert package_versions is not None

    # we expect empty list there
    assert not package_versions

    package_versions = get_versions_for_ep("pypi", "flask")
    assert package_versions is not None
    assert "1.0.2" in package_versions
def test_get_versions_for_npm_package():
    """Test basic behavior of the function get_versions_for_npm_package."""
    package_versions = get_versions_for_npm_package("array")
    assert package_versions is not None

    # good old version 0.4.0 should be reported
    assert "0.4.0" in package_versions

    package_versions = get_versions_for_npm_package(
        "it is hard to specify package that does not exist")
    assert package_versions is not None

    # we expect empty list there
    assert not package_versions

    package_versions = get_versions_for_ep("npm", "uuid")
    assert package_versions is not None
    assert "3.3.2" in package_versions
def test_get_versions_for_ep_no_ecosystem():
    """Test get_versions_for_ep for no ecosystem provided."""
    with pytest.raises(ValueError):
        get_versions_for_ep(None, "cds-parsers")
def test_get_versions_for_ep_bad_ecosystem():
    """Test get_versions_for_ep for unsupported ecosystem."""
    with pytest.raises(ValueError):
        get_versions_for_ep("cobol", "cds-parsers")