fleet/cmd/fleetctl/vulnerability_data_stream_test.go
Lucas Manuel Rodriguez fda79a8770
Run network test serially to prevent timeouts on Github CI (#5557)
* Run network test serially to prevent timeouts on Github CI

* Revert lint changes

* Add simple file lock

* Revert test change

* Clarify error check
2022-05-10 11:52:33 -03:00

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)
}