1
0
Fork 0
mirror of https://github.com/ethauvin/kobalt.git synced 2025-04-26 08:27:12 -07:00

Range tests.

This commit is contained in:
Cedric Beust 2017-02-05 10:42:08 -08:00
parent 27ba17ddce
commit 489fc867a7

View file

@ -14,8 +14,10 @@ import org.eclipse.aether.artifact.DefaultArtifact
import org.eclipse.aether.collection.CollectRequest
import org.eclipse.aether.graph.Dependency
import org.eclipse.aether.repository.RemoteRepository
import org.eclipse.aether.resolution.ArtifactResult
import org.eclipse.aether.resolution.DependencyRequest
import org.eclipse.aether.util.artifact.JavaScopes
import org.testng.annotations.DataProvider
import org.testng.annotations.Guice
import org.testng.annotations.Test
@ -30,23 +32,29 @@ class AetherTest {
@Inject
lateinit var localRepo: LocalRepo
@DataProvider
fun rangeProvider() = arrayOf(
arrayOf("org.sql2o:sql2o:[1.5.0,1.5.1]", "1.5.1"),
arrayOf("org.sql2o:sql2o:[1.5.0,)", "1.6.0-RC3"), // can potentially fail
arrayOf("org.sql2o:sql2o:[1.5.0,1.5.1)", "1.5.0")
)
@Test(dataProvider = "rangeProvider")
fun rangeVersion(id: String, expectedVersion: String) {
val result = resolve(id)
assertThat(result.size).isGreaterThan(0)
assertThat(result[0].artifact.version).isEqualTo(expectedVersion)
}
@Test(dataProvider = "rangeProvider")
fun kobaltRangeVersion(id: String, expectedVersion: String) {
val result = kobaltAether.resolve(id)
assertThat(result.dependency.version).isEqualTo(expectedVersion)
}
@Test
fun aetherShouldNotIncludeOptionalDependencies() {
val system = Booter.newRepositorySystem()
val session = Booter.newRepositorySystemSession(system,
localRepo.localRepo, KobaltSettings(KobaltSettingsXml()), EventBus())
val artifact = DefaultArtifact("com.squareup.retrofit2:converter-jackson:jar:2.1.0")
val collectRequest = CollectRequest().apply {
root = Dependency(artifact, JavaScopes.COMPILE)
repositories = listOf(
RemoteRepository.Builder("Maven", "default", "http://repo1.maven.org/maven2/").build()
)
}
val dependencyRequest = DependencyRequest(collectRequest, null)
val artifactResults = system.resolveDependencies(session, dependencyRequest).artifactResults
val artifactResults = resolve("com.squareup.retrofit2:converter-jackson:jar:2.1.0")
// Make sure that com.google.android is not included (it's an optional dependency of retrofit2)
assertThat(artifactResults.none { it.toString().contains("android") })
@ -60,4 +68,25 @@ class AetherTest {
// Make sure that com.google.android is not included (it's an optional dependency of retrofit2)
assertThat(closure.none { it.toString().contains("android") })
}
private fun resolve(id: String): List<ArtifactResult> {
val system = Booter.newRepositorySystem()
val session = Booter.newRepositorySystemSession(system,
localRepo.localRepo, KobaltSettings(KobaltSettingsXml()), EventBus())
val artifact = DefaultArtifact(id)
val collectRequest = CollectRequest().apply {
root = Dependency(artifact, JavaScopes.COMPILE)
repositories = listOf(
RemoteRepository.Builder("Maven", "default", "http://repo1.maven.org/maven2/").build()
)
}
val dependencyRequest = DependencyRequest(collectRequest, null)
val result = system.resolveDependencies(session, dependencyRequest).artifactResults
return result
}
}