mirror of
https://github.com/fleetdm/fleet
synced 2026-05-09 18:20:48 +00:00
89 lines
2.3 KiB
Go
89 lines
2.3 KiB
Go
package xml
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestVulnunerability(t *testing.T) {
|
|
t.Run("VulnerabilityXML", func(t *testing.T) {
|
|
t.Run("#PublishedDateEpoch", func(t *testing.T) {
|
|
sut := Vulnerability{
|
|
Revisions: []RevisionHistory{
|
|
{
|
|
Description: "<p>Information published.</p> ",
|
|
Date: "2022-05-10T07:00:00",
|
|
},
|
|
},
|
|
}
|
|
|
|
resultEpoch := sut.PublishedDateEpoch()
|
|
require.NotNil(t, resultEpoch)
|
|
|
|
resultDate := time.Unix(*resultEpoch, 0)
|
|
require.Equal(t, 2022, resultDate.Year())
|
|
require.Equal(t, time.May, resultDate.Month())
|
|
require.Equal(t, 10, resultDate.Day())
|
|
})
|
|
|
|
t.Run("#IncludesVendorFix", func(t *testing.T) {
|
|
t.Run("no remediations", func(t *testing.T) {
|
|
sut := Vulnerability{}
|
|
require.False(t, sut.IncludesVendorFix("1"))
|
|
})
|
|
|
|
t.Run("no vendor fixes", func(t *testing.T) {
|
|
sut := Vulnerability{
|
|
Remediations: []VulnerabilityRemediation{
|
|
{
|
|
Type: "Known Issue",
|
|
ProductIDs: []string{"11896", "11897"},
|
|
Description: "5013942",
|
|
URL: "https://support.microsoft.com/help/5013942",
|
|
},
|
|
},
|
|
}
|
|
|
|
require.False(t, sut.IncludesVendorFix("11896"))
|
|
})
|
|
|
|
t.Run("no vendor fix matches", func(t *testing.T) {
|
|
sut := Vulnerability{
|
|
Remediations: []VulnerabilityRemediation{
|
|
{
|
|
Type: "Vendor Fix",
|
|
FixedBuild: "10.0.17763.2928",
|
|
ProductIDs: []string{"11568", "11569"},
|
|
Description: "5013941",
|
|
Supercedence: "5012647",
|
|
RestartRequired: "Yes",
|
|
URL: "https://catalog.update.microsoft.com/v7/site/Search.aspx?q=KB5013941",
|
|
},
|
|
},
|
|
}
|
|
|
|
require.False(t, sut.IncludesVendorFix("123"))
|
|
})
|
|
|
|
t.Run("vendor fix matches", func(t *testing.T) {
|
|
sut := Vulnerability{
|
|
Remediations: []VulnerabilityRemediation{
|
|
{
|
|
Type: "Vendor Fix",
|
|
FixedBuild: "10.0.17763.2928",
|
|
ProductIDs: []string{"11568", "11569"},
|
|
Description: "5013941",
|
|
Supercedence: "5012647",
|
|
RestartRequired: "Yes",
|
|
URL: "https://catalog.update.microsoft.com/v7/site/Search.aspx?q=KB5013941",
|
|
},
|
|
},
|
|
}
|
|
|
|
require.True(t, sut.IncludesVendorFix("11568"))
|
|
})
|
|
})
|
|
})
|
|
}
|