@@ -92,6 +92,7 @@ private val ARTIFACT_PROVENANCE = ArtifactProvenance(
9292 )
9393)
9494
95+ @Suppress(" LargeClass" )
9596class LicenseInfoResolverTest : WordSpec ({
9697 " resolveLicenseInfo()" should {
9798 " resolve declared licenses" {
@@ -680,6 +681,15 @@ class LicenseInfoResolverTest : WordSpec({
680681
681682 result.files.map { it.path }.shouldContainExactlyInAnyOrder("path1/LICENSE ")
682683 }
684+
685+ " return only non-excluded license files" {
686+ val archiver = createArchiver(REPOSITORY_PROVENANCE , "LICENSE ", "LICENSE2 ")
687+ val licenseInfo = createLicenseInfo(ID , REPOSITORY_PROVENANCE , pathExcludes = listOf("LICENSE "))
688+
689+ val result = createResolver(data = listOf(licenseInfo), archiver = archiver).resolveLicenseFiles(ID )
690+
691+ result.files.map { it.path }.shouldContainExactlyInAnyOrder("LICENSE2 ")
692+ }
683693 }
684694
685695 " resolveLicenseFiles() for artifact provenance" should {
@@ -706,6 +716,15 @@ class LicenseInfoResolverTest : WordSpec({
706716 "path2/LICENSE "
707717 )
708718 }
719+
720+ " return only non-excluded license files" {
721+ val archiver = createArchiver(ARTIFACT_PROVENANCE , "LICENSE ", "LICENSE2 ")
722+ val licenseInfo = createLicenseInfo(ID , ARTIFACT_PROVENANCE , pathExcludes = listOf("LICENSE "))
723+
724+ val result = createResolver(data = listOf(licenseInfo), archiver = archiver).resolveLicenseFiles(ID )
725+
726+ result.files.map { it.path }.shouldContainExactlyInAnyOrder("LICENSE2 ")
727+ }
709728 }
710729
711730 " resolveLicenseFiles()" should {
@@ -816,7 +835,7 @@ private fun createLicenseInfo(
816835 id : Identifier ,
817836 provenance : KnownProvenance ,
818837 vararg pathAndLicense : Pair <String , String >,
819- pathExcludes : Collection <PathExclude > = emptyList()
838+ pathExcludes : Collection <String > = emptyList()
820839) = createLicenseInfo(
821840 id = id,
822841 detectedLicenses = listOf (
@@ -826,7 +845,7 @@ private fun createLicenseInfo(
826845 license to listOf (TextLocation (path, 1 ))
827846 }.toFindingsSet(),
828847 copyrights = emptySet(),
829- pathExcludes = pathExcludes.toList() ,
848+ pathExcludes = pathExcludes.map { PathExclude (pattern = it, reason = PathExcludeReason . OTHER ) } ,
830849 licenseFindingCurations = emptyList(),
831850 relativeFindingsPath = " "
832851 )
0 commit comments