def test_listDependencyGraph(self): config = configuration.Configuration() config.addClassifiers = "" sourceKey = "repository:central" topGavs = ['org.apache.ant:ant:1.8.0'] dependencies = { 'org.apache.ant:ant:pom:1.8.0': set(['']), #'org.apache.ant:ant:jar:1.8.0': set(['']), 'org.apache.ant:ant-launcher:pom:1.8.0': set(['']), 'org.apache.ant:ant-launcher:jar:1.8.0': set(['']), 'org.apache.ant:ant-parent:pom:1.8.0': set(['']), 'org.apache:apache:pom:3': set(['']), 'org.apache:apache:pom:4': set(['']), 'xerces:xercesImpl:pom:2.9.0': set(['']), 'xerces:xercesImpl:jar:2.9.0': set(['']), 'xml-apis:xml-apis:pom:1.3.04': set(['']), 'xml-apis:xml-apis:jar:1.3.04': set(['']), 'xml-resolver:xml-resolver:pom:1.2': set(['']), 'xml-resolver:xml-resolver:jar:1.2': set(['']) } expectedArtifacts = self._getExpectedArtifacts(self.indyUrl, dependencies) builder = artifact_list_builder.ArtifactListBuilder(config) actualArtifacts = builder._listDependencyGraph(self.indyUrl, None, sourceKey, topGavs) self.assertEqualArtifactList(expectedArtifacts, actualArtifacts)
def test_listDependencies_recursive(self): config = configuration.Configuration() config.addClassifiers = "__all__" repoUrls = ['http://repo.maven.apache.org/maven2/'] gavs = ['com.sun.faces:jsf-api:2.0.11', 'org.apache.ant:ant:1.8.0'] dependencies = { 'junit:junit:pom:3.8.2': set(['']), 'junit:junit:jar:3.8.2': set(['', 'sources', 'javadoc']), 'xerces:xercesImpl:pom:2.9.0': set(['']), 'xerces:xercesImpl:jar:2.9.0': set(['']), 'xml-apis:xml-apis:pom:1.3.04': set(['']), 'xml-apis:xml-apis:jar:1.3.04': set(['', 'source', 'sources']), 'javax.el:javax.el-api:pom:2.2.1': set(['']), 'javax.el:javax.el-api:jar:2.2.1': set(['', 'sources', 'javadoc']), 'xml-resolver:xml-resolver:pom:1.2': set(['']), 'xml-resolver:xml-resolver:jar:1.2': set(['', 'sources']), 'javax.servlet:servlet-api:pom:2.5': set(['']), 'javax.servlet:servlet-api:jar:2.5': set(['', 'sources']), 'javax.servlet.jsp:jsp-api:pom:2.1': set(['']), 'javax.servlet.jsp:jsp-api:jar:2.1': set(['', 'sources']), 'org.apache.ant:ant-launcher:pom:1.8.0': set(['']), 'org.apache.ant:ant-launcher:jar:1.8.0': set(['']), 'javax.servlet.jsp.jstl:jstl-api:pom:1.2': set(['']), 'javax.servlet.jsp.jstl:jstl-api:jar:1.2': set(['', 'sources', 'javadoc']), 'javax.servlet:javax.servlet-api:pom:3.0.1': set(['']), 'javax.servlet:javax.servlet-api:jar:3.0.1': set(['', 'sources', 'javadoc']), 'javax.servlet.jsp:javax.servlet.jsp-api:pom:2.2.1': set(['']), 'javax.servlet.jsp:javax.servlet.jsp-api:jar:2.2.1': set(['', 'sources', 'javadoc']) } expectedArtifacts = self._getExpectedArtifacts(repoUrls[0], dependencies) builder = artifact_list_builder.ArtifactListBuilder(config) actualArtifacts = builder._listDependencies(repoUrls, gavs, True, None, False) self.assertEqualArtifactList(expectedArtifacts, actualArtifacts)
def test__getExtensionsAndClassifiers_tar_gz(self): config = configuration.Configuration() config.addClassifiers = "__all__" artifactId = 'showcase-distribution-wars' version = '0.3.3-redhat-8' filenames = ["showcase-distribution-wars-0.3.3-redhat-8.tar.gz"] builder = artifact_list_builder.ArtifactListBuilder(config) extsAndClasss = builder._getExtensionsAndClassifiers( artifactId, version, filenames)[0] self.assertEqual(len(extsAndClasss), 1) self.assertTrue("tar.gz" in extsAndClasss) self.assertEqual(extsAndClasss["tar.gz"], set([""]))
def test__getExtensionsAndClassifiers_md5_of_dot_in_classifier(self): config = configuration.Configuration() config.addClassifiers = "__all__" artifactId = 'showcase-distribution-wars' version = '0.3.3-redhat-8' filenames = [ "showcase-distribution-wars-0.3.3-redhat-8-jboss-as7.0.war.md5" ] builder = artifact_list_builder.ArtifactListBuilder(config) extsAndClasss = builder._getExtensionsAndClassifiers( artifactId, version, filenames)[0] self.assertEqual(len(extsAndClasss), 0)
def test_listRepository_file(self): config = configuration.Configuration() config.allClassifiers = True repoUrls = ['file://./tests/testrepo'] gavPatterns = ['bar:foo-bar:1.1', 'foo.baz:baz-core:1.0'] builder = artifact_list_builder.ArtifactListBuilder(config) actualArtifacts = builder._listRepository(repoUrls, gavPatterns) expectedArtifacts = { MavenArtifact.createFromGAV(gavPatterns[0]): ArtifactSpec(repoUrls[0], set([])), MavenArtifact.createFromGAV(gavPatterns[1]): ArtifactSpec(repoUrls[0], set(['javadoc', 'sources'])) } self.assertEqualArtifactList(expectedArtifacts, actualArtifacts)
def test_listRepository_http(self): config = configuration.Configuration() config.allClassifiers = True repoUrls = ['http://repo.maven.apache.org/maven2/'] gavPatterns = [ 'com.sun.faces:jsf-api:2.0.11', 'org.apache.ant:ant:1.8.0' ] builder = artifact_list_builder.ArtifactListBuilder(config) actualArtifacts = builder._listRepository(repoUrls, gavPatterns) expectedArtifacts = { MavenArtifact.createFromGAV(gavPatterns[0]): ArtifactSpec(repoUrls[0], set(['javadoc', 'sources'])), MavenArtifact.createFromGAV(gavPatterns[1]): ArtifactSpec(repoUrls[0], set([])) } self.assertEqualArtifactList(expectedArtifacts, actualArtifacts)
def test_listMeadTagArtifacts(self): config = configuration.Configuration() config.allClassifiers = True kojiUrl = "http://brewhub.devel.redhat.com/brewhub/" tagName = "mead-import-maven" downloadRootUrl = "http://download.devel.redhat.com/brewroot/packages/" gavPatterns = ['org.apache.maven:maven-core:2.0.6'] builder = artifact_list_builder.ArtifactListBuilder(config) actualArtifacts = builder._listMeadTagArtifacts( kojiUrl, downloadRootUrl, tagName, gavPatterns) expectedUrl = downloadRootUrl + "org.apache.maven-maven-core/2.0.6/1/maven/" expectedArtifacts = { MavenArtifact.createFromGAV(gavPatterns[0]): ArtifactSpec(expectedUrl, set(['javadoc', 'sources'])) } self.assertEqualArtifactList(expectedArtifacts, actualArtifacts)
def test_listRepository_file_gatcvs(self): config = configuration.Configuration() config.addClassifiers = "__all__" repoUrls = ['file://./tests/testrepo'] gatcvs = ['bar:foo-bar:pom:1.1', 'foo.baz:baz-core:jar:1.0'] builder = artifact_list_builder.ArtifactListBuilder(config) actualArtifacts = builder._listRepository(repoUrls, None, gatcvs) expectedArtifacts = { MavenArtifact.createFromGAV(gatcvs[0]): ArtifactSpec(repoUrls[0], [ArtifactType("pom", True, set(['']))]), MavenArtifact.createFromGAV(gatcvs[1]): ArtifactSpec(repoUrls[0], [ ArtifactType("pom", True, set([''])), ArtifactType("jar", True, set(['', 'javadoc', 'sources'])) ]) } self.assertEqualArtifactList(expectedArtifacts, actualArtifacts)
def test_listDependencies(self): config = configuration.Configuration() config.allClassifiers = True repoUrls = ['http://repo.maven.apache.org/maven2/'] gavs = ['com.sun.faces:jsf-api:2.0.11', 'org.apache.ant:ant:1.8.0'] dependencies = { 'javax.servlet:javax.servlet-api:jar:3.0.1': set(['javadoc', 'sources']), 'javax.servlet.jsp.jstl:jstl-api:jar:1.2': set(['javadoc', 'sources']), 'xml-apis:xml-apis:jar:1.3.04': set(['source', 'sources']), 'javax.servlet:servlet-api:jar:2.5': set(['sources']), 'javax.el:javax.el-api:jar:2.2.1': set(['javadoc', 'sources']), 'junit:junit:jar:3.8.2': set(['javadoc', 'sources']), 'xerces:xercesImpl:jar:2.9.0': set([]), 'javax.servlet.jsp:jsp-api:jar:2.1': set(['sources']), 'javax.servlet.jsp:javax.servlet.jsp-api:jar:2.2.1': set(['javadoc', 'sources']), 'org.apache.ant:ant-launcher:jar:1.8.0': set([]) } expectedArtifacts = {} for dep in dependencies: artifact = MavenArtifact.createFromGAV(dep) expectedArtifacts[artifact] = ArtifactSpec(repoUrls[0], dependencies[dep]) builder = artifact_list_builder.ArtifactListBuilder(config) actualArtifacts = builder._listDependencies(repoUrls, gavs, False, False) self.assertEqualArtifactList(expectedArtifacts, actualArtifacts)