From c5d7bdcf7fee24cf9e6a92f4bc953c9f8f873af9 Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Wed, 13 Jul 2022 18:11:10 +0900 Subject: [PATCH] Ignore removed changes in license checker --- __tests__/licenses.test.ts | 18 ++++++++++++++++++ src/licenses.ts | 4 ++++ 2 files changed, 22 insertions(+) diff --git a/__tests__/licenses.test.ts b/__tests__/licenses.test.ts index 799e68e1d..ea8164c04 100644 --- a/__tests__/licenses.test.ts +++ b/__tests__/licenses.test.ts @@ -68,3 +68,21 @@ test('it fails all license checks when allow is provided an empty array', async }) expect(invalidChanges.length).toBe(2) }) + +test('it does not fail if a license outside the allow list is found in removed changes', async () => { + const changes: Changes = [ + {...npmChange, change_type: 'removed'}, + {...rubyChange, change_type: 'removed'} + ] + const [invalidChanges, _] = getDeniedLicenseChanges(changes, {allow: ['BSD']}) + expect(invalidChanges).toStrictEqual([]) +}) + +test('it does not fail if a license inside the deny list is found in removed changes', async () => { + const changes: Changes = [ + {...npmChange, change_type: 'removed'}, + {...rubyChange, change_type: 'removed'} + ] + const [invalidChanges, _] = getDeniedLicenseChanges(changes, {deny: ['BSD']}) + expect(invalidChanges).toStrictEqual([]) +}) diff --git a/src/licenses.ts b/src/licenses.ts index 7b0134276..b0b67fb09 100644 --- a/src/licenses.ts +++ b/src/licenses.ts @@ -25,6 +25,10 @@ export function getDeniedLicenseChanges( const unknown: Change[] = [] for (const change of changes) { + if (change.change_type === 'removed') { + continue + } + const license = change.license if (license === null) { unknown.push(change)