mirror of
https://github.com/empayre/fleet.git
synced 2024-11-06 17:05:18 +00:00
fda79a8770
* Run network test serially to prevent timeouts on Github CI * Revert lint changes * Add simple file lock * Revert test change * Clarify error check
41 lines
985 B
Go
41 lines
985 B
Go
package main
|
|
|
|
import (
|
|
"os"
|
|
"path"
|
|
"path/filepath"
|
|
"regexp"
|
|
"testing"
|
|
|
|
"github.com/fleetdm/fleet/v4/pkg/nettest"
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestVulnerabilityDataStream(t *testing.T) {
|
|
nettest.Run(t)
|
|
|
|
runAppCheckErr(t, []string{"vulnerability-data-stream"}, "No directory provided")
|
|
|
|
vulnPath := t.TempDir()
|
|
expected := `[-] Downloading CPE database... Done
|
|
[-] Downloading CVE data streams... Done
|
|
[+] Data streams successfully downloaded!
|
|
`
|
|
assert.Equal(t,
|
|
expected,
|
|
runAppForTest(t, []string{"vulnerability-data-stream", "--dir", vulnPath}),
|
|
)
|
|
assert.FileExists(t, path.Join(vulnPath, "cpe.sqlite"))
|
|
|
|
var files []string
|
|
require.NoError(t, filepath.Walk(vulnPath, func(path string, info os.FileInfo, err error) error {
|
|
if match, err := regexp.MatchString("nvdcve.*\\.gz$", path); !match || err != nil {
|
|
return nil
|
|
}
|
|
files = append(files, path)
|
|
return nil
|
|
}))
|
|
assert.Greater(t, len(files), 0)
|
|
}
|