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  }