|
Packit |
63bb0d |
package store
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
import (
|
|
Packit |
63bb0d |
"time"
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
"github.com/google/uuid"
|
|
Packit |
63bb0d |
"github.com/osbuild/osbuild-composer/internal/blueprint"
|
|
Packit |
63bb0d |
"github.com/osbuild/osbuild-composer/internal/common"
|
|
Packit |
63bb0d |
"github.com/osbuild/osbuild-composer/internal/distro"
|
|
Packit |
63bb0d |
"github.com/osbuild/osbuild-composer/internal/distro/fedoratest"
|
|
Packit |
63bb0d |
"github.com/osbuild/osbuild-composer/internal/target"
|
|
Packit |
63bb0d |
)
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func FixtureBase() *Store {
|
|
Packit |
63bb0d |
var bName = "test"
|
|
Packit |
63bb0d |
var b = blueprint.Blueprint{
|
|
Packit |
63bb0d |
Name: bName,
|
|
Packit |
63bb0d |
Version: "0.0.0",
|
|
Packit |
63bb0d |
Packages: []blueprint.Package{},
|
|
Packit |
63bb0d |
Modules: []blueprint.Package{},
|
|
Packit |
63bb0d |
Groups: []blueprint.Group{},
|
|
Packit |
63bb0d |
Customizations: nil,
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
var date = time.Date(2019, 11, 27, 13, 19, 0, 0, time.FixedZone("UTC+1", 60*60))
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
var localTarget = &target.Target{
|
|
Packit |
63bb0d |
Uuid: uuid.MustParse("20000000-0000-0000-0000-000000000000"),
|
|
Packit |
63bb0d |
Name: "org.osbuild.local",
|
|
Packit |
63bb0d |
ImageName: "localimage",
|
|
Packit |
63bb0d |
Created: date,
|
|
Packit |
63bb0d |
Status: common.IBWaiting,
|
|
Packit |
63bb0d |
Options: &target.LocalTargetOptions{},
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
var awsTarget = &target.Target{
|
|
Packit |
63bb0d |
Uuid: uuid.MustParse("10000000-0000-0000-0000-000000000000"),
|
|
Packit |
63bb0d |
Name: "org.osbuild.aws",
|
|
Packit |
63bb0d |
ImageName: "awsimage",
|
|
Packit |
63bb0d |
Created: date,
|
|
Packit |
63bb0d |
Status: common.IBWaiting,
|
|
Packit |
63bb0d |
Options: &target.AWSTargetOptions{
|
|
Packit |
63bb0d |
Region: "frankfurt",
|
|
Packit |
63bb0d |
AccessKeyID: "accesskey",
|
|
Packit |
63bb0d |
SecretAccessKey: "secretkey",
|
|
Packit |
63bb0d |
Bucket: "clay",
|
|
Packit |
63bb0d |
Key: "imagekey",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
d := fedoratest.New()
|
|
Packit |
63bb0d |
arch, err := d.GetArch("x86_64")
|
|
Packit |
63bb0d |
if err != nil {
|
|
Packit |
63bb0d |
panic("invalid architecture x86_64 for fedoratest")
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
imgType, err := arch.GetImageType("qcow2")
|
|
Packit |
63bb0d |
if err != nil {
|
|
Packit |
63bb0d |
panic("invalid image type qcow2 for x86_64 @ fedoratest")
|
|
Packit |
63bb0d |
}
|
|
Packit Service |
15f37d |
manifest, err := imgType.Manifest(nil, distro.ImageOptions{}, nil, nil, 0)
|
|
Packit |
63bb0d |
if err != nil {
|
|
Packit |
63bb0d |
panic("could not create manifest")
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
s := New(nil, arch, nil)
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
s.blueprints[bName] = b
|
|
Packit |
63bb0d |
s.composes = map[uuid.UUID]Compose{
|
|
Packit |
63bb0d |
uuid.MustParse("30000000-0000-0000-0000-000000000000"): {
|
|
Packit |
63bb0d |
Blueprint: &b,
|
|
Packit |
63bb0d |
ImageBuild: ImageBuild{
|
|
Packit |
63bb0d |
QueueStatus: common.IBWaiting,
|
|
Packit |
63bb0d |
ImageType: imgType,
|
|
Packit |
63bb0d |
Manifest: manifest,
|
|
Packit |
63bb0d |
Targets: []*target.Target{localTarget, awsTarget},
|
|
Packit |
63bb0d |
JobCreated: date,
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
uuid.MustParse("30000000-0000-0000-0000-000000000001"): {
|
|
Packit |
63bb0d |
Blueprint: &b,
|
|
Packit |
63bb0d |
ImageBuild: ImageBuild{
|
|
Packit |
63bb0d |
QueueStatus: common.IBRunning,
|
|
Packit |
63bb0d |
ImageType: imgType,
|
|
Packit |
63bb0d |
Manifest: manifest,
|
|
Packit |
63bb0d |
Targets: []*target.Target{localTarget},
|
|
Packit |
63bb0d |
JobCreated: date,
|
|
Packit |
63bb0d |
JobStarted: date,
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
uuid.MustParse("30000000-0000-0000-0000-000000000002"): {
|
|
Packit |
63bb0d |
Blueprint: &b,
|
|
Packit |
63bb0d |
ImageBuild: ImageBuild{
|
|
Packit |
63bb0d |
QueueStatus: common.IBFinished,
|
|
Packit |
63bb0d |
ImageType: imgType,
|
|
Packit |
63bb0d |
Manifest: manifest,
|
|
Packit |
63bb0d |
Targets: []*target.Target{localTarget, awsTarget},
|
|
Packit |
63bb0d |
JobCreated: date,
|
|
Packit |
63bb0d |
JobStarted: date,
|
|
Packit |
63bb0d |
JobFinished: date,
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
uuid.MustParse("30000000-0000-0000-0000-000000000003"): {
|
|
Packit |
63bb0d |
Blueprint: &b,
|
|
Packit |
63bb0d |
ImageBuild: ImageBuild{
|
|
Packit |
63bb0d |
QueueStatus: common.IBFailed,
|
|
Packit |
63bb0d |
ImageType: imgType,
|
|
Packit |
63bb0d |
Manifest: manifest,
|
|
Packit |
63bb0d |
Targets: []*target.Target{localTarget, awsTarget},
|
|
Packit |
63bb0d |
JobCreated: date,
|
|
Packit |
63bb0d |
JobStarted: date,
|
|
Packit |
63bb0d |
JobFinished: date,
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
return s
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
func FixtureFinished() *Store {
|
|
Packit |
63bb0d |
var bName = "test"
|
|
Packit |
63bb0d |
var b = blueprint.Blueprint{
|
|
Packit |
63bb0d |
Name: bName,
|
|
Packit |
63bb0d |
Version: "0.0.0",
|
|
Packit |
63bb0d |
Packages: []blueprint.Package{},
|
|
Packit |
63bb0d |
Modules: []blueprint.Package{},
|
|
Packit |
63bb0d |
Groups: []blueprint.Group{},
|
|
Packit |
63bb0d |
Customizations: nil,
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
var date = time.Date(2019, 11, 27, 13, 19, 0, 0, time.FixedZone("UTC+1", 60*60))
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
var localTarget = &target.Target{
|
|
Packit |
63bb0d |
Uuid: uuid.MustParse("20000000-0000-0000-0000-000000000000"),
|
|
Packit |
63bb0d |
Name: "org.osbuild.local",
|
|
Packit |
63bb0d |
ImageName: "localimage",
|
|
Packit |
63bb0d |
Created: date,
|
|
Packit |
63bb0d |
Status: common.IBWaiting,
|
|
Packit |
63bb0d |
Options: &target.LocalTargetOptions{},
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
var awsTarget = &target.Target{
|
|
Packit |
63bb0d |
Uuid: uuid.MustParse("10000000-0000-0000-0000-000000000000"),
|
|
Packit |
63bb0d |
Name: "org.osbuild.aws",
|
|
Packit |
63bb0d |
ImageName: "awsimage",
|
|
Packit |
63bb0d |
Created: date,
|
|
Packit |
63bb0d |
Status: common.IBWaiting,
|
|
Packit |
63bb0d |
Options: &target.AWSTargetOptions{
|
|
Packit |
63bb0d |
Region: "frankfurt",
|
|
Packit |
63bb0d |
AccessKeyID: "accesskey",
|
|
Packit |
63bb0d |
SecretAccessKey: "secretkey",
|
|
Packit |
63bb0d |
Bucket: "clay",
|
|
Packit |
63bb0d |
Key: "imagekey",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
d := fedoratest.New()
|
|
Packit |
63bb0d |
arch, err := d.GetArch("x86_64")
|
|
Packit |
63bb0d |
if err != nil {
|
|
Packit |
63bb0d |
panic("invalid architecture x86_64 for fedoratest")
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
imgType, err := arch.GetImageType("qcow2")
|
|
Packit |
63bb0d |
if err != nil {
|
|
Packit |
63bb0d |
panic("invalid image type qcow2 for x86_64 @ fedoratest")
|
|
Packit |
63bb0d |
}
|
|
Packit Service |
15f37d |
manifest, err := imgType.Manifest(nil, distro.ImageOptions{}, nil, nil, 0)
|
|
Packit |
63bb0d |
if err != nil {
|
|
Packit |
63bb0d |
panic("could not create manifest")
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
s := New(nil, arch, nil)
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
s.blueprints[bName] = b
|
|
Packit |
63bb0d |
s.composes = map[uuid.UUID]Compose{
|
|
Packit |
63bb0d |
uuid.MustParse("30000000-0000-0000-0000-000000000000"): {
|
|
Packit |
63bb0d |
Blueprint: &b,
|
|
Packit |
63bb0d |
ImageBuild: ImageBuild{
|
|
Packit |
63bb0d |
QueueStatus: common.IBFinished,
|
|
Packit |
63bb0d |
ImageType: imgType,
|
|
Packit |
63bb0d |
Manifest: manifest,
|
|
Packit |
63bb0d |
Targets: []*target.Target{localTarget, awsTarget},
|
|
Packit |
63bb0d |
JobCreated: date,
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
uuid.MustParse("30000000-0000-0000-0000-000000000001"): {
|
|
Packit |
63bb0d |
Blueprint: &b,
|
|
Packit |
63bb0d |
ImageBuild: ImageBuild{
|
|
Packit |
63bb0d |
QueueStatus: common.IBFinished,
|
|
Packit |
63bb0d |
ImageType: imgType,
|
|
Packit |
63bb0d |
Manifest: manifest,
|
|
Packit |
63bb0d |
Targets: []*target.Target{localTarget},
|
|
Packit |
63bb0d |
JobCreated: date,
|
|
Packit |
63bb0d |
JobStarted: date,
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
uuid.MustParse("30000000-0000-0000-0000-000000000003"): {
|
|
Packit |
63bb0d |
Blueprint: &b,
|
|
Packit |
63bb0d |
ImageBuild: ImageBuild{
|
|
Packit |
63bb0d |
QueueStatus: common.IBFailed,
|
|
Packit |
63bb0d |
ImageType: imgType,
|
|
Packit |
63bb0d |
Manifest: manifest,
|
|
Packit |
63bb0d |
Targets: []*target.Target{localTarget, awsTarget},
|
|
Packit |
63bb0d |
JobCreated: date,
|
|
Packit |
63bb0d |
JobStarted: date,
|
|
Packit |
63bb0d |
JobFinished: date,
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
return s
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func FixtureEmpty() *Store {
|
|
Packit |
63bb0d |
var bName = "test"
|
|
Packit |
63bb0d |
var b = blueprint.Blueprint{
|
|
Packit |
63bb0d |
Name: bName,
|
|
Packit |
63bb0d |
Version: "0.0.0",
|
|
Packit |
63bb0d |
Packages: []blueprint.Package{},
|
|
Packit |
63bb0d |
Modules: []blueprint.Package{},
|
|
Packit |
63bb0d |
Groups: []blueprint.Group{},
|
|
Packit |
63bb0d |
Customizations: nil,
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
d := fedoratest.New()
|
|
Packit |
63bb0d |
arch, err := d.GetArch("x86_64")
|
|
Packit |
63bb0d |
if err != nil {
|
|
Packit |
63bb0d |
panic("invalid architecture x86_64 for fedoratest")
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
s := New(nil, arch, nil)
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
s.blueprints[bName] = b
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
return s
|
|
Packit |
63bb0d |
}
|