Files
kubevela/pkg/dsl/process/handle_test.go
T
Jian.Li e882a650ae Extend application's capabilities by trait definition (#742)
* 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
2020-12-13 20:00:06 -08:00

44 lines
825 B
Go

package process
import (
"testing"
"cuelang.org/go/cue"
"github.com/bmizerany/assert"
"github.com/oam-dev/kubevela/pkg/dsl/model"
)
func TestContext(t *testing.T) {
baseTemplate := `
image: "myserver"
`
var r cue.Runtime
inst, err := r.Compile("-", baseTemplate)
if err != nil {
t.Error(err)
return
}
base, err := model.NewBase(inst.Value())
if err != nil {
t.Error(err)
return
}
ctx := NewContext("myctx")
ctx.SetBase(base)
ctxInst, err := r.Compile("-", ctx.Compile("context"))
if err != nil {
t.Error(err)
return
}
gName, err := ctxInst.Lookup("context", "name").String()
assert.Equal(t, nil, err)
assert.Equal(t, "myctx", gName)
inputJs, err := ctxInst.Lookup("context", "input").MarshalJSON()
assert.Equal(t, nil, err)
assert.Equal(t, `{"image":"myserver"}`, string(inputJs))
}