def test_equality_between_instances_with_implicit_and_explicit_scala_versions(
):
    a = JvmPackageName('org.spire-math', 'kind-projector', '2.10.6')
    b = JvmPackageName('org.spire-math', 'kind-projector_2.10.6')
    assert a == b
    assert b == a
    assert not a != b
    assert not b != a
def test_fetch_version_with_scala_version_without_patch(registry):
    name = JvmPackageName('org.spire-math', 'kind-projector_2.10')
    version = registry.fetch_version(name, '0.8.2')
    assert version.name == name
    assert version.number == '0.8.2'
    assert version.licenses == ['MIT']
    assert set(version.runtime_dependencies) == set([
        Dependency.runtime(JvmPackageName('org.scala-lang', 'scala-compiler')),
        Dependency.runtime(JvmPackageName('org.scala-lang', 'scala-library'))
    ])
    assert version.development_dependencies == []
def test_fetch_version_without_scala_version(registry):
    name = JvmPackageName('org.scala-lang', 'scala-compiler')
    version = registry.fetch_version(name, '2.9.0')
    assert version.name == name
    assert version.number == '2.9.0'
    assert version.licenses == ['BSD-like']
    assert set(version.runtime_dependencies) == set([
        Dependency.runtime(JvmPackageName('org.scala-lang', 'scala-library')),
        Dependency.runtime(JvmPackageName('org.scala-lang', 'jline'))
    ])
    assert version.development_dependencies == []
def test_fetch_latest_version_with_full_scala_version(registry):
    name = JvmPackageName('com.typesafe', 'scalalogging-slf4j_2.10.0-M6')
    version = registry.fetch_latest_version(name)
    assert version.name == name
    assert version.number == '0.2.0'
    assert version.licenses == ['Apache 2.0 License']
    assert set(version.runtime_dependencies) == set([
        Dependency.runtime(JvmPackageName('org.slf4j', 'slf4j-api')),
        Dependency.runtime(JvmPackageName('org.scala-lang', 'scala-reflect'))
    ])
    assert version.development_dependencies == []
def test_fetch_latest_version_without_scala_version(registry):
    name = JvmPackageName('org.scala-lang', 'scala-compiler')
    version = registry.fetch_latest_version(name)
    assert version.name == name
    assert version.number == '2.13.0-M2'
    assert version.licenses == ['BSD 3-Clause']
    assert set(version.runtime_dependencies) == set([
        Dependency.runtime(JvmPackageName('jline', 'jline')),
        Dependency.runtime(JvmPackageName('org.scala-lang', 'scala-library')),
        Dependency.runtime(JvmPackageName('org.scala-lang', 'scala-reflect')),
        Dependency.runtime(
            JvmPackageName('org.scala-lang.modules', 'scala-xml_2.13.0-M2'))
    ])
    assert version.development_dependencies == []
def test_fetch_version_number_not_found(registry):
    name = JvmPackageName('org.scala-lang', 'scala-compiler')
    with pytest.raises(PackageVersionNotFoundError) as e:
        registry.fetch_version(name, '666')
    assert str(e.value) == (
        'Could not find package version org.scala-lang:scala-compiler:666. '
        '404 Client Error: Not Found for url: '
        'https://repo.maven.apache.org/maven2/org/scala-lang/scala-compiler/666/scala-compiler-666.pom'
    )
def test_fetch_latest_version_artifact_id_not_found(registry):
    name = JvmPackageName('org.scala-lang', 'foobar')
    with pytest.raises(PackageVersionNotFoundError) as e:
        registry.fetch_latest_version(name)
    assert str(e.value) == (
        'Could not find package version org.scala-lang:foobar:latest. '
        '404 Client Error: Not Found for url: '
        'https://repo.maven.apache.org/maven2/org/scala-lang/foobar/maven-metadata.xml'
    )
def test_fetch_latest_version_group_id_not_found(registry):
    name = JvmPackageName('com.example.foobar', 'foobar')
    with pytest.raises(PackageVersionNotFoundError) as e:
        registry.fetch_latest_version(name)
    assert str(e.value) == (
        'Could not find package version com.example.foobar:foobar:latest. '
        '404 Client Error: Not Found for url: '
        'https://repo.maven.apache.org/maven2/com/example/foobar/foobar/maven-metadata.xml'
    )
def test_fetch_latest_version_with_scala_version_without_patch(registry):
    name = JvmPackageName('org.spire-math', 'kind-projector_2.10')
    version = registry.fetch_latest_version(name)
    assert version.name == name
    assert version.number == '0.9.4'
    assert version.licenses == ['MIT']
    assert set(version.runtime_dependencies) == set([
        Dependency.runtime(JvmPackageName('org.scala-lang', 'scala-compiler')),
        Dependency.runtime(JvmPackageName('org.scala-lang', 'scala-library')),
        Dependency.runtime(
            JvmPackageName('org.scalamacros', 'quasiquotes_2.10'))
    ])
    assert set(version.development_dependencies) == set([
        Dependency.development(
            JvmPackageName('com.novocode', 'junit-interface')),
        Dependency.development(JvmPackageName('org.ensime', 'pcplod_2.10'))
    ])
