From 5664cd02cc35c9f6e821243d9b7e7c5608475267 Mon Sep 17 00:00:00 2001 From: Peefy Date: Mon, 19 Aug 2024 17:53:04 +0800 Subject: [PATCH] test: get schema type from folder example (#371) * test: get schema type from folder example Signed-off-by: peefy * test: get schema type from folder example Signed-off-by: peefy --------- Signed-off-by: peefy --- kcl_test.go | 17 +++++++++++++++++ testdata/get_schema_type/base.k | 2 ++ testdata/get_schema_type/schema.k | 2 ++ 3 files changed, 21 insertions(+) create mode 100644 testdata/get_schema_type/base.k create mode 100644 testdata/get_schema_type/schema.k diff --git a/kcl_test.go b/kcl_test.go index b4927ec2..e5469a49 100644 --- a/kcl_test.go +++ b/kcl_test.go @@ -21,6 +21,7 @@ import ( "github.com/google/go-cmp/cmp" kcl "kcl-lang.io/kcl-go" + api "kcl-lang.io/kcl-go/pkg/kcl" "kcl-lang.io/kcl-go/pkg/spec/gpyrpc" ) @@ -432,6 +433,22 @@ func TestGetSchemaTypeMapping(t *testing.T) { }, }, result) } + +func TestGetSchemaTypeFromFolder(t *testing.T) { + result, err := api.GetFullSchemaTypeMapping([]string{"testdata/get_schema_type"}, "") + if err != nil { + t.Fatal(err) + } + assert2.Equal(t, result["Base"].SchemaName, "Base") + assert2.Equal(t, len(result["Base"].Properties), 1) + assert2.Equal(t, result["Base"].Properties["name"].Type, "str") + assert2.Equal(t, result["Schema"].SchemaName, "Schema") + assert2.Equal(t, result["Schema"].BaseSchema.SchemaName, "Base") + assert2.Equal(t, len(result["Schema"].Properties), 2) + assert2.Equal(t, result["Schema"].Properties["name"].Type, "str") + assert2.Equal(t, result["Schema"].Properties["info"].Type, "str") +} + func TestListUpStreamFiles(t *testing.T) { files, err := kcl.ListUpStreamFiles("./testdata/", &kcl.ListDepsOptions{Files: []string{"main.k", "app0/before/base.k", "app0/main.k"}}) if err != nil { diff --git a/testdata/get_schema_type/base.k b/testdata/get_schema_type/base.k new file mode 100644 index 00000000..84fe3f66 --- /dev/null +++ b/testdata/get_schema_type/base.k @@ -0,0 +1,2 @@ +schema Base: + name: str diff --git a/testdata/get_schema_type/schema.k b/testdata/get_schema_type/schema.k new file mode 100644 index 00000000..03ea4707 --- /dev/null +++ b/testdata/get_schema_type/schema.k @@ -0,0 +1,2 @@ +schema Schema(Base): + info?: str