Skip to content

Commit

Permalink
add test coverage to labels
Browse files Browse the repository at this point in the history
Signed-off-by: Matthias Bertschy <matthias.bertschy@gmail.com>
  • Loading branch information
matthyx committed Mar 27, 2023
1 parent 2c2cd52 commit f9ca414
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 4 deletions.
18 changes: 15 additions & 3 deletions core/services/scan_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import (
"github.com/kubescape/kubevuln/core/domain"
"github.com/kubescape/kubevuln/internal/tools"
"github.com/kubescape/kubevuln/repositories"
"gotest.tools/v3/assert"
)

func TestScanService_GenerateSBOM(t *testing.T) {
Expand Down Expand Up @@ -118,6 +119,7 @@ func TestScanService_ScanCVE(t *testing.T) {
storeErrorSBOM bool
timeout bool
workload bool
wantCvep bool
wantErr bool
}{
{
Expand Down Expand Up @@ -188,9 +190,10 @@ func TestScanService_ScanCVE(t *testing.T) {
{
name: "with SBOMp",
sbom: true,
instanceID: "apiVersion-v1/namespace-default/kind-Deployment/name-nginx/resourceVersion-153294/containerName-nginx",
instanceID: "ee9bdd0adec9ce004572faf3492f583aa82042a8b3a9d5c7d9179dc03c531eef",
storage: true,
workload: true,
wantCvep: true,
wantErr: false,
},
}
Expand All @@ -202,11 +205,12 @@ func TestScanService_ScanCVE(t *testing.T) {
wlid = ""
}
sbomAdapter := adapters.NewMockSBOMAdapter(tt.createSBOMError, tt.timeout)
cveAdapter := adapters.NewMockCVEAdapter()
storageSBOM := repositories.NewMemoryStorage(tt.getErrorSBOM, tt.storeErrorSBOM)
storageCVE := repositories.NewMemoryStorage(tt.getErrorCVE, tt.storeErrorCVE)
s := NewScanService(sbomAdapter,
storageSBOM,
adapters.NewMockCVEAdapter(),
cveAdapter,
storageCVE,
adapters.NewMockPlatform(),
tt.storage)
Expand All @@ -229,14 +233,22 @@ func TestScanService_ScanCVE(t *testing.T) {
tools.EnsureSetup(t, err == nil)
storageSBOM.StoreSBOM(ctx, sbom)
}
var sbomp domain.SBOM
if tt.instanceID != "" {
sbomp, err := sbomAdapter.CreateSBOM(ctx, tt.instanceID, domain.RegistryOptions{})
var err error
sbomp, err = sbomAdapter.CreateSBOM(ctx, tt.instanceID, domain.RegistryOptions{})
tools.EnsureSetup(t, err == nil)
sbomp.Labels = map[string]string{"foo": "bar"}
storageSBOM.StoreSBOM(ctx, sbomp)
}
if err := s.ScanCVE(ctx); (err != nil) != tt.wantErr {
t.Errorf("ScanCVE() error = %v, wantErr %v", err, tt.wantErr)
}
if tt.wantCvep {
cvep, err := storageCVE.GetCVE(ctx, sbomp.ID, sbomAdapter.Version(ctx), cveAdapter.Version(ctx), cveAdapter.DBVersion(ctx))
tools.EnsureSetup(t, err == nil)
assert.Assert(t, cvep.Labels != nil)
}
})
}
}
Expand Down
2 changes: 1 addition & 1 deletion repositories/apiserver_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import (
)

const imageID = "k8s.gcr.io/kube-proxy@sha256:c1b135231b5b1a6799346cd701da4b59e5b7ef8e694ec7b04fb23b8dbe144137"
const instanceID = "apiVersion-v1/namespace-default/kind-Deployment/name-nginx/resourceVersion-153294/containerName-nginx"
const instanceID = "ee9bdd0adec9ce004572faf3492f583aa82042a8b3a9d5c7d9179dc03c531eef"

func (a *APIServerStore) storeSBOMp(ctx context.Context, sbom domain.SBOM) error {
manifest := v1beta1.SBOMSPDXv2p3Filtered{
Expand Down

0 comments on commit f9ca414

Please sign in to comment.