def test_fetch_licenses_from_mvn_repository_when_pom_does_not_have_licenses(
        registry):
    name = JvmPackageName('org.apache.avro', 'avro-ipc', '2.10.6')
    version = registry.fetch_version(name, '1.8.2')
    assert version.licenses == ['Apache 2.0']
def test_get_scala_version_when_it_was_given_explicitly():
    name = JvmPackageName('org.spire-math', 'kind-projector', '2.10.6')
    assert name.scala_version == '2.10.6'
def test_fetch_licenses_when_artifact_has_multiple_licenses(mvn_repository):
    name = JvmPackageName('org.eclipse.jetty', 'jetty-webapp', '2.11.7-RC1')
    licenses = mvn_repository.fetch_licenses(name, '9.4.7.v20170914')
    assert licenses == ['Apache 2.0', 'EPL 1.0']
def test_fetch_licenses_when_artifact_has_one_license(mvn_repository):
    name = JvmPackageName('org.scala-sbt', 'zinc', '2.11.7-RC1')
    licenses = mvn_repository.fetch_licenses(name, '1.0.3')
    assert licenses == ['BSD']
def test_fetch_licenses_when_artifact_does_not_exist(mvn_repository):
    name = JvmPackageName('org.example', 'foobar', '2.11.7-RC1')
    licenses = mvn_repository.fetch_licenses(name, '1.0.3')
    assert licenses == []
Example #15
0
 def __fetch_parent(cls, data, registry):
     block = data.get('parent')
     if block:
         name = JvmPackageName(block['groupId'], block['artifactId'])
         version = block['version']
         return registry.get_pom(name, version)
def test_get_artifact_id_when_it_was_given_with_scala_version():
    name = JvmPackageName('org.spire-math', 'kind-projector_2.10.6')
    assert name.artifact_id == 'kind-projector'
def test_equality_when_both_instances_have_explicit_scala_versions():
    a = JvmPackageName('org.spire-math', 'kind-projector', '2.10.6')
    b = JvmPackageName('org.spire-math', 'kind-projector', '2.10.6')
    assert a == b
    assert not a != b
def test_get_artifact_id_variations_when_there_is_scala_version():
    name = JvmPackageName('org.spire-math', 'kind-projector', '2.10.5-RC2')
    assert name.artifact_id_variations == ('kind-projector_2.10.5-RC2',
                                           'kind-projector_2.10',
                                           'kind-projector')
def test_get_scala_version_without_patch_given_major_minor_patch_and_pre_release_parts(
):
    name = JvmPackageName('org.spire-math', 'kind-projector', '2.10.5-RC2')
    assert name.scala_version_without_patch == '2.10'
def test_get_group_id():
    name = JvmPackageName('org.spire-math', 'kind-projector_2.10.6')
    assert name.group_id == 'org.spire-math'
def test_get_scala_version_when_it_was_not_given():
    name = JvmPackageName('org.spire-math', 'kind-projector')
    assert name.scala_version is None
def test_get_scala_version_when_it_was_given_implicitly_in_the_artifact_id():
    name = JvmPackageName('org.spire-math', 'kind-projector_2.10.6')
    assert name.scala_version == '2.10.6'
def test_string_representation_given_scala_version_implicit_in_artifact_id():
    name = JvmPackageName('org.spire-math', 'kind-projector_2.10.6')
    assert str(name) == 'org.spire-math:kind-projector_2.10.6'
    assert repr(name) == 'org.spire-math:kind-projector_2.10.6'
def test_string_representation_given_no_scala_version():
    name = JvmPackageName('org.spire-math', 'kind-projector')
    assert str(name) == 'org.spire-math:kind-projector'
    assert repr(name) == 'org.spire-math:kind-projector'
def test_unequality_between_instances_with_different_artifact_ids():
    a = JvmPackageName('org.spire-math', 'foo', '2.10.6')
    b = JvmPackageName('org.spire-math', 'bar', '2.10.6')
    assert a != b
    assert not a == b
def test_unequality_between_instances_with_different_scala_versions():
    a = JvmPackageName('org.spire-math', 'kind-projector', '2.10.6')
    b = JvmPackageName('org.spire-math', 'kind-projector', '2.11')
    assert a != b
    assert not a == b
def test_unequality_between_instances_with_different_group_ids():
    a = JvmPackageName('foo', 'kind-projector', '2.10.6')
    b = JvmPackageName('bar', 'kind-projector', '2.10.6')
    assert a != b
    assert not a == b
Example #28
0
 def to_dependency(self, pom):
     group_id = self.__interpolate(self.group_id, pom)
     artifact_id = self.__interpolate(self.artifact_id, pom)
     return Dependency(JvmPackageName(group_id, artifact_id), self.kind)