...
1 package name
2
3 import (
4 "testing"
5
6 "github.com/stretchr/testify/assert"
7
8 "edge-infra.dev/pkg/f8n/warehouse/cluster"
9 "edge-infra.dev/pkg/f8n/warehouse/oci"
10 "edge-infra.dev/pkg/f8n/warehouse/oci/layer"
11 "edge-infra.dev/pkg/f8n/warehouse/pallet"
12 )
13
14 func TestFromArtifact(t *testing.T) {
15 shootLayer, err := createLayer(layer.Infra, []byte("hi"))
16 assert.NoError(t, err)
17
18 shoot, err := testPallet("shoot", shootLayer)
19 assert.NoError(t, err)
20
21 pkgName, err := FromArtifact(shoot)
22 assert.NoError(t, err)
23 assert.Equal(t, "shoot", pkgName)
24 }
25
26 func testPallet(name string, layers ...layer.Layer) (oci.Artifact, error) {
27 a, err := pallet.Image(pallet.Options{
28 Metadata: pallet.Metadata{
29 Name: name,
30 Team: "@ncrvoyix-swt-retail/wg-manifest-destiny",
31 BuildInfo: pallet.BuildInfo{
32 Created: "yesterday",
33 Source: "https://gothub.com/ncrvoyix-swt-retail/edge-infra",
34 Revision: "d34db33f",
35 Version: "0.2.5",
36 },
37 },
38 ClusterProviders: cluster.BuiltInProviders(),
39 }, layers...)
40 if err != nil {
41 return nil, err
42 }
43 return a, nil
44 }
45
46 func createLayer(lt layer.Type, yaml []byte) (layer.Layer, error) {
47 l, err := layer.New(lt, yaml)
48 if err != nil {
49 return nil, err
50 }
51 return l, nil
52 }
53
View as plain text