Files
kubevela/pkg/serverlib/capability_test.go
WYike 5e9d49e139 fix vela traits not compatible with installed capability (#1033)
* fix issue 1029

* add test case

* fix check diff

Co-authored-by: 王易可 <wangyike@B-V1QHML7L-1909.local>
2021-02-07 19:31:42 +08:00

38 lines
897 B
Go

package serverlib
import (
"encoding/json"
"reflect"
"testing"
"k8s.io/apimachinery/pkg/runtime"
"github.com/oam-dev/kubevela/apis/types"
)
func TestAddSourceIntoDefinition(t *testing.T) {
caseJson := []byte(`{"template":""}`)
wantJson := []byte(`{"source":{"repoName":"foo"},"template":""}`)
source := types.Source{RepoName: "foo"}
testcase := runtime.RawExtension{Raw: caseJson}
err := addSourceIntoExtension(&testcase, &source)
if err != nil {
t.Error("meet an error ", err)
return
}
var result, want map[string]interface{}
err = json.Unmarshal(testcase.Raw, &result)
if err != nil {
t.Error("marshaling object meet an error ", err)
return
}
err = json.Unmarshal(wantJson, &want)
if err != nil {
t.Error("marshaling object meet an error ", err)
return
}
if !reflect.DeepEqual(result, want) {
t.Errorf("error result want %s, got %s", result, testcase)
}
}