MCPcopy
hub / github.com/go-playground/validator / TestSQLValueValidation

Function TestSQLValueValidation

validator_test.go:2380–2435  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

2378}
2379
2380func TestSQLValueValidation(t *testing.T) {
2381 validate := New()
2382 validate.RegisterCustomTypeFunc(ValidateValuerType, (*driver.Valuer)(nil), valuer{})
2383 validate.RegisterCustomTypeFunc(ValidateCustomType, MadeUpCustomType{})
2384 validate.RegisterCustomTypeFunc(OverrideIntTypeForSomeReason, 1)
2385
2386 val := valuer{
2387 Name: "",
2388 }
2389
2390 errs := validate.Var(val, "required")
2391 NotEqual(t, errs, nil)
2392 AssertError(t, errs, "", "", "", "", "required")
2393
2394 val.Name = "Valid Name"
2395 errs = validate.Var(val, "required")
2396 Equal(t, errs, nil)
2397
2398 val.Name = "errorme"
2399
2400 PanicMatches(t, func() { errs = validate.Var(val, "required") }, "SQL Driver Valuer error: some kind of error")
2401
2402 myVal := valuer{
2403 Name: "",
2404 }
2405
2406 errs = validate.Var(myVal, "required")
2407 NotEqual(t, errs, nil)
2408 AssertError(t, errs, "", "", "", "", "required")
2409
2410 cust := MadeUpCustomType{
2411 FirstName: "Joey",
2412 LastName: "Bloggs",
2413 }
2414
2415 c := CustomMadeUpStruct{MadeUp: cust, OverriddenInt: 2}
2416
2417 errs = validate.Struct(c)
2418 Equal(t, errs, nil)
2419
2420 c.MadeUp.FirstName = ""
2421 c.OverriddenInt = 1
2422
2423 errs = validate.Struct(c)
2424 NotEqual(t, errs, nil)
2425 Equal(t, len(errs.(ValidationErrors)), 2)
2426 AssertError(t, errs, "CustomMadeUpStruct.MadeUp", "CustomMadeUpStruct.MadeUp", "MadeUp", "MadeUp", "required")
2427 AssertError(t, errs, "CustomMadeUpStruct.OverriddenInt", "CustomMadeUpStruct.OverriddenInt", "OverriddenInt", "OverriddenInt", "gt")
2428
2429 // Test for empty field on structs without tags
2430 type InvalidValuePanicSafetyTest struct {
2431 V valuer
2432 }
2433 errs = validate.Struct(InvalidValuePanicSafetyTest{})
2434 Equal(t, errs, nil)
2435}
2436
2437func TestMACValidation(t *testing.T) {

Callers

nothing calls this directly

Calls 5

NewFunction · 0.85
AssertErrorFunction · 0.85
VarMethod · 0.80
StructMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…