Blame internal/distro/test_distro/distro.go

Packit 63bb0d
package test_distro
Packit 63bb0d
Packit 63bb0d
import (
Packit 63bb0d
	"encoding/json"
Packit 63bb0d
	"errors"
Packit 63bb0d
Packit 63bb0d
	"github.com/osbuild/osbuild-composer/internal/blueprint"
Packit 63bb0d
	"github.com/osbuild/osbuild-composer/internal/distro"
Packit Service 15f37d
	osbuild "github.com/osbuild/osbuild-composer/internal/osbuild1"
Packit 63bb0d
	"github.com/osbuild/osbuild-composer/internal/rpmmd"
Packit 63bb0d
)
Packit 63bb0d
Packit 63bb0d
type TestDistro struct{}
Packit 63bb0d
type TestArch struct{}
Packit 63bb0d
type TestImageType struct{}
Packit 63bb0d
Packit 63bb0d
const name = "test-distro"
Packit 63bb0d
const modulePlatformID = "platform:test"
Packit 63bb0d
Packit 63bb0d
func (d *TestDistro) ListArches() []string {
Packit 63bb0d
	return []string{"test_arch"}
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (a *TestArch) Distro() distro.Distro {
Packit 63bb0d
	return &TestDistro{}
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (t *TestImageType) Arch() distro.Arch {
Packit 63bb0d
	return &TestArch{}
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (d *TestDistro) GetArch(arch string) (distro.Arch, error) {
Packit 63bb0d
	if arch != "test_arch" {
Packit 63bb0d
		return nil, errors.New("invalid arch: " + arch)
Packit 63bb0d
	}
Packit 63bb0d
	return &TestArch{}, nil
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (a *TestArch) Name() string {
Packit 63bb0d
	return "test_arch"
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (a *TestArch) ListImageTypes() []string {
Packit 63bb0d
	return []string{"test_type"}
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (a *TestArch) GetImageType(imageType string) (distro.ImageType, error) {
Packit 63bb0d
	if imageType != "test_type" {
Packit 63bb0d
		return nil, errors.New("invalid image type: " + imageType)
Packit 63bb0d
	}
Packit 63bb0d
	return &TestImageType{}, nil
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (t *TestImageType) Name() string {
Packit 63bb0d
	return "test_type"
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (t *TestImageType) Filename() string {
Packit 63bb0d
	return "test.img"
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (t *TestImageType) MIMEType() string {
Packit 63bb0d
	return "application/x-test"
Packit 63bb0d
}
Packit 63bb0d
Packit Service bcdfb1
func (t *TestImageType) OSTreeRef() string {
Packit Service bcdfb1
	return ""
Packit Service bcdfb1
}
Packit Service bcdfb1
Packit 63bb0d
func (t *TestImageType) Size(size uint64) uint64 {
Packit 63bb0d
	return 0
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (t *TestImageType) Packages(bp blueprint.Blueprint) ([]string, []string) {
Packit 63bb0d
	return nil, nil
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (t *TestImageType) BuildPackages() []string {
Packit 63bb0d
	return nil
Packit 63bb0d
}
Packit 63bb0d
Packit Service 15f37d
func (t *TestImageType) PackageSets(bp blueprint.Blueprint) map[string]rpmmd.PackageSet {
Packit Service 15f37d
	return nil
Packit Service 15f37d
}
Packit Service 15f37d
func (t *TestImageType) Exports() []string {
Packit Service 15f37d
	return []string{"assembler"}
Packit Service 15f37d
}
Packit Service 15f37d
Packit Service 15f37d
func (t *TestImageType) Manifest(b *blueprint.Customizations, options distro.ImageOptions, repos []rpmmd.RepoConfig, packageSpecSets map[string][]rpmmd.PackageSpec, seed int64) (distro.Manifest, error) {
Packit 63bb0d
	return json.Marshal(
Packit 63bb0d
		osbuild.Manifest{
Packit 63bb0d
			Sources:  osbuild.Sources{},
Packit 63bb0d
			Pipeline: osbuild.Pipeline{},
Packit 63bb0d
		},
Packit 63bb0d
	)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func New() *TestDistro {
Packit 63bb0d
	return &TestDistro{}
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (d *TestDistro) Name() string {
Packit 63bb0d
	return name
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (d *TestDistro) ModulePlatformID() string {
Packit 63bb0d
	return modulePlatformID
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (d *TestDistro) FilenameFromType(outputFormat string) (string, string, error) {
Packit 63bb0d
	if outputFormat == "test_format" {
Packit 63bb0d
		return "test.img", "application/x-test", nil
Packit 63bb0d
	}
Packit 63bb0d
Packit 63bb0d
	return "", "", errors.New("invalid output format: " + outputFormat)
Packit 63bb0d
}