Skip to content
This repository has been archived by the owner on Feb 21, 2022. It is now read-only.

Commit

Permalink
[#18] Fixes following code review
Browse files Browse the repository at this point in the history
  • Loading branch information
Catalin Buleandra committed Feb 25, 2015
1 parent 6919908 commit 763bc54
Show file tree
Hide file tree
Showing 7 changed files with 53 additions and 16 deletions.
Expand Up @@ -50,11 +50,15 @@ class JCenterNewVersionFinder implements NewVersionFinder {
private List<Dependency> findNewerInJCenter(List<Dependency> dependencies) {
int httpPoolSize = Math.min(dependencies.size(), maxHttpConnectionsPoolSize)
HTTPBuilder httpBuilder = new AsyncHTTPBuilder(timeout: connectionTimeout, poolSize: httpPoolSize, uri: jCenterRepo)
setProxyIfApplicable(httpBuilder)
Closure latestFromMavenGetter = getLatestFromJCenterRepo.curry(httpBuilder, versionToExcludePatterns, loggerProxy)
return dependencies.collect(latestFromMavenGetter).collect{ it.get() }.grep(getOnlyNewer).collect { it[1] }
}

private void setProxyIfApplicable(AsyncHTTPBuilder httpBuilder) {
if (proxyHost) {
httpBuilder.setProxy(proxyHost, proxyPort, proxyScheme)
}
Closure latestFromMavenGetter = getLatestFromJCenterRepo.curry(httpBuilder, versionToExcludePatterns, loggerProxy)
return dependencies.collect(latestFromMavenGetter).collect{ it.get() }.grep(getOnlyNewer).collect { it[1] }
}

public final Closure<Future> getLatestFromJCenterRepo = {HTTPBuilder httpBuilder, List<String> versionToExcludePatterns, LoggerProxy loggerProxy, Dependency dependency ->
Expand Down
Expand Up @@ -50,11 +50,15 @@ class MavenNewVersionFinder implements NewVersionFinder {
private List<Dependency> findNewerInMavenCentralRepo(List<Dependency> dependencies) {
int httpPoolSize = Math.min(dependencies.size(), maxHttpConnectionsPoolSize)
HTTPBuilder httpBuilder = new AsyncHTTPBuilder(timeout: connectionTimeout, poolSize: httpPoolSize, uri: mavenUrl)
setProxyIfApplicable(httpBuilder)
Closure latestFromMavenGetter = getLatestFromMavenCentralRepo.curry(httpBuilder, versionToExcludePatterns)
return dependencies.collect(latestFromMavenGetter).collect{it.get()}.grep(getOnlyNewer).collect {it[1]}
}

private setProxyIfApplicable(HTTPBuilder httpBuilder) {
if (proxyHost) {
httpBuilder.setProxy(proxyHost, proxyPort, proxyScheme)
}
Closure latestFromMavenGetter = getLatestFromMavenCentralRepo.curry(httpBuilder, versionToExcludePatterns)
return dependencies.collect(latestFromMavenGetter).collect{it.get()}.grep(getOnlyNewer).collect {it[1]}
}

private final Closure<Future> getLatestFromMavenCentralRepo = {HTTPBuilder httpBuilder, List<String> versionToExcludePatterns, Dependency dependency ->
Expand Down
@@ -1,10 +1,11 @@
package com.ofg.uptodate.finder

import com.github.tomakehurst.wiremock.client.MappingBuilder
import com.github.tomakehurst.wiremock.client.ResponseDefinitionBuilder
import com.github.tomakehurst.wiremock.client.WireMock
import com.ofg.uptodate.http.HttpMockServer
import groovy.transform.PackageScope

@PackageScope
class HttpProxyServerProvider {

public static final int MOCK_HTTP_PROXY_SERVER_PORT = 12406
Expand Down
Expand Up @@ -116,9 +116,11 @@ class JCenterNewVersionFinderSpec extends NewFinderSpec {
project.dependencies.add(COMPILE_CONFIGURATION, 'org.hibernate:hibernate-core:4.2.9.Final')
project.dependencies.add(TEST_COMPILE_CONFIGURATION, 'junit:junit:4.11')
and:
project.extensions.uptodate.proxyHostname = 'localhost'
project.extensions.uptodate.proxyPort = MOCK_HTTP_PROXY_SERVER_PORT
project.extensions.uptodate.proxyScheme = 'http'
project.extensions.uptodate.with {
proxyHostname = 'localhost'
proxyPort = MOCK_HTTP_PROXY_SERVER_PORT
proxyScheme = 'http'
}
when:
executeUptodateTask()
then:
Expand Down
@@ -1,12 +1,25 @@
package com.ofg.uptodate.finder

import com.github.tomakehurst.wiremock.client.MappingBuilder
import com.github.tomakehurst.wiremock.client.ResponseDefinitionBuilder

import static com.github.tomakehurst.wiremock.client.WireMock.*

class JCenterReponseProvider {

void stubInteractionForJcenter(String group, String name, String response) {
stubInteraction(get(urlMatching("^.*${group.split('\\.').join('/')}/${name}/maven-metadata.xml")), aResponse().withHeader('content-type', 'application/xml').withStatus(200).withBody(response))
stubInteraction(jcenterMapping(group, name), jcenterResponse(response))
}

void stubProxyInteractionForJcenter(String group, String name, String response) {
stubProxyInteraction(get(urlMatching("^.*${group.split('\\.').join('/')}/${name}/maven-metadata.xml")), aResponse().withHeader('content-type', 'application/xml').withStatus(200).withBody(response))
stubProxyInteraction(jcenterMapping(group, name), jcenterResponse(response))
}

private static MappingBuilder jcenterMapping(String group, String name) {
return get(urlMatching("^.*${group.split('\\.').join('/')}/${name}/maven-metadata.xml"))
}

private static ResponseDefinitionBuilder jcenterResponse(String response) {
return aResponse().withHeader('content-type', 'application/xml').withStatus(200).withBody(response)
}
}
Expand Up @@ -133,9 +133,11 @@ class MavenNewVersionFinderSpec extends NewFinderSpec {
project.dependencies.add(COMPILE_CONFIGURATION, 'org.hibernate:hibernate-core:4.2.9.Final')
project.dependencies.add(TEST_COMPILE_CONFIGURATION, 'junit:junit:4.11')
and:
project.extensions.uptodate.proxyHostname = 'localhost'
project.extensions.uptodate.proxyPort = MOCK_HTTP_PROXY_SERVER_PORT
project.extensions.uptodate.proxyScheme = 'http'
project.extensions.uptodate.with {
proxyHostname = 'localhost'
proxyPort = MOCK_HTTP_PROXY_SERVER_PORT
proxyScheme = 'http'
}
when:
executeUptodateTask()
then:
Expand Down
@@ -1,4 +1,7 @@
package com.ofg.uptodate.finder
import com.github.tomakehurst.wiremock.client.MappingBuilder
import com.github.tomakehurst.wiremock.client.ResponseDefinitionBuilder

import static com.github.tomakehurst.wiremock.client.WireMock.*
import static com.ofg.uptodate.UrlEspaceUtils.escape

Expand All @@ -8,10 +11,18 @@ class MavenReponseProvider {
public static final String SOLR_AND = '\\+AND\\+'

void stubInteractionForMavenCentral(String group, String name, String response) {
stubInteraction(get(urlMatching( "^.*${ROOT_PATH}q=${escape("g:\"$group\"")}$SOLR_AND${escape("a:\"$name\"")}.*")), aResponse().withStatus(200).withHeader("Content-Type", "application/json").withBody(response))
stubInteraction(mavenMapping(group, name), mavenResponse(response))
}

void stubProxyInteractionForMavenCentral(String group, String name, String response) {
stubProxyInteraction(get(urlMatching( "^.*${ROOT_PATH}q=${escape("g:\"$group\"")}$SOLR_AND${escape("a:\"$name\"")}.*")), aResponse().withStatus(200).withHeader("Content-Type", "application/json").withBody(response))
}
stubProxyInteraction(mavenMapping(group, name), mavenResponse(response))
}

private static MappingBuilder mavenMapping(String group, String name) {
return get(urlMatching( "^.*${ROOT_PATH}q=${escape("g:\"$group\"")}$SOLR_AND${escape("a:\"$name\"")}.*"))
}

private static ResponseDefinitionBuilder mavenResponse(String response){
return aResponse().withStatus(200).withHeader("Content-Type", "application/json").withBody(response)
}
}

0 comments on commit 763bc54

Please sign in to comment.