diff --git a/pkg/spec/module_test.go b/pkg/spec/module_test.go new file mode 100644 index 0000000..df1dc87 --- /dev/null +++ b/pkg/spec/module_test.go @@ -0,0 +1,13 @@ +package spec + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestNames(t *testing.T) { + result, err := CheckFile("./testdata/names.module.yaml") + assert.NoError(t, err) + assert.Equal(t, 0, len(result.Errors)) +} diff --git a/pkg/spec/schema_test.go b/pkg/spec/schema_test.go new file mode 100644 index 0000000..41d77fc --- /dev/null +++ b/pkg/spec/schema_test.go @@ -0,0 +1,50 @@ +package spec + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestGetDocumentType(t *testing.T) { + tests := []struct { + name string + want DocumentType + }{ + { + name: "demo.idl", + want: DocumentTypeModule, + }, + { + name: "demo.module.yaml", + want: DocumentTypeModule, + }, + { + name: "demo.module.json", + want: DocumentTypeModule, + }, + { + name: "demo.solution.yaml", + want: DocumentTypeSolution, + }, + { + name: "demo.solution.json", + want: DocumentTypeSolution, + }, + { + name: "rules.yaml", + want: DocumentTypeRules, + }, + { + name: "rules.json", + want: DocumentTypeRules, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + got, err := GetDocumentType(tt.name) + assert.NoError(t, err) + assert.Equal(t, tt.want, got) + }) + } +} diff --git a/pkg/spec/testdata/names.module.yaml b/pkg/spec/testdata/names.module.yaml new file mode 100644 index 0000000..6079d82 --- /dev/null +++ b/pkg/spec/testdata/names.module.yaml @@ -0,0 +1,21 @@ +name: M.M +version: "1.0.0" +interfaces: + - name: A + - name: A_A + - name: a + - name: a_a + - name: a1 + - name: a_1 + - name: Demo + properties: + - name: a + type: bool + - name: a_a + type: bool + - name: A_a + type: bool + - name: A_A + type: bool + +