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 == []
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
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)