mirror of https://github.com/databricks/cli.git
fixed validators for number
This commit is contained in:
parent
4fa8c9c06d
commit
2c02fdf2fb
|
@ -123,18 +123,17 @@ func TestTemplateSchemaValidateType(t *testing.T) {
|
||||||
// assert validation passing
|
// assert validation passing
|
||||||
err := validateType(int(0), PropertyTypeInt)
|
err := validateType(int(0), PropertyTypeInt)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
err = validateType(int32(1), PropertyTypeInt)
|
err = validateType(int32(1), PropertyTypeInt)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
err = validateType(int64(1), PropertyTypeInt)
|
err = validateType(int64(1), PropertyTypeInt)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
err = validateType(float32(1.1), PropertyTypeNumber)
|
err = validateType(float32(1.1), PropertyTypeNumber)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
err = validateType(float64(1.2), PropertyTypeNumber)
|
err = validateType(float64(1.2), PropertyTypeNumber)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
err = validateType(int(1), PropertyTypeNumber)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
err = validateType(false, PropertyTypeBoolean)
|
err = validateType(false, PropertyTypeBoolean)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
@ -151,8 +150,6 @@ func TestTemplateSchemaValidateType(t *testing.T) {
|
||||||
assert.ErrorContains(t, err, "expected type integer, but value is \"abc\"")
|
assert.ErrorContains(t, err, "expected type integer, but value is \"abc\"")
|
||||||
|
|
||||||
// assert validation failing for floats
|
// assert validation failing for floats
|
||||||
err = validateType(int(1), PropertyTypeNumber)
|
|
||||||
assert.ErrorContains(t, err, "expected type float, but value is 1")
|
|
||||||
err = validateType(true, PropertyTypeNumber)
|
err = validateType(true, PropertyTypeNumber)
|
||||||
assert.ErrorContains(t, err, "expected type float, but value is true")
|
assert.ErrorContains(t, err, "expected type float, but value is true")
|
||||||
err = validateType("abc", PropertyTypeNumber)
|
err = validateType("abc", PropertyTypeNumber)
|
||||||
|
|
|
@ -23,8 +23,8 @@ func validateBoolean(v any) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func validateFloat(v any) error {
|
func validateNumber(v any) error {
|
||||||
if !slices.Contains([]reflect.Kind{reflect.Float32, reflect.Float64},
|
if !slices.Contains([]reflect.Kind{reflect.Float32, reflect.Float64, reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64},
|
||||||
reflect.TypeOf(v).Kind()) {
|
reflect.TypeOf(v).Kind()) {
|
||||||
return fmt.Errorf("expected type float, but value is %#v", v)
|
return fmt.Errorf("expected type float, but value is %#v", v)
|
||||||
}
|
}
|
||||||
|
@ -43,5 +43,5 @@ var validators map[PropertyType]Validator = map[PropertyType]Validator{
|
||||||
PropertyTypeString: validateString,
|
PropertyTypeString: validateString,
|
||||||
PropertyTypeBoolean: validateBoolean,
|
PropertyTypeBoolean: validateBoolean,
|
||||||
PropertyTypeInt: validateInteger,
|
PropertyTypeInt: validateInteger,
|
||||||
PropertyTypeNumber: validateFloat,
|
PropertyTypeNumber: validateNumber,
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,7 @@ import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestValidatorString(t *testing.T) {
|
func TestValidatorString(t *testing.T) {
|
||||||
|
@ -35,22 +36,22 @@ func TestValidatorBoolean(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestValidatorFloat(t *testing.T) {
|
func TestValidatorFloat(t *testing.T) {
|
||||||
err := validateFloat(true)
|
err := validateNumber(true)
|
||||||
assert.ErrorContains(t, err, "expected type float, but value is true")
|
assert.ErrorContains(t, err, "expected type float, but value is true")
|
||||||
|
|
||||||
err = validateFloat(int32(1))
|
err = validateNumber(int32(1))
|
||||||
assert.ErrorContains(t, err, "expected type float, but value is 1")
|
require.NoError(t, err)
|
||||||
|
|
||||||
err = validateFloat(int64(1))
|
err = validateNumber(int64(1))
|
||||||
assert.ErrorContains(t, err, "expected type float, but value is 1")
|
require.NoError(t, err)
|
||||||
|
|
||||||
err = validateFloat(float32(1))
|
err = validateNumber(float32(1))
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
err = validateFloat(float64(1))
|
err = validateNumber(float64(1))
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
err = validateFloat("abc")
|
err = validateNumber("abc")
|
||||||
assert.ErrorContains(t, err, "expected type float, but value is \"abc\"")
|
assert.ErrorContains(t, err, "expected type float, but value is \"abc\"")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue