Skip to content

Commit 2b58b35

Browse files
committed
fixup! internal/dnf: add dnf-handling package
1 parent 520780a commit 2b58b35

File tree

2 files changed

+81
-0
lines changed

2 files changed

+81
-0
lines changed

internal/dnf/dnf_test.go

+81
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
package dnf
2+
3+
import (
4+
"context"
5+
"os"
6+
"slices"
7+
"testing"
8+
9+
"github.com/google/go-cmp/cmp"
10+
11+
"github.com/quay/claircore"
12+
"github.com/quay/zlog"
13+
)
14+
15+
type testCase struct {
16+
name string
17+
pkg claircore.Package
18+
expectedRepositoryHint string
19+
}
20+
21+
var tcs = []testCase{
22+
{
23+
name: "found_package",
24+
pkg: claircore.Package{
25+
Name: "apr-util-bdb",
26+
Version: "1.6.1-23.el9",
27+
Kind: claircore.BINARY,
28+
Arch: "x86_64",
29+
RepositoryHint: "something=nothing",
30+
},
31+
expectedRepositoryHint: "repoid=rhel-9-for-x86_64-appstream-rpms&something=nothing",
32+
},
33+
{
34+
name: "not_found_package",
35+
pkg: claircore.Package{
36+
Name: "apr-util-bdb",
37+
Version: "1.7.1-23.el9", //different version
38+
Kind: claircore.BINARY,
39+
Arch: "x86_64",
40+
RepositoryHint: "something=nothing",
41+
},
42+
expectedRepositoryHint: "something=nothing",
43+
},
44+
}
45+
46+
func TestWrap(t *testing.T) {
47+
ctx := zlog.Test(context.Background(), t)
48+
sys := os.DirFS("testdata")
49+
a, err := NewAnnotator(ctx, sys)
50+
if err != nil {
51+
t.Errorf("error creating Annotator: %v", err)
52+
}
53+
for _, tc := range tcs {
54+
t.Run(tc.name, func(t *testing.T) {
55+
seq, errFunc := a.Wrap(ctx, slices.Values([]claircore.Package{tc.pkg}))
56+
if errFunc() != nil {
57+
t.Errorf("error wrapping packages: %v", errFunc())
58+
}
59+
for p := range seq {
60+
if p.RepositoryHint != tc.expectedRepositoryHint {
61+
t.Errorf("incorrect repository hint, wanted %s got %s", p.RepositoryHint, tc.expectedRepositoryHint)
62+
}
63+
}
64+
})
65+
}
66+
}
67+
68+
func TestFindRepoids(t *testing.T) {
69+
ctx := zlog.Test(context.Background(), t)
70+
sys := os.DirFS("testdata")
71+
repoids, err := FindRepoids(ctx, sys)
72+
if err != nil {
73+
t.Errorf("error finding repoids: %v", err)
74+
}
75+
slices.Sort(repoids)
76+
repoids = slices.Compact(repoids)
77+
expectedRepoIDs := []string{"rhel-9-for-x86_64-appstream-rpms", "rhel-9-for-x86_64-baseos-rpms"}
78+
if !cmp.Equal(repoids, expectedRepoIDs) {
79+
t.Error(cmp.Diff(repoids, expectedRepoIDs))
80+
}
81+
}
Binary file not shown.

0 commit comments

Comments
 (0)