mirror of
https://github.com/kubevela/kubevela.git
synced 2026-05-16 22:37:16 +00:00
* add dsl pkg * realize context capabilities for application * fix golint * fix check-diff * upgrade vela server sample * comment group * Definition Reference be Optional & fix three-part trait crd apply without namespace * Improve samples
64 lines
1.1 KiB
Go
64 lines
1.1 KiB
Go
package model
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"cuelang.org/go/cue"
|
|
"github.com/bmizerany/assert"
|
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
|
)
|
|
|
|
func TestInstance(t *testing.T) {
|
|
|
|
testCases := []struct {
|
|
src string
|
|
gvk schema.GroupVersionKind
|
|
}{{
|
|
src: `apiVersion: "apps/v1"
|
|
kind: "Deployment"
|
|
metadata: name: "test"
|
|
`,
|
|
gvk: schema.GroupVersionKind{
|
|
Group: "apps",
|
|
Version: "v1",
|
|
Kind: "Deployment",
|
|
}},
|
|
}
|
|
|
|
for _, v := range testCases {
|
|
var r cue.Runtime
|
|
inst, err := r.Compile("-", v.src)
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
base, err := NewBase(inst.Value())
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
baseObj, err := base.Object(nil)
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
|
|
assert.Equal(t, v.gvk, baseObj.GetObjectKind().GroupVersionKind())
|
|
assert.Equal(t, true, base.IsBase())
|
|
|
|
other, err := NewOther(inst.Value())
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
otherObj, err := other.Object(nil)
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
|
|
assert.Equal(t, v.gvk, otherObj.GetObjectKind().GroupVersionKind())
|
|
assert.Equal(t, false, other.IsBase())
|
|
}
|
|
}
|