[Scripting] Pass exception when constructing ScriptDiagnostic

This commit is contained in:
Ilya Muradyan
2022-05-05 22:48:53 +03:00
committed by Space
parent 0d0d7a9659
commit 537ae662d7
3 changed files with 12 additions and 6 deletions
@@ -174,7 +174,7 @@ class MavenDependenciesResolver : ExternalDependenciesResolver {
}
}
return makeResolveFailureResult(message, location)
return makeResolveFailureResult(listOf(message), location, exception)
}
}
}
@@ -131,19 +131,21 @@ class MavenResolverTest : ResolversTestBase() {
DependenciesResolverOptionsName.PASSWORD to "invalid password",
)
resolver.addRepository("https://packages.jetbrains.team/maven/p/crl/maven/", options)
// If the real space-sdk is in Maven Local, test will not fail
val result = runBlocking {
resolver.resolve("com.jetbrains:space-sdk:1.0-dev")
resolver.resolve("com.jetbrains:fake-space-sdk:1.0-dev")
} as ResultWithDiagnostics.Failure
assertEquals(1, result.reports.size)
val diagnostic = result.reports.single()
assertEquals(
"ArtifactResolutionException: Could not transfer artifact com.jetbrains:space-sdk:pom:1.0-dev " +
"ArtifactResolutionException: Could not transfer artifact com.jetbrains:fake-space-sdk:pom:1.0-dev " +
"from/to https___packages.jetbrains.team_maven_p_crl_maven_ (https://packages.jetbrains.team/maven/p/crl/maven/): " +
"authentication failed for https://packages.jetbrains.team/maven/p/crl/maven/com/jetbrains/space-sdk/1.0-dev/space-sdk-1.0-dev.pom, " +
"authentication failed for https://packages.jetbrains.team/maven/p/crl/maven/com/jetbrains/fake-space-sdk/1.0-dev/fake-space-sdk-1.0-dev.pom, " +
"status: 401 Unauthorized",
diagnostic.message
)
assertNotNull(diagnostic.exception)
}
fun testAuthIncorrectEnvUsage() {
@@ -12,12 +12,16 @@ import kotlin.script.experimental.api.ResultWithDiagnostics
import kotlin.script.experimental.api.ScriptDiagnostic
import kotlin.script.experimental.api.SourceCode
fun makeResolveFailureResult(message: String, location: SourceCode.LocationWithId? = null) = makeResolveFailureResult(listOf(message), location)
fun makeResolveFailureResult(message: String, location: SourceCode.LocationWithId? = null) =
makeResolveFailureResult(listOf(message), location)
fun makeResolveFailureResult(messages: Iterable<String>, location: SourceCode.LocationWithId? = null) =
makeResolveFailureResult(messages, location, null)
fun makeResolveFailureResult(messages: Iterable<String>, location: SourceCode.LocationWithId?, throwable: Throwable?) =
ResultWithDiagnostics.Failure(
messages.map {
ScriptDiagnostic(ScriptDiagnostic.unspecifiedError, it, ScriptDiagnostic.Severity.WARNING, location)
ScriptDiagnostic(ScriptDiagnostic.unspecifiedError, it, ScriptDiagnostic.Severity.WARNING, location, throwable)
}
)