github.com/keikoproj/manny@v0.0.0-20210726112440-8571e4c99ced/config/config_test.go (about) 1 package config 2 3 import ( 4 "github.com/onsi/gomega" 5 "testing" 6 ) 7 //Test_Validate_Success 8 func Test_Validate_Success(t *testing.T) { 9 var schemaData = []byte(`{ 10 "title": "Person", 11 "type": "object", 12 "properties": { 13 "firstName": { 14 "type": "string" 15 }, 16 "lastName": { 17 "type": "string" 18 }, 19 "age": { 20 "description": "Age in years", 21 "type": "integer", 22 "minimum": 0 23 } 24 }, 25 "required": ["firstName", "lastName"] 26 }`) 27 g := gomega.NewGomegaWithT(t) 28 var valid = []byte(`{ 29 "firstName": "foo", 30 "lastName": "bar", 31 "age": 24 32 }`) 33 ret, _ := ConfigValidate(valid, schemaData) 34 g.Expect(ret).To(gomega.BeTrue()) 35 } 36 37 //Test_Validate_Failed 38 func Test_Validate_Failed(t *testing.T) { 39 var schemaData = []byte(`{ 40 "title": "Person", 41 "type": "object", 42 "properties": { 43 "firstName": { 44 "type": "string" 45 }, 46 "lastName": { 47 "type": "string" 48 }, 49 "age": { 50 "description": "Age in years", 51 "type": "integer", 52 "minimum": 0 53 }, 54 }, 55 "required": ["firstName", "lastName"] 56 }`) 57 g := gomega.NewGomegaWithT(t) 58 var valid = []byte(`{ 59 "firstName": "foo", 60 "lastName": 45 61 }`) 62 ret, _ := ConfigValidate(valid, schemaData) 63 g.Expect(ret).To(gomega.BeFalse()) 64 } 65 66 func TestGetConfigSchemaError(t *testing.T) { 67 g := gomega.NewGomegaWithT(t) 68 _, err := ValidateJSONSchema([]byte("invalid.schema")) 69 g.Expect(err).To(gomega.HaveOccurred()) 70 }