Skip to content

Commit 5f8575a

Browse files
committed
refactor(carthage): Make a test use resolveSingleProject()
Reuse this function to align with other tests. Signed-off-by: Sebastian Schuberth <[email protected]>
1 parent 384d9b9 commit 5f8575a

File tree

2 files changed

+15
-12
lines changed

2 files changed

+15
-12
lines changed

plugins/package-managers/carthage/build.gradle.kts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,5 +38,7 @@ dependencies {
3838

3939
funTestImplementation(testFixtures(projects.analyzer))
4040

41+
testImplementation(testFixtures(projects.analyzer))
42+
4143
testImplementation(libs.mockk)
4244
}

plugins/package-managers/carthage/src/test/kotlin/CarthageTest.kt

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,13 @@
1919

2020
package org.ossreviewtoolkit.plugins.packagemanagers.carthage
2121

22-
import io.kotest.assertions.throwables.shouldThrow
2322
import io.kotest.core.spec.style.WordSpec
2423
import io.kotest.core.test.TestCase
2524
import io.kotest.engine.test.TestResult
25+
import io.kotest.matchers.collections.beEmpty
26+
import io.kotest.matchers.collections.shouldBeSingleton
2627
import io.kotest.matchers.shouldBe
28+
import io.kotest.matchers.string.shouldContain
2729

2830
import io.mockk.every
2931
import io.mockk.mockkStatic
@@ -32,9 +34,8 @@ import io.mockk.unmockkAll
3234
import java.io.File
3335
import java.net.URI
3436

37+
import org.ossreviewtoolkit.analyzer.resolveSingleProject
3538
import org.ossreviewtoolkit.model.VcsType
36-
import org.ossreviewtoolkit.model.config.AnalyzerConfiguration
37-
import org.ossreviewtoolkit.model.config.Excludes
3839

3940
class CarthageTest : WordSpec() {
4041
private val carthage = CarthageFactory.create()
@@ -48,7 +49,7 @@ class CarthageTest : WordSpec() {
4849
"parse a github dependency" {
4950
val cartfile = File("src/test/assets/Cartfile-github.resolved")
5051

51-
val result = carthage.resolveDependencies(cartfile).single()
52+
val result = carthage.resolveSingleProject(cartfile)
5253

5354
with(result.packages) {
5455
size shouldBe 1
@@ -63,7 +64,7 @@ class CarthageTest : WordSpec() {
6364
"parse a generic git dependency" {
6465
val cartfile = File("src/test/assets/Cartfile-generic-git.resolved")
6566

66-
val result = carthage.resolveDependencies(cartfile).single()
67+
val result = carthage.resolveSingleProject(cartfile)
6768

6869
with(result.packages) {
6970
size shouldBe 1
@@ -83,7 +84,7 @@ class CarthageTest : WordSpec() {
8384

8485
val cartfile = File("src/test/assets/Cartfile-binary.resolved")
8586

86-
val result = carthage.resolveDependencies(cartfile).single()
87+
val result = carthage.resolveSingleProject(cartfile)
8788
with(result.packages) {
8889
size shouldBe 1
8990
single().apply {
@@ -101,7 +102,7 @@ class CarthageTest : WordSpec() {
101102

102103
val cartfile = File("src/test/assets/Cartfile-mixed.resolved")
103104

104-
val result = carthage.resolveDependencies(cartfile).single()
105+
val result = carthage.resolveSingleProject(cartfile)
105106

106107
with(result.packages) {
107108
size shouldBe 3
@@ -118,13 +119,13 @@ class CarthageTest : WordSpec() {
118119
"throw an error for a wrongly defined dependency" {
119120
val cartfile = File("src/test/assets/Cartfile-faulty.resolved")
120121

121-
shouldThrow<IllegalArgumentException> {
122-
carthage.resolveDependencies(cartfile)
122+
val result = carthage.resolveSingleProject(cartfile)
123+
124+
result.packages should beEmpty()
125+
result.issues.shouldBeSingleton {
126+
it.message shouldContain "IllegalArgumentException"
123127
}
124128
}
125129
}
126130
}
127131
}
128-
129-
private fun Carthage.resolveDependencies(definitionFile: File) =
130-
resolveDependencies(definitionFile.parentFile, definitionFile, Excludes.EMPTY, AnalyzerConfiguration(), emptyMap())

0 commit comments

Comments
 (0)