1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142
|
package validate_test
import (
"fmt"
"github.com/lxc/incus/v6/shared/validate"
)
func ExampleIsNetworkMAC() {
tests := []string{
"00:00:5e:00:53:01",
"02:00:5e:10:00:00:00:01", // too long
"00-00-5e-00-53-01", // invalid delimiter
"0000.5e00.5301", // invalid delimiter
"invalid",
"",
}
for _, v := range tests {
err := validate.IsNetworkMAC(v)
fmt.Printf("%s, %t\n", v, err == nil)
}
// Output: 00:00:5e:00:53:01, true
// 02:00:5e:10:00:00:00:01, false
// 00-00-5e-00-53-01, false
// 0000.5e00.5301, false
// invalid, false
// , false
}
func ExampleIsPCIAddress() {
tests := []string{
"0000:12:ab.0", // valid
"0010:12:ab.0", // valid
"0000:12:CD.0", // valid
"12:ab.0", // valid
"12:CD.0", // valid
"0000:12:gh.0", // invalid hex
"0000:12:GH.0", // invalid hex
"12:gh.0", // invalid hex
"12:GH.0", // invalid hex
"000:12:CD.0", // wrong prefix
"12.ab.0", // invalid format
"",
}
for _, v := range tests {
err := validate.IsPCIAddress(v)
fmt.Printf("%s, %t\n", v, err == nil)
}
// Output: 0000:12:ab.0, true
// 0010:12:ab.0, true
// 0000:12:CD.0, true
// 12:ab.0, true
// 12:CD.0, true
// 0000:12:gh.0, false
// 0000:12:GH.0, false
// 12:gh.0, false
// 12:GH.0, false
// 000:12:CD.0, false
// 12.ab.0, false
// , false
}
func ExampleOptional() {
tests := []string{
"",
"foo",
"true",
}
for _, v := range tests {
f := validate.Optional()
fmt.Printf("%v ", f(v))
f = validate.Optional(validate.IsBool)
fmt.Printf("%v\n", f(v))
}
// Output: <nil> <nil>
// <nil> Invalid value for a boolean "foo"
// <nil> <nil>
}
func ExampleRequired() {
tests := []string{
"",
"foo",
"true",
}
for _, v := range tests {
f := validate.Required()
fmt.Printf("%v ", f(v))
f = validate.Required(validate.IsBool)
fmt.Printf("%v\n", f(v))
}
// Output: <nil> Invalid value for a boolean ""
// <nil> Invalid value for a boolean "foo"
// <nil> <nil>
}
func ExampleIsValidCPUSet() {
tests := []string{
"1", // valid
"1,2,3", // valid
"1-3", // valid
"1-3,4-6", // valid
"1-3,4", // valid
"abc", // invalid syntax
"1-", // invalid syntax
"1,", // invalid syntax
"-1", // invalid syntax
",1", // invalid syntax
"1,2,3,3", // invalid: Duplicate CPU
"1-2,2", // invalid: Duplicate CPU
"1-2,2-3", // invalid: Duplicate CPU
}
for _, t := range tests {
err := validate.IsValidCPUSet(t)
fmt.Printf("%v\n", err)
}
// Output: <nil>
// <nil>
// <nil>
// <nil>
// <nil>
// Invalid CPU limit syntax
// Invalid CPU limit syntax
// Invalid CPU limit syntax
// Invalid CPU limit syntax
// Invalid CPU limit syntax
// Cannot define CPU multiple times
// Cannot define CPU multiple times
// Cannot define CPU multiple times
}
|