|
Packit |
63bb0d |
package store
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
import (
|
|
Packit |
63bb0d |
"encoding/json"
|
|
Packit |
63bb0d |
"io/ioutil"
|
|
Packit |
63bb0d |
"path/filepath"
|
|
Packit |
63bb0d |
"reflect"
|
|
Packit |
63bb0d |
"testing"
|
|
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/fedora32"
|
|
Packit |
63bb0d |
"github.com/osbuild/osbuild-composer/internal/distro/fedoratest"
|
|
Packit |
63bb0d |
"github.com/osbuild/osbuild-composer/internal/distro/test_distro"
|
|
Packit |
63bb0d |
"github.com/osbuild/osbuild-composer/internal/target"
|
|
Packit |
63bb0d |
"github.com/stretchr/testify/assert"
|
|
Packit |
63bb0d |
"github.com/stretchr/testify/require"
|
|
Packit |
63bb0d |
)
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
// MustParseTime parses a time string and panics if there is an error
|
|
Packit |
63bb0d |
func MustParseTime(ts string) time.Time {
|
|
Packit |
63bb0d |
t, err := time.Parse(time.RFC3339, ts)
|
|
Packit |
63bb0d |
if err != nil {
|
|
Packit |
63bb0d |
panic(err)
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
return t
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func Test_imageTypeToCompatString(t *testing.T) {
|
|
Packit |
63bb0d |
type args struct {
|
|
Packit |
63bb0d |
input distro.ImageType
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
tests := []struct {
|
|
Packit |
63bb0d |
name string
|
|
Packit |
63bb0d |
args args
|
|
Packit |
63bb0d |
want string
|
|
Packit |
63bb0d |
}{
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
name: "valid",
|
|
Packit |
63bb0d |
args: args{
|
|
Packit |
63bb0d |
input: &test_distro.TestImageType{},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
want: "test_type",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
for _, tt := range tests {
|
|
Packit |
63bb0d |
t.Run(tt.name, func(t *testing.T) {
|
|
Packit |
63bb0d |
got := imageTypeToCompatString(tt.args.input)
|
|
Packit |
63bb0d |
if got != tt.want {
|
|
Packit |
63bb0d |
t.Errorf("imageTypeStringToCompatString() got = %v, want %v", got, tt.want)
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
})
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func Test_imageTypeFromCompatString(t *testing.T) {
|
|
Packit |
63bb0d |
type args struct {
|
|
Packit |
63bb0d |
input string
|
|
Packit |
63bb0d |
arch distro.Arch
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
tests := []struct {
|
|
Packit |
63bb0d |
name string
|
|
Packit |
63bb0d |
args args
|
|
Packit |
63bb0d |
want distro.ImageType
|
|
Packit |
63bb0d |
}{
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
name: "valid",
|
|
Packit |
63bb0d |
args: args{
|
|
Packit |
63bb0d |
input: "test_type",
|
|
Packit |
63bb0d |
arch: &test_distro.TestArch{},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
want: &test_distro.TestImageType{},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
name: "invalid mapping",
|
|
Packit |
63bb0d |
args: args{
|
|
Packit |
63bb0d |
input: "foo",
|
|
Packit |
63bb0d |
arch: &test_distro.TestArch{},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
want: nil,
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
name: "invalid distro name",
|
|
Packit |
63bb0d |
args: args{
|
|
Packit |
63bb0d |
input: "test_type_invalid",
|
|
Packit |
63bb0d |
arch: &test_distro.TestArch{},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
want: nil,
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
for _, tt := range tests {
|
|
Packit |
63bb0d |
t.Run(tt.name, func(t *testing.T) {
|
|
Packit |
63bb0d |
got := imageTypeFromCompatString(tt.args.input, tt.args.arch)
|
|
Packit |
63bb0d |
if got != tt.want {
|
|
Packit |
63bb0d |
t.Errorf("imageTypeStringFromCompatString() got = %v, want %v", got, tt.want)
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
})
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func TestMarshalEmpty(t *testing.T) {
|
|
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 |
store1 := FixtureEmpty()
|
|
Packit |
63bb0d |
storeV0 := store1.toStoreV0()
|
|
Packit |
63bb0d |
store2 := newStoreFromV0(*storeV0, arch, nil)
|
|
Packit |
63bb0d |
if !reflect.DeepEqual(store1, store2) {
|
|
Packit |
63bb0d |
t.Errorf("marshal/unmarshal roundtrip not a noop for empty store: %v != %v", store1, store2)
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func TestMarshalFinished(t *testing.T) {
|
|
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 |
store1 := FixtureFinished()
|
|
Packit |
63bb0d |
storeV0 := store1.toStoreV0()
|
|
Packit |
63bb0d |
store2 := newStoreFromV0(*storeV0, arch, nil)
|
|
Packit |
63bb0d |
if !reflect.DeepEqual(store1, store2) {
|
|
Packit |
63bb0d |
t.Errorf("marshal/unmarshal roundtrip not a noop for base store: %v != %v", store1, store2)
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func TestStore_toStoreV0(t *testing.T) {
|
|
Packit |
63bb0d |
type fields struct {
|
|
Packit |
63bb0d |
blueprints map[string]blueprint.Blueprint
|
|
Packit |
63bb0d |
workspace map[string]blueprint.Blueprint
|
|
Packit |
63bb0d |
composes map[uuid.UUID]Compose
|
|
Packit |
63bb0d |
sources map[string]SourceConfig
|
|
Packit |
63bb0d |
blueprintsChanges map[string]map[string]blueprint.Change
|
|
Packit |
63bb0d |
blueprintsCommits map[string][]string
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
tests := []struct {
|
|
Packit |
63bb0d |
name string
|
|
Packit |
63bb0d |
fields fields
|
|
Packit |
63bb0d |
want *storeV0
|
|
Packit |
63bb0d |
}{
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
name: "empty",
|
|
Packit |
63bb0d |
fields: fields{},
|
|
Packit |
63bb0d |
want: &storeV0{
|
|
Packit |
63bb0d |
Blueprints: make(blueprintsV0),
|
|
Packit |
63bb0d |
Workspace: make(workspaceV0),
|
|
Packit |
63bb0d |
Composes: make(composesV0),
|
|
Packit |
63bb0d |
Sources: make(sourcesV0),
|
|
Packit |
63bb0d |
Changes: make(changesV0),
|
|
Packit |
63bb0d |
Commits: make(commitsV0),
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
for _, tt := range tests {
|
|
Packit |
63bb0d |
t.Run(tt.name, func(t *testing.T) {
|
|
Packit |
63bb0d |
store := &Store{
|
|
Packit |
63bb0d |
blueprints: tt.fields.blueprints,
|
|
Packit |
63bb0d |
workspace: tt.fields.workspace,
|
|
Packit |
63bb0d |
composes: tt.fields.composes,
|
|
Packit |
63bb0d |
sources: tt.fields.sources,
|
|
Packit |
63bb0d |
blueprintsChanges: tt.fields.blueprintsChanges,
|
|
Packit |
63bb0d |
blueprintsCommits: tt.fields.blueprintsCommits,
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
if got := store.toStoreV0(); !reflect.DeepEqual(got, tt.want) {
|
|
Packit |
63bb0d |
t.Errorf("Store.toStoreV0() = %v, want %v", got, tt.want)
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
})
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func Test_newStoreFromV0(t *testing.T) {
|
|
Packit |
63bb0d |
type args struct {
|
|
Packit |
63bb0d |
storeStruct storeV0
|
|
Packit |
63bb0d |
arch distro.Arch
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
tests := []struct {
|
|
Packit |
63bb0d |
name string
|
|
Packit |
63bb0d |
args args
|
|
Packit |
63bb0d |
want *Store
|
|
Packit |
63bb0d |
}{
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
name: "empty",
|
|
Packit |
63bb0d |
args: args{
|
|
Packit |
63bb0d |
storeStruct: storeV0{},
|
|
Packit |
63bb0d |
arch: &test_distro.TestArch{},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
want: New(nil, &test_distro.TestArch{}, nil),
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
for _, tt := range tests {
|
|
Packit |
63bb0d |
t.Run(tt.name, func(t *testing.T) {
|
|
Packit |
63bb0d |
if got := newStoreFromV0(tt.args.storeStruct, tt.args.arch, nil); !reflect.DeepEqual(got, tt.want) {
|
|
Packit |
63bb0d |
t.Errorf("newStoreFromV0() = %v, want %v", got, tt.want)
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
})
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func Test_newCommitsV0(t *testing.T) {
|
|
Packit |
63bb0d |
type args struct {
|
|
Packit |
63bb0d |
commits map[string][]string
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
tests := []struct {
|
|
Packit |
63bb0d |
name string
|
|
Packit |
63bb0d |
args args
|
|
Packit |
63bb0d |
want commitsV0
|
|
Packit |
63bb0d |
}{
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
name: "empty",
|
|
Packit |
63bb0d |
args: args{
|
|
Packit |
63bb0d |
commits: make(map[string][]string),
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
want: commitsV0{},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
name: "One blueprint's commits",
|
|
Packit |
63bb0d |
args: args{
|
|
Packit |
63bb0d |
commits: map[string][]string{
|
|
Packit |
63bb0d |
"test-blueprint-changes-v0": {
|
|
Packit |
63bb0d |
"79e2043a83637ffdd4db078c6da23deaae09c84b",
|
|
Packit |
63bb0d |
"72fdb76b9994bd72770e283bf3a5206756daf497",
|
|
Packit |
63bb0d |
"4774980638f4162d9909a613c3ccd938e60bb3a9",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
want: commitsV0{
|
|
Packit |
63bb0d |
"test-blueprint-changes-v0": {
|
|
Packit |
63bb0d |
"79e2043a83637ffdd4db078c6da23deaae09c84b",
|
|
Packit |
63bb0d |
"72fdb76b9994bd72770e283bf3a5206756daf497",
|
|
Packit |
63bb0d |
"4774980638f4162d9909a613c3ccd938e60bb3a9",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
name: "Two blueprint's commits",
|
|
Packit |
63bb0d |
args: args{
|
|
Packit |
63bb0d |
commits: map[string][]string{
|
|
Packit |
63bb0d |
"test-blueprint-changes-v0": {
|
|
Packit |
63bb0d |
"79e2043a83637ffdd4db078c6da23deaae09c84b",
|
|
Packit |
63bb0d |
"72fdb76b9994bd72770e283bf3a5206756daf497",
|
|
Packit |
63bb0d |
"4774980638f4162d9909a613c3ccd938e60bb3a9",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
"second-blueprint": {
|
|
Packit |
63bb0d |
"3c2a2653d044433bae36e3236d394688126fa386",
|
|
Packit |
63bb0d |
"7619ec57c37b4396b5a91358c98792df9e143c18",
|
|
Packit |
63bb0d |
"8d3cc55a6d2841b2bc6e6578d2ec21123110a858",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
want: commitsV0{
|
|
Packit |
63bb0d |
"test-blueprint-changes-v0": {
|
|
Packit |
63bb0d |
"79e2043a83637ffdd4db078c6da23deaae09c84b",
|
|
Packit |
63bb0d |
"72fdb76b9994bd72770e283bf3a5206756daf497",
|
|
Packit |
63bb0d |
"4774980638f4162d9909a613c3ccd938e60bb3a9",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
"second-blueprint": {
|
|
Packit |
63bb0d |
"3c2a2653d044433bae36e3236d394688126fa386",
|
|
Packit |
63bb0d |
"7619ec57c37b4396b5a91358c98792df9e143c18",
|
|
Packit |
63bb0d |
"8d3cc55a6d2841b2bc6e6578d2ec21123110a858",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
for _, tt := range tests {
|
|
Packit |
63bb0d |
t.Run(tt.name, func(t *testing.T) {
|
|
Packit |
63bb0d |
if got := newCommitsV0(tt.args.commits); !reflect.DeepEqual(got, tt.want) {
|
|
Packit |
63bb0d |
t.Errorf("newCommitsV0() = %v, want %v", got, tt.want)
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
})
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func Test_upgrade(t *testing.T) {
|
|
Packit |
63bb0d |
assert := assert.New(t)
|
|
Packit |
63bb0d |
testPath, err := filepath.Abs("./test/*.json")
|
|
Packit |
63bb0d |
require.NoError(t, err)
|
|
Packit |
63bb0d |
fileNames, err := filepath.Glob(testPath)
|
|
Packit |
63bb0d |
assert.NoErrorf(err, "Could not read test store directory '%s': %v", testPath, err)
|
|
Packit |
63bb0d |
require.Greaterf(t, len(fileNames), 0, "No test stores found in %s", testPath)
|
|
Packit |
63bb0d |
for _, fileName := range fileNames {
|
|
Packit |
63bb0d |
var storeStruct storeV0
|
|
Packit |
63bb0d |
file, err := ioutil.ReadFile(fileName)
|
|
Packit |
63bb0d |
assert.NoErrorf(err, "Could not read test-store '%s': %v", fileName, err)
|
|
Packit |
63bb0d |
err = json.Unmarshal([]byte(file), &storeStruct)
|
|
Packit |
63bb0d |
assert.NoErrorf(err, "Could not parse test-store '%s': %v", fileName, err)
|
|
Packit |
63bb0d |
arch, err := fedora32.New().GetArch("x86_64")
|
|
Packit |
63bb0d |
assert.NoError(err)
|
|
Packit |
63bb0d |
store := newStoreFromV0(storeStruct, arch, nil)
|
|
Packit |
63bb0d |
assert.Equal(1, len(store.blueprints))
|
|
Packit |
63bb0d |
assert.Equal(1, len(store.blueprintsChanges))
|
|
Packit |
63bb0d |
assert.Equal(1, len(store.blueprintsCommits))
|
|
Packit |
63bb0d |
assert.LessOrEqual(1, len(store.composes))
|
|
Packit |
63bb0d |
assert.Equal(1, len(store.workspace))
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func Test_newCommitsFromV0(t *testing.T) {
|
|
Packit |
63bb0d |
exampleChanges := changesV0{
|
|
Packit |
63bb0d |
"test-blueprint-changes-v0": {
|
|
Packit |
63bb0d |
"4774980638f4162d9909a613c3ccd938e60bb3a9": {
|
|
Packit |
63bb0d |
Commit: "4774980638f4162d9909a613c3ccd938e60bb3a9",
|
|
Packit |
63bb0d |
Message: "Recipe test-blueprint-changes-v0, version 0.1.2 saved.",
|
|
Packit |
63bb0d |
Revision: nil,
|
|
Packit |
63bb0d |
Timestamp: "2020-07-29T09:52:07Z",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
"72fdb76b9994bd72770e283bf3a5206756daf497": {
|
|
Packit |
63bb0d |
Commit: "72fdb76b9994bd72770e283bf3a5206756daf497",
|
|
Packit |
63bb0d |
Message: "Recipe test-blueprint-changes-v0, version 0.1.1 saved.",
|
|
Packit |
63bb0d |
Revision: nil,
|
|
Packit |
63bb0d |
Timestamp: "2020-07-09T13:33:06Z",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
"79e2043a83637ffdd4db078c6da23deaae09c84b": {
|
|
Packit |
63bb0d |
Commit: "79e2043a83637ffdd4db078c6da23deaae09c84b",
|
|
Packit |
63bb0d |
Message: "Recipe test-blueprint-changes-v0, version 0.0.1 saved.",
|
|
Packit |
63bb0d |
Revision: nil,
|
|
Packit |
63bb0d |
Timestamp: "2020-07-07T02:57:00Z",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
type args struct {
|
|
Packit |
63bb0d |
changes changesV0
|
|
Packit |
63bb0d |
commits commitsV0
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
tests := []struct {
|
|
Packit |
63bb0d |
name string
|
|
Packit |
63bb0d |
args args
|
|
Packit |
63bb0d |
want map[string][]string
|
|
Packit |
63bb0d |
}{
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
name: "empty",
|
|
Packit |
63bb0d |
args: args{
|
|
Packit |
63bb0d |
changes: make(changesV0),
|
|
Packit |
63bb0d |
commits: make(commitsV0),
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
want: make(map[string][]string),
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
name: "Changes with no commits",
|
|
Packit |
63bb0d |
args: args{
|
|
Packit |
63bb0d |
changes: exampleChanges,
|
|
Packit |
63bb0d |
commits: make(commitsV0),
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
want: map[string][]string{
|
|
Packit |
63bb0d |
"test-blueprint-changes-v0": {
|
|
Packit |
63bb0d |
// Oldest sorted first
|
|
Packit |
63bb0d |
"79e2043a83637ffdd4db078c6da23deaae09c84b",
|
|
Packit |
63bb0d |
"72fdb76b9994bd72770e283bf3a5206756daf497",
|
|
Packit |
63bb0d |
"4774980638f4162d9909a613c3ccd938e60bb3a9",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
name: "Changes with commits",
|
|
Packit |
63bb0d |
args: args{
|
|
Packit |
63bb0d |
changes: exampleChanges,
|
|
Packit |
63bb0d |
commits: commitsV0{
|
|
Packit |
63bb0d |
"test-blueprint-changes-v0": {
|
|
Packit |
63bb0d |
"79e2043a83637ffdd4db078c6da23deaae09c84b",
|
|
Packit |
63bb0d |
"72fdb76b9994bd72770e283bf3a5206756daf497",
|
|
Packit |
63bb0d |
"4774980638f4162d9909a613c3ccd938e60bb3a9",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
want: map[string][]string{
|
|
Packit |
63bb0d |
"test-blueprint-changes-v0": {
|
|
Packit |
63bb0d |
// Oldest sorted first
|
|
Packit |
63bb0d |
"79e2043a83637ffdd4db078c6da23deaae09c84b",
|
|
Packit |
63bb0d |
"72fdb76b9994bd72770e283bf3a5206756daf497",
|
|
Packit |
63bb0d |
"4774980638f4162d9909a613c3ccd938e60bb3a9",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
}}
|
|
Packit |
63bb0d |
for _, tt := range tests {
|
|
Packit |
63bb0d |
t.Run(tt.name, func(t *testing.T) {
|
|
Packit |
63bb0d |
if got := newCommitsFromV0(tt.args.commits, tt.args.changes); !reflect.DeepEqual(got, tt.want) {
|
|
Packit |
63bb0d |
t.Errorf("newCommitsFromV0() = %v, want %v", got, tt.want)
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
})
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func Test_newBlueprintsFromV0(t *testing.T) {
|
|
Packit |
63bb0d |
tests := []struct {
|
|
Packit |
63bb0d |
name string
|
|
Packit |
63bb0d |
blueprints blueprintsV0
|
|
Packit |
63bb0d |
want map[string]blueprint.Blueprint
|
|
Packit |
63bb0d |
}{
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
name: "empty",
|
|
Packit |
63bb0d |
blueprints: blueprintsV0{},
|
|
Packit |
63bb0d |
want: make(map[string]blueprint.Blueprint),
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
name: "Two Blueprints",
|
|
Packit |
63bb0d |
blueprints: blueprintsV0{
|
|
Packit |
63bb0d |
"blueprint-1": {
|
|
Packit |
63bb0d |
Name: "blueprint-1",
|
|
Packit |
63bb0d |
Description: "First Blueprint in Test",
|
|
Packit |
63bb0d |
Version: "0.0.1",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
"blueprint-2": {
|
|
Packit |
63bb0d |
Name: "blueprint-2",
|
|
Packit |
63bb0d |
Description: "Second Blueprint in Test",
|
|
Packit |
63bb0d |
Version: "0.0.1",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
want: map[string]blueprint.Blueprint{
|
|
Packit |
63bb0d |
"blueprint-1": blueprint.Blueprint{
|
|
Packit |
63bb0d |
Name: "blueprint-1",
|
|
Packit |
63bb0d |
Description: "First Blueprint in Test",
|
|
Packit |
63bb0d |
Version: "0.0.1"},
|
|
Packit |
63bb0d |
"blueprint-2": blueprint.Blueprint{
|
|
Packit |
63bb0d |
Name: "blueprint-2",
|
|
Packit |
63bb0d |
Description: "Second Blueprint in Test",
|
|
Packit |
63bb0d |
Version: "0.0.1"},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
for _, tt := range tests {
|
|
Packit |
63bb0d |
t.Run(tt.name, func(t *testing.T) {
|
|
Packit |
63bb0d |
if got := newBlueprintsFromV0(tt.blueprints); !reflect.DeepEqual(got, tt.want) {
|
|
Packit |
63bb0d |
t.Errorf("newBlueprintsFromV0() = %v, want %v", got, tt.want)
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
})
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func Test_newBlueprintsV0(t *testing.T) {
|
|
Packit |
63bb0d |
tests := []struct {
|
|
Packit |
63bb0d |
name string
|
|
Packit |
63bb0d |
blueprints map[string]blueprint.Blueprint
|
|
Packit |
63bb0d |
want blueprintsV0
|
|
Packit |
63bb0d |
}{
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
name: "empty",
|
|
Packit |
63bb0d |
blueprints: make(map[string]blueprint.Blueprint),
|
|
Packit |
63bb0d |
want: blueprintsV0{},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
name: "Two Blueprints",
|
|
Packit |
63bb0d |
blueprints: map[string]blueprint.Blueprint{
|
|
Packit |
63bb0d |
"blueprint-1": blueprint.Blueprint{
|
|
Packit |
63bb0d |
Name: "blueprint-1",
|
|
Packit |
63bb0d |
Description: "First Blueprint in Test",
|
|
Packit |
63bb0d |
Version: "0.0.1"},
|
|
Packit |
63bb0d |
"blueprint-2": blueprint.Blueprint{
|
|
Packit |
63bb0d |
Name: "blueprint-2",
|
|
Packit |
63bb0d |
Description: "Second Blueprint in Test",
|
|
Packit |
63bb0d |
Version: "0.0.1"},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
want: blueprintsV0{
|
|
Packit |
63bb0d |
"blueprint-1": {
|
|
Packit |
63bb0d |
Name: "blueprint-1",
|
|
Packit |
63bb0d |
Description: "First Blueprint in Test",
|
|
Packit |
63bb0d |
Version: "0.0.1",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
"blueprint-2": {
|
|
Packit |
63bb0d |
Name: "blueprint-2",
|
|
Packit |
63bb0d |
Description: "Second Blueprint in Test",
|
|
Packit |
63bb0d |
Version: "0.0.1",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
for _, tt := range tests {
|
|
Packit |
63bb0d |
t.Run(tt.name, func(t *testing.T) {
|
|
Packit |
63bb0d |
if got := newBlueprintsV0(tt.blueprints); !reflect.DeepEqual(got, tt.want) {
|
|
Packit |
63bb0d |
t.Errorf("newBlueprintsV0() = %v, want %v", got, tt.want)
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
})
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func Test_newWorkspaceFromV0(t *testing.T) {
|
|
Packit |
63bb0d |
tests := []struct {
|
|
Packit |
63bb0d |
name string
|
|
Packit |
63bb0d |
blueprints workspaceV0
|
|
Packit |
63bb0d |
want map[string]blueprint.Blueprint
|
|
Packit |
63bb0d |
}{
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
name: "empty",
|
|
Packit |
63bb0d |
blueprints: workspaceV0{},
|
|
Packit |
63bb0d |
want: make(map[string]blueprint.Blueprint),
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
name: "Two Blueprints",
|
|
Packit |
63bb0d |
blueprints: workspaceV0{
|
|
Packit |
63bb0d |
"blueprint-1": {
|
|
Packit |
63bb0d |
Name: "blueprint-1",
|
|
Packit |
63bb0d |
Description: "First Blueprint in Test",
|
|
Packit |
63bb0d |
Version: "0.0.1",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
"blueprint-2": {
|
|
Packit |
63bb0d |
Name: "blueprint-2",
|
|
Packit |
63bb0d |
Description: "Second Blueprint in Test",
|
|
Packit |
63bb0d |
Version: "0.0.1",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
want: map[string]blueprint.Blueprint{
|
|
Packit |
63bb0d |
"blueprint-1": blueprint.Blueprint{
|
|
Packit |
63bb0d |
Name: "blueprint-1",
|
|
Packit |
63bb0d |
Description: "First Blueprint in Test",
|
|
Packit |
63bb0d |
Version: "0.0.1"},
|
|
Packit |
63bb0d |
"blueprint-2": blueprint.Blueprint{
|
|
Packit |
63bb0d |
Name: "blueprint-2",
|
|
Packit |
63bb0d |
Description: "Second Blueprint in Test",
|
|
Packit |
63bb0d |
Version: "0.0.1"},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
for _, tt := range tests {
|
|
Packit |
63bb0d |
t.Run(tt.name, func(t *testing.T) {
|
|
Packit |
63bb0d |
if got := newWorkspaceFromV0(tt.blueprints); !reflect.DeepEqual(got, tt.want) {
|
|
Packit |
63bb0d |
t.Errorf("newWorkspaceFromV0() = %v, want %v", got, tt.want)
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
})
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func Test_newWorkspaceV0(t *testing.T) {
|
|
Packit |
63bb0d |
tests := []struct {
|
|
Packit |
63bb0d |
name string
|
|
Packit |
63bb0d |
blueprints map[string]blueprint.Blueprint
|
|
Packit |
63bb0d |
want workspaceV0
|
|
Packit |
63bb0d |
}{
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
name: "empty",
|
|
Packit |
63bb0d |
blueprints: make(map[string]blueprint.Blueprint),
|
|
Packit |
63bb0d |
want: workspaceV0{},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
name: "Two Blueprints",
|
|
Packit |
63bb0d |
blueprints: map[string]blueprint.Blueprint{
|
|
Packit |
63bb0d |
"blueprint-1": blueprint.Blueprint{
|
|
Packit |
63bb0d |
Name: "blueprint-1",
|
|
Packit |
63bb0d |
Description: "First Blueprint in Test",
|
|
Packit |
63bb0d |
Version: "0.0.1"},
|
|
Packit |
63bb0d |
"blueprint-2": blueprint.Blueprint{
|
|
Packit |
63bb0d |
Name: "blueprint-2",
|
|
Packit |
63bb0d |
Description: "Second Blueprint in Test",
|
|
Packit |
63bb0d |
Version: "0.0.1"},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
want: workspaceV0{
|
|
Packit |
63bb0d |
"blueprint-1": {
|
|
Packit |
63bb0d |
Name: "blueprint-1",
|
|
Packit |
63bb0d |
Description: "First Blueprint in Test",
|
|
Packit |
63bb0d |
Version: "0.0.1",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
"blueprint-2": {
|
|
Packit |
63bb0d |
Name: "blueprint-2",
|
|
Packit |
63bb0d |
Description: "Second Blueprint in Test",
|
|
Packit |
63bb0d |
Version: "0.0.1",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
for _, tt := range tests {
|
|
Packit |
63bb0d |
t.Run(tt.name, func(t *testing.T) {
|
|
Packit |
63bb0d |
if got := newWorkspaceV0(tt.blueprints); !reflect.DeepEqual(got, tt.want) {
|
|
Packit |
63bb0d |
t.Errorf("newWorkspaceV0() = %v, want %v", got, tt.want)
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
})
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func Test_newChangesFromV0(t *testing.T) {
|
|
Packit |
63bb0d |
tests := []struct {
|
|
Packit |
63bb0d |
name string
|
|
Packit |
63bb0d |
changes changesV0
|
|
Packit |
63bb0d |
want map[string]map[string]blueprint.Change
|
|
Packit |
63bb0d |
}{
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
name: "empty",
|
|
Packit |
63bb0d |
changes: changesV0{},
|
|
Packit |
63bb0d |
want: make(map[string]map[string]blueprint.Change),
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
name: "One Blueprint's Changes",
|
|
Packit |
63bb0d |
changes: changesV0{
|
|
Packit |
63bb0d |
"test-blueprint-changes-1": {
|
|
Packit |
63bb0d |
"4774980638f4162d9909a613c3ccd938e60bb3a9": {
|
|
Packit |
63bb0d |
Commit: "4774980638f4162d9909a613c3ccd938e60bb3a9",
|
|
Packit |
63bb0d |
Message: "Recipe test-blueprint-changes-v0, version 0.1.2 saved.",
|
|
Packit |
63bb0d |
Revision: nil,
|
|
Packit |
63bb0d |
Timestamp: "2020-07-29T09:52:07Z",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
"72fdb76b9994bd72770e283bf3a5206756daf497": {
|
|
Packit |
63bb0d |
Commit: "72fdb76b9994bd72770e283bf3a5206756daf497",
|
|
Packit |
63bb0d |
Message: "Recipe test-blueprint-changes-v0, version 0.1.1 saved.",
|
|
Packit |
63bb0d |
Revision: nil,
|
|
Packit |
63bb0d |
Timestamp: "2020-07-09T13:33:06Z",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
"79e2043a83637ffdd4db078c6da23deaae09c84b": {
|
|
Packit |
63bb0d |
Commit: "79e2043a83637ffdd4db078c6da23deaae09c84b",
|
|
Packit |
63bb0d |
Message: "Recipe test-blueprint-changes-v0, version 0.0.1 saved.",
|
|
Packit |
63bb0d |
Revision: nil,
|
|
Packit |
63bb0d |
Timestamp: "2020-07-07T02:57:00Z",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
want: map[string]map[string]blueprint.Change{
|
|
Packit |
63bb0d |
"test-blueprint-changes-1": {
|
|
Packit |
63bb0d |
"4774980638f4162d9909a613c3ccd938e60bb3a9": {
|
|
Packit |
63bb0d |
Commit: "4774980638f4162d9909a613c3ccd938e60bb3a9",
|
|
Packit |
63bb0d |
Message: "Recipe test-blueprint-changes-v0, version 0.1.2 saved.",
|
|
Packit |
63bb0d |
Revision: nil,
|
|
Packit |
63bb0d |
Timestamp: "2020-07-29T09:52:07Z",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
"72fdb76b9994bd72770e283bf3a5206756daf497": {
|
|
Packit |
63bb0d |
Commit: "72fdb76b9994bd72770e283bf3a5206756daf497",
|
|
Packit |
63bb0d |
Message: "Recipe test-blueprint-changes-v0, version 0.1.1 saved.",
|
|
Packit |
63bb0d |
Revision: nil,
|
|
Packit |
63bb0d |
Timestamp: "2020-07-09T13:33:06Z",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
"79e2043a83637ffdd4db078c6da23deaae09c84b": {
|
|
Packit |
63bb0d |
Commit: "79e2043a83637ffdd4db078c6da23deaae09c84b",
|
|
Packit |
63bb0d |
Message: "Recipe test-blueprint-changes-v0, version 0.0.1 saved.",
|
|
Packit |
63bb0d |
Revision: nil,
|
|
Packit |
63bb0d |
Timestamp: "2020-07-07T02:57:00Z",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
name: "Two Blueprint's Changes",
|
|
Packit |
63bb0d |
changes: changesV0{
|
|
Packit |
63bb0d |
"test-blueprint-changes-1": {
|
|
Packit |
63bb0d |
"4774980638f4162d9909a613c3ccd938e60bb3a9": {
|
|
Packit |
63bb0d |
Commit: "4774980638f4162d9909a613c3ccd938e60bb3a9",
|
|
Packit |
63bb0d |
Message: "Recipe test-blueprint-changes-v0, version 0.1.2 saved.",
|
|
Packit |
63bb0d |
Revision: nil,
|
|
Packit |
63bb0d |
Timestamp: "2020-07-29T09:52:07Z",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
"test-blueprint-changes-2": {
|
|
Packit |
63bb0d |
"72fdb76b9994bd72770e283bf3a5206756daf497": {
|
|
Packit |
63bb0d |
Commit: "72fdb76b9994bd72770e283bf3a5206756daf497",
|
|
Packit |
63bb0d |
Message: "Recipe test-blueprint-changes-v0, version 0.1.1 saved.",
|
|
Packit |
63bb0d |
Revision: nil,
|
|
Packit |
63bb0d |
Timestamp: "2020-07-09T13:33:06Z",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
"79e2043a83637ffdd4db078c6da23deaae09c84b": {
|
|
Packit |
63bb0d |
Commit: "79e2043a83637ffdd4db078c6da23deaae09c84b",
|
|
Packit |
63bb0d |
Message: "Recipe test-blueprint-changes-v0, version 0.0.1 saved.",
|
|
Packit |
63bb0d |
Revision: nil,
|
|
Packit |
63bb0d |
Timestamp: "2020-07-07T02:57:00Z",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
want: map[string]map[string]blueprint.Change{
|
|
Packit |
63bb0d |
"test-blueprint-changes-1": {
|
|
Packit |
63bb0d |
"4774980638f4162d9909a613c3ccd938e60bb3a9": {
|
|
Packit |
63bb0d |
Commit: "4774980638f4162d9909a613c3ccd938e60bb3a9",
|
|
Packit |
63bb0d |
Message: "Recipe test-blueprint-changes-v0, version 0.1.2 saved.",
|
|
Packit |
63bb0d |
Revision: nil,
|
|
Packit |
63bb0d |
Timestamp: "2020-07-29T09:52:07Z",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
"test-blueprint-changes-2": {
|
|
Packit |
63bb0d |
"72fdb76b9994bd72770e283bf3a5206756daf497": {
|
|
Packit |
63bb0d |
Commit: "72fdb76b9994bd72770e283bf3a5206756daf497",
|
|
Packit |
63bb0d |
Message: "Recipe test-blueprint-changes-v0, version 0.1.1 saved.",
|
|
Packit |
63bb0d |
Revision: nil,
|
|
Packit |
63bb0d |
Timestamp: "2020-07-09T13:33:06Z",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
"79e2043a83637ffdd4db078c6da23deaae09c84b": {
|
|
Packit |
63bb0d |
Commit: "79e2043a83637ffdd4db078c6da23deaae09c84b",
|
|
Packit |
63bb0d |
Message: "Recipe test-blueprint-changes-v0, version 0.0.1 saved.",
|
|
Packit |
63bb0d |
Revision: nil,
|
|
Packit |
63bb0d |
Timestamp: "2020-07-07T02:57:00Z",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
}}
|
|
Packit |
63bb0d |
for _, tt := range tests {
|
|
Packit |
63bb0d |
t.Run(tt.name, func(t *testing.T) {
|
|
Packit |
63bb0d |
if got := newChangesFromV0(tt.changes); !reflect.DeepEqual(got, tt.want) {
|
|
Packit |
63bb0d |
t.Errorf("newChangesFromV0() = %v, want %v", got, tt.want)
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
})
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func Test_newChangesV0(t *testing.T) {
|
|
Packit |
63bb0d |
tests := []struct {
|
|
Packit |
63bb0d |
name string
|
|
Packit |
63bb0d |
changes map[string]map[string]blueprint.Change
|
|
Packit |
63bb0d |
want changesV0
|
|
Packit |
63bb0d |
}{
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
name: "empty",
|
|
Packit |
63bb0d |
changes: make(map[string]map[string]blueprint.Change),
|
|
Packit |
63bb0d |
want: changesV0{},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
name: "One Blueprint's Changes",
|
|
Packit |
63bb0d |
changes: map[string]map[string]blueprint.Change{
|
|
Packit |
63bb0d |
"test-blueprint-changes-1": {
|
|
Packit |
63bb0d |
"4774980638f4162d9909a613c3ccd938e60bb3a9": {
|
|
Packit |
63bb0d |
Commit: "4774980638f4162d9909a613c3ccd938e60bb3a9",
|
|
Packit |
63bb0d |
Message: "Recipe test-blueprint-changes-v0, version 0.1.2 saved.",
|
|
Packit |
63bb0d |
Revision: nil,
|
|
Packit |
63bb0d |
Timestamp: "2020-07-29T09:52:07Z",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
"72fdb76b9994bd72770e283bf3a5206756daf497": {
|
|
Packit |
63bb0d |
Commit: "72fdb76b9994bd72770e283bf3a5206756daf497",
|
|
Packit |
63bb0d |
Message: "Recipe test-blueprint-changes-v0, version 0.1.1 saved.",
|
|
Packit |
63bb0d |
Revision: nil,
|
|
Packit |
63bb0d |
Timestamp: "2020-07-09T13:33:06Z",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
"79e2043a83637ffdd4db078c6da23deaae09c84b": {
|
|
Packit |
63bb0d |
Commit: "79e2043a83637ffdd4db078c6da23deaae09c84b",
|
|
Packit |
63bb0d |
Message: "Recipe test-blueprint-changes-v0, version 0.0.1 saved.",
|
|
Packit |
63bb0d |
Revision: nil,
|
|
Packit |
63bb0d |
Timestamp: "2020-07-07T02:57:00Z",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
want: changesV0{
|
|
Packit |
63bb0d |
"test-blueprint-changes-1": {
|
|
Packit |
63bb0d |
"4774980638f4162d9909a613c3ccd938e60bb3a9": {
|
|
Packit |
63bb0d |
Commit: "4774980638f4162d9909a613c3ccd938e60bb3a9",
|
|
Packit |
63bb0d |
Message: "Recipe test-blueprint-changes-v0, version 0.1.2 saved.",
|
|
Packit |
63bb0d |
Revision: nil,
|
|
Packit |
63bb0d |
Timestamp: "2020-07-29T09:52:07Z",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
"72fdb76b9994bd72770e283bf3a5206756daf497": {
|
|
Packit |
63bb0d |
Commit: "72fdb76b9994bd72770e283bf3a5206756daf497",
|
|
Packit |
63bb0d |
Message: "Recipe test-blueprint-changes-v0, version 0.1.1 saved.",
|
|
Packit |
63bb0d |
Revision: nil,
|
|
Packit |
63bb0d |
Timestamp: "2020-07-09T13:33:06Z",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
"79e2043a83637ffdd4db078c6da23deaae09c84b": {
|
|
Packit |
63bb0d |
Commit: "79e2043a83637ffdd4db078c6da23deaae09c84b",
|
|
Packit |
63bb0d |
Message: "Recipe test-blueprint-changes-v0, version 0.0.1 saved.",
|
|
Packit |
63bb0d |
Revision: nil,
|
|
Packit |
63bb0d |
Timestamp: "2020-07-07T02:57:00Z",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
name: "Two Blueprint's Changes",
|
|
Packit |
63bb0d |
changes: map[string]map[string]blueprint.Change{
|
|
Packit |
63bb0d |
"test-blueprint-changes-1": {
|
|
Packit |
63bb0d |
"4774980638f4162d9909a613c3ccd938e60bb3a9": {
|
|
Packit |
63bb0d |
Commit: "4774980638f4162d9909a613c3ccd938e60bb3a9",
|
|
Packit |
63bb0d |
Message: "Recipe test-blueprint-changes-v0, version 0.1.2 saved.",
|
|
Packit |
63bb0d |
Revision: nil,
|
|
Packit |
63bb0d |
Timestamp: "2020-07-29T09:52:07Z",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
"test-blueprint-changes-2": {
|
|
Packit |
63bb0d |
"72fdb76b9994bd72770e283bf3a5206756daf497": {
|
|
Packit |
63bb0d |
Commit: "72fdb76b9994bd72770e283bf3a5206756daf497",
|
|
Packit |
63bb0d |
Message: "Recipe test-blueprint-changes-v0, version 0.1.1 saved.",
|
|
Packit |
63bb0d |
Revision: nil,
|
|
Packit |
63bb0d |
Timestamp: "2020-07-09T13:33:06Z",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
"79e2043a83637ffdd4db078c6da23deaae09c84b": {
|
|
Packit |
63bb0d |
Commit: "79e2043a83637ffdd4db078c6da23deaae09c84b",
|
|
Packit |
63bb0d |
Message: "Recipe test-blueprint-changes-v0, version 0.0.1 saved.",
|
|
Packit |
63bb0d |
Revision: nil,
|
|
Packit |
63bb0d |
Timestamp: "2020-07-07T02:57:00Z",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
want: changesV0{
|
|
Packit |
63bb0d |
"test-blueprint-changes-1": {
|
|
Packit |
63bb0d |
"4774980638f4162d9909a613c3ccd938e60bb3a9": {
|
|
Packit |
63bb0d |
Commit: "4774980638f4162d9909a613c3ccd938e60bb3a9",
|
|
Packit |
63bb0d |
Message: "Recipe test-blueprint-changes-v0, version 0.1.2 saved.",
|
|
Packit |
63bb0d |
Revision: nil,
|
|
Packit |
63bb0d |
Timestamp: "2020-07-29T09:52:07Z",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
"test-blueprint-changes-2": {
|
|
Packit |
63bb0d |
"72fdb76b9994bd72770e283bf3a5206756daf497": {
|
|
Packit |
63bb0d |
Commit: "72fdb76b9994bd72770e283bf3a5206756daf497",
|
|
Packit |
63bb0d |
Message: "Recipe test-blueprint-changes-v0, version 0.1.1 saved.",
|
|
Packit |
63bb0d |
Revision: nil,
|
|
Packit |
63bb0d |
Timestamp: "2020-07-09T13:33:06Z",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
"79e2043a83637ffdd4db078c6da23deaae09c84b": {
|
|
Packit |
63bb0d |
Commit: "79e2043a83637ffdd4db078c6da23deaae09c84b",
|
|
Packit |
63bb0d |
Message: "Recipe test-blueprint-changes-v0, version 0.0.1 saved.",
|
|
Packit |
63bb0d |
Revision: nil,
|
|
Packit |
63bb0d |
Timestamp: "2020-07-07T02:57:00Z",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
for _, tt := range tests {
|
|
Packit |
63bb0d |
t.Run(tt.name, func(t *testing.T) {
|
|
Packit |
63bb0d |
if got := newChangesV0(tt.changes); !reflect.DeepEqual(got, tt.want) {
|
|
Packit |
63bb0d |
t.Errorf("newChangesV0() = %v, want %v", got, tt.want)
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
})
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func Test_newSourceConfigsFromV0(t *testing.T) {
|
|
Packit |
63bb0d |
tests := []struct {
|
|
Packit |
63bb0d |
name string
|
|
Packit |
63bb0d |
sources sourcesV0
|
|
Packit |
63bb0d |
want map[string]SourceConfig
|
|
Packit |
63bb0d |
}{
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
name: "empty",
|
|
Packit |
63bb0d |
sources: sourcesV0{},
|
|
Packit |
63bb0d |
want: make(map[string]SourceConfig),
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
name: "One Source",
|
|
Packit |
63bb0d |
sources: sourcesV0{
|
|
Packit |
63bb0d |
"repo-1": {
|
|
Packit |
63bb0d |
Name: "testRepo1",
|
|
Packit |
63bb0d |
Type: "yum-mirrorlist",
|
|
Packit |
63bb0d |
URL: "testURL",
|
|
Packit |
63bb0d |
CheckGPG: true,
|
|
Packit |
63bb0d |
CheckSSL: true,
|
|
Packit |
63bb0d |
System: false,
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
want: map[string]SourceConfig{
|
|
Packit |
63bb0d |
"repo-1": {
|
|
Packit |
63bb0d |
Name: "testRepo1",
|
|
Packit |
63bb0d |
Type: "yum-mirrorlist",
|
|
Packit |
63bb0d |
URL: "testURL",
|
|
Packit |
63bb0d |
CheckGPG: true,
|
|
Packit |
63bb0d |
CheckSSL: true,
|
|
Packit |
63bb0d |
System: false,
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
name: "Two Sources",
|
|
Packit |
63bb0d |
sources: sourcesV0{
|
|
Packit |
63bb0d |
"repo-1": {
|
|
Packit |
63bb0d |
Name: "testRepo1",
|
|
Packit |
63bb0d |
Type: "yum-mirrorlist",
|
|
Packit |
63bb0d |
URL: "testURL",
|
|
Packit |
63bb0d |
CheckGPG: true,
|
|
Packit |
63bb0d |
CheckSSL: true,
|
|
Packit |
63bb0d |
System: false,
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
"repo-2": {
|
|
Packit |
63bb0d |
Name: "testRepo2",
|
|
Packit |
63bb0d |
Type: "yum-baseurl",
|
|
Packit |
63bb0d |
URL: "testURL",
|
|
Packit |
63bb0d |
CheckGPG: true,
|
|
Packit |
63bb0d |
CheckSSL: true,
|
|
Packit |
63bb0d |
System: false,
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
want: map[string]SourceConfig{
|
|
Packit |
63bb0d |
"repo-1": {
|
|
Packit |
63bb0d |
Name: "testRepo1",
|
|
Packit |
63bb0d |
Type: "yum-mirrorlist",
|
|
Packit |
63bb0d |
URL: "testURL",
|
|
Packit |
63bb0d |
CheckGPG: true,
|
|
Packit |
63bb0d |
CheckSSL: true,
|
|
Packit |
63bb0d |
System: false,
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
"repo-2": {
|
|
Packit |
63bb0d |
Name: "testRepo2",
|
|
Packit |
63bb0d |
Type: "yum-baseurl",
|
|
Packit |
63bb0d |
URL: "testURL",
|
|
Packit |
63bb0d |
CheckGPG: true,
|
|
Packit |
63bb0d |
CheckSSL: true,
|
|
Packit |
63bb0d |
System: false,
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
for _, tt := range tests {
|
|
Packit |
63bb0d |
t.Run(tt.name, func(t *testing.T) {
|
|
Packit |
63bb0d |
if got := newSourceConfigsFromV0(tt.sources); !reflect.DeepEqual(got, tt.want) {
|
|
Packit |
63bb0d |
t.Errorf("newSourceConfigsFromV0() = %v, want %v", got, tt.want)
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
})
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func Test_newSourcesFromV0(t *testing.T) {
|
|
Packit |
63bb0d |
tests := []struct {
|
|
Packit |
63bb0d |
name string
|
|
Packit |
63bb0d |
sources map[string]SourceConfig
|
|
Packit |
63bb0d |
want sourcesV0
|
|
Packit |
63bb0d |
}{
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
name: "empty",
|
|
Packit |
63bb0d |
sources: make(map[string]SourceConfig),
|
|
Packit |
63bb0d |
want: sourcesV0{},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
name: "One Source",
|
|
Packit |
63bb0d |
sources: map[string]SourceConfig{
|
|
Packit |
63bb0d |
"repo-1": {
|
|
Packit |
63bb0d |
Name: "testRepo1",
|
|
Packit |
63bb0d |
Type: "yum-mirrorlist",
|
|
Packit |
63bb0d |
URL: "testURL",
|
|
Packit |
63bb0d |
CheckGPG: true,
|
|
Packit |
63bb0d |
CheckSSL: true,
|
|
Packit |
63bb0d |
System: false,
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
want: sourcesV0{
|
|
Packit |
63bb0d |
"repo-1": {
|
|
Packit |
63bb0d |
Name: "testRepo1",
|
|
Packit |
63bb0d |
Type: "yum-mirrorlist",
|
|
Packit |
63bb0d |
URL: "testURL",
|
|
Packit |
63bb0d |
CheckGPG: true,
|
|
Packit |
63bb0d |
CheckSSL: true,
|
|
Packit |
63bb0d |
System: false,
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
name: "Two Sources",
|
|
Packit |
63bb0d |
sources: map[string]SourceConfig{
|
|
Packit |
63bb0d |
"repo-1": {
|
|
Packit |
63bb0d |
Name: "testRepo1",
|
|
Packit |
63bb0d |
Type: "yum-mirrorlist",
|
|
Packit |
63bb0d |
URL: "testURL",
|
|
Packit |
63bb0d |
CheckGPG: true,
|
|
Packit |
63bb0d |
CheckSSL: true,
|
|
Packit |
63bb0d |
System: false,
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
"repo-2": {
|
|
Packit |
63bb0d |
Name: "testRepo2",
|
|
Packit |
63bb0d |
Type: "yum-baseurl",
|
|
Packit |
63bb0d |
URL: "testURL",
|
|
Packit |
63bb0d |
CheckGPG: true,
|
|
Packit |
63bb0d |
CheckSSL: true,
|
|
Packit |
63bb0d |
System: false,
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
want: sourcesV0{
|
|
Packit |
63bb0d |
"repo-1": {
|
|
Packit |
63bb0d |
Name: "testRepo1",
|
|
Packit |
63bb0d |
Type: "yum-mirrorlist",
|
|
Packit |
63bb0d |
URL: "testURL",
|
|
Packit |
63bb0d |
CheckGPG: true,
|
|
Packit |
63bb0d |
CheckSSL: true,
|
|
Packit |
63bb0d |
System: false,
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
"repo-2": {
|
|
Packit |
63bb0d |
Name: "testRepo2",
|
|
Packit |
63bb0d |
Type: "yum-baseurl",
|
|
Packit |
63bb0d |
URL: "testURL",
|
|
Packit |
63bb0d |
CheckGPG: true,
|
|
Packit |
63bb0d |
CheckSSL: true,
|
|
Packit |
63bb0d |
System: false,
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
for _, tt := range tests {
|
|
Packit |
63bb0d |
t.Run(tt.name, func(t *testing.T) {
|
|
Packit |
63bb0d |
if got := newSourcesV0(tt.sources); !reflect.DeepEqual(got, tt.want) {
|
|
Packit |
63bb0d |
t.Errorf("newSourcesV0() = %v, want %v", got, tt.want)
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
})
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func Test_newComposeV0(t *testing.T) {
|
|
Packit |
63bb0d |
bp := blueprint.Blueprint{
|
|
Packit |
63bb0d |
Name: "tmux",
|
|
Packit |
63bb0d |
Description: "tmux blueprint",
|
|
Packit |
63bb0d |
Version: "0.0.1",
|
|
Packit |
63bb0d |
Packages: []blueprint.Package{
|
|
Packit |
63bb0d |
{Name: "tmux", Version: "*"}},
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
tests := []struct {
|
|
Packit |
63bb0d |
name string
|
|
Packit |
63bb0d |
compose Compose
|
|
Packit |
63bb0d |
want composeV0
|
|
Packit |
63bb0d |
}{
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
name: "qcow2 compose",
|
|
Packit |
63bb0d |
compose: Compose{
|
|
Packit |
63bb0d |
Blueprint: &bp,
|
|
Packit |
63bb0d |
ImageBuild: ImageBuild{
|
|
Packit |
63bb0d |
ID: 0,
|
|
Packit |
63bb0d |
ImageType: &test_distro.TestImageType{},
|
|
Packit |
63bb0d |
Manifest: []byte("JSON MANIFEST GOES HERE"),
|
|
Packit |
63bb0d |
Targets: []*target.Target{
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
Uuid: uuid.MustParse("f53b49c0-d321-447e-8ab8-6e827891e3f0"),
|
|
Packit |
63bb0d |
ImageName: "",
|
|
Packit |
63bb0d |
Name: "org.osbuild.local",
|
|
Packit |
63bb0d |
Created: MustParseTime("2020-08-12T09:21:44.427717205-07:00"),
|
|
Packit |
63bb0d |
Status: common.IBWaiting,
|
|
Packit |
63bb0d |
Options: target.LocalTargetOptions{
|
|
Packit |
63bb0d |
ComposeId: uuid.MustParse("6b512b52-1e9d-4dac-869c-108fd4860a3e"),
|
|
Packit |
63bb0d |
ImageBuildId: 0,
|
|
Packit |
63bb0d |
Filename: "disk.qcow2",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
JobCreated: MustParseTime("2020-08-12T09:21:50.07040195-07:00"),
|
|
Packit |
63bb0d |
JobStarted: MustParseTime("0001-01-01T00:00:00Z"),
|
|
Packit |
63bb0d |
JobFinished: MustParseTime("0001-01-01T00:00:00Z"),
|
|
Packit |
63bb0d |
Size: 2147483648,
|
|
Packit |
63bb0d |
JobID: uuid.MustParse("22445cd3-7fa5-4dca-b7f8-4f9857b3e3a0"),
|
|
Packit |
63bb0d |
QueueStatus: common.IBFinished,
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
want: composeV0{
|
|
Packit |
63bb0d |
Blueprint: &bp,
|
|
Packit |
63bb0d |
ImageBuilds: []imageBuildV0{
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
ID: 0,
|
|
Packit |
63bb0d |
ImageType: "test_type",
|
|
Packit |
63bb0d |
Manifest: []byte("JSON MANIFEST GOES HERE"),
|
|
Packit |
63bb0d |
Targets: []*target.Target{
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
Uuid: uuid.MustParse("f53b49c0-d321-447e-8ab8-6e827891e3f0"),
|
|
Packit |
63bb0d |
ImageName: "",
|
|
Packit |
63bb0d |
Name: "org.osbuild.local",
|
|
Packit |
63bb0d |
Created: MustParseTime("2020-08-12T09:21:44.427717205-07:00"),
|
|
Packit |
63bb0d |
Status: common.IBWaiting,
|
|
Packit |
63bb0d |
Options: target.LocalTargetOptions{
|
|
Packit |
63bb0d |
ComposeId: uuid.MustParse("6b512b52-1e9d-4dac-869c-108fd4860a3e"),
|
|
Packit |
63bb0d |
ImageBuildId: 0,
|
|
Packit |
63bb0d |
Filename: "disk.qcow2",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
JobCreated: MustParseTime("2020-08-12T09:21:50.07040195-07:00"),
|
|
Packit |
63bb0d |
JobStarted: MustParseTime("0001-01-01T00:00:00Z"),
|
|
Packit |
63bb0d |
JobFinished: MustParseTime("0001-01-01T00:00:00Z"),
|
|
Packit |
63bb0d |
Size: 2147483648,
|
|
Packit |
63bb0d |
JobID: uuid.MustParse("22445cd3-7fa5-4dca-b7f8-4f9857b3e3a0"),
|
|
Packit |
63bb0d |
QueueStatus: common.IBFinished,
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
for _, tt := range tests {
|
|
Packit |
63bb0d |
t.Run(tt.name, func(t *testing.T) {
|
|
Packit |
63bb0d |
if got := newComposeV0(tt.compose); !reflect.DeepEqual(got, tt.want) {
|
|
Packit |
63bb0d |
t.Errorf("newComposeV0() = %#v, want %#v", got, tt.want)
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
})
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func Test_newComposeFromV0(t *testing.T) {
|
|
Packit |
63bb0d |
bp := blueprint.Blueprint{
|
|
Packit |
63bb0d |
Name: "tmux",
|
|
Packit |
63bb0d |
Description: "tmux blueprint",
|
|
Packit |
63bb0d |
Version: "0.0.1",
|
|
Packit |
63bb0d |
Packages: []blueprint.Package{
|
|
Packit |
63bb0d |
{Name: "tmux", Version: "*"}},
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
tests := []struct {
|
|
Packit |
63bb0d |
name string
|
|
Packit |
63bb0d |
compose composeV0
|
|
Packit |
63bb0d |
arch distro.Arch
|
|
Packit |
63bb0d |
want Compose
|
|
Packit |
63bb0d |
errOk bool
|
|
Packit |
63bb0d |
}{
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
name: "empty",
|
|
Packit |
63bb0d |
compose: composeV0{},
|
|
Packit |
63bb0d |
arch: &test_distro.TestArch{},
|
|
Packit |
63bb0d |
want: Compose{},
|
|
Packit |
63bb0d |
errOk: true,
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
name: "qcow2 compose",
|
|
Packit |
63bb0d |
arch: &test_distro.TestArch{},
|
|
Packit |
63bb0d |
errOk: false,
|
|
Packit |
63bb0d |
compose: composeV0{
|
|
Packit |
63bb0d |
Blueprint: &bp,
|
|
Packit |
63bb0d |
ImageBuilds: []imageBuildV0{
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
ID: 0,
|
|
Packit |
63bb0d |
ImageType: "test_type",
|
|
Packit |
63bb0d |
Manifest: []byte("JSON MANIFEST GOES HERE"),
|
|
Packit |
63bb0d |
Targets: []*target.Target{
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
Uuid: uuid.MustParse("f53b49c0-d321-447e-8ab8-6e827891e3f0"),
|
|
Packit |
63bb0d |
ImageName: "",
|
|
Packit |
63bb0d |
Name: "org.osbuild.local",
|
|
Packit |
63bb0d |
Created: MustParseTime("2020-08-12T09:21:44.427717205-07:00"),
|
|
Packit |
63bb0d |
Status: common.IBWaiting,
|
|
Packit |
63bb0d |
Options: target.LocalTargetOptions{
|
|
Packit |
63bb0d |
ComposeId: uuid.MustParse("6b512b52-1e9d-4dac-869c-108fd4860a3e"),
|
|
Packit |
63bb0d |
ImageBuildId: 0,
|
|
Packit |
63bb0d |
Filename: "disk.qcow2",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
JobCreated: MustParseTime("2020-08-12T09:21:50.07040195-07:00"),
|
|
Packit |
63bb0d |
JobStarted: MustParseTime("0001-01-01T00:00:00Z"),
|
|
Packit |
63bb0d |
JobFinished: MustParseTime("0001-01-01T00:00:00Z"),
|
|
Packit |
63bb0d |
Size: 2147483648,
|
|
Packit |
63bb0d |
JobID: uuid.MustParse("22445cd3-7fa5-4dca-b7f8-4f9857b3e3a0"),
|
|
Packit |
63bb0d |
QueueStatus: common.IBFinished,
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
want: Compose{
|
|
Packit |
63bb0d |
Blueprint: &bp,
|
|
Packit |
63bb0d |
ImageBuild: ImageBuild{
|
|
Packit |
63bb0d |
ID: 0,
|
|
Packit |
63bb0d |
ImageType: &test_distro.TestImageType{},
|
|
Packit |
63bb0d |
Manifest: []byte("JSON MANIFEST GOES HERE"),
|
|
Packit |
63bb0d |
Targets: []*target.Target{
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
Uuid: uuid.MustParse("f53b49c0-d321-447e-8ab8-6e827891e3f0"),
|
|
Packit |
63bb0d |
ImageName: "",
|
|
Packit |
63bb0d |
Name: "org.osbuild.local",
|
|
Packit |
63bb0d |
Created: MustParseTime("2020-08-12T09:21:44.427717205-07:00"),
|
|
Packit |
63bb0d |
Status: common.IBWaiting,
|
|
Packit |
63bb0d |
Options: target.LocalTargetOptions{
|
|
Packit |
63bb0d |
ComposeId: uuid.MustParse("6b512b52-1e9d-4dac-869c-108fd4860a3e"),
|
|
Packit |
63bb0d |
ImageBuildId: 0,
|
|
Packit |
63bb0d |
Filename: "disk.qcow2",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
JobCreated: MustParseTime("2020-08-12T09:21:50.07040195-07:00"),
|
|
Packit |
63bb0d |
JobStarted: MustParseTime("0001-01-01T00:00:00Z"),
|
|
Packit |
63bb0d |
JobFinished: MustParseTime("0001-01-01T00:00:00Z"),
|
|
Packit |
63bb0d |
Size: 2147483648,
|
|
Packit |
63bb0d |
JobID: uuid.MustParse("22445cd3-7fa5-4dca-b7f8-4f9857b3e3a0"),
|
|
Packit |
63bb0d |
QueueStatus: common.IBFinished,
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
for _, tt := range tests {
|
|
Packit |
63bb0d |
t.Run(tt.name, func(t *testing.T) {
|
|
Packit |
63bb0d |
got, err := newComposeFromV0(tt.compose, tt.arch)
|
|
Packit |
63bb0d |
if err != nil {
|
|
Packit |
63bb0d |
if !tt.errOk {
|
|
Packit |
63bb0d |
t.Errorf("newComposeFromV0() error = %v", err)
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
} else if !reflect.DeepEqual(got, tt.want) {
|
|
Packit |
63bb0d |
t.Errorf("newComposeFromV0() = %#v, want %#v", got, tt.want)
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
})
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func Test_newComposesV0(t *testing.T) {
|
|
Packit |
63bb0d |
bp := blueprint.Blueprint{
|
|
Packit |
63bb0d |
Name: "tmux",
|
|
Packit |
63bb0d |
Description: "tmux blueprint",
|
|
Packit |
63bb0d |
Version: "0.0.1",
|
|
Packit |
63bb0d |
Packages: []blueprint.Package{
|
|
Packit |
63bb0d |
{Name: "tmux", Version: "*"}},
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
tests := []struct {
|
|
Packit |
63bb0d |
name string
|
|
Packit |
63bb0d |
composes map[uuid.UUID]Compose
|
|
Packit |
63bb0d |
want composesV0
|
|
Packit |
63bb0d |
}{
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
name: "two composes",
|
|
Packit |
63bb0d |
composes: map[uuid.UUID]Compose{
|
|
Packit |
63bb0d |
uuid.MustParse("f53b49c0-d321-447e-8ab8-6e827891e3f0"): {
|
|
Packit |
63bb0d |
Blueprint: &bp,
|
|
Packit |
63bb0d |
ImageBuild: ImageBuild{
|
|
Packit |
63bb0d |
ID: 0,
|
|
Packit |
63bb0d |
ImageType: &test_distro.TestImageType{},
|
|
Packit |
63bb0d |
Manifest: []byte("JSON MANIFEST GOES HERE"),
|
|
Packit |
63bb0d |
Targets: []*target.Target{
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
Uuid: uuid.MustParse("f53b49c0-d321-447e-8ab8-6e827891e3f0"),
|
|
Packit |
63bb0d |
ImageName: "",
|
|
Packit |
63bb0d |
Name: "org.osbuild.local",
|
|
Packit |
63bb0d |
Created: MustParseTime("2020-08-12T09:21:44.427717205-07:00"),
|
|
Packit |
63bb0d |
Status: common.IBWaiting,
|
|
Packit |
63bb0d |
Options: target.LocalTargetOptions{
|
|
Packit |
63bb0d |
ComposeId: uuid.MustParse("6b512b52-1e9d-4dac-869c-108fd4860a3e"),
|
|
Packit |
63bb0d |
ImageBuildId: 0,
|
|
Packit |
63bb0d |
Filename: "disk.qcow2",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
JobCreated: MustParseTime("2020-08-12T09:21:50.07040195-07:00"),
|
|
Packit |
63bb0d |
JobStarted: MustParseTime("0001-01-01T00:00:00Z"),
|
|
Packit |
63bb0d |
JobFinished: MustParseTime("0001-01-01T00:00:00Z"),
|
|
Packit |
63bb0d |
Size: 2147483648,
|
|
Packit |
63bb0d |
JobID: uuid.MustParse("22445cd3-7fa5-4dca-b7f8-4f9857b3e3a0"),
|
|
Packit |
63bb0d |
QueueStatus: common.IBFinished,
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
uuid.MustParse("14c454d0-26f3-4a56-8ceb-a5673aaba686"): {
|
|
Packit |
63bb0d |
Blueprint: &bp,
|
|
Packit |
63bb0d |
ImageBuild: ImageBuild{
|
|
Packit |
63bb0d |
ID: 0,
|
|
Packit |
63bb0d |
ImageType: &test_distro.TestImageType{},
|
|
Packit |
63bb0d |
Manifest: []byte("JSON MANIFEST GOES HERE"),
|
|
Packit |
63bb0d |
Targets: []*target.Target{
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
Uuid: uuid.MustParse("14c454d0-26f3-4a56-8ceb-a5673aaba686"),
|
|
Packit |
63bb0d |
ImageName: "",
|
|
Packit |
63bb0d |
Name: "org.osbuild.local",
|
|
Packit |
63bb0d |
Created: MustParseTime("2020-08-12T09:21:44.427717205-07:00"),
|
|
Packit |
63bb0d |
Status: common.IBWaiting,
|
|
Packit |
63bb0d |
Options: target.LocalTargetOptions{
|
|
Packit |
63bb0d |
ComposeId: uuid.MustParse("14c454d0-26f3-4a56-8ceb-a5673aaba686"),
|
|
Packit |
63bb0d |
ImageBuildId: 0,
|
|
Packit |
63bb0d |
Filename: "disk.qcow2",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
JobCreated: MustParseTime("2020-08-12T09:21:50.07040195-07:00"),
|
|
Packit |
63bb0d |
JobStarted: MustParseTime("0001-01-01T00:00:00Z"),
|
|
Packit |
63bb0d |
JobFinished: MustParseTime("0001-01-01T00:00:00Z"),
|
|
Packit |
63bb0d |
Size: 2147483648,
|
|
Packit |
63bb0d |
JobID: uuid.MustParse("6ac04049-341a-4297-b50b-5424bec9f193"),
|
|
Packit |
63bb0d |
QueueStatus: common.IBFinished,
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
want: composesV0{
|
|
Packit |
63bb0d |
uuid.MustParse("f53b49c0-d321-447e-8ab8-6e827891e3f0"): {
|
|
Packit |
63bb0d |
Blueprint: &bp,
|
|
Packit |
63bb0d |
ImageBuilds: []imageBuildV0{
|
|
Packit |
63bb0d |
imageBuildV0{
|
|
Packit |
63bb0d |
ID: 0,
|
|
Packit |
63bb0d |
ImageType: "test_type",
|
|
Packit |
63bb0d |
Manifest: []byte("JSON MANIFEST GOES HERE"),
|
|
Packit |
63bb0d |
Targets: []*target.Target{
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
Uuid: uuid.MustParse("f53b49c0-d321-447e-8ab8-6e827891e3f0"),
|
|
Packit |
63bb0d |
ImageName: "",
|
|
Packit |
63bb0d |
Name: "org.osbuild.local",
|
|
Packit |
63bb0d |
Created: MustParseTime("2020-08-12T09:21:44.427717205-07:00"),
|
|
Packit |
63bb0d |
Status: common.IBWaiting,
|
|
Packit |
63bb0d |
Options: target.LocalTargetOptions{
|
|
Packit |
63bb0d |
ComposeId: uuid.MustParse("6b512b52-1e9d-4dac-869c-108fd4860a3e"),
|
|
Packit |
63bb0d |
ImageBuildId: 0,
|
|
Packit |
63bb0d |
Filename: "disk.qcow2",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
JobCreated: MustParseTime("2020-08-12T09:21:50.07040195-07:00"),
|
|
Packit |
63bb0d |
JobStarted: MustParseTime("0001-01-01T00:00:00Z"),
|
|
Packit |
63bb0d |
JobFinished: MustParseTime("0001-01-01T00:00:00Z"),
|
|
Packit |
63bb0d |
Size: 2147483648,
|
|
Packit |
63bb0d |
JobID: uuid.MustParse("22445cd3-7fa5-4dca-b7f8-4f9857b3e3a0"),
|
|
Packit |
63bb0d |
QueueStatus: common.IBFinished,
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
uuid.MustParse("14c454d0-26f3-4a56-8ceb-a5673aaba686"): {
|
|
Packit |
63bb0d |
Blueprint: &bp,
|
|
Packit |
63bb0d |
ImageBuilds: []imageBuildV0{
|
|
Packit |
63bb0d |
imageBuildV0{
|
|
Packit |
63bb0d |
ID: 0,
|
|
Packit |
63bb0d |
ImageType: "test_type",
|
|
Packit |
63bb0d |
Manifest: []byte("JSON MANIFEST GOES HERE"),
|
|
Packit |
63bb0d |
Targets: []*target.Target{
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
Uuid: uuid.MustParse("14c454d0-26f3-4a56-8ceb-a5673aaba686"),
|
|
Packit |
63bb0d |
ImageName: "",
|
|
Packit |
63bb0d |
Name: "org.osbuild.local",
|
|
Packit |
63bb0d |
Created: MustParseTime("2020-08-12T09:21:44.427717205-07:00"),
|
|
Packit |
63bb0d |
Status: common.IBWaiting,
|
|
Packit |
63bb0d |
Options: target.LocalTargetOptions{
|
|
Packit |
63bb0d |
ComposeId: uuid.MustParse("14c454d0-26f3-4a56-8ceb-a5673aaba686"),
|
|
Packit |
63bb0d |
ImageBuildId: 0,
|
|
Packit |
63bb0d |
Filename: "disk.qcow2",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
JobCreated: MustParseTime("2020-08-12T09:21:50.07040195-07:00"),
|
|
Packit |
63bb0d |
JobStarted: MustParseTime("0001-01-01T00:00:00Z"),
|
|
Packit |
63bb0d |
JobFinished: MustParseTime("0001-01-01T00:00:00Z"),
|
|
Packit |
63bb0d |
Size: 2147483648,
|
|
Packit |
63bb0d |
JobID: uuid.MustParse("6ac04049-341a-4297-b50b-5424bec9f193"),
|
|
Packit |
63bb0d |
QueueStatus: common.IBFinished,
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
for _, tt := range tests {
|
|
Packit |
63bb0d |
t.Run(tt.name, func(t *testing.T) {
|
|
Packit |
63bb0d |
if got := newComposesV0(tt.composes); !reflect.DeepEqual(got, tt.want) {
|
|
Packit |
63bb0d |
t.Errorf("newComposesV0() = %#v, want %#v", got, tt.want)
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
})
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func Test_newComposesFromV0(t *testing.T) {
|
|
Packit |
63bb0d |
bp := blueprint.Blueprint{
|
|
Packit |
63bb0d |
Name: "tmux",
|
|
Packit |
63bb0d |
Description: "tmux blueprint",
|
|
Packit |
63bb0d |
Version: "0.0.1",
|
|
Packit |
63bb0d |
Packages: []blueprint.Package{
|
|
Packit |
63bb0d |
{Name: "tmux", Version: "*"}},
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
tests := []struct {
|
|
Packit |
63bb0d |
name string
|
|
Packit |
63bb0d |
arch distro.Arch
|
|
Packit |
63bb0d |
composes composesV0
|
|
Packit |
63bb0d |
want map[uuid.UUID]Compose
|
|
Packit |
63bb0d |
}{
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
name: "empty",
|
|
Packit |
63bb0d |
arch: &test_distro.TestArch{},
|
|
Packit |
63bb0d |
composes: composesV0{},
|
|
Packit |
63bb0d |
want: make(map[uuid.UUID]Compose),
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
name: "two composes",
|
|
Packit |
63bb0d |
arch: &test_distro.TestArch{},
|
|
Packit |
63bb0d |
composes: composesV0{
|
|
Packit |
63bb0d |
uuid.MustParse("f53b49c0-d321-447e-8ab8-6e827891e3f0"): {
|
|
Packit |
63bb0d |
Blueprint: &bp,
|
|
Packit |
63bb0d |
ImageBuilds: []imageBuildV0{
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
ID: 0,
|
|
Packit |
63bb0d |
ImageType: "test_type",
|
|
Packit |
63bb0d |
Manifest: []byte("JSON MANIFEST GOES HERE"),
|
|
Packit |
63bb0d |
Targets: []*target.Target{
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
Uuid: uuid.MustParse("f53b49c0-d321-447e-8ab8-6e827891e3f0"),
|
|
Packit |
63bb0d |
ImageName: "",
|
|
Packit |
63bb0d |
Name: "org.osbuild.local",
|
|
Packit |
63bb0d |
Created: MustParseTime("2020-08-12T09:21:44.427717205-07:00"),
|
|
Packit |
63bb0d |
Status: common.IBWaiting,
|
|
Packit |
63bb0d |
Options: target.LocalTargetOptions{
|
|
Packit |
63bb0d |
ComposeId: uuid.MustParse("6b512b52-1e9d-4dac-869c-108fd4860a3e"),
|
|
Packit |
63bb0d |
ImageBuildId: 0,
|
|
Packit |
63bb0d |
Filename: "disk.qcow2",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
JobCreated: MustParseTime("2020-08-12T09:21:50.07040195-07:00"),
|
|
Packit |
63bb0d |
JobStarted: MustParseTime("0001-01-01T00:00:00Z"),
|
|
Packit |
63bb0d |
JobFinished: MustParseTime("0001-01-01T00:00:00Z"),
|
|
Packit |
63bb0d |
Size: 2147483648,
|
|
Packit |
63bb0d |
JobID: uuid.MustParse("22445cd3-7fa5-4dca-b7f8-4f9857b3e3a0"),
|
|
Packit |
63bb0d |
QueueStatus: common.IBFinished,
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
uuid.MustParse("14c454d0-26f3-4a56-8ceb-a5673aaba686"): {
|
|
Packit |
63bb0d |
Blueprint: &bp,
|
|
Packit |
63bb0d |
ImageBuilds: []imageBuildV0{
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
ID: 0,
|
|
Packit |
63bb0d |
ImageType: "test_type",
|
|
Packit |
63bb0d |
Manifest: []byte("JSON MANIFEST GOES HERE"),
|
|
Packit |
63bb0d |
Targets: []*target.Target{
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
Uuid: uuid.MustParse("14c454d0-26f3-4a56-8ceb-a5673aaba686"),
|
|
Packit |
63bb0d |
ImageName: "",
|
|
Packit |
63bb0d |
Name: "org.osbuild.local",
|
|
Packit |
63bb0d |
Created: MustParseTime("2020-08-12T09:21:44.427717205-07:00"),
|
|
Packit |
63bb0d |
Status: common.IBWaiting,
|
|
Packit |
63bb0d |
Options: target.LocalTargetOptions{
|
|
Packit |
63bb0d |
ComposeId: uuid.MustParse("14c454d0-26f3-4a56-8ceb-a5673aaba686"),
|
|
Packit |
63bb0d |
ImageBuildId: 0,
|
|
Packit |
63bb0d |
Filename: "disk.qcow2",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
JobCreated: MustParseTime("2020-08-12T09:21:50.07040195-07:00"),
|
|
Packit |
63bb0d |
JobStarted: MustParseTime("0001-01-01T00:00:00Z"),
|
|
Packit |
63bb0d |
JobFinished: MustParseTime("0001-01-01T00:00:00Z"),
|
|
Packit |
63bb0d |
Size: 2147483648,
|
|
Packit |
63bb0d |
JobID: uuid.MustParse("6ac04049-341a-4297-b50b-5424bec9f193"),
|
|
Packit |
63bb0d |
QueueStatus: common.IBFinished,
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
want: map[uuid.UUID]Compose{
|
|
Packit |
63bb0d |
uuid.MustParse("f53b49c0-d321-447e-8ab8-6e827891e3f0"): {
|
|
Packit |
63bb0d |
Blueprint: &bp,
|
|
Packit |
63bb0d |
ImageBuild: ImageBuild{
|
|
Packit |
63bb0d |
ID: 0,
|
|
Packit |
63bb0d |
ImageType: &test_distro.TestImageType{},
|
|
Packit |
63bb0d |
Manifest: []byte("JSON MANIFEST GOES HERE"),
|
|
Packit |
63bb0d |
Targets: []*target.Target{
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
Uuid: uuid.MustParse("f53b49c0-d321-447e-8ab8-6e827891e3f0"),
|
|
Packit |
63bb0d |
ImageName: "",
|
|
Packit |
63bb0d |
Name: "org.osbuild.local",
|
|
Packit |
63bb0d |
Created: MustParseTime("2020-08-12T09:21:44.427717205-07:00"),
|
|
Packit |
63bb0d |
Status: common.IBWaiting,
|
|
Packit |
63bb0d |
Options: target.LocalTargetOptions{
|
|
Packit |
63bb0d |
ComposeId: uuid.MustParse("6b512b52-1e9d-4dac-869c-108fd4860a3e"),
|
|
Packit |
63bb0d |
ImageBuildId: 0,
|
|
Packit |
63bb0d |
Filename: "disk.qcow2",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
JobCreated: MustParseTime("2020-08-12T09:21:50.07040195-07:00"),
|
|
Packit |
63bb0d |
JobStarted: MustParseTime("0001-01-01T00:00:00Z"),
|
|
Packit |
63bb0d |
JobFinished: MustParseTime("0001-01-01T00:00:00Z"),
|
|
Packit |
63bb0d |
Size: 2147483648,
|
|
Packit |
63bb0d |
JobID: uuid.MustParse("22445cd3-7fa5-4dca-b7f8-4f9857b3e3a0"),
|
|
Packit |
63bb0d |
QueueStatus: common.IBFinished,
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
uuid.MustParse("14c454d0-26f3-4a56-8ceb-a5673aaba686"): {
|
|
Packit |
63bb0d |
Blueprint: &bp,
|
|
Packit |
63bb0d |
ImageBuild: ImageBuild{
|
|
Packit |
63bb0d |
ID: 0,
|
|
Packit |
63bb0d |
ImageType: &test_distro.TestImageType{},
|
|
Packit |
63bb0d |
Manifest: []byte("JSON MANIFEST GOES HERE"),
|
|
Packit |
63bb0d |
Targets: []*target.Target{
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
Uuid: uuid.MustParse("14c454d0-26f3-4a56-8ceb-a5673aaba686"),
|
|
Packit |
63bb0d |
ImageName: "",
|
|
Packit |
63bb0d |
Name: "org.osbuild.local",
|
|
Packit |
63bb0d |
Created: MustParseTime("2020-08-12T09:21:44.427717205-07:00"),
|
|
Packit |
63bb0d |
Status: common.IBWaiting,
|
|
Packit |
63bb0d |
Options: target.LocalTargetOptions{
|
|
Packit |
63bb0d |
ComposeId: uuid.MustParse("14c454d0-26f3-4a56-8ceb-a5673aaba686"),
|
|
Packit |
63bb0d |
ImageBuildId: 0,
|
|
Packit |
63bb0d |
Filename: "disk.qcow2",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
JobCreated: MustParseTime("2020-08-12T09:21:50.07040195-07:00"),
|
|
Packit |
63bb0d |
JobStarted: MustParseTime("0001-01-01T00:00:00Z"),
|
|
Packit |
63bb0d |
JobFinished: MustParseTime("0001-01-01T00:00:00Z"),
|
|
Packit |
63bb0d |
Size: 2147483648,
|
|
Packit |
63bb0d |
JobID: uuid.MustParse("6ac04049-341a-4297-b50b-5424bec9f193"),
|
|
Packit |
63bb0d |
QueueStatus: common.IBFinished,
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
for _, tt := range tests {
|
|
Packit |
63bb0d |
t.Run(tt.name, func(t *testing.T) {
|
|
Packit |
63bb0d |
if got := newComposesFromV0(tt.composes, tt.arch, nil); !reflect.DeepEqual(got, tt.want) {
|
|
Packit |
63bb0d |
t.Errorf("newComposesFromV0() = %#v, want %#v", got, tt.want)
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
})
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func Test_newImageBuildFromV0(t *testing.T) {
|
|
Packit |
63bb0d |
tests := []struct {
|
|
Packit |
63bb0d |
name string
|
|
Packit |
63bb0d |
arch distro.Arch
|
|
Packit |
63bb0d |
ib imageBuildV0
|
|
Packit |
63bb0d |
want ImageBuild
|
|
Packit |
63bb0d |
errOk bool
|
|
Packit |
63bb0d |
}{
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
name: "empty",
|
|
Packit |
63bb0d |
arch: &test_distro.TestArch{},
|
|
Packit |
63bb0d |
errOk: true,
|
|
Packit |
63bb0d |
ib: imageBuildV0{},
|
|
Packit |
63bb0d |
want: ImageBuild{},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
name: "qcow2 image build",
|
|
Packit |
63bb0d |
arch: &test_distro.TestArch{},
|
|
Packit |
63bb0d |
errOk: false,
|
|
Packit |
63bb0d |
ib: imageBuildV0{
|
|
Packit |
63bb0d |
ID: 0,
|
|
Packit |
63bb0d |
ImageType: "test_type",
|
|
Packit |
63bb0d |
Manifest: []byte("JSON MANIFEST GOES HERE"),
|
|
Packit |
63bb0d |
Targets: []*target.Target{
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
Uuid: uuid.MustParse("f53b49c0-d321-447e-8ab8-6e827891e3f0"),
|
|
Packit |
63bb0d |
ImageName: "",
|
|
Packit |
63bb0d |
Name: "org.osbuild.local",
|
|
Packit |
63bb0d |
Created: MustParseTime("2020-08-12T09:21:44.427717205-07:00"),
|
|
Packit |
63bb0d |
Status: common.IBWaiting,
|
|
Packit |
63bb0d |
Options: target.LocalTargetOptions{
|
|
Packit |
63bb0d |
ComposeId: uuid.MustParse("6b512b52-1e9d-4dac-869c-108fd4860a3e"),
|
|
Packit |
63bb0d |
ImageBuildId: 0,
|
|
Packit |
63bb0d |
Filename: "disk.qcow2",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
JobCreated: MustParseTime("2020-08-12T09:21:50.07040195-07:00"),
|
|
Packit |
63bb0d |
JobStarted: MustParseTime("0001-01-01T00:00:00Z"),
|
|
Packit |
63bb0d |
JobFinished: MustParseTime("0001-01-01T00:00:00Z"),
|
|
Packit |
63bb0d |
Size: 2147483648,
|
|
Packit |
63bb0d |
JobID: uuid.MustParse("22445cd3-7fa5-4dca-b7f8-4f9857b3e3a0"),
|
|
Packit |
63bb0d |
QueueStatus: common.IBFinished,
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
want: ImageBuild{
|
|
Packit |
63bb0d |
ID: 0,
|
|
Packit |
63bb0d |
ImageType: &test_distro.TestImageType{},
|
|
Packit |
63bb0d |
Manifest: []byte("JSON MANIFEST GOES HERE"),
|
|
Packit |
63bb0d |
Targets: []*target.Target{
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
Uuid: uuid.MustParse("f53b49c0-d321-447e-8ab8-6e827891e3f0"),
|
|
Packit |
63bb0d |
ImageName: "",
|
|
Packit |
63bb0d |
Name: "org.osbuild.local",
|
|
Packit |
63bb0d |
Created: MustParseTime("2020-08-12T09:21:44.427717205-07:00"),
|
|
Packit |
63bb0d |
Status: common.IBWaiting,
|
|
Packit |
63bb0d |
Options: target.LocalTargetOptions{
|
|
Packit |
63bb0d |
ComposeId: uuid.MustParse("6b512b52-1e9d-4dac-869c-108fd4860a3e"),
|
|
Packit |
63bb0d |
ImageBuildId: 0,
|
|
Packit |
63bb0d |
Filename: "disk.qcow2",
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
JobCreated: MustParseTime("2020-08-12T09:21:50.07040195-07:00"),
|
|
Packit |
63bb0d |
JobStarted: MustParseTime("0001-01-01T00:00:00Z"),
|
|
Packit |
63bb0d |
JobFinished: MustParseTime("0001-01-01T00:00:00Z"),
|
|
Packit |
63bb0d |
Size: 2147483648,
|
|
Packit |
63bb0d |
JobID: uuid.MustParse("22445cd3-7fa5-4dca-b7f8-4f9857b3e3a0"),
|
|
Packit |
63bb0d |
QueueStatus: common.IBFinished,
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
for _, tt := range tests {
|
|
Packit |
63bb0d |
t.Run(tt.name, func(t *testing.T) {
|
|
Packit |
63bb0d |
got, err := newImageBuildFromV0(tt.ib, tt.arch)
|
|
Packit |
63bb0d |
if err != nil {
|
|
Packit |
63bb0d |
if !tt.errOk {
|
|
Packit |
63bb0d |
t.Errorf("newImageBuildFromV0() error = %v", err)
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
} else if !reflect.DeepEqual(got, tt.want) {
|
|
Packit |
63bb0d |
t.Errorf("newImageBuildFromV0() = %#v, want %#v", got, tt.want)
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
})
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
}
|