TestDistro: return dummy values from PackageSets related methods
Return dummy values from the following methods: - PackageSets - PayloadPackageSets - PackageSetsChains Use package set names commonly used by recent distro definitions. Package sets are based on values used by rpmmd mock implementation. Adjust two Weldr API unit test check for the dummy values. Without this fix, these unit tests would start failing after the move to `rpmmd.DepsolvePackageSets()` in Weldr API compose handler.
This commit is contained in:
parent
42b3512b12
commit
21c6c452ef
2 changed files with 60 additions and 15 deletions
|
|
@ -12,6 +12,19 @@ import (
|
|||
"github.com/osbuild/osbuild-composer/internal/rpmmd"
|
||||
)
|
||||
|
||||
const (
|
||||
// package set names
|
||||
|
||||
// build package set name
|
||||
buildPkgsKey = "build"
|
||||
|
||||
// main/common os image package set name
|
||||
osPkgsKey = "packages"
|
||||
|
||||
// blueprint package set name
|
||||
blueprintPkgsKey = "blueprint"
|
||||
)
|
||||
|
||||
type TestDistro struct {
|
||||
name string
|
||||
releasever string
|
||||
|
|
@ -173,7 +186,25 @@ func (t *TestImageType) PartitionType() string {
|
|||
}
|
||||
|
||||
func (t *TestImageType) PackageSets(bp blueprint.Blueprint) map[string]rpmmd.PackageSet {
|
||||
return nil
|
||||
return map[string]rpmmd.PackageSet{
|
||||
buildPkgsKey: {
|
||||
Include: []string{
|
||||
"dep-package1",
|
||||
"dep-package2",
|
||||
"dep-package3",
|
||||
},
|
||||
},
|
||||
blueprintPkgsKey: {
|
||||
Include: bp.GetPackages(),
|
||||
},
|
||||
osPkgsKey: {
|
||||
Include: []string{
|
||||
"dep-package1",
|
||||
"dep-package2",
|
||||
"dep-package3",
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func (t *TestImageType) BuildPipelines() []string {
|
||||
|
|
@ -185,11 +216,13 @@ func (t *TestImageType) PayloadPipelines() []string {
|
|||
}
|
||||
|
||||
func (t *TestImageType) PayloadPackageSets() []string {
|
||||
return []string{}
|
||||
return []string{blueprintPkgsKey}
|
||||
}
|
||||
|
||||
func (t *TestImageType) PackageSetsChains() map[string][]string {
|
||||
return map[string][]string{}
|
||||
return map[string][]string{
|
||||
osPkgsKey: {osPkgsKey, blueprintPkgsKey},
|
||||
}
|
||||
}
|
||||
|
||||
func (t *TestImageType) Exports() []string {
|
||||
|
|
|
|||
|
|
@ -625,6 +625,14 @@ func TestCompose(t *testing.T) {
|
|||
manifest, err := imgType.Manifest(nil, distro.ImageOptions{}, nil, nil, 0)
|
||||
require.NoError(t, err)
|
||||
|
||||
tempdir := t.TempDir()
|
||||
fixtureGenerator := rpmmd_mock.NoComposesFixture
|
||||
fixture := fixtureGenerator(tempdir)
|
||||
rpmMD := rpmmd_mock.NewRPMMDMock(fixture)
|
||||
|
||||
packageSpecSets, err := rpmMD.DepsolvePackageSets(nil, nil, nil, nil, "", "", "")
|
||||
require.NoError(t, err)
|
||||
|
||||
expectedComposeLocal := &store.Compose{
|
||||
Blueprint: &blueprint.Blueprint{
|
||||
Name: "test",
|
||||
|
|
@ -639,7 +647,7 @@ func TestCompose(t *testing.T) {
|
|||
ImageType: imgType,
|
||||
Manifest: manifest,
|
||||
},
|
||||
Packages: []rpmmd.PackageSpec{},
|
||||
Packages: packageSpecSets["packages"],
|
||||
}
|
||||
expectedComposeLocalAndAws := &store.Compose{
|
||||
Blueprint: &blueprint.Blueprint{
|
||||
|
|
@ -670,7 +678,7 @@ func TestCompose(t *testing.T) {
|
|||
},
|
||||
},
|
||||
},
|
||||
Packages: []rpmmd.PackageSpec{},
|
||||
Packages: packageSpecSets["packages"],
|
||||
}
|
||||
expectedComposeOSTree := &store.Compose{
|
||||
Blueprint: &blueprint.Blueprint{
|
||||
|
|
@ -686,7 +694,7 @@ func TestCompose(t *testing.T) {
|
|||
ImageType: imgType,
|
||||
Manifest: manifest,
|
||||
},
|
||||
Packages: []rpmmd.PackageSpec{},
|
||||
Packages: packageSpecSets["packages"],
|
||||
}
|
||||
|
||||
// For 2nd distribution
|
||||
|
|
@ -712,7 +720,7 @@ func TestCompose(t *testing.T) {
|
|||
ImageType: imgType2,
|
||||
Manifest: manifest2,
|
||||
},
|
||||
Packages: []rpmmd.PackageSpec{},
|
||||
Packages: packageSpecSets["packages"],
|
||||
}
|
||||
|
||||
// create two ostree repos, one to serve the default test_distro ref (for fallback tests) and one to serve a custom ref
|
||||
|
|
@ -883,10 +891,8 @@ func TestCompose(t *testing.T) {
|
|||
},
|
||||
}
|
||||
|
||||
tempdir := t.TempDir()
|
||||
|
||||
for _, c := range cases {
|
||||
api, s := createWeldrAPI(tempdir, rpmmd_mock.NoComposesFixture)
|
||||
api, s := createWeldrAPI(tempdir, fixtureGenerator)
|
||||
test.TestRoute(t, api, c.External, c.Method, c.Path, c.Body, c.ExpectedStatus, c.ExpectedJSON, c.IgnoreFields...)
|
||||
|
||||
if c.ExpectedStatus != http.StatusOK {
|
||||
|
|
@ -1629,6 +1635,14 @@ func TestComposePOST_ImageTypeDenylist(t *testing.T) {
|
|||
manifest, err := imgType.Manifest(nil, distro.ImageOptions{}, nil, nil, 0)
|
||||
require.NoError(t, err)
|
||||
|
||||
tempdir := t.TempDir()
|
||||
fixtureGenerator := rpmmd_mock.NoComposesFixture
|
||||
fixture := fixtureGenerator(tempdir)
|
||||
rpmMD := rpmmd_mock.NewRPMMDMock(fixture)
|
||||
|
||||
packageSpecSets, err := rpmMD.DepsolvePackageSets(nil, nil, nil, nil, "", "", "")
|
||||
require.NoError(t, err)
|
||||
|
||||
expectedComposeLocal := &store.Compose{
|
||||
Blueprint: &blueprint.Blueprint{
|
||||
Name: "test",
|
||||
|
|
@ -1643,7 +1657,7 @@ func TestComposePOST_ImageTypeDenylist(t *testing.T) {
|
|||
ImageType: imgType,
|
||||
Manifest: manifest,
|
||||
},
|
||||
Packages: []rpmmd.PackageSpec{},
|
||||
Packages: packageSpecSets["packages"],
|
||||
}
|
||||
|
||||
expectedComposeLocal2 := &store.Compose{
|
||||
|
|
@ -1660,7 +1674,7 @@ func TestComposePOST_ImageTypeDenylist(t *testing.T) {
|
|||
ImageType: imgType2,
|
||||
Manifest: manifest,
|
||||
},
|
||||
Packages: []rpmmd.PackageSpec{},
|
||||
Packages: packageSpecSets["packages"],
|
||||
}
|
||||
|
||||
var cases = []struct {
|
||||
|
|
@ -1771,10 +1785,8 @@ func TestComposePOST_ImageTypeDenylist(t *testing.T) {
|
|||
},
|
||||
}
|
||||
|
||||
tempdir := t.TempDir()
|
||||
|
||||
for _, c := range cases {
|
||||
api, s := createWeldrAPI2(tempdir, rpmmd_mock.NoComposesFixture, c.imageTypeDenylist)
|
||||
api, s := createWeldrAPI2(tempdir, fixtureGenerator, c.imageTypeDenylist)
|
||||
test.TestRoute(t, api, true, "POST", c.Path, c.Body, c.ExpectedStatus, c.ExpectedJSON, c.IgnoreFields...)
|
||||
|
||||
if c.ExpectedStatus != http.StatusOK {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue