mirror of
https://github.com/safedep/vet.git
synced 2025-12-11 01:01:10 -06:00
61 lines
1.6 KiB
Go
61 lines
1.6 KiB
Go
package server
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
|
|
packagev1 "buf.build/gen/go/safedep/api/protocolbuffers/go/safedep/messages/package/v1"
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
"github.com/safedep/vet/test"
|
|
)
|
|
|
|
func TestMcpDriver(t *testing.T) {
|
|
test.EnsureEndToEndTestIsEnabled(t)
|
|
|
|
driver, err := buildMcpDriver()
|
|
if err != nil {
|
|
t.Fatalf("failed to build MCP driver: %v", err)
|
|
}
|
|
|
|
t.Run("malysis community service is accessible", func(t *testing.T) {
|
|
report, err := driver.GetPackageVersionMalwareReport(context.Background(), &packagev1.PackageVersion{
|
|
Package: &packagev1.Package{
|
|
Ecosystem: packagev1.Ecosystem_ECOSYSTEM_NPM,
|
|
Name: "express",
|
|
},
|
|
Version: "4.17.1",
|
|
})
|
|
|
|
assert.NoError(t, err)
|
|
assert.NotNil(t, report)
|
|
})
|
|
|
|
t.Run("insights community service is accessible", func(t *testing.T) {
|
|
vulns, err := driver.GetPackageVersionVulnerabilities(context.Background(), &packagev1.PackageVersion{
|
|
Package: &packagev1.Package{
|
|
Ecosystem: packagev1.Ecosystem_ECOSYSTEM_NPM,
|
|
Name: "express",
|
|
},
|
|
Version: "4.17.1",
|
|
})
|
|
|
|
assert.NoError(t, err)
|
|
assert.NotNil(t, vulns)
|
|
assert.NotEmpty(t, vulns)
|
|
})
|
|
|
|
t.Run("package registry adapter is accessible", func(t *testing.T) {
|
|
res, err := driver.GetPackageLatestVersion(context.Background(), &packagev1.Package{
|
|
Ecosystem: packagev1.Ecosystem_ECOSYSTEM_NPM,
|
|
Name: "express",
|
|
})
|
|
|
|
assert.NoError(t, err)
|
|
assert.NotNil(t, res)
|
|
assert.Equal(t, "express", res.GetPackage().GetName())
|
|
assert.Equal(t, packagev1.Ecosystem_ECOSYSTEM_NPM, res.GetPackage().GetEcosystem())
|
|
assert.NotEmpty(t, res.GetPackage().GetName())
|
|
})
|
|
}
|