fix: jsonschema integer validation (#852)
This commit is contained in:
@@ -86,14 +86,6 @@ func TestUnmarshal(t *testing.T) {
|
||||
content []byte
|
||||
v any
|
||||
}
|
||||
var result1 struct {
|
||||
String string `json:"string"`
|
||||
Number float64 `json:"number"`
|
||||
}
|
||||
var result2 struct {
|
||||
String string `json:"string"`
|
||||
Number float64 `json:"number"`
|
||||
}
|
||||
tests := []struct {
|
||||
name string
|
||||
args args
|
||||
@@ -108,7 +100,10 @@ func TestUnmarshal(t *testing.T) {
|
||||
},
|
||||
},
|
||||
content: []byte(`{"string":"abc","number":123.4}`),
|
||||
v: &result1,
|
||||
v: &struct {
|
||||
String string `json:"string"`
|
||||
Number float64 `json:"number"`
|
||||
}{},
|
||||
}, false},
|
||||
{"", args{
|
||||
schema: jsonschema.Definition{
|
||||
@@ -120,7 +115,40 @@ func TestUnmarshal(t *testing.T) {
|
||||
Required: []string{"string", "number"},
|
||||
},
|
||||
content: []byte(`{"string":"abc"}`),
|
||||
v: result2,
|
||||
v: struct {
|
||||
String string `json:"string"`
|
||||
Number float64 `json:"number"`
|
||||
}{},
|
||||
}, true},
|
||||
{"validate integer", args{
|
||||
schema: jsonschema.Definition{
|
||||
Type: jsonschema.Object,
|
||||
Properties: map[string]jsonschema.Definition{
|
||||
"string": {Type: jsonschema.String},
|
||||
"integer": {Type: jsonschema.Integer},
|
||||
},
|
||||
Required: []string{"string", "integer"},
|
||||
},
|
||||
content: []byte(`{"string":"abc","integer":123}`),
|
||||
v: &struct {
|
||||
String string `json:"string"`
|
||||
Integer int `json:"integer"`
|
||||
}{},
|
||||
}, false},
|
||||
{"validate integer failed", args{
|
||||
schema: jsonschema.Definition{
|
||||
Type: jsonschema.Object,
|
||||
Properties: map[string]jsonschema.Definition{
|
||||
"string": {Type: jsonschema.String},
|
||||
"integer": {Type: jsonschema.Integer},
|
||||
},
|
||||
Required: []string{"string", "integer"},
|
||||
},
|
||||
content: []byte(`{"string":"abc","integer":123.4}`),
|
||||
v: &struct {
|
||||
String string `json:"string"`
|
||||
Integer int `json:"integer"`
|
||||
}{},
|
||||
}, true},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
|
||||
Reference in New Issue
Block a user