Skip to content

Commit

Permalink
evaluator: Add a LicenseView for concluded or detected licenses
Browse files Browse the repository at this point in the history
Signed-off-by: Thomas Steenbergen <thomas.steenbergen@here.com>
  • Loading branch information
tsteenbe committed Aug 12, 2019
1 parent eab191d commit 5ddc0a9
Show file tree
Hide file tree
Showing 2 changed files with 75 additions and 0 deletions.
13 changes: 13 additions & 0 deletions evaluator/src/main/kotlin/LicenseView.kt
Expand Up @@ -85,6 +85,19 @@ sealed class LicenseView {
}
}

/**
* Return only the concluded licenses if they exist, otherwise return detected licenses.
*/
object ConcludedOrDetected : LicenseView() {
override fun licenses(pkg: Package, detectedLicenses: List<String>): List<Pair<String, LicenseSource>> {
pkg.concludedLicense?.licenses()?.let {
return it.map { license -> Pair(license, LicenseSource.CONCLUDED) }
}

return detectedLicenses.map { Pair(it, LicenseSource.DETECTED) }
}
}

/**
* Return only the concluded licenses.
*/
Expand Down
62 changes: 62 additions & 0 deletions evaluator/src/test/kotlin/LicenseViewTest.kt
Expand Up @@ -208,6 +208,68 @@ class LicenseViewTest : WordSpec({
}
}

"ConcludedOrDetected" should {
"return the correct licenses" {
LicenseView.ConcludedOrDetected.licenses(
packageWithoutLicense,
emptyList()
) shouldBe emptyList()

LicenseView.ConcludedOrDetected.licenses(
packageWithoutLicense,
detectedLicenses
) shouldBe listOf(
Pair("LicenseRef-a", LicenseSource.DETECTED),
Pair("LicenseRef-b", LicenseSource.DETECTED)
)

LicenseView.ConcludedOrDetected.licenses(
packageWithOnlyConcludedLicense,
emptyList()
) shouldBe listOf(
Pair("LicenseRef-a", LicenseSource.CONCLUDED),
Pair("LicenseRef-b", LicenseSource.CONCLUDED)
)

LicenseView.ConcludedOrDetected.licenses(
packageWithOnlyConcludedLicense,
detectedLicenses
) shouldBe listOf(
Pair("LicenseRef-a", LicenseSource.CONCLUDED),
Pair("LicenseRef-b", LicenseSource.CONCLUDED)
)

LicenseView.ConcludedOrDetected.licenses(
packageWithOnlyDeclaredLicense,
emptyList()
) shouldBe emptyList()

LicenseView.ConcludedOrDetected.licenses(
packageWithOnlyDeclaredLicense,
detectedLicenses
) shouldBe listOf(
Pair("LicenseRef-a", LicenseSource.DETECTED),
Pair("LicenseRef-b", LicenseSource.DETECTED)
)

LicenseView.ConcludedOrDetected.licenses(
packageWithConcludedAndDeclaredLicense,
emptyList()
) shouldBe listOf(
Pair("LicenseRef-a", LicenseSource.CONCLUDED),
Pair("LicenseRef-b", LicenseSource.CONCLUDED)
)

LicenseView.ConcludedOrDetected.licenses(
packageWithConcludedAndDeclaredLicense,
detectedLicenses
) shouldBe listOf(
Pair("LicenseRef-a", LicenseSource.CONCLUDED),
Pair("LicenseRef-b", LicenseSource.CONCLUDED)
)
}
}

"OnlyConcluded" should {
"return only the concluded licenses" {
LicenseView.OnlyConcluded.licenses(
Expand Down

0 comments on commit 5ddc0a9

Please sign in to comment.