Adding logic to filter by vulnerability severity.

This commit is contained in:
Federico Builes
2022-05-31 16:50:39 +02:00
parent e622e72c6f
commit f0a04841ce
8 changed files with 8510 additions and 8 deletions
+1 -1
View File
@@ -11,7 +11,7 @@ test('has a default config filepath', async () => {
expect(true).toEqual(true)
})
test('can read files with both extensions', async () => {
test('the default config path handles .yml and .yaml', async () => {
expect(true).toEqual(true)
})
+54
View File
@@ -0,0 +1,54 @@
import { expect, test } from '@jest/globals'
import { Change, Changes } from '../src/schemas'
import { filterChangesBySeverity } from '../src/filter'
let npmChange: Change = {
manifest: "package.json",
change_type: "added",
ecosystem: "npm",
name: "Reeuhq",
version: "1.0.2",
package_url: "somepurl",
license: "MIT",
source_repository_url: "github.com/some-repo",
vulnerabilities: [
{
severity: "critical",
advisory_ghsa_id: "first-random_string",
advisory_summary: "very dangerouns",
advisory_url: "github.com/future-funk"
}
]
}
let rubyChange: Change = {
change_type: "added",
manifest: "Gemfile.lock",
ecosystem: "rubygems",
name: "actionsomething",
version: "3.2.0",
package_url: "somerubypurl",
license: "BSD",
source_repository_url: "github.com/some-repo",
vulnerabilities: [
{
severity: "moderate",
advisory_ghsa_id: "second-random_string",
advisory_summary: "not so dangerouns",
advisory_url: "github.com/future-funk"
},
{
severity: "low",
advisory_ghsa_id: "third-random_string",
advisory_summary: "dont page me",
advisory_url: "github.com/future-funk"
},
]
}
test('it properly filters changes by severity', async () => {
let changes: Changes = [npmChange, rubyChange]
const expectedChanges: Changes = [npmChange]
changes = filterChangesBySeverity('high', changes)
expect(changes).toEqual(expectedChanges)
})