1
0
Fork 0
mirror of https://github.com/ethauvin/kobalt.git synced 2025-04-26 16:28: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.collection.CollectRequest
import org.eclipse.aether.graph.Dependency import org.eclipse.aether.graph.Dependency
import org.eclipse.aether.repository.RemoteRepository import org.eclipse.aether.repository.RemoteRepository
import org.eclipse.aether.resolution.ArtifactResult
import org.eclipse.aether.resolution.DependencyRequest import org.eclipse.aether.resolution.DependencyRequest
import org.eclipse.aether.util.artifact.JavaScopes import org.eclipse.aether.util.artifact.JavaScopes
import org.testng.annotations.DataProvider
import org.testng.annotations.Guice import org.testng.annotations.Guice
import org.testng.annotations.Test import org.testng.annotations.Test
@ -30,23 +32,29 @@ class AetherTest {
@Inject @Inject
lateinit var localRepo: LocalRepo 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 @Test
fun aetherShouldNotIncludeOptionalDependencies() { fun aetherShouldNotIncludeOptionalDependencies() {
val system = Booter.newRepositorySystem() val artifactResults = resolve("com.squareup.retrofit2:converter-jackson:jar:2.1.0")
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
// Make sure that com.google.android is not included (it's an optional dependency of retrofit2) // Make sure that com.google.android is not included (it's an optional dependency of retrofit2)
assertThat(artifactResults.none { it.toString().contains("android") }) 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) // Make sure that com.google.android is not included (it's an optional dependency of retrofit2)
assertThat(closure.none { it.toString().contains("android") }) 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
}
} }