mirror of
https://github.com/fnproject/fn.git
synced 2022-10-28 21:29:17 +03:00
167 lines
5.0 KiB
Go
167 lines
5.0 KiB
Go
// Copyright 2015 go-swagger maintainers
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
package validate
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestHelpers_addPointerError(t *testing.T) {
|
|
res := new(Result)
|
|
r := errorHelp.addPointerError(res, fmt.Errorf("my error"), "my ref", "path")
|
|
msg := r.Errors[0].Error()
|
|
assert.Contains(t, msg, "could not resolve reference in path to $ref my ref: my error")
|
|
}
|
|
|
|
// Test cases in private method asInt64()
|
|
// including expected panic() cases
|
|
func TestHelpers_asInt64(t *testing.T) {
|
|
var r int64
|
|
r = valueHelp.asInt64(int(3))
|
|
assert.Equal(t, int64(3), r)
|
|
r = valueHelp.asInt64(uint(3))
|
|
assert.Equal(t, int64(3), r)
|
|
r = valueHelp.asInt64(int8(3))
|
|
assert.Equal(t, int64(3), r)
|
|
r = valueHelp.asInt64(uint8(3))
|
|
assert.Equal(t, int64(3), r)
|
|
r = valueHelp.asInt64(int16(3))
|
|
assert.Equal(t, int64(3), r)
|
|
r = valueHelp.asInt64(uint16(3))
|
|
assert.Equal(t, int64(3), r)
|
|
r = valueHelp.asInt64(int32(3))
|
|
assert.Equal(t, int64(3), r)
|
|
r = valueHelp.asInt64(uint32(3))
|
|
assert.Equal(t, int64(3), r)
|
|
r = valueHelp.asInt64(int64(3))
|
|
assert.Equal(t, int64(3), r)
|
|
r = valueHelp.asInt64(uint64(3))
|
|
assert.Equal(t, int64(3), r)
|
|
r = valueHelp.asInt64(float32(3))
|
|
assert.Equal(t, int64(3), r)
|
|
r = valueHelp.asInt64(float64(3))
|
|
assert.Equal(t, int64(3), r)
|
|
|
|
// Non numeric
|
|
//assert.PanicsWithValue(t, "Non numeric value in asInt64()", func() {
|
|
// valueHelp.asInt64("123")
|
|
//})
|
|
if assert.NotPanics(t, func() {
|
|
valueHelp.asInt64("123")
|
|
}) {
|
|
assert.Equal(t, valueHelp.asInt64("123"), (int64)(0))
|
|
}
|
|
}
|
|
|
|
// Test cases in private method asUint64()
|
|
// including expected panic() cases
|
|
func TestHelpers_asUint64(t *testing.T) {
|
|
var r uint64
|
|
r = valueHelp.asUint64(int(3))
|
|
assert.Equal(t, uint64(3), r)
|
|
r = valueHelp.asUint64(uint(3))
|
|
assert.Equal(t, uint64(3), r)
|
|
r = valueHelp.asUint64(int8(3))
|
|
assert.Equal(t, uint64(3), r)
|
|
r = valueHelp.asUint64(uint8(3))
|
|
assert.Equal(t, uint64(3), r)
|
|
r = valueHelp.asUint64(int16(3))
|
|
assert.Equal(t, uint64(3), r)
|
|
r = valueHelp.asUint64(uint16(3))
|
|
assert.Equal(t, uint64(3), r)
|
|
r = valueHelp.asUint64(int32(3))
|
|
assert.Equal(t, uint64(3), r)
|
|
r = valueHelp.asUint64(uint32(3))
|
|
assert.Equal(t, uint64(3), r)
|
|
r = valueHelp.asUint64(int64(3))
|
|
assert.Equal(t, uint64(3), r)
|
|
r = valueHelp.asUint64(uint64(3))
|
|
assert.Equal(t, uint64(3), r)
|
|
r = valueHelp.asUint64(float32(3))
|
|
assert.Equal(t, uint64(3), r)
|
|
r = valueHelp.asUint64(float64(3))
|
|
assert.Equal(t, uint64(3), r)
|
|
|
|
// Non numeric
|
|
//assert.PanicsWithValue(t, "Non numeric value in asUint64()", func() {
|
|
// valueHelp.asUint64("123")
|
|
//})
|
|
if assert.NotPanics(t, func() {
|
|
valueHelp.asUint64("123")
|
|
}) {
|
|
assert.Equal(t, valueHelp.asUint64("123"), (uint64)(0))
|
|
}
|
|
}
|
|
|
|
// Test cases in private method asFloat64()
|
|
// including expected panic() cases
|
|
func TestHelpers_asFloat64(t *testing.T) {
|
|
var r float64
|
|
r = valueHelp.asFloat64(int(3))
|
|
assert.Equal(t, float64(3), r)
|
|
r = valueHelp.asFloat64(uint(3))
|
|
assert.Equal(t, float64(3), r)
|
|
r = valueHelp.asFloat64(int8(3))
|
|
assert.Equal(t, float64(3), r)
|
|
r = valueHelp.asFloat64(uint8(3))
|
|
assert.Equal(t, float64(3), r)
|
|
r = valueHelp.asFloat64(int16(3))
|
|
assert.Equal(t, float64(3), r)
|
|
r = valueHelp.asFloat64(uint16(3))
|
|
assert.Equal(t, float64(3), r)
|
|
r = valueHelp.asFloat64(int32(3))
|
|
assert.Equal(t, float64(3), r)
|
|
r = valueHelp.asFloat64(uint32(3))
|
|
assert.Equal(t, float64(3), r)
|
|
r = valueHelp.asFloat64(int64(3))
|
|
assert.Equal(t, float64(3), r)
|
|
r = valueHelp.asFloat64(uint64(3))
|
|
assert.Equal(t, float64(3), r)
|
|
r = valueHelp.asFloat64(float32(3))
|
|
assert.Equal(t, float64(3), r)
|
|
r = valueHelp.asFloat64(float64(3))
|
|
assert.Equal(t, float64(3), r)
|
|
|
|
// Non numeric
|
|
//assert.PanicsWithValue(t, "Non numeric value in asFloat64()", func() {
|
|
// valueHelp.asFloat64("123")
|
|
//})
|
|
if assert.NotPanics(t, func() {
|
|
valueHelp.asFloat64("123")
|
|
}) {
|
|
assert.Equal(t, valueHelp.asFloat64("123"), (float64)(0))
|
|
}
|
|
}
|
|
|
|
/* Deprecated helper method:
|
|
func TestHelpers_ConvertToFloatEdgeCases(t *testing.T) {
|
|
v := numberValidator{}
|
|
// convert
|
|
assert.Equal(t, float64(12.5), v.convertToFloat(float32(12.5)))
|
|
assert.Equal(t, float64(12.5), v.convertToFloat(float64(12.5)))
|
|
assert.Equal(t, float64(12), v.convertToFloat(int(12)))
|
|
assert.Equal(t, float64(12), v.convertToFloat(int32(12)))
|
|
assert.Equal(t, float64(12), v.convertToFloat(int64(12)))
|
|
|
|
// does not convert
|
|
assert.Equal(t, float64(0), v.convertToFloat("12"))
|
|
// overflow : silent loss of info - ok (9.223372036854776e+18)
|
|
assert.NotEqual(t, float64(0), v.convertToFloat(int64(math.MaxInt64)))
|
|
}
|
|
*/
